ggpublic Posté(e) le 26 janvier 2016 Signaler Posté(e) le 26 janvier 2016 Salut, j'ai besoin d'un petit coup de main pour savoir si je fais bien ou mal un truc (pourtant simple et pourtant j'ai pas l'impression d'être une grosse quiche avec ma HC2) Voila: j'ai des pièces avec des détecteurs de présence fibaro et des philips Hue. Je veux que les ampoules s'allument quand je rentre (à certaines heures) et qu'elles s'éteignent si rien n'est détecté pendant, mettons 300s Simple hein ? ben non Pour l'allumage, pas de souci. En revanche pour le détecteur d'absence, c'est plus compliqué et je soupçonne que ma méthode fait planter ma box (j'arrive systematiquement à des "out of memomy" au bout d'1 ou 2 jours de marche. grrrr) Voici (cf en PJ) la scène la scene bloc simple d'où je suis parti . Alors j'ai bien conscience qu'à chaque retour au statut normal, un nouveau décompte se lance et qu'à la longue, si je passe bcp de temps dans une pièce, ça peut faire bcp. C'est pourquoi j'avais eu l'idée de passer ma scene en LUA et d'y mettre un fibaro.abort si le nb de scene active > 1.... mais sans succès. Comment feriez vous pour automatiser une extinction de lumière (sans passer par GEA, j'ai pas encore eu le courage d'y toucher ) merci
D-GK Posté(e) le 26 janvier 2016 Signaler Posté(e) le 26 janvier 2016 Tu peux peut-être regarder le tuto de Berale : http://www.domotique-fibaro.fr/index.php/topic/4933-settimeout/?p=74497
ggpublic Posté(e) le 26 janvier 2016 Auteur Signaler Posté(e) le 26 janvier 2016 merci bcp pour ton retour. En regardant le code de Berale, je me rends compte que c'est quasiment la meme chose que ce que j'obtiens en convertissant ma scene en LUA. Ce que j'ai du mal àpiger c'est que, même si j'ai un trigger qui déclenche la scène très souvent, le fait de commencer ma scene par un "if count scene > 1 then abort" devrait en toute logique m'éviter de me retrouver avec des messages d'erreur dans la console m'indiquant que le nombre d'instance est trop important, non ?
D-GK Posté(e) le 26 janvier 2016 Signaler Posté(e) le 26 janvier 2016 En théorie oui, mais j'avoue ne pas avoir franchi le pas sur les dernières mises àjour avec ces histoires d'instances. Tu peux essayer de jouer avec le paramètre sur ta scène qui te dit le nombre d'instances max.
ggpublic Posté(e) le 26 janvier 2016 Auteur Signaler Posté(e) le 26 janvier 2016 cela devrait être pourtant assez simple mais je me retrouve toujours avec des messages d'erreur, je ne comprends ce problème de nombre d'instances de scenes. J'ai une scène dont le "max running instances" est configuré à 1 et un code Lua qui abort le script si une scene tourne deja.... du coup je ne comprends pas les message d'erreur. mystère, L'un d'entre vous peut-il y jeter un oeil ? le module 19 est un détecteur de présence fibaro FGS. Je lui demande d'éteindre la lumière s'il n'y a pas de détection au bout de 200s via un bouton d'un VD (les lumières sont des Hue) --[[ %% properties 19 value %% events %% globals --]] if (fibaro:countScenes() > 1) then fibaro:debug("Script already running."); fibaro:abort(); end local startSource = fibaro:getSourceTrigger(); if(startSource["type"] == "other") then fibaro:call(281, "pressButton", "2"); else if (( tonumber(fibaro:getValue(19, "value")) == 0 )) then setTimeout(function() local delayedCheck0 = false; local tempDeviceState0, deviceLastModification0 = fibaro:get(19, "value"); if (( tonumber(fibaro:getValue(19, "value")) == 0 ) and (os.time() - deviceLastModification0) >= 200) then delayedCheck0 = true; end local startSource = fibaro:getSourceTrigger(); if ( ( delayedCheck0 == true ) or startSource["type"] == "other" ) then fibaro:call(281, "pressButton", "2"); end end, 200000) end end
jojo Posté(e) le 30 janvier 2016 Signaler Posté(e) le 30 janvier 2016 et avec GEA, en coup de cuillère, c'est réglé
megabubu Posté(e) le 31 janvier 2016 Signaler Posté(e) le 31 janvier 2016 Jojo, avec GEA ca donnerai quoi comme script?
jojo Posté(e) le 31 janvier 2016 Signaler Posté(e) le 31 janvier 2016 (modifié) GEA.add (id["Detect_Mvt"], -1, "allumage lampe", {{"Time", "17:00", "23:00"}, {"turnOn", id["Lampe"]}}) GEA.add (id["Detect_Mvt"], 300, "pas de détection depuis #duration#", {{"Inverse"}, {"turnOff", id["Lampe"]}}) EDIT : j'ai corrigé la 2° ligne du GEA, J'avais oublié un "Inverse" Modifié le 9 février 2016 par jojo 1
ggpublic Posté(e) le 31 janvier 2016 Auteur Signaler Posté(e) le 31 janvier 2016 Merci Jojo. Je vois que GEA gère l'allumage des lampes qui sont reconnues comme telles par la HC2. Mais moi je ne peux pas faire un fibaro.call 'Turnon' simple car mes lampes sont des Hue. J'ai besoin d'envoyer un ordre http. C'est mort pour moi GEA du coup? Ou bien en sortie il accepte le déclenchement d'une scène où l'appui sur le bouton d'un VD? Sent from my iPad using Tapatalk
jojo Posté(e) le 31 janvier 2016 Signaler Posté(e) le 31 janvier 2016 avec GEA tu peux également remplacer, le turnOn/turnOff pas l'appui sur un bouton d'un VD https://gea.piccand.me/doku.php
ggpublic Posté(e) le 31 janvier 2016 Auteur Signaler Posté(e) le 31 janvier 2016 Super, merci. Je crois que je vais m'y mettre alors (il n'empêche que ce type de besoin plutôt simple devrait pouvoir être réalisé facilement avec des scènes blocs...tant qu'on en sera la, la HC2 restera inaccessible au grand public) Sent from my iPad using Tapatalk
jojo Posté(e) le 31 janvier 2016 Signaler Posté(e) le 31 janvier 2016 oui, on peut le faire avec des scènes bloc, mais pas pour des appels http
Messages recommandés