Aller au contenu

Recommended Posts

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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 :)

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

oh il ne faut surtout pas te gêner pour moi  :D  :P

Partager ce message


Lien à poster
Partager sur d’autres sites

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

 

 

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité chris6783

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

@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:

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Partager ce message


Lien à poster
Partager sur d’autres sites

Le Repeat ne sert àrien dans ce contexte :)

Bisous :)

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

Partager ce message


Lien à poster
Partager sur d’autres sites

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.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci Steven pour le bisou et aussi pour l'explication  :)

Partager ce message


Lien à poster
Partager sur d’autres sites

@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

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai au moins eu la preuve que vous lisez mes messages  :P  ... et ceci, jusqu'au bout. :60:

  • Upvote 1

Partager ce message


Lien à poster
Partager sur d’autres sites

on ne lit pas tes messages, on les dévore (enfin pas les grosses conneries)

Partager ce message


Lien à poster
Partager sur d’autres sites

Vu le nombre de grosses conneries que je raconte, vous devez pas dévorer grand chose :(

Partager ce message


Lien à poster
Partager sur d’autres sites

@steven, on ne mange pas mais on boit tes paroles !  :13:

Comment ça je suis un fayot  :P

Partager ce message


Lien à poster
Partager sur d’autres sites

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}}) 

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ?

Partager ce message


Lien à poster
Partager sur d’autres sites

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!

Partager ce message


Lien à poster
Partager sur d’autres sites

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 ;)

Partager ce message


Lien à poster
Partager sur d’autres sites

×