NEWS
Tatsächliche Warnung erst nach x Sekunden
-
Moin
ich überwache meine Gefriertruhe die sich im Keller befindet mittels Tasmota Steckdosen.
Manchmal haben die auf Grund der Entfernung zum Hauptrouter, schlechten Empfang.Dann sagt mir Alexa "Warnung, Gefriertruhe ist Offline" um mir kurz danach zu Verkünden "Gefriertruhe ist Online" Das nervt ... ich hätte gern das ich nur dann eine Warnung bekomme, wenn die Gefriertruhe bzw. die Steckdose tatsächlich nach 10 Sekunden (oder so) immer noch offline ist. Wie und wo mache ich das ? mit einem Timeout ?
<block xmlns="https://developers.google.com/blockly/xml" type="on" id="Sg#6Ui!ZSz-Wx$/DiiT?" x="162" y="4303"> <field name="OID">sonoff.0.DVES_611A97.alive</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="Aa9VU;]6Bei(JsJSFq+q"> <value name="IF0"> <block type="logic_compare" id="~2w^Ft;UyNuA!a.jSM/b"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9A9{3gZ-:D$XaRIT[Ddk"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_611A97.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Bi51Ce0R,5^$t?_N]Y$e"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="a/RunFc,VX9tD[gt|Z=U"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00718653106D0.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="_~1DIIxQder/hr$yZTxt"> <field name="TEXT">Warnung, Steckdose für Gefriertruhe ist Offline</field> </block> </value> <next> <block type="telegram" id="%F-cKwty5[t/Z{39igO8"> <field name="INSTANCE">.5</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="SC;yVu~=~tp].Hzh*;3I"> <field name="TEXT">Warnung, Gefriertruhe ist Offline</field> </shadow> </value> <next> <block type="whatsapp-cmb" id="F]n|!-9fM$D(i)[WcoN_"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="fH;J#?tLJ6T~x-Q5xHMF"> <field name="TEXT">Warnung, Gefriertruhe ist Offline</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="u1LqwdWy)5jNl#vtKk}~"> <value name="IF0"> <block type="logic_compare" id="od9/VL*=w-eb}d;u!q)b"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="-}C%!RY?4swFJnS35aRp"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_611A97.alive</field> </block> </value> <value name="B"> <block type="logic_boolean" id="*9n;d~MN4LSU.5mq2bZP"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="er%w}ZALRY}KV,]aT,3H"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00718653106D0.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="ffqR^MPsD@.e83h}:V|S"> <field name="TEXT">Steckdose für Gefriertruhe ist Online</field> </block> </value> <next> <block type="telegram" id="^:p8Y]6g2qjZaDWkqaPE"> <field name="INSTANCE">.5</field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="%DU.SYQ~qJjht[JG8e$p"> <field name="TEXT">Gefriertruhe ist Online</field> </shadow> </value> <next> <block type="whatsapp-cmb" id=";2IxP=NURjWH}w8~XvcV"> <field name="INSTANCE">.0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id=",kp*|wL;G/JIww;fLy#Z"> <field name="TEXT">Gefriertruhe ist Online</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block>
-
-
@snupy sagte in Tatsächliche Warnung erst nach x Sekunden:
mit einem Timeout ?
ja!
timeout starten
nach Ablauf prüfen ob immer noch offen
wenn ja dann meldunggibt es gefühlt 100x im Forum
-
das würde dann quasi so ausehen wenn ich es nur für Alexa eintragen würde ?
und das müßte ich ebenfalls noch für "wieder online" einfügen ? -
@snupy sagte in Tatsächliche Warnung erst nach x Sekunden:
so ausehen
im falls noch ein und mit nicht timeout
-
-
-
@snupy mach es wie Paul zeigt. Dort wird über die Sperrvariable gesendet erreicht, dass der Timeout nicht mehrfach gestartet werden kann
-
@homoran sagte: Dort wird über die Sperrvariable gesendet erreicht, dass der Timeout nicht mehrfach gestartet werden kann
Dort wird durch "stop timeout" im sonst-Zweig erreicht, dass der Timeout nicht mehrfach gestartet werden kann. Die Variable
gesendet
verhindert die Nachricht "online", wenn nicht vorher "offline" gesendet wurde. -
@paul53 sagte:
Dort wird durch "stop timeout" im sonst-Zweig erreicht, dass der Timeout nicht mehrfach gestartet werden kann
Natürlich, aber durch die Sperrvariable wird dafür gesorgt, dass der sonst Zweig auf gerufen wird, was ich mit
nicht timeout
erreichen wollte.oder übersehe ich was elementares?
-
@homoran sagte: übersehe ich was elementares?
Bei einem Trigger auf einen booleschen Wert mit "wurde geändert" benötigt man keine Sperre mit "nicht timeout", denn es genügt ein "stop timeout" im entgegengesetzten Zweig. Bei Zahlenwerten benötigt man zusätzlich eine Sperre, um Mehrfachstart des Timers zu verhindern.
-
ihr seit die besten
das hätte ich nie hinbekommen ... vielen Dank
-
Habe das hier gerade gefunden.
Hat das Blockly den gleichen Effekt wie das obrige?
Nachricht erst senden, wenn der Wert eine Minute stabil ist. -
@gonzokalle
Habe die DP manuell geschaltet. Es geht nicht!
Habe ein ähnliches Blockly, wo ich einen Schalter entprelle. Da geht es.
Müssen der Timeout und die Sperre den gleichen Namen haben? -
@gonzokalle sagte: Nachricht erst senden, wenn der Wert eine Minute stabil ist.
Nein, das ist eine Sperre, die nach dem Senden verhindert, dass innerhalb der Sperrdauer nochmal gesendet wird (Entprellen).
@gonzokalle sagte in Tatsächliche Warnung erst nach x Sekunden:
Müssen der Timeout und die Sperre den gleichen Namen haben?
Es muss die selbe Timer-Variable sein.
-
@paul53
Okay
Habe es jetzt nach deiner Vorlage gebaut. Jetzt geht es.