Aller au contenu

Messages recommandés

Posté(e)

Ah... Je crois que j'ai compris !

Mais pas sûr que ça soit simple à implémenter ce truc là, car l'action Email (comme toutes les actions) n'a pas connaissance des autres conditions dans tes règles...

Posté(e)

enfin, j'ai été clair !

tu as raison ce n'est pas du "yakfautcon" ....

Maintenant que j'y pense, est-ce que ma demande est pertinante ? Car

  • elle devrait s'appliquer également aux notifications standards (que je n'utili se pas)
  • à toutes les actions alors, et pourquoi qu'aux mails ?

et en répondant je pense à un truc : Pourquoi je n'utiolise pas les notifs ? Car je ne vois rien sur mon tél. Alors une idée :

- un paramètre général pour dire si notif sur GSM ou par mail ou les 2. (et par défaut sur GSM, comme aujourd'hui.

- si par mail, le subjet du mail serait ce qu'il a entre ", et le corps du mail "le #date# à #time#"

Posté(e)

ça tu peux déjà le faire, je crois que c'est en customisant GEA.output

Il doit y avoir des exemples sur le forum.

  • 1 mois après...
Posté(e)

Salut,

Petite question concernant une règle GEA dont j'ai un doute sur l'écriture d'une condition. Je cherche à vérifier la condition suivante : si la valeur du QA Enphase Balance Live Avg est inférieure à la valeur -900, alors ma règle s'active. J'ai écrit la condition de cette manière :

{"Value-", id["QA_ENPHASE_BALANCE_Live_Avg"], -900}

 

Mais après test, il semble que ça ne fonctionne pas. Sur d'autres règles, j'ai généralement des comparaisons sur des valeurs positives et je n'ai pas de soucis. Mais bizarrement, sur une valeur négative, la règle ne se lance pas.

Y-a-t-il une manière différente pour écrire la condition avec des valeurs négatives.

Merci pour votre éclaircissement.

 

Posté(e)

A priori, ça semble correct... après perso je ne pense pas avoir jamais testé avec des valeurs négatives.

 

Déjà, au niveau des propriétés du module, tu es bien certain que c'est la propriété "value" qui porte la valeur ?

Posté(e)

Au niveau du module, c'est un quickappchild et la valeur se trouve dans la propriété "value" dans le champs "properties".

Il me semble que j'avais testé obtenu le même résultat avec la syntaxe {"Property-", id["QA_ENPHASE_BALANCE_Live_Avg"], "Value", -900}.

J'utilise d'autres conditions du genre {"Value-", id["QA_ENPHASE_PROD_Live"], 850}, où QA_ENPHASE_PROD_Live est aussi un quickappchild, et la règle s'active bien.

 

D'où mon interrogation sur le test d'une condition sur une valeur négative et la bonne syntaxe.

Posté(e)

OK, donc ça ressemble bien à un bug...


Est-ce que pourrais faire tourner GEA avec cette seule règle, et les options GEA.debug et GEA.lldebug à true et copier/coller le log au moment où la règle devrait se déclencher ?

GEA.debug = true
GEA.lldebug = true

 

Posté(e) (modifié)

Merci @LazerVoilà ce que j'ai donc mis en place comme règle (il n'y a que celle-ci qui tourne) :

GEA.add({{"Property", id["SMARTGRID_SG_I"], "value", true}, {"Value-", id["QA_ENPHASE_BALANCE_Live_Avg"], -900}}, 3*30, "", {"TurnOff", id["SMARTGRID_SG_I"]}, "ECS (Daikin) : SmartGrid 1 désactivé")
 
Pour que ce soit plus explicite, je cherche donc à couper le bouton SMARTGRID_SG_I lorsqu'il est activé et que la valeur de QA_ENPHASE_BALANCE_Live_Avg est inférieure à 900 pendant 90s, sachant que QA_ENPHASE_BALANCE_Live_Avg correspond à la différence entre ce que produisent mes paneaux PV et la conso générale de la maison.
Voilà la copie d'écran au redémarrage de GEA.
[26.09.2024] [10:32:55] [TRACE] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:55] [TRACE] [QA_GEA_205]: Démarrage automatique de GEA 7.38 : mode autostart
[26.09.2024] [10:32:55] [TRACE] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:55] [DEBUG] [QA_GEA_205]: Utilisation de la librairie tools v2.30
[26.09.2024] [10:32:55] [DEBUG] [QA_GEA_205]: Vérification automatique toutes les 30 secondes
[26.09.2024] [10:32:55] [DEBUG] [QA_GEA_205]: Variable QuickApp GEA : GEA_History
[26.09.2024] [10:32:56] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:56] [DEBUG] [QA_GEA_205]: Chargement du code utilisateur setEvents() :
[26.09.2024] [10:32:56] [DEBUG] [QA_GEA_205]: GEA:addEntry([["Property",326,"value",true],["Value-",null,-900]], 90, "", ["TurnOff",326], "ECS (Daikin) : SmartGrid 1 désactivé")
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: Ajout auto #1 : ECS (Daikin) : SmartGrid 1 désactivé
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: Déclencheurs instantanés : 0
[26.09.2024] [10:32:57] [WARNING] [QA_GEA_205]: Aucun déclencheur instantané en mode événement
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA a démarré en mode automatique le 26/09/2024 à 10:32:57 ...
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: ... vérification en cours #0 @0s...
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() copy.name="Property" id=326 property="value" value=true value2=true value3=true value4=true
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.getValue() 2 return copy.lastvalue, copy.lastDisplayValue : false, false
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() result = false
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA:check() result = false, false
[26.09.2024] [10:32:57] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() copy.name="Value" id=-900 property=-900 value=-900 value2=-900 value3=-900 value4=-900
[26.09.2024] [10:32:59] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.getValue() 2 return copy.lastvalue, copy.lastDisplayValue : nil, nil
[26.09.2024] [10:32:59] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() result = nil
[26.09.2024] [10:32:59] [DEBUG] [QA_GEA_205]: GEA:check() result = false, nil
[26.09.2024] [10:32:59] [DEBUG] [QA_GEA_205]: GEA:check() ready = false
[26.09.2024] [10:32:59] [DEBUG] [QA_GEA_205]: @0s [Validation] #1 : ECS (Daikin) : SmartGrid 1 désactivé
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:setVG()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:deepPrint()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:htmlTree()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:getDeviceNotification()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:getViewLayoutItemIndex()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:saveViewLayout()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:distributeViewLayoutItems()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:updateSlider()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:browseTable()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:hasInterface()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:addViewLayoutItem()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:getDurationInString()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:searchViewLayoutItem()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:deepCopy()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:garbage()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:setDeviceNotification()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:removeViewLayoutItem()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:deleteVariable()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:createChild()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:deleteInterface()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:addInterface()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:getDeviceIdByName()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:round()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimize tools:optimize()
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Optimisation en cours ...
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : devicestate
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : call
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : protection
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : value2
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : kill
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : global
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : slide
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : isevenday
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : or
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : disablescenario
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : program
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : climate
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : startprogram
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : customevent
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : weatherlocal
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : nodst
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : info
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : function
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : neighborlist
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : variableqa
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : email
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : parameter
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : thermostatfanmode
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : copyglobal
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : setrunmodescenario
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : depend
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : quickapp
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : deads
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : variablecache
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : qa
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : weather
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : alarm
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : disablescene
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : batteries
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : lastworkingroute
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : open
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : apiget
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : switch
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : issceneenabled
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : suspendhc3
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : inverse
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : variablequickapp
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : filters
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : httpget
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : heatingthermostatsetpoint
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : apiput
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : killscenario
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : wol
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : hue
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : thermostatmode
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : notstart
[26.09.2024] [10:33:28] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : ledbrightness
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : picturetoemail
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : doorlock
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : currenticon
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : power
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : enablescene
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : countscenes
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : coolingthermostatsetpoint
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : setthermostat
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : dayevenodd
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : isscenerunning
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : dates
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : photo
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : notdst
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : isscenedisabled
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : runmodescene
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : killscene
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : setdisarmed
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : days
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : enablescenario
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : orientation
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : jsondecodefromlabel
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : color
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : wakeup
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : roomlights
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : deviceicon
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : dst
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : sensor
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : runningscene
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : frequency
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : armed
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : test
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : ask
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : disarmed
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : sceneactivation
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : picture
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : battery
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : label
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : stop
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : close
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : sectionlights
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : isevenweek
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : xor
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : phototomail
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : dead
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : reboothc3
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : turnon
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : notstarted
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : apipost
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : centralsceneevent
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : slider
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : breached
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : shutdownhc3
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : setarmed
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : polling
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : rgb
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : jsondecodefromglobal
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: Suppression d'option inutile : onoff
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: ----------------------------------------------------------------------------------------------------
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: ... vérification en cours #1 @30s...
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() copy.name="Property" id=326 property="value" value=true value2=true value3=true value4=true
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.getValue() 2 return copy.lastvalue, copy.lastDisplayValue : false, false
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() result = false
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: GEA:check() result = false, false
[26.09.2024] [10:33:29] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() copy.name="Value" id=-900 property=-900 value=-900 value2=-900 value3=-900 value4=-900
[26.09.2024] [10:33:31] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.getValue() 2 return copy.lastvalue, copy.lastDisplayValue : nil, nil
[26.09.2024] [10:33:31] [DEBUG] [QA_GEA_205]: GEA:encapsule() copy.check() result = nil
[26.09.2024] [10:33:31] [DEBUG] [QA_GEA_205]: GEA:check() result = false, nil
[26.09.2024] [10:33:31] [DEBUG] [QA_GEA_205]: GEA:check() ready = false
[26.09.2024] [10:33:31] [DEBUG] [QA_GEA_205]: @30s [Validation] #1 : ECS (Daikin) : SmartGrid 1 désactivé

 

A 14h01, j'ai actionné manuellement le switch SMARTGRID_SG_I (car il y avait de la production solaire).
A 14h54, la règle aurait dû s'actionner (j'ai vérifié avec domocharts les états des prod et de conso, ) et ce n'est pas le cas:
log.thumb.jpg.1a6378beb74c0e756cadfe4cbefab445.jpg
 
Maintenant en regardant de plus près, on voit que pour l'état de SMARTGRID_SG_I, il va bien chercher l'info sur l'id 326.
Par contre pour l'état de QA_ENPHASE_BALANCE_Live_Avg, il va chercher l'info sur l'id -900 alors que ça devrait être sur l'id 397.
 

Je pense avoir répéré l'erreur : j'ai déclaré l'id QA_ENPHASE_BALANCE_LiveAvg alors que dans ma règle j'utilise QA_ENPHASE_BALANCE_Live_Avg.

C'est pour cela qu'il ne trouve pas les bonnes infos au bon endroit!

Je viens de faire un test en mettant la bonne id et la condition semble bien se vérifier même sur une valeur négative...sans surprise finalement.

 

Désolé du coup pour le faux bug! Ca m'a néanmoins permis de découvrir les options de GEA pour débugger certaines choses. Je suis surpris par contre que GEA n'ait pas bronché avec une ID qui n'est pas déclarée au préalable.

Modifié par RS600807
Posté(e)
Il y a 16 heures, RS600807 a dit :

. Je suis surpris par contre que GEA n'ait pas bronché avec une ID qui n'est pas déclarée au préalable.

Normalement GEA vérifie les ID au démarrage, lors du chargement initial des règles, pour avertir si un ID donné n'existe pas.

Cependant, dans ton cas, ton ID est la valeur nil en LUA, et là impossible de le détecter, car dans l'appel de fonction, un paramètre ayant la valeur nil est simplement ignoré... c'est un comportement que j'ai déjà constaté lors de mes expérimentations (hors GEA), et c'est particulièrement pénible à gérer...

Du coup là, pas grand chose à faire à part être bien vigilant sur les ID utilisés (enfin, dans ton cas et pour être précis : sur le label de l'index du tableau contenant les ID)

 

Il faut être très attentif, mais tu aurais pu détecter l'erreur sans même activer les options de debug, en regardant la règle chargée, on voit un null qui apparait (à la place du nil) :

[26.09.2024] [10:32:56] [DEBUG] [QA_GEA_205]: Chargement du code utilisateur setEvents() :
[26.09.2024] [10:32:56] [DEBUG] [QA_GEA_205]: GEA:addEntry([["Property",326,"value",true],["Value-",null,-900]], 90, "", ["TurnOff",326], "ECS (Daikin) : SmartGrid 1 désactivé")

 

Posté(e)

Merci pour les précisions.

Oui effectivement, j'aurais dû être plus vigilant sur le label que j'avais choisi. J'ai 15 ou 20 règles où ce label intervient, et ils sont tous bien "orthographiés", sauf celui-là... C'était une autre règle pour laquelle j'avais rajouté tout dernièrement cette condition et fatalement fallait que ça tombe dessus ! ^_^

Le fait d'avoir rencontré ce cas (et surtout les explications qui vont avec) me permettra je l'espère par la suite de pouvoir mieux débugger les pb quand ils se présenteront.

Merci à toi!

Posté(e)
il y a 42 minutes, Sakkhho a dit :

est ce que vous voyez mon erreur ?

Oui, tu as posté sur le mauvais topic ;)

 

  • Haha 1
  • 3 semaines après...
Posté(e)

Bonjour à tous,

Maintenant que les températures baissent, je vois que le fonctionnement de mes thermostats via GEA ne sont pas au top. Je m'explique :)

Si je modifie (pour déshumidifier une pièce, par exemple) le mode de mon thermostat avec GEA, je n'arrive pas à le faire revenir en mode précédent.

Quand on clique du le bouton manuellement, on a toujours une tempo de 2h qui s'engage, et on peut la corriger, ou appuyer sur "return" pour revenir au planning normal.

Avec GEA, le mode change, mais sans tempo. Et je ne sais pas comment le faire revenir au mode schedule (sauf ajouter une ligne de commande "Climat"... "Schedule").

Une idée ?

 

Mes lignes :

 

GEA.add({{"thermostatMode","Climatisation Combles","Off"},{"Value+","Humidité Combles",70}},15 * 60,"COMBLES : Lancement de la déshumidification - Hum #value[2]#",{"thermostatMode","Thermostat Combles","DesHum"})
    GEA.add({{"thermostatMode","Climatisation Combles","DesHum"},{"Value-","Humidité Combles",60}},30,"COMBLES : Arrêt de la déshumidification - Hum #value[2]#",{{"thermostatMode","Thermostat Combles","Off"},{"Sleep",5*60,{"Climate","Combles","Schedule"}}})
×
×
  • Créer...