Nikko Posté(e) le 18 décembre 2015 Signaler Posté(e) le 18 décembre 2015 @domodial: As tu le problème juste sur 1 ligne ou plusieurs? Ta syntaxe est bonne Lorsque tu utilises PORTABLE, les Push se fait aux appareils définis par cette option et plus aux appareils définis via GEA.portables. Donc si les 2 id dans MobileID sont faux tu n'auras pas de push du tout (car mauvais id et push générique shunté) pour aucun de tes 2 exemples Si ton id Mobile est OK est pas l'autre tu recevras la notification pour les 2 lignes en exemple. D'où la question, ta première ligne se déclenche t'elle ?
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Nikko, Mes notifs fonctionnent sur des lignes et pas pour toutes les autres. En gros, toutes les notifications ou j'ai la variable maison à Absent (pour ne pas recevoir les notifications quand je suis là sur certaines lignes). Et sur d'autres, j'ai besoin quand meme des notifs, je les reçois donc bien avec la syntaxe. Je te met des infos (GEA.portables par exemple) pour te montrer comme j'ai fait : Ici je ne renseigne plus GEA.portables) GEA.portables = {} -- liste de portables : 360 mon mobile, 220 iphone nathalie J'ai fait un MobileId à la suite du local id) } local MobileId = { -- Portables PHONE_NATHALIE = 220, PHONE_BERNARD = 360, } Ici plus RIEN ne fonctionnent : --- Les notifications ci dessous sont désactivé si Maison en mode Present GEA.add({{"Global", "EtatPortail", "open"}, {"Global","Maison","Absent"}}, -1, "Portail ouvert à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}, {"Portable", MobileId["PHONE_NATHALIE"]}}) GEA.add({{"Global", "EtatPortail", "close"}, {"Global","Maison","Absent"}}, -1, "Portail fermé à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({{"Global", "EtatGarage", "open"}, {"Global","Maison","Absent"}}, -1, "Garage ouvert à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}, {"Portable", MobileId["PHONE_NATHALIE"]}}) GEA.add({{"Global", "EtatGarage", "close"}, {"Global","Maison","Absent"}}, -1, "Garage fermé à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_ENTREE"], {"Global","Maison","Absent"}}, -1, "Porte entrée ouverte le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}, {"Portable", MobileId["PHONE_NATHALIE"]}}) GEA.add({id["PORTE_ENTREE"], {"Global","Maison","Absent"}}, -1, "Porte entrée fermé le #date# à #time#", {{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_JARDIN2"], {"Global","Maison","Absent"}}, -1, "Porte jardin centrale ouverte. Le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_JARDIN2"], {"Global","Maison","Absent"}}, -1, "Porte jardin centrale fermée. Le #date# à #time#",{{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_JARDIN3"], {"Global","Maison","Absent"}}, -1, "Porte jardin droite ouverte. Le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_JARDIN3"], {"Global","Maison","Absent"}}, -1, "Porte jardin droite fermée. Le #date# à #time#",{{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_CHAUFFERIE"], {"Global","Maison","Absent"}}, -1, "Porte chaufferie ouverte. Le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({id["PORTE_CHAUFFERIE"], {"Global","Maison","Absent"}}, -1, "Porte chaufferie fermée. Le #date# à #time#",{{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}}) Ici par exemple ça fonctionne --- MAISON "Absence/Présence" GEA.add({"Global", "Maison", "Absent"}, -1, "Mode absence le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}}) GEA.add({"Global", "Maison", "Present"}, -1, "Mode présent le #date# à #time#", {{"Portable", MobileId["PHONE_BERNARD"]}}) J'avoue que c'est trop pour moi lol, surtout que pas d'erreur dans GEA
Nikko Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 @domodial: Si tu supprimes tout ce qui est {"Portable", id} dans tes lignes et que tu déclares GEA.portables = { 220 , 360 } Tu reçois bien les notifs? Toutes tes ID sont bien déclarées dans l'entete ? (on ne sait jamais un oubli ça arrive...). Cela donne plus l'impression que c'est ta ligne qui ne se déclenche pas et non pas un problème de notification. Dans La fenetre DEBUG, tu vois bien l'action se déclencher ?
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 oui, ça fonctionnait bien avant exactement. ID ok dans l'entete, en fait tout fonctionnait avant mais avec : GEA.portables = {360, 220} -- liste de portables : 360 mon mobile, 220 iphone nathalie Mais je veux filtrer car ma femme reçois trop de notifications et ça la soule
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Ici par exemple ça fonctionne [DEBUG] 07:46:34: [ Value [41|Température] > 20 ] isActivated : type : Value+ (ID: 40) [Portable,360] [DEBUG] 07:46:34: [ Value [41|Température] > 20 ] isActivated : activé (ID: 40) [Portable,360] Ici non : DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] En cours : vérification (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] Check : démarrage vérification (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] Check : vérification des dates (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] isActivated : vérification de l'activation (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] isActivated : type : Value+ (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [42|Humidité] > 70 ] !CANCEL! isActivated: désactivé (ID: 39) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] En cours : vérification (ID: 40) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] Check : démarrage vérification (ID: 40) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] Check : vérification des dates (ID: 40) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] isActivated : vérification de l'activation (ID: 40) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] isActivated : type : Value+ (ID: 40) [Portable,360] [DEBUG] 07:47:04: [ Value [41|Température] > 20 ] isActivated : activé (ID: 40) [Portable,360]
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Cette ligne fonctionne également GEA.add({id["LUMIERE_POUBELLE"],nuit}, 30 , "Lumière poubelle allumé", {{"Portable", MobileId["PHONE_BERNARD"]}})
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Bon, j'ai trouvé, mais je ne sais pas résoudre le probleme Ici ça ne fonctionne pas (car controle variable Absent) (pour le test j'ai mis à Present) GEA.add({{"Global", "EtatPortail", "close"}, {"Global","Maison","Absent"}}, -1, "Portail fermé à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}}) Ici j'enlève le controle et ça fonctionne GEA.add({"Global", "EtatPortail", "close"}, -1, "Portail fermé à #time# le #date#", {{"Portable", MobileId["PHONE_BERNARD"]}}) Possible que ce soit le code GEA qui n'accepte pas ? Car toutes mes lignes qui ne fonctionnent pas comportent le control de la variable "Maison"
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Je crois que j'ai été au bout de mes connaissances... J'ai voulu simplifier la ligne croyant qu'elle serait mieux comprise comme ça : Afin de recevoir une notification si Absent (ben ça ne fonctionne pas non plus). Si je vire le contrôle estAbsent, je reçois les notifications local estPresent = {"Global", "Maison", "Present"} local estAbsent = {"Global", "Maison", "Absent"} GEA.add({id["PORTE_ENTREE"], estAbsent}, -1, "Porte entrée fermé le #date# à #time#", {{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}})
Nikko Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Donc c'est que ta variable globale "Maison" n'est pas mise àjour en mode absence. Quelle action/scene/script bascule cette variable de Present vers Absent ?
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 En entête j'ai ma variable "Maison" déclaré, le mode Absent/Présent est déclenché par l'activation ou désactivation de la vidéosurveillance. Ma variable change bien d'état à chaque fois. J'ai deux façons d'allumer ou éteindre la vidéo surveillance, et ça change l'état de la variable "Maison" Si sur un VD (variable Maison) je clic Absent, ça allume la vidéosurveillance. Si je clic Present ça coupe. Si j'appuye sur le bouton du module SURVEILLANCE_VIDEOS (1), ça allume la vidéosurveillance et passe la variable à Absent. Et inversement si module OFF ça met la variable a Present. Jusque là tout fonctionne. Depuis la modif idMobile, cette modif fonctionne sur toutes les lignes, sauf les lignes avec la variable "Maison". ---======= FONCTIONNEMENT VIDEOSURVEILLANCE + ALERTES LUMINEUSES DE CONFIRMATION =======------- --- --- Allume ou éteint la vidéosurveillance en fonction de l'action sur le bouton variable "Maison" (Absent/Présent) GEA.add({{"Global","Maison","Present"}}, -1 , "VideoSurveillance désactivé" , {{"turnOff", id["SURVEILLANCE_VIDEOS"]}}) GEA.add({{"Global","Maison","Absent"}}, -1 , "VideoSurveillance activé" , {{"turnOn", id["SURVEILLANCE_VIDEOS"]}}) --- Allume ou éteint la vidéosurveillance action manuel du module SURVEILLANCE_VIDEOS au sol --- Lorsque SURVEILLANCE_VIDEOS est activé (1) alors passer la variable Maison à Absent et alerte ROUGE GEA.add({"Value",id["SURVEILLANCE_VIDEOS"],1}, -1 , "" , {{"Global","Maison","Absent"}, {"RGB", id["BANDEAU_LED"], 255, 0, 0, 100}}) --- Arret de l'alerte lumineuse après 5 mn GEA.add({"Value",id["SURVEILLANCE_VIDEOS"],1}, 1*60, "", {{"Global","Maison"," Absent"}, {"turnOff", id["BANDEAU_LED"]}}) --- Lorsque SURVEILLANCE_VIDEOS est désactivé (0) alors passer la variable Maison à Present et alerte VERTE GEA.add({"Value",id["SURVEILLANCE_VIDEOS"],0}, -1 , "" , {{"Global","Maison","Present"}, {"RGB", id["BANDEAU_LED"], 0, 255, 0, 100}}) --- Arret de l'alerte lumineuse après 5 mn GEA.add({"Value",id["SURVEILLANCE_VIDEOS"],0}, 1*60, "", {{"Global","Maison"," Present"}, {"turnOff", id["BANDEAU_LED"]}})
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Supposons que ma variable "Maison" est à Present, que cette variable est déclaré dans l'entete, alors cette ligne doit fonctionner pétard de bonsoir Et ben non --[[ %% autostart %% properties %% globals Maison --]] --- LOCAL Maison local estPresent = {"Global", "Maison", "Present"} local estAbsent = {"Global", "Maison", "Absent"} GEA.add({id["PORTE_ENTREE"], estPresent}, -1, "Porte entrée fermé le #date# à #time#", {{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}})
Nikko Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 Et les espaces avant absent et present tu veux pas les enlever car c'est moyen....(l12 et l17). En lua " Present" est différent de "Present". (Dans ton post précédent) EDIT: --[[ %% autostart %% properties %% globals Maison --]] --- LOCAL Maison local estPresent = {"Global", "Maison", "Present"} local estAbsent = {"Global", "Maison", "Absent"} GEA.add({id["PORTE_ENTREE"], estPresent}, -1, "Porte entrée fermé le #date# à #time#", {{"Inverse"}, {"Portable", MobileId["PHONE_BERNARD"]}}) Non Ici c'est id["PORTE_ENTREE"] le déclencheur pas ta VG donc dans l'entete tu dois avoir xx value où xx est l'id porte entree...
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 oui pardon, j'ai viré l'id PORTE_ENTREE en collant ici pour exemple, car y en avait trop long, mais il y est bien. Pas compris pour les espaces (?) --[[ %% autostart %% properties 58 value %% globals Maison --]] -- Portes PORTE_ENTREE = 58,
jompa68 Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 EN This do not work, why? Goal is to shut off the wall plug after 40min when it use more then 50watt GEA.add({"power+", id["kaffebryggare"], 50}, 40*60, "", {{"turnOff", id["kaffebryggare"]}}) Get this error msg [DEBUG] 10:53:59: line 2066: attempt to concatenate local 'name' (a nil value)
Nikko Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 @Jompa68: power+ isn't a condition. You have to write: GEA.add({"Sensor+", id["kaffebryggare"], 50}, 40*60, "", {{"turnOff", id["kaffebryggare"]}}) Moreover you have to chek your id and GEA.isVersionFour Nicolas
Domodial Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 @Nikko Toutes mes excuses, je ne sais pas comment avait volé dans l'entete d'un VD la déclaration de la variable "Maison" Ca changeait bien l'état de ma VD mais pas la variable en elle même ! Car dans la VD il n'y avait plus "Maison" en entete. Tout refonctionne, et en mieux Désolé de tout ce binzz, c'est hardu tout ça
jompa68 Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 @Jompa68: power+ isn't a condition. You have to write: GEA.add({"Sensor+", id["kaffebryggare"], 50}, 40*60, "", {{"turnOff", id["kaffebryggare"]}}) Moreover you have to chek your id and GEA.isVersionFour Nicolas So this will be good if i understand right. Second line will stop the first task if it uses less then 10watt or powered Off? local coffeeTask = GEA.add({"Sensor+", id["kaffebryggare"], 50}, 40*60, "", {{"turnOff", id["kaffebryggare"]}}) GEA.add({"Sensor-", id["kaffebryggare"], 10}, -1, "", {{"StopTask", coffeeTask}})
jojo Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 yes, but this second line is not mandatory, only the first line is important
jompa68 Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 So first task will stop if i turnoff coffee machine? Regards Jonny Larsson From my iPhone6+ med Tapatalk
jojo Posté(e) le 19 décembre 2015 Signaler Posté(e) le 19 décembre 2015 yes since, first task is only executed when coffie marchine power consumption is above 50W for 40*60 sec (= 40 min)
971jmd Posté(e) le 20 décembre 2015 Signaler Posté(e) le 20 décembre 2015 local timer = tonumber(fibaro:getGlobalValue('TIMER')) GEA.add( true , timer , "" ) Lors de la lecture de la ligne GEA, la variable timer sera remplacé par la valeur de la VG. Mais la ligne GEA.add n'est lue qu'une fois. A ce moment les tables sont céées et les valeurs de temps sont figées. Ceci ne fonctionne donc pas (je ne sais pas si c'est à ça que tu pensais @Jojo) @971jmd: Si tu veux voici un VD écrit très vite fait: un bouton +30s, 1 bouton -30s, 1 bouton ON et 1 bouton OFF. Tu crées une variable globale TRIGGER Lors tu bascules le VD sur ON le décompte se fait et quand on arrive à 0 alors TRIGGER bascule sur 1. Ensuite tu peux baser tes condition GEA sur cette VG: decompte.png -- A la fin du timer si lampe allumée on éteint GEA.add({{"Global","TRIGGER", 1},id["ECL"]}, -1 , "" , {{"turnOff",id["ECL"]}}) Attention ce n'est pas optimisé (décompte toutes les 3s) c'est juste pour voir si ça te convient. Je t'avoue que je n'a fait que 1 ou 2 essais sous GEA (exemple au-dessus).... @ salut NIKKO j'ai tester la VD, mai j'ai modifier afin d'avoir 1800sec par défaut et ça fonctionne mai le probleme est que les 1800 son mise dans le code et non modifiable avec des boutons. j'ai essayer d'ajouter un bouton H+ H- et Min+ Min- mai pffffff je n'arrive pas
jompa68 Posté(e) le 20 décembre 2015 Signaler Posté(e) le 20 décembre 2015 @jojo EN want to send a push when plug turnOff, this does not work like i want, it sends ALOT of push message before the time have elapsed. GEA.add({"Sensor+", id["kaffebryggare"], 50}, 120*60, "", {{"turnOff", id["kaffebryggare"]}}) GEA.add(id["kaffebryggare"], -1, "", {{"VirtualDevice", id["TTS"], "3"}}) GEA.add(id["kaffebryggare"], -1, "Nu stà¤ngs kaffebryggaren av", {{"Portable", id["iPhoneJonny"]},{"Portable", id["iPhoneMona"]}})
Nikko Posté(e) le 20 décembre 2015 Signaler Posté(e) le 20 décembre 2015 @jompa68: If you want to send a push when the plug is turning off you should use Inverse in Parameters: -- Send a Push when TurnOff GEA.add(id["kaffebryggare"], -1, "Plug turned off", {{"Inverse"},{"Portable", id["iPhoneJonny"]},{"Portable", id["iPhoneMona"]}})
Peter Posté(e) le 20 décembre 2015 Signaler Posté(e) le 20 décembre 2015 bonjour a tous je voudrais dissocier l'allumage auto de l'allumage avec l'interrupteur j'ai ce code qui fonctionne bien GEA.add( id["DETECTEUR_DRESSING"], -1, "", {{"turnOn", id["LUMIERE_DRESSING"]}}) -- eteindre la lampe plus de detection pdt 1 mins GEA.add( id["DETECTEUR_DRESSING"], 1*60, "", {{"Inverse"}, {"turnOff", id["LUMIERE_DRESSING"]}}) mais le problème est que la lumière s’éteint toute seul au bout du temps un partie et je voudrais que si on allume avec l'interrupteur elle ne s’éteint pas ou si plus de présence dans la pièces elle s éteint toute seul comment faite vous pour dissocier l'auto du manuel le contexte un fgs222 2*1.5kw un fgms 001 Merci de votre aide et de bonne fête a tous
jojo Posté(e) le 20 décembre 2015 Signaler Posté(e) le 20 décembre 2015 voici ma config, pour faire EXACTEMENT la même chose que ce que tu veux faire -- Hall de Nuit -- Lampe SdJ -- Extinction automatique de la lampe après 30s. local autoOffSdJ = GEA.add ({DeviceID["LUM_HALLNUIT_SDJ"], auth_LumHallNuit}, 31, "", {{"turnOff"}}) -- Appuie sur l'interrupteur de la lampe, on stoppe l'extinction automatique. GEA.add (DeviceID["LUM_HALLNUIT_SDJ"], -1, "", {{"StopTask", autoOffSdJ}}) -- Allumage de la lampe sur détection mouvement GEA.add ({DeviceID["MVT_HALLNUIT_SDJ"], auth_LumHallNuit, {"Value-", DeviceID["LUX_HALLNUIT_SDJ"], 5}, {"Value", DeviceID["LUM_HALLNUIT_SDJ"],0}}, -1, "", {{"turnOn", DeviceID["LUM_HALLNUIT_SDJ"]}, {"RestartTask", autoOffSdJ}}) -- Extinction de la lampe dans tous les cas après 10 min GEA.add ({DeviceID["ALARME_ACTIVE"], DeviceID["LUM_HALLNUIT_SDJ"]}, 10*60, "Extinction du Hall de Nuit SdJ, car allumée depuis #duration#. (#date# à#time#)", {{"Inverse"}, {"turnOff", DeviceID["LUM_HALLNUIT_SDJ"]}, {"Email", UserID["Vincent"], "ALERTE - Lumière Hall de Nuit"}})
Messages recommandés