neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 Si vous remplacez la ligne 18 du code du bouton original par la ligne ci-dessous, ça éteint la lumière dimmable lors de l'appuis sur le bouton ? if(v.properties.value == "true") then fibaro:call(v.id, "turnOff"); fibaro:call(v.id, "setValue", 0); end Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Avec le code du bouton original, et le remplacement, sa fonctionne pas... Lien vers le commentaire Partager sur d’autres sites More sharing options...
neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 Là, en mode partage, sans pouvoir débogguer sur la HC, ça ne va pas le faire. Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 @niliger je t'ai envoyer un MP si tu veux faire un test avec des dimmers Lien vers le commentaire Partager sur d’autres sites More sharing options...
neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 @mprinfo : un rapide test sur ta box m'a permis de comprendre ce qu'il se passe. En fait, c'est la valeur du dimmer qui peut prendre différentes valeurs, je propose donc de ne plus tester l'état des lumières, et d'envoyer l'ordre d'extinction systématiquement en remplaçant la ligne 18 du bouton par ceci : fibaro:call(v.id, "turnOff"); Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 ok merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 Je vient de modifier le post pour donner la version 1.1 du module virtuel incluant la modification. Lien vers le commentaire Partager sur d’autres sites More sharing options...
megabubu Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Je test ca des que je peux :-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 @Neliger: sa fonctionne pour éteindre les dimmers.... on ne vois juste pas si les dimmers sont allumés par contre.... je vais regarder aussi pour voir si on peut pas changer qqc... merci du bon travail... Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sakkhho Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Idem, je viens de testé avec un dimmer, le VD permet de l'eteindre mais il ne le vois pas allumé (icône jamais en vert meme si j'ai mis le bon ID) Lien vers le commentaire Partager sur d’autres sites More sharing options...
neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 Erreur de débutant que de juste retirer la condition dans le bouton. Il faut que j'étudie les valeurs pour adapter les deux conditions. Je demande à mprinfo s'il peut me redonner l'accès à sa box. Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 sympa ce tuto, merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
neliger Posté(e) le 28 mars 2015 Auteur Signaler Partager Posté(e) le 28 mars 2015 Grâce à un petit test fait chez mprinfo, j'ai pu corriger le test d'allumage et le rétablir aussi avant de demander une extinction. Le code n'est pas très élégant mais avec les problèmes de typage que m'impose le lua, je suis allé au plus simple. J'ai modifié le sujet pour remplacer par la version 1.2 dont voici la source. Code du bouton ------------------------------ -- Ne pas modifier ci-dessous ------------------------------ -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local reponse = HC2:GET("/api/devices") local json = json.decode(reponse) -- Boucle sur les modules for k, v in ipairs(json) do -- Il s'agit d'un module lumière if(type(v.properties.isLight) == "string") then -- Etat de la lumière local EtatLumiere = "eteinte" if(type(v.properties.value) == "string") then if(v.properties.value == "true") then EtatLumiere = "allumee" end else if(v.properties.value > 0) then EtatLumiere = "allumee" end end -- La lumière est allumée, extinction if(EtatLumiere == "allumee") then fibaro:call(v.id, "turnOff") end end end Boucle principale ----------------------------------------------------------- -- Toutes lumières v1.2 ----------------------------------------------------------- -- Extinction de l'ensemble des lumières de la maison ----------------------------------------------------------- -- Changelog -- 1.2 : Correction du test d'état prenant en charge les -- modules variateurs et rétablissement de la -- condition pour l'extinction -- 1.1 : Extinction inconditionnelle et prise en charge des -- modules variateurs ----------------------------------------------------------- ------------------------------ -- Variables à renseigner ------------------------------ -- Identiants des icônes local IconeAllume = 107 local IconeEteint = 108 -- Intervalle de mise à jour automatique (en secondes) local IntervalleMAJ = 10 ------------------------------ -- Ne pas modifier ci-dessous ------------------------------ while true do -- Variable du compteur local compteurLumieres = 0 -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local reponse = HC2:GET("/api/devices") local json = json.decode(reponse) -- Boucle sur les modules for k, v in ipairs(json) do -- Il s'agit d'un module lumière if(type(v.properties.isLight) == "string") then -- Etat de la lumière local EtatLumiere = "eteinte" if(type(v.properties.value) == "string") then if(v.properties.value == "true") then EtatLumiere = "allumee" end else if(v.properties.value > 0) then EtatLumiere = "allumee" end end -- La lumière est allumée, incrémentation if(EtatLumiere == "allumee") then compteurLumieres = compteurLumieres + 1 end end end -- Mise à jour de l'icône if(compteurLumieres > 0) then fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", IconeAllume) else fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", IconeEteint) end -- Attente de la prochaine mise à jour automatique fibaro:sleep(IntervalleMAJ*1000) end 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Oups, mes dimmers ne s'éteigne plus....et l'état ne change pas non plus... Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Un petit problème z-wave ? Envoyé de mon SM-G900F en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 28 mars 2015 Signaler Partager Posté(e) le 28 mars 2015 Mes 2 dimmers sont pourtant bien reconnu est pas en problème... je vais faire un reboot de box pour voir...et je vous re... Après un reboot, pareil, dans la version 1.1 je pouvais les éteindre pourtant... merci de votre support, patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
trainkill666 Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 (modifié) A tester : --Code complet ci-dessous à 14:03 Modifié le 8 avril 2015 par trainkill666 1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 @Trainkill666: Sa fonctionne pour éteindre les lumières, y compris les dimmers, cependant le statut pour les icon ne fonctionne pas. dans le début j'ai une erreur, la même pour le bouton et le main loop: [ERROR] 06:15:44: line 12: attempt to compare number with nil et la ligne 41du main loop 12. if(type(v.properties.isLight) == "string") and (type(v.properties.value) == "string") and ((v.properties.value == "true") or (tonumber(v.properties.value) > 0)) then 41. if(type(v.properties.isLight) == "string") and (type(v.properties.value) == "string") and ((v.properties.value == "true") or (tonumber(v.properties.value) > 0)) then nous sommes pas loin du but... merci, Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
braindancer Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 je viens d'installer le module virtuel et malheureusement chez moi, rien ne fonctionne :-( je remarque aussi que les icones possèdent des Id (107 / 108 ) , ou les récupère t on ? merci bien pour vos éclaircissements Lien vers le commentaire Partager sur d’autres sites More sharing options...
mprinfo Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 alors pour les id des icones c'est un peu chiant pour trouver j'ai mis un peu de temps pour comprendre soit avec le toolkit soit avec un clic droit sur l'icone information sur l'image Did a fait un tuto a ce sujet Lien vers le commentaire Partager sur d’autres sites More sharing options...
trainkill666 Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 A tester, je ne peux pas car suite à la maj 4.040 la box plante, ce code est fait à "l'aveugle", il doit donc y avoir des "coquilles". Bouton : -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local reponse = HC2:GET("/api/devices") local json = json.decode(reponse) -- Boucle sur les modules for k, v in ipairs(json) do if type(v.properties.isLight) == "string" and type(v.properties.value) == "string" then if v.properties.value == "true" then fibaro:call(v.id, "turnOff") elseif v.properties.value ~= nil and v.properties.value ~="false" then if tonumber(v.properties.value) > 0 then fibaro:call(v.id, "turnOff") end end end end Main Loop -- Identiants des icônes local IconeAllume = 107 local IconeEteint = 108 -- Intervalle de mise à jour automatique (en secondes) local IntervalleMAJ = 10 while true do -- Variable du compteur local compteurLumieres = 0 -- Récupération de la liste des modules local HC2 = Net.FHttp("127.0.0.1", 11111) local reponse = HC2:GET("/api/devices") local json = json.decode(reponse) -- Boucle sur les modules for k, v in ipairs(json) do if type(v.properties.isLight) == "string" and type(v.properties.value) == "string" then if v.properties.value == "true" then compteurLumieres = compteurLumieres + 1 elseif v.properties.value ~= nil and v.properties.value ~="false" then if tonumber(v.properties.value) > 0 then compteurLumieres = compteurLumieres + 1 end end end end -- Mise à jour de l'icône if(compteurLumieres > 0) then fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", IconeAllume) else fibaro:call(fibaro:getSelfId(), "setProperty", "currentIcon", IconeEteint) end -- Attente de la prochaine mise à jour automatique fibaro:sleep(IntervalleMAJ*1000) end 3 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 Je test ce soir àmon retour... Merci Envoyé de mon iPhone en utilisant Tapatalk Lien vers le commentaire Partager sur d’autres sites More sharing options...
Plap3014 Posté(e) le 29 mars 2015 Signaler Partager Posté(e) le 29 mars 2015 @Trainkill666: Sa fonctionne! super, vous pouvez faire la mise a jour et votre rituel device en 1.3... mes switch on/off et mes dimmers son maintenant fonctionnels avec la vision de l'état des 2 vous êtes les meilleurs! Patrick Lien vers le commentaire Partager sur d’autres sites More sharing options...
megabubu Posté(e) le 30 mars 2015 Signaler Partager Posté(e) le 30 mars 2015 ca marche aussi pour moi, je suis en V4.040 Lien vers le commentaire Partager sur d’autres sites More sharing options...
pepite Posté(e) le 30 mars 2015 Signaler Partager Posté(e) le 30 mars 2015 Bijour, super boulot. Petite mise à jour du 1er post ;-) avec la version qui fonctionne encore merciii Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés