JackyB Posté(e) le 22 août 2016 Signaler Partager Posté(e) le 22 août 2016 Bonjour, est'il possible de modifier en LUA l'icone des pièces suivant l'état d'un capteur ? voici le code utilisé dans Main Loop de mon VD ----------------------------------------------------- local MaVariable2 MaVariable2 = fibaro:getValue(75, 'value') if (MaVariable2 == '0') then --Porte fermée fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 56) fibaro:call(16, "setProperty", "currentIcon", 1003) else --Porte ouverte fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 55) fibaro:call(16, "setProperty", "currentIcon", 1001) end ---------------------------------------------------- Pour le VD c'est Ok par contre l'icone de la pièce ne change pas ? Cordialement Jacky Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 22 août 2016 Signaler Partager Posté(e) le 22 août 2016 lorsque je regarde l'api http://<IP HC2>/api/rooms cela devrait être possible en modifiant le json de la pièce. Voici ce que je fait pour changer l'icone d'un thermomètre par exemple ---------------------------------- -- User Settings ---------------------------------- local DeviceID = 84 local IconeID = 1015 ---------------------------------- -- DO not change bellow this line ---------------------------------- HC2 = Net.FHttp("127.0.0.1",11111) -- préparation du nouveau json NouvelleIcone = '{"properties":{"deviceIcon":'..IconeID..'}}' -- écriture du nouveau json payload = "/api/devices/" ..DeviceID HC2:PUT(payload, NouvelleIcone) Lien vers le commentaire Partager sur d’autres sites More sharing options...
JackyB Posté(e) le 22 août 2016 Auteur Signaler Partager Posté(e) le 22 août 2016 Bonsoir Jojo et merci, une question àquoi correspond 11111 après l'adresse ip de la box ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
JackyB Posté(e) le 22 août 2016 Auteur Signaler Partager Posté(e) le 22 août 2016 Testé le code indiqué mais sans succès... ci dessous le code utilisé : --------------------------------------- local MaVariable2 local DeviceID = 16 local IconeID = 1015 MaVariable2 = fibaro:getValue(75, 'value') if (MaVariable2 == '0') then --Porte fermée fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 56) --fibaro:call(16, "setProperty", "currentIcon", 1003) IconeID = 1003 else --Porte ouverte fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 55) --fibaro:call(16, "setProperty", "currentIcon", 1001) IconeID = 1001 end ---------------------------------- -- DO not change bellow this line ---------------------------------- HC2 = Net.FHttp("127.0.0.1",11111) -- préparation du nouveau json NouvelleIcone = '{"properties":{"deviceIcon":'..IconeID..'}}' -- écriture du nouveau json payload = "/api/devices/" ..DeviceID HC2:PUT(payload, NouvelleIcone) ------------------------------------------------------ Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 26 août 2016 Signaler Partager Posté(e) le 26 août 2016 petite remarque : pour que ton code soit plus facilement lisible, utilise le bouton <> pour l'insérer. faits le json d'une de tes pièces et tu verras que là, ce n'est pas le numéro de l'icône, mais le nom complet de comment il a sauvé l'icône qui est utilisé Lien vers le commentaire Partager sur d’autres sites More sharing options...
JackyB Posté(e) le 26 août 2016 Auteur Signaler Partager Posté(e) le 26 août 2016 Bonjour, Ok compris pour lisibilité du code, par contre, je ne comprends pas ce que tu veux dire? faut'il que je mette "User1003.png" au lieu de 1003 ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
jojo Posté(e) le 26 août 2016 Signaler Partager Posté(e) le 26 août 2016 lace l'api pour voir ce qu'il y a dedans: htttp://<IP BOX>/api/rooms et tu trouveras qqch comme ceci { "id": 4, "name": "Salon", "sectionID": 4, "icon": "room_kominek", "defaultSensors": { "temperature": 116, "humidity": 117, "light": 0 }, "defaultThermostat": 115, "sortOrder": 1 }, { "id": 5, "name": "SdB Rez", "sectionID": 4, "icon": "room_prysznic", "defaultSensors": { "temperature": 236, "humidity": 238, "light": 237 }, "defaultThermostat": 233, "sortOrder": 2 }, et ici pour la room 4, c'est room_kominek je dirais pour toi User1003 au lieu de 1003. A essayer Lien vers le commentaire Partager sur d’autres sites More sharing options...
JackyB Posté(e) le 26 août 2016 Auteur Signaler Partager Posté(e) le 26 août 2016 Désolé mais je n'y arrive pas... ci-dessous le code, j'ai essayé avec les " et sans cela ne change rien... local MaVariable2 local DeviceID = 16 local IconeID = 1015 MaVariable2 = fibaro:getValue(75, 'value') if (MaVariable2 == '0') then --Porte fermée fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 56) --fibaro:call(16, "setProperty", "currentIcon", 1003) IconeID = "User1003" else --Porte ouverte fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", 55) --fibaro:call(16, "setProperty", "currentIcon", 1001) IconeID = "User1001" end ---------------------------------- -- DO not change bellow this line ---------------------------------- HC2 = Net.FHttp("127.0.0.1",11111) -- préparation du nouveau json NouvelleIcone = '{"properties":{"deviceIcon":'..IconeID..'}}' -- écriture du nouveau json payload = "/api/devices/" ..DeviceID HC2:PUT(payload, NouvelleIcone) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Steven Posté(e) le 2 septembre 2016 Signaler Partager Posté(e) le 2 septembre 2016 Je ne vois pas de propriété du nom "deviceIcon" mais "icon" Et ne pas oublié que lorsque l'on change directement le json, le rafraîchissement n'est pas automatique, il faut recharger la page voir relancer l'application Android/iPhone. Lien vers le commentaire Partager sur d’autres sites More sharing options...
JackyB Posté(e) le 2 septembre 2016 Auteur Signaler Partager Posté(e) le 2 septembre 2016 Hello, Merci pour le coup de mains :-) j'ai déjàtenté mais sans succès ! je laisse tomber cette partie mes modules Virtuels sont bien actualisés c'est l'essentiel... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés