-
Compteur de contenus
73 -
Inscription
-
Dernière visite
-
Pour aider en restant dans le thème : print(string.gsub("moi c'est pareil, les pattern me perdent, -.......et j'en passe .mon cerveau n'est pas fait pour les pattern...", "-.*", " http://wxlua.free.fr/Tutoriel_Lua/Tuto/Strings/strings6.php"));
-
Barelle a commencé à suivre [HELP/LUA] - Plantage MainLoop, Pattern chaine de caractère, PB utilisation json.encode et json.decode dans un VD et et 6 autres
-
Je propose, pour utiliser gsub : s = "mercredi 12.05.2019 - Travail" t = "Vacances d'hiver" ns = string.gsub(s, '-.*', "- "..t) print(ns) Ce qui affiche : mercredi 12.05.2019 - Vacances d'hiver
-
La ligne : local status, json = pcall(function() return json.decode(response) end) déclare la variable json qui ne possède pas la méthode encode utilisée dans l'affichage Encodage2. En lui donnant un autre nom, toto par exemple, cela fonctionne: local status, toto = pcall(function() return json.decode(response) end)
-
Dans le premier pavé, currentTime est déclarée en tant que variable globale de la scène lors de son premier emploi dans la fonction findTimeZone. Après une autre variable déclarée elle locale, avec le même nom, est initialisée.
-
Cela signifie : Qu'il parvient bien à joindre le cloud Netatmo Que le cloud Netatmo signale que le service demandé n'est pas disponible Qu'il serait sans doute prudent de tester le contenu de response.data : si la clé error existe alors afficher sa valeur et arrêter le traitement, sinon tester la présence de la clé body avant l'utiliser serait prudent. Je viens d'essayer à nouveau, cela fonctionne, le problème était bien chez Netatamo... [DEBUG] 15:39:58: {"body":{"modules":[{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule1","data_type":["Temperature","Humidity"],"module_name":"Jardin","firmware":44,"last_message":1547649156,"last_seen":1547649111,"rf_status":68,"battery_vp":5860,"dashboard_data":{"time_utc":1547649111,"Temperature":12.2,"Humidity":66,"min_temp":2.9,"max_temp":12.2,"date_min_temp":1547609793,"date_max_temp":1547647316,"temp_trend":"stable"},"date_setup":{"sec":1454015933,"usec":0}},{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule3","data_type":["Rain"],"module_name":"Pluviom\u00e8tre","firmware":8,"last_message":1547649156,"last_seen":1547649150,"rf_status":79,"battery_vp":5874,"dashboard_data":{"time_utc":1547649150,"Rain":0,"sum_rain_24":0,"sum_rain_1":0},"date_setup":{"sec":1454149713,"usec":0}},{"_id":"xx:xx:xx:x:xx:xx","main_device":"xx:xx:xx:x:xx:xx","type":"NAModule2","data_type":["Wind"],"module_name":"An\u00e9mom\u00e8tre","firmware":18,"last_message":1547649156,"last_seen":1547649156,"rf_status":120,"battery_vp":5067,"dashboard_data":{"time_utc":1547649150,"WindStrength":6,"WindAngle":141,"GustStrength":15,"GustAngle":168,"max_wind_str":27,"max_wind_angle":158,"date_max_wind_str":1547637096},"date_setup":{"sec":1475322877,"usec":0}}],"devices":[{"_id":"xx:xx:xx:x:xx:xx","type":"NAMain","co2_calibrating":false,"date_setup":{"sec":1454015949,"usec":0},"firmware":132,"last_status_store":1547649162,"last_upgrade":1454945187,"module_name":"Indoor","station_name":"Maison","place":{"altitude":164,"city":"yyyyyyyyyyy","country":"FR","timezone":"Europe\/Paris","location":[0.00000000000,0.0000000000]},"wifi_status":57,"data_type":["Temperature","CO2","Humidity","Noise","Pressure"],"dashboard_data":{"time_utc":1547649153,"Temperature":21.8,"CO2":740,"Humidity":65,"Noise":39,"Pressure":1010.7,"AbsolutePressure":991.2,"min_temp":19.7,"max_temp":21.8,"date_min_temp":1547624273,"date_max_temp":1547647946,"temp_trend":"stable","pressure_trend":"stable"},"modules":["xx:xx:xx:x:xx:xx","xx:xx:xx:x:xx:xx","xx:xx:xx:x:xx:xx"]}]},"status":"ok","time_exec":0.21196794509888,"time_server":1547649597}
-
Avec : fibaro:debug(response.data) func(json.decode(response.data)) J'obtiens : [DEBUG] 11:52:29: {"error":{"code":503,"message":"Service Unavailable"}} Ce qui explique l'erreur : [DEBUG] 11:52:29: 2019-01-16 11:52:29.466092 [ fatal] LUA error: /opt/fibaro/scenes/107.lua:61: attempt to index field 'body' (a nil value)
-
Dans le premier cas, currentTime n'est pas initialisé et vaut donc Nil lors de son premier emploi. Dans le second cas, cette variable a bien une valeur. En Lua, il y a une déclaration implicite des variables, et dans tous les langages de programmation, une variable non initialisée ne contient aucune valeur...
-
Comme disaient mes interlocuteurs américains : work as designed. Ce à quoi je répondais invariablement : bad design.
-
Vous exagerez, cet écran est utilisé pour se logger en local soit avec le port 80 (sauf si root de la HC2). Pour une connexion distante il faut utiliser le Fibaro Id... Et là, rien ne fonctionne !
-
fibaro:call(i, "setArmed", "1")
-
fibaro:callGroupAction pour appuyer sur les boutons de VDs
Barelle a répondu à un sujet de J3R3M dans HC2
Suite à la lecture de la documentation, la fonction n'admet que deux paramètres action et filters, le second paramètre devant être un tableau, l'erreur est donc conforme aux spécifications. Cette fonction est manifestement prévue uniquement pour des devices physiques... -
@Lazer Désolé, fausse alerte ! En fait le VD fonctionne toujours, un effet de la loi de Murphy : un mauvais contact dans le câble réseau de l'ampli est apparu au même moment que la mise à jour de l'HC2.
- 85 réponses
-
- 1
-
-
Bonsoir, Depuis le passage en 4.520, cet excellent VD ce met en erreur et affiche les traces suivantes dans la fenêtre de debug de la mainloop : [DEBUG] 18:33:27: Function successfully loaded in memory [DEBUG] 18:33:31: Error : Can not connect to Yamaha, errorCode=2, status=, url=/YamahaExtendedControl/v1/system/getDeviceInfo, response= [DEBUG] 18:33:31: Warning : Can't get device info [DEBUG] 18:33:50: Error : Can not connect to Yamaha, errorCode=2, status=, url=/YamahaExtendedControl/v1/system/getDeviceInfo, response= [DEBUG] 18:33:50: Warning : Can't get device info [DEBUG] 18:34:10: Error : Can not connect to Yamaha, errorCode=2, status=, url=/YamahaExtendedControl/v1/system/getDeviceInfo, response= [DEBUG] 18:34:10: Warning : Can't get device info
- 85 réponses
-
Je te suggère de rajouter dans tes traces les valeurs des variables globales : fibaro:debug("Step 2, room_zone="..room_zone) fibaro:debug("Step 3, zone_heat_value="..zone_heat_value)
-
Où est définie la variable roomName ?