NEWS
Störungsmeldung der Heizung
-
@paul53
guten Morgen und mal wieder danke für Deine Hilfe.
Wofür muss ich Datenpunkte erzeugen, kann ich nicht direkt die Werte vom Shelly nehmen? Ich habe Dein Blockly mal nachgebaut und etwas verändert. Die Werte von der Pumpe brauche ich ja nicht, ich brauche ja nur die gesamte Leistungsaufnahme vom Heizungskeller. Objekt ID "Power" ist der Leistungswert vom Shelly. Habe es mal laufen lassen, aber keine Meldung. Das Script reagiert aber sobald ich die Heizung einschalteHabe 2 Sekunden timeout nur zum Testen eingetragen.
-
@tiobb sagte: Wofür muss ich Datenpunkte erzeugen,
Zum Triggern auf "wurde geändert", wenn die jeweilige Bedingung erfüllt ist.
-
@tiobb sagte: Den Datenpunkt vom Shelly (Leistungsanzeige) kann man nicht zum triggern nehmen?
Der triggert nur den ersten Block, denn der Wert ändert sich ständig.
-
@tiobb sagte: Den Datenpunkt vom Shelly (Leistungsanzeige) kann man nicht zum triggern nehmen?
Es geht auch ohne zusätzliche Datenpunkte:

-
@paul53
Danke, das macht es für mich etwas übersichtlicher als mit zusätzlichen Datenpunkten. Was bewirken die bei beiden "stop timeout"?@tiobb sagte: Was bewirken die bei beiden "stop timeout"?
Ohne das untere "stop timeout" würde die Störungsmeldung auch erfolgen, wenn der Brenner innerhalb der 2 Minuten gestartet ist. Das obere "stop timeout" verhindert die Störungsmeldung, wenn innerhalb von 2 Minuten wieder abgeschaltet wird.
-
@tiobb sagte: Was bewirken die bei beiden "stop timeout"?
Ohne das untere "stop timeout" würde die Störungsmeldung auch erfolgen, wenn der Brenner innerhalb der 2 Minuten gestartet ist. Das obere "stop timeout" verhindert die Störungsmeldung, wenn innerhalb von 2 Minuten wieder abgeschaltet wird.
-
@paul53
Guten morgen, ich schon wieder :innocent:
Habe das Script eben mal getestet, habe den Brenner direkt an der Heizung aus geschaltet damit der Brenner nicht anspringen kann. Ich bekomme dann auch nach knapp 2 Minuten eine Störungsmeldung :+1: aber die bekomme ich alle 15 Sekunden. Wo bzw wie kann ich da ein "Stop" einbauen, denn einmal Störung reicht mir. -
@paul53
Guten morgen, ich schon wieder :innocent:
Habe das Script eben mal getestet, habe den Brenner direkt an der Heizung aus geschaltet damit der Brenner nicht anspringen kann. Ich bekomme dann auch nach knapp 2 Minuten eine Störungsmeldung :+1: aber die bekomme ich alle 15 Sekunden. Wo bzw wie kann ich da ein "Stop" einbauen, denn einmal Störung reicht mir. -
@tiobb sagte: die bekomme ich alle 15 Sekunden.
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
Wert und vorheriger Wert stammen aus Trigger?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on_ext" id="^9loASAzRU/?K#sRIU{R" x="238" y="-62"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="EEjrqpK_X,GhU}dn;nj0"> <field name="oid">shelly.0.SHSW-25#98CDAC245E5E#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="s1xUC416o^)J1o{Pci#B"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="toWrFr0+?PzVkr`+3SKD"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="f4]R$$jIXTcF;c_GA?Gz"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="yL+ipuxO!fW:/m+o{-+j"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="f:Vx[n6)1^eS$?Go%`VH"> <field name="NAME">timeout</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="jSIEToEL3Dwjrh:F{a#c"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="{@X7w?x[BP^;a[*#;)gf"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="/+3eJXWCA#~z8kPZKbI~"> <field name="NUM">70</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="XRuPGUJ.$KCvZEFjgIi8"> <field name="NAME">timeout</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id=";$2Ev#/Ui-b2x]H`DTy+"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="Q,7z+tn/6hr,C%=*[S?d"> <field name="TEXT">Störung Heizung</field> </shadow> </value> <value name="USERNAME"> <block type="text" id="bmM[2js4?Vd@r0N*jG7j"> <field name="TEXT">Michael</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="ob;3vT+~S|9#am`#=@^_"> <value name="IF0"> <block type="logic_compare" id="q=eyZLWD(:j_#qda6f0t"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="`SYd^JSw}j`KNH)mM}eb"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="#j)5Vw04aRbRl}%fyLL]"> <field name="NUM">200</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="6]x?c}gouBY4wqSQjh;1"> <field name="NAME">timeout</field> </block> </statement> </block> </next> </block> </statement> </block> </xml> -
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="on_ext" id="^9loASAzRU/?K#sRIU{R" x="238" y="-62"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="EEjrqpK_X,GhU}dn;nj0"> <field name="oid">shelly.0.SHSW-25#98CDAC245E5E#1.Relay0.Power</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="s1xUC416o^)J1o{Pci#B"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="toWrFr0+?PzVkr`+3SKD"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="f4]R$$jIXTcF;c_GA?Gz"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="yL+ipuxO!fW:/m+o{-+j"> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="f:Vx[n6)1^eS$?Go%`VH"> <field name="NAME">timeout</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="jSIEToEL3Dwjrh:F{a#c"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="{@X7w?x[BP^;a[*#;)gf"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="/+3eJXWCA#~z8kPZKbI~"> <field name="NUM">70</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="XRuPGUJ.$KCvZEFjgIi8"> <field name="NAME">timeout</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="telegram" id=";$2Ev#/Ui-b2x]H`DTy+"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="Q,7z+tn/6hr,C%=*[S?d"> <field name="TEXT">Störung Heizung</field> </shadow> </value> <value name="USERNAME"> <block type="text" id="bmM[2js4?Vd@r0N*jG7j"> <field name="TEXT">Michael</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="controls_if" id="ob;3vT+~S|9#am`#=@^_"> <value name="IF0"> <block type="logic_compare" id="q=eyZLWD(:j_#qda6f0t"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="`SYd^JSw}j`KNH)mM}eb"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="#j)5Vw04aRbRl}%fyLL]"> <field name="NUM">200</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="6]x?c}gouBY4wqSQjh;1"> <field name="NAME">timeout</field> </block> </statement> </block> </next> </block> </statement> </block> </xml>@tiobb
Wenn Du anstelle von "vorheriger Wert" "Wert" nimmst und dann noch mit einem anderen Vergleichswert, kann es nicht funktionieren.So wird der Timer nur gestartet, wenn
Wert >= 60 UND vorheriger Wert < 60In Deinem Fall wurde alle 15 s ein neuer Timer gestartet, wenn die Leistung zwischen 60 und 70 schwankte.
-
@tiobb
Wenn Du anstelle von "vorheriger Wert" "Wert" nimmst und dann noch mit einem anderen Vergleichswert, kann es nicht funktionieren.So wird der Timer nur gestartet, wenn
Wert >= 60 UND vorheriger Wert < 60In Deinem Fall wurde alle 15 s ein neuer Timer gestartet, wenn die Leistung zwischen 60 und 70 schwankte.