Aller au contenu
ggpublic

Détecteur...d'absence

Recommended Posts

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

post-1053-0-81383800-1453805064_thumb.png

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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


Partager ce message


Lien à poster
Partager sur d’autres sites

et avec GEA, en coup de cuillère, c'est réglé

Partager ce message


Lien à poster
Partager sur d’autres sites
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é par jojo
  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

oui, on peut le faire avec des scènes bloc, mais pas pour des appels http

Partager ce message


Lien à poster
Partager sur d’autres sites

×