Aller au contenu

Messages recommandés

Posté(e)

Sir Steven a normalement prévu que l'ordre ne soit pas renvoyé mais après quelques tests, il semble que ça ne fonctionne que pour des on/off simples, style wallplug et relais fibaro.

By the way...

Bannaniée ! :-)

Sent From my Vic20

Posté(e)

Normalement, cela fonctionne pour tout. Il n'est donc pas nécessaire de vérifier si le module est allumé ou pas.

 

Par contre, je n'ai pas changé les logs donc on voit toujours affiché "turnOn" ou "turnOff" même si l'ordre n'est pas envoyé.

 

Allez, enlève moi ce vilain IF qui est inutile :)

Posté(e)

Moi c'est dans le cas ou l'ordre est ceci par exemple: {"Value", id["LAMPE_SAM"], 65}

A chaque mouvement, cet ordre est ré-envoyé au dimmer. même si le dimmer est déjà  à  65, il me semble que je vois la led zwave clignoter à  chaque mouvement.

Posté(e)

Je te le confirme, c'est uniquement les ordres turnOn et turnOff pas les values comme dans ton cas. Une petite mise àjour ? :)

Posté(e)

Bonjour à  tous,

 

Petite subtilité GEA que j'ai du mal à  saisir :-(,

J'ai pris le code dans le showroom GEA de PITP2, mais je crois que sebcbien le fait aussi

local arretlumpaliercave = GEA.add(id["LUMIERE_PALIER_CAVE"], 3*60, "", {{"turnOff",id["LUMIERE_PALIER_CAVE"]},{"Repeat"}})
 GEA.add(id["CP_PALIER_CAVE"], -1, "", {{"RestartTask", arretlumpaliercave}})

Avec le "Repeat", ca relance bien la ligne GEA toutes les 3 mins  ?

Si oui, pourquoi relancer la tache au declenchement du detecteur ?

 

Ce que je comprends :

 - a chaque detection, ca repart pour 3 mins avant le "turnOff"

 - avec le "Repeat", un "turnOff" toutes les 3 mins

 

La je suis dans la CAVE, alors un peu de lumiere ne serait pas de refus;-), qqun a 3 mins ;)

 

merci

 

 

Invité chris6783
Posté(e)

La lumiere doit s'éteindre au bout de 3 minutes.... mais en cas de detection on veut prolonger cette durée. Le restart via la deuxieme tâche va remettre le compteur de la première àzéro pour prolonger de 3 minutes.

Les 3 minutes sont indicatives... C 3 minutes + intervalle GEA au max

Posté(e)

Ok merci chris6783, mais dans ce cas, le Repeat est-il necessaire ?

Ce que je comprends du repeat de cette ligne : si jamais aucune detection, on relance le turnoff toutes les 3 mins si jamais la lampe ne s'eteint pas

 

Merciii :D

Posté(e)

@pepite, bah alors on critique mon code  :)

je dois t'avouer un truc .... je m'interroge toujours sur le pourquoi du Repeat et son fonctionnement mais je suis certain que Steven veille et qu'il va nous remettre sur le droit chemin  :13:

Posté(e)

FR  (google translate)

im en utilisant un script Stevens GoogleCal2HC2 et créé une fonction dans GEA que seulement envoyer la chaîne de texte d'entrée de calandre à  mes Sonos au moment spécifié de calendrier.

 

 

EN

im using Stevens GoogleCal2HC2 script and created a function in GEA that only send the text string of calender entry to my Sonos at specified time from calender.

 function isEventNow2TTS()
local day = os.date("%d/%m %H:%M")
for i = 1, 10 do
local event = fibaro:getGlobalValue("Event"..i) 
if (string.find(event, day)) then
        TTStext = string.sub(event, 15)
return true, TTStext
end
end
return false
end

GEA.add({"Function", function() return isEventNow2TTS() end}, 30, "",{{"Global","SonosTTS","lng=en|dr=auto|vol=30|txt="..'#value#'..". . .|"}})
 

 

  • Upvote 1
Posté(e)

Pour rappel, le Repeat sert àenvoyer le message toutes les X secondes tant que la condition est remplie. A contrario d'une seule fois.

Dans le contexte en question il ne sert àrien car dès que la condition est remplie GEA éteint le module en question annulant donc le Repeat car la condition ne sera plus correcte.

Envoyé de mon portable grâce àmes petits doigts.

Posté(e)

@PITP2 :  loin de moi l'idée de critiquer ton code que je ne pourrais écrire seul :D

@ Steven : merci pour les explications et les bisousss, sympa ;)

 

Bon ben vous m'avez bien céclairé, alors merci beaucoup ;-)

Jusqu'à  la prochaine question ;-)

:P

Posté(e)

Bah mince j'ai ceci qui ne fonctionne plus !

 

la condition tvEteinte ne semble plus prise en compte ???

--[[%% autostart
%% properties
15 value
372 power
141 value
6 value
9 value
219 value
222 value
21 value
27 value
61 power
191 sceneActivation
285 sceneActivation
383 sceneActivation
40 power


%% globals
ModeCouche
Invites
--]]




local id = {


     PRISE_TV = 372
    }
  

-- Gestion des lumières d'ambiance du salon
local tvEteinte = {"If", {{"Sensor-", id["PRISE_TV"], 50}}} 
local lumieretvEteinte = {"If", {{"Value-", id["LUMIERE_TV"], 1}}} 
local lumierechemineeEteinte = {"If", {{"Value-", id["LUMIERE_CHEMINEE"], 1}}}    

-- Lumières d'ambiance du salon ON sur détection de présence  
GEA.add( id["CP_SALON"], -1, "", {{"turnOn", id["LUMIERE_TV"]}, lumieretvEteinte, {"Time", "Sunset", "Sunrise"}})  
GEA.add( id["CP_SALON"], -1, "", {{"turnOn", id["LUMIERE_CHEMINEE"]}, lumierechemineeEteinte, {"Time", "Sunset", "Sunrise"}})

-- Eteindre la lumière après 15 minutes SI la TV est éteinte et qu'il n'y a pas d'invité 
local eteindreLumieretv = GEA.add(id["LUMIERE_TV"], 15*60, "", {{"turnOff",id["LUMIERE_TV"]}, tvEteinte , InviteNon}) 
local eteindreLumierecheminee = GEA.add(id["LUMIERE_CHEMINEE"], 15*60, "", {{"turnOff",id["LUMIERE_CHEMINEE"]}, tvEteinte, InviteNon})     

-- On redémarre le timer des 15 minutes 

GEA.add( id["CP_SALON"], -1, "", {{"RestartTask", eteindreLumieretv}})
GEA.add( id["CP_SALON"], -1, "", {{"RestartTask", eteindreLumierecheminee}}) 
Posté(e)

j'ai essayé cela et la notification est bien envoyée. Donc la puissance est bien remontée

GEA.add({"Sensor+", id["PRISE_TV"], 10}, -1, "Tele", {})

cela vient peut etre du if ?

Posté(e)

Bonjour,
 
je suis en train de me mettre au GEA et j'ai une erreur quand je le lance:
 
Voilà  mon code:

-- === PORTAIL == --
	-- Le scénario enverra un push toutes les 5 mn tant que le portail sera ouvert
	GEA.add( id["portail"], 5*60, "Le portail est ouvert depuis plus de 5 minutes", {{"Repeat"}})
	-- Si le portail est ouverte plus de 8 mn entre 23:30 - 06:00, on le ferme
	GEA.add( id["portail"], 8*60, "Le portail est ouvert depuis plus de 8 minutes", {{id["portail1"], {"turnOn"}}, {"Time", "23:30", "06:00"}})

	
	-- === CAVE == --
	-- Eteindre automatiquement la cave après 10 mn
	GEA.add( id["LAMPE_cave"], 10*60, "", {{"turnOff"}}) 

	-- === ESCALIER == --
	-- Eteindre automatiquement l'escalier après 8 mn
	GEA.add( id["telerupteur"], 8*60, "", {{"turnOff"}}) 
  
	-- Détecteur (id 200) avec allumage de lampe (id 100)
	-- Chaque détection redémarre la lampe pour 12 sec
	local myTask = GEA.add(id["telerupteur"], 12, "", {{"turnOff"}})
	GEA.add(75, -1, "", {{"RestartTask", myTask}})

	-- === DIVERS === --

	-- Vérification des modules parfois "dead"
	GEA.add({"Dead", 7, 5*60, "", {{"WakeUp", id["ARROSAGE"]}}}) -- extérieur
   

Voilà  l'erreur renvoyée:

[DEBUG] 19:20:54: [ 73 | Portail ] Add Autostart : ajout de la tache pour 300 secondes (ID:1) [Repeat]
[ERROR] 19:20:54: line 1447: attempt to concatenate field '?' (a table value)

et la ligne 1447 en question: 

msg = msg .. entry[GEA.keys["PARAMS"]][i][j] .. ","

Merci pour votre aide!

Posté(e)

pour t'aider, ce serait déjà  bien que tu ne mettes que la ligne qui pose problème....

c'est probablement la première (ID:1) ou juste après

 

juste après il y a

id["portail1"]

mais juste avant il y a

id["portail"]

 

un 1 de trop je pense

 

Règle No 1 du débuggage: simplifier et isoler ;)

×
×
  • Créer...