Steven Posté(e) le 16 janvier 2018 Auteur Signaler Posté(e) le 16 janvier 2018 Après maintes et maintes recherches ... je confirme le bug et j'ai même l'explication. {"Picture", idcam, {2, 8}} Avec cette version de GEA quand il voit ceci : {2, 8} il essaie de trouver une correspondance avec d'autre option ... et pour lui, cela revient à allez voir si la valeur du module 2 est bien égale à 8 puis il renvoi ceci {"Picture", idcam, false} C'est donc corrigé pour la future version. 2
pepite Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 Well done @Steven Pour info, par curiosité, j'ai retesté PictureToEmail ;-), cela fonctionne parfaitement, avec 1 ou plusieurs destinataires. @Sakkhho en attendant la prochaine version cela répond aussi à ton besoin ;-) 1
Steven Posté(e) le 16 janvier 2018 Auteur Signaler Posté(e) le 16 janvier 2018 @pepite Peux-tu re-tester "Picture" mais avec le keepValues = true (voir "Sleep") s'il te plait ?
pepite Posté(e) le 16 janvier 2018 Signaler Posté(e) le 16 janvier 2018 (modifié) @Steven Valider avec le keepValues, all is good ;-) je n'y avais pas pensé, quel c.. Modifié le 16 janvier 2018 par pepite 1
Steven Posté(e) le 16 janvier 2018 Auteur Signaler Posté(e) le 16 janvier 2018 @dvine Je vois que je n'ai jamais répondu sur tes soucis de Open et Close. L'optimisation de la mémoire fonctionne ainsi : Au premier passage, on analyse et enregistre toutes les {"", "", ...} utilisé dans le code Au 2ème passage, on supprime toutes celles qui ne sont pas utilisées. Sauf que, dans le code de certaines option, j'utilise le code d'autre option. Dans le cas de "Open" ou "Close", je fais appel à "Value". Donc si dans ton code tu n'utilises pas "Value", ce dernier va être supprimé de la mémoire .. et quand tu vas vouloir faire un "Open" ou "Close" .. et bien catastrophe. Bien évidement c'est déjà corrigé pour la future version. Pour ce qui est des logs, je vais voir ce que je peux faire mais vu que je n'aime pas les variables globales, il va falloir que je trouve quelque chose de convaincant. Pour le JSON ... grrrrrr ... je te déteste car l'idée est bonne mais qu'elle va me donner du travail
dvine Posté(e) le 17 janvier 2018 Signaler Posté(e) le 17 janvier 2018 merci, J'ai d'abord voulu garder le code simple avec une condition avec le temps. Cela a mal tourné. J'ai maintenant essayé avec la condition additionnelle telle que la température extérieure de netatmo et alors le code va bien. J'ai lu la valeur netatmo de fibaro de mon père avec un plugin officiel J'ai besoin du JSON parce que Sankotronic du forum de fibaro fait beaucoup avec. Et j'utilise sa scène netatmo et ses VD au lieu du plugin officiel. --Rolluiken automatisch open in de ochtend [ le code est correct ] GEA.add( {{"Time", "08:30"}, {"Value+", id["NETATMO_OUTDOOR_TEMP"], 0}}, 30, "", {"Open", {id["ROLLUIK_ZOLDER_RECHTS"], id["ROLLUIK_ZOLDER_LINKS"]}, 100} )
pepite Posté(e) le 17 janvier 2018 Signaler Posté(e) le 17 janvier 2018 il y a 16 minutes, dvine a dit : j'utilise sa scène netatmo et ses VD au lieu du plugin officiel. Me too ;-) Netamo Weather Sation and the VD Main indoor, Outdoor Module...etc.. Avec GEA tu peux lire les valeurs des Labels des VDs. You can read Label of VD. Exemple pour le Outdoor Module : GEA.add( {"Label+", <idVD_Outdoor>, "lblTemp", 0}, 30, "", {"Open", {id["ROLLUIK_ZOLDER_RECHTS"], id["ROLLUIK_ZOLDER_LINKS"]}} L'inconvenient d'utiliser la station netatmo : les données coté serveur sont actualisées toutes les 10 mins depuis l'API
dvine Posté(e) le 17 janvier 2018 Signaler Posté(e) le 17 janvier 2018 merci je ne savais pas à propos de cette capacité. Je vais tester cela plus tard cette semaine. L'intervalle de 10 minutes est loin d'être idéal, mais pour les mesures de température, il est bon dans ma situation Aux Pays-Bas, nous avons le site buienradar.nl qui est directement lisible et il y a un fibaro VD pour. Malheureusement pas pour les autres pays. Je l'utilise par exemple pour amener automatiquement l'auvent à l'intérieur. Pour l'anémomètre, j'aurais aimé;)
Jacquominot Posté(e) le 17 janvier 2018 Signaler Posté(e) le 17 janvier 2018 Le 15/01/2018 à 22:31, Steven a dit : Alors mes tests sont concluant ... mais il y a un bug dans "Slider". Si dans tout ton code tu n'utilises pas "Label", il va se planter après quelques exécutions (je l'avais pas vu venir celle là). Je te conseil donc, d'utiliser {"Label", ... } à la place de {"Slider", ...} Ensuite pour plus de réactivité utilise le 0 à la place du 30 pour cette ligne ci : -- Mise à jour du thermostat à partir du Device 88 GEA.add( {"Global!", "ConsigneChauffage", {"Slider", 88, "slider_0_0"}}, 0, "", {"Global", "ConsigneChauffage", {"Slider", 88, "slider_0_0"}} ) Ainsi elle sera traité immédiatement après celles qui changent la consigne et non pas 30 secondes après. Voilà, si cela ne fonctionne toujours pas, envoi moi ton script entier à steven.piccand@gmail.com je regarderais avec plaisir, Steven, je t'envoie mon script car tout marche sauf l'écriture de la variable globale. Ca marche une fois mas pas 2. En gros aujourd'hui, la consigne est passée de 21 à 19 à 8h mais à 11h30 ... la consigne est tjs à 19 à 18h et ce n'est pas normal aujourd'hui. Si tu peux m'expliquer le pourquoi du comment.
Kristiano Posté(e) le 18 janvier 2018 Signaler Posté(e) le 18 janvier 2018 Le 2018-01-07 à 23:21, MAM78 a dit : Hello @Steven merci pour cette livraison. Snif pour mes propositions mais, il n'y a pas seulement des corrections dans cette V6.04 Pour ne pas oublier, il reste si tu veux bien intégrer dans la prochaine version les corrections / évolutions ci-dessous : En attendant, je ferais des copier / coller Pour ceux qui souhaitent continuer à tester ma version, voici le fichier construite sur la base de la V6.04 officielle de Steven et dans laquelle j'ai réintégré mes add-ons : gea_6_04-MAM78.lua Change log : -- ========================================================== -- v.6.04 MAM78 modified the 7 jan. 2018 on the base of V6.04 from Steven -- add : Sonos TTS message function -- Exemple : GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "Nous sommes le #datefull# il fait dehors #tempsext# degrer et le temps est #value[2]#", 40}, "Annonce de la météo") GEA.add ({{"Weather!", "Temperature" ,""},{"WeatherLocal!",""}}, 0, "We are #datefull# the outside temperature is #tempsext# degrees and the weather is #value[2]#", {"sonostts", id["VD_SONOS"], id["VD_SONOS_BT"], "We are the #datefull# the outside temperature is #tempsext# degrees and the weather is #value[2]#", 40}, "Wheater annonce") -- add : Sonos MP3 message function and add sonosMP3foldername variable, -- Exemple : GEA.add({id["DETECTEUR_PORTE_GARAGE"], {"Time", "Sunset-15", "Sunrise+5"}}, -1, "La porte du garage vient d être fermée", {{"Inverse"}, {"Sleep", 7, {"sonosmp3", id["VD_SONOS"], id["VD_SONOS_BT"], "Fermeture Porte Cave.mp3", 40}}}, "Fermeture porte Garage") -- add : #tempsext# substitution text for the external temperature rounded without decimals -- mod : debug the transpose function-- mod : modify the action message in debug windows with the transposed values -- ========================================================== 1) Fonctions Sonos Ajouter : sonosmp3 = {name = "Sonos MP3", action = function(vd_id, button_id, filename, volume) if (not volume) then volume = 30 end local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} _x:set(tostring(vd_id), { stream = {stream=GEA.sonosMP3foldername..filename, source="local", duration="auto", volume=volume} }) _f:call(vd_id, "pressButton", button_id) end }, sonostts = {name = "Sonos TTS", action = function(vd_id, button_id, message, volume) local message = GEA.getMessage(message) local langue = "en-US" if GEA.language:lower() == "fr" then langue = "fr-FR" end if (not volume) then volume = 30 end local _f = fibaro local _x ={root="x_sonos_object",load=function(b)local c=_f:getGlobalValue(b.root)if string.len(c)>0 then local d=json.decode(c)if d and type(d)=="table"then return d else _f:debug("Unable to process data, check variable")end else _f:debug("No data found!")end end,set=function(b,e,d)local f=b:load()if f[e]then for g,h in pairs(d)do f[e][g]=h end else f[e]=d end;_f:setGlobal(b.root,json.encode(f))end,get=function(b,e)local f=b:load()if f and type(f)=="table"then for g,h in pairs(f)do if tostring(g)==tostring(e or"")then return h end end end;return nil end} _x:set(tostring(vd_id), { tts = {message=message, duration='auto', language=langue, volume=volume} }) _f:call(vd_id, "pressButton", button_id) end } Ajouter dans la partie -- CONFIGURATON GENERALE : GEA.sonosMP3foldername = "//xxxxxxxx/music/Domotique/Domotique/iTunes Media/Music/Sons Domotiques/Sons Domotiques/" 3) Substitutions de valeurs #tempsext# Ajouter : if (message:find("#tempsext#")) then message = message:gsub("#tempsext#", tonumber(string.format("%.0f", GEA.getOption({"weather", "Temperature"}).getValue()))) end 3) Fonction transpose Remplacer : transpose = {name = "Transpose", getValue=function(table1, table2, value) tools.error(table1) return GEA.translate(value, table1, table2) end }, par : transpose = {name = "Transpose", getValue=function(value, table1, table2) return GEA.translate(value, table1, table2) end, action =function(value, table1, table2) return GEA.translate(value, table1, table2) end }, 3) Clarifier le contenu du mode debug, en ligne 1341 : Remplacer : tools.debug(" ["..GEA.trad.action.."] " .. entry.actions[i].getLog()) Par : tools.debug(" ["..GEA.trad.action.."] " .. GEA.getMessage(entry.actions[i].getLog())) I can see all the things applied in the code you attached except the #tempsext". Is that the only thing needed in your code? (Since the translation is not done while testing code) - Can I translate to only say/message the weekday? Like "Today its Monday and the weather condition is Sunny"
Lorenzo Posté(e) le 18 janvier 2018 Signaler Posté(e) le 18 janvier 2018 Hello, je pense que quelqu'un a deja pose la question mais je ne sais plus où. J'utilise le VD sonos pour lancer des messages TTS. Tout cela fonctionne bien. Mais, parfois j'écoute de la musique sur mes Sonos via Spotify. le TTS vient interrompre l'album lu par Spotify mais une fois l'annonce terminée, j'aurais voulu que la lecture de l'album reprenne ensuite. Y a t il moyen ou est ce impossible? A+
Jacquominot Posté(e) le 18 janvier 2018 Signaler Posté(e) le 18 janvier 2018 Le 17/01/2018 à 18:02, Jacquominot a dit : Steven, je t'envoie mon script car tout marche sauf l'écriture de la variable globale. Ca marche une fois mas pas 2. En gros aujourd'hui, la consigne est passée de 21 à 19 à 8h mais à 11h30 ... la consigne est tjs à 19 à 18h et ce n'est pas normal aujourd'hui. Si tu peux m'expliquer le pourquoi du comment. Steven, J'ai un autre soucis avec les lignes Global + et -. Ma maison était à 25 degrés ce soir. LEs chauffages ont tourné à fond toute la journée alors que la consigne (slider) et la variable globale étaient à 21.
Steven Posté(e) le 18 janvier 2018 Auteur Signaler Posté(e) le 18 janvier 2018 Je cherche encore mais je ne vois pas de véritable problème. Je suis en train de préparer un version un peu plus réactive car avec @pepite, on a remarqué que dans certains car, heureusement assez rare, GEA ne captais pas bien les instructions {"Time", "20:00"}. En effet, si GEA se déclenche à 20:00:29 secondes, et que le temps de traitement des lignes au dessus de celle qui contient le "Time" met plus de 1s, il va tester la ligne à 20:00:30 comme il est indiqué que la ligne doit être valable au moins 30 secondes, il va attendre le prochain passage ... par contre au prochain passage, il sera 20:01:00 donc la condition de 20:00 ne sera plus correcte. Sinon, j'ai repéré 2 choses étranges dans ton code : GEA.add({{"Days", "Monday,Thursday,Friday"},{"Time", "16:30",}},30,"",{"Label", 88, "slider_0_0", 21}) Il y a une virgule qui traîne dans le "Time". Ensuite, j'ai un problème de compréhension dans ces lignes : GEA.add({"Global+", "ConsigneChauffage", {"Value", id["TEMP_BUREAU_JK"]}}, 1*60, "", {"turnOff",id["CHAUFFE_BUREAU_JK"]} ) GEA.add({"Global", "ConsigneChauffage", {"Value", id["TEMP_BUREAU_JK"]}}, 1*60, "", {"turnOff",id["CHAUFFE_BUREAU_JK"]} ) GEA.add({"Global-", "ConsigneChauffage", {"Value", id["TEMP_BUREAU_JK"]}}, 1*60, "", {"turnOn",id["CHAUFFE_BUREAU_JK"]} ) Si je prends la 1ère ligne, je lis ceci : Si la température souhaitée est plus grande que la température du bureaux ... alors j'éteins le chauffage dans le bureau. Donc si ConsigneChauffe = 20 et que la température du bureau est 19 ... alors j'éteins le chauffage Et la 3ème Si la température souhaitée est plus basse que celle du bureau alors j'allume le chauffage Donc si ConsigneChauffe = 19 et que la température du bureau est 20 ... alors j'allume le chauffage Heuuuu, ne serais-ce pas une inversion ? Je travaille d'arrache pieds sur la version 6.05 qui corrige ces histoires de Time ... dans un 1er temps, tu peux faire {"Time", "16:30", "16.31"}, laissant donc un intervalle d'une minute, pour garantir qu'il n'y aura plus de soucis à ce niveau là. 2
Sakkhho Posté(e) le 18 janvier 2018 Signaler Posté(e) le 18 janvier 2018 (modifié) @Steven @pepite, sur une ligne avec en condition avec un FGMS (mouvement) est ce que la logique voudrait pas qu'on mette ces lignes en -1 ? car avec un 30, j'ai l'impression qu'il faut plus qu'une detection unique , mais plutôt plusieurs mouvement 'permanent' (donc FGMS toujours en alerte) pour faire les 30s de check. vous en pensez quoi ? Modifié le 18 janvier 2018 par Sakkhho
Steven Posté(e) le 18 janvier 2018 Auteur Signaler Posté(e) le 18 janvier 2018 Oui c'est -1 Car 30 signifie que la condition (la détection) doit persister au moins 30s ce qui n'est jamais le cas avec un détecteur. 1
dvine Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 (modifié) Je vous ai dit que cette règle fonctionnait maintenant. J'ai testé cela 3 ou 4 fois. Ce matin, le code ne fonctionne plus. Le redémarrage de GEA n'a pas d'importance si j'utilise la notation -1 ou 30 --Rolluiken automatisch open in de ochtend GEA.add( {{"Time", "09:07"}, {"Value+", id["NETATMO_OUTDOOR_TEMP"], 0}}, 30, "", {"Open", {id["ROLLUIK_ZOLDER_RECHTS"], id["ROLLUIK_ZOLDER_LINKS"]}, 100} ) Après un nouveau redémarrage et que GEA fonctionne pour la première fois pendant 5 minutes, le code est maintenant exécuté. tire-moi;) Modifié le 19 janvier 2018 par dvine 1
Steven Posté(e) le 19 janvier 2018 Auteur Signaler Posté(e) le 19 janvier 2018 @dvine Par le JSON est-ce que cela pourrais te convenir : GEA.( {"JSONDecodeFromGlobal+", "MyGlobalVariable", "properties.modules[2].value", 0}, "It's not so cold", ... ) {"JSONDecodeFromGlobal, <global variable>, <json property>} et {"JSONDecodeFromLabel, <id vd>, <label name>, <json property>} 1
Kristiano Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 My doorlocks are no longer working in 6.04. Lock is with type "Doorlock" and is included in secure mode. GEA.add({"Doorlock", id["UTILITY_DOOR"], 0}, 30*60, "Garage door unlocked for >30min") 0s validation goes well but then second loop after 30s is goes into error. [DEBUG] 11:15:43: [1;31m2018-01-19 11:15:43.483286 [ fatal] LUA error: /opt/fibaro/scenes/195.lua:783: attempt to index field 'value' (a nil value)
Sakkhho Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 je suis en train d'optimiser mes lignes GEA que donne maintenant ceci {"Time", "06:00", "06:01"},{"Time", "17:00", "17:01"} GEA.add({Chauffage,{"Time", "06:00", "06:01"},{"Time", "17:00", "17:01"}}, 30, "Chauffage Entrée 22°", {"ThermostatLevel", id["TT_ENTREE"], 22}) on verifie l'un ou l'autre TIME ou on verifie les 2 avant c'était l'un ou l'autre donc j'ai laissé comme c'était et basculé le time en condition, mais j'ai un doute du coup maintenant (cela semble fonctionner en revanche)
pepite Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 @Kristiano could you do this please : http://iphc2/api/devices/iddoor and put the result here.
pepite Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 @Sakkhho La syntaxe exacte : {"Or", {"Time", "06:00", "06:01"},{"Time", "17:00", "17:01"} } 1
Steven Posté(e) le 19 janvier 2018 Auteur Signaler Posté(e) le 19 janvier 2018 @Sakkhho, @pepite Alors, Pepite à raison, mais GEA le fait automatiquement. C'est à dire que quand il trouve plusieurs heures dans les conditions, il les transforme en {"Or", heure1, heure2, ...} Donc ta syntaxe est correcte ET pepite à raison @Kristiano Already corrected in the next version ... with sonos btw
Sakkhho Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 ok cool, je mets au propre autre question pour le -1 sur une variable globale ? dans l'état je mets quoi ? GEA.add({"Global", "Tele", "On"}, -1, "Sonos en mode TV", {"Function", function() fibaro:call(id["SONOS_REMOTE"], "setSlider",15, 80) end })-- On fixe le son de la PlayBar à 80%
Steven Posté(e) le 19 janvier 2018 Auteur Signaler Posté(e) le 19 janvier 2018 Dans l'entête ? --[[ %% autostart %% properties %% globals Tele --]] En dessous de %% globals 1
Kristiano Posté(e) le 19 janvier 2018 Signaler Posté(e) le 19 janvier 2018 il y a 22 minutes, pepite a dit : @Kristiano could you do this please: http: // iphc2 / api / devices / iddoor and put the result here. {"id":506,"name":"Förrådsdörr","roomID":473,"type":"com.fibaro.doorLock","baseType":"com.fibaro.securityMonitoring","enabled":true,"visible":true,"isPlugin":false,"parentId":0,"remoteGatewayId":1,"remoteDeviceID":32,"interfaces":["battery","fibaroFirmwareUpdate","pinCode","remoteGateway","zwave","zwaveAlarm"],"properties":{"alarmLevel":"0","alarmType":"0","batteryLevel":"100","batteryLowNotification":"true","configured":true,"dead":"false","defInterval":"0","deviceControlType":"0","deviceIcon":"1001","emailNotificationID":"0","emailNotificationType":"0","endPointId":"0","firmwareUpdate":"{\"info\":\"\",\"progress\":0,\"status\":\"UpToDate\",\"updateVersion\":\"1.0\"}","liliOffCommand":"","liliOnCommand":"","log":"","logTemp":"","manufacturer":"","markAsDead":"true","maxInterval":"0","maxUsers":"52","minInterval":"0","model":"","nodeId":"2","parameters":[],"parametersTemplate":"0","pollingTimeSec":0,"productInfo":"2,48,0,3,0,1,1,0","pushNotificationID":"0","pushNotificationType":"0","remoteGatewayId":"0","saveLogs":"true","secured":"255","serialNumber":"","smsNotificationID":"0","smsNotificationType":"0","stepInterval":"0","updateVersion":"","useTemplate":"false","userCodes":"[{\"id\":1,\"name\":\"\",\"status\":\"Unknown\",\"update\":\"InProgress\"},{\"id\":2,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":3,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":4,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":5,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":6,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":7,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":8,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":9,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":10,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":11,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":12,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":13,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":14,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":15,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":16,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":17,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":18,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":19,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":20,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":21,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":22,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":23,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":24,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":25,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":26,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":27,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":28,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":29,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":30,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":31,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":32,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":33,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":34,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":35,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":36,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":37,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":38,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":39,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":40,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":41,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":42,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":43,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":44,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":45,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":46,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":47,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":48,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":49,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":50,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":51,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"},{\"id\":52,\"name\":\"\",\"status\":\"Available\",\"update\":\"Ok\"}]","userDescription":"","value":"true","zwaveCompany":"","zwaveInfo":"3,4,5","zwaveVersion":"1.0"},"actions":{"abortUpdate":1,"getMaxUsers":0,"getUserCode":1,"reconfigure":0,"retryUpdate":1,"secure":0,"setInterval":1,"setUserCode":4,"startUpdate":1,"unsecure":0,"updateFirmware":1},"created":1515063713,"modified":1515063713,"sortOrder":162}
Messages recommandés