NEWS
[solved] Mailversand nur bei Zustandsänderung (Blockly)
-
Servus zusammen,
ich bin nicht nur neu in diesem Forum (danke für die Aufnahme) sondern auch neu im Thema iBroker (gestern das erste mal gesehen und gleich installiert).
Erfahrung habe ich mit Linux, Python (Anfänger) und dem Rasberry Pi. Openhab und FHEM waren mit für den Einstieg zu komplex und
da kommt ioBroker gerade richtig!
Ich habe mit Blockly ein paar Scripte erstellt. Unter anderem möchte ich per Mail informiert werden, wenn der Fernseher durch unsere Kinder
eingeschaltet wird. Über den Ping-Adapter (TV ist an) und dem email-Adapter funktioniert das auch. Allerdings bekomme ich ständig Mails,
solange das TV eingeschaltet und damit im Netzwerk sichtbar ist. Ich möchte aber nur zu Beginn eine einzige Mail bekommen.
Anhängend habe ich das Schaltbild angefügt. Habe auch im "Falls Objekt" Block schon alle Optionen von "annerkant ist" erfolglos probiert.
Ich bräuchte eine Art Flankenerkennung oder Speicher. Jemand ne Idee?
Besten Dank!
Josh
5929_blockly_01.png -
Allerdings bekomme ich ständig Mails,
solange das TV eingeschaltet und damit im Netzwerk sichtbar ist. Ich möchte aber nur zu Beginn eine einzige Mail bekommen. `
Beobachte mal den Datenpunkt "Panasonic TV".
Keine Ahnung wie der Ping-Adapter arbeitet.
Vielleicht ist der Fernseher mal erreichbar und mal nicht.
Und dann wird natürlich laufend true/false gewechselt.
Grüße
-
Allerdings bekomme ich ständig Mails,
solange das TV eingeschaltet und damit im Netzwerk sichtbar ist. Ich möchte aber nur zu Beginn eine einzige Mail bekommen. `
Beobachte mal den Datenpunkt "Panasonic TV".
Keine Ahnung wie der Ping-Adapter arbeitet.
Vielleicht ist der Fernseher mal erreichbar und mal nicht.
Und dann wird natürlich laufend true/false gewechselt.
Grüße `
Der Zustand des Datenpunktes ändert sich nicht. Aber scheinbar, ist das Update der Trigger für die Mail, d.h. mit jedem Ping (auch ohne Änderung) wird der Ausgang der Box gesetzt.
-
Ich habe folgende funktionale Lösung gefunden:
5929_blockly_02.png -
Der Zustand des Datenpunktes ändert sich nicht. Aber scheinbar, ist das Update der Trigger für die Mail, d.h. mit jedem Ping (auch ohne Änderung) wird der Ausgang der Box gesetzt. `
Setzte den Trigger mal auf "wurde geändert".
Dann in dem Trigger den Zustand abfragen. "Falls Wert von Panasonic TV = wahr mache…."
Eventuell auch noch abfragen ob der vorherige Wert "unwahr" war.
Export:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="ZZ)kLtl2y@nQn.)dP]y]" x="88" y="113"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="3ReqEU?WTL5iT}QJ~fu|"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="S{y^E|V!xrZ::@8)l/Cg"><value name="IF0"><block type="logic_operation" id="66Cq?~3f/9t-h3J^,]pS" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="}`+~zBQJH=}]quGP~-o~"><field name="OP">EQ</field> <value name="A"><block type="on_source" id="}}[@L+5w#EGvC8A7PSXA"><field name="ATTR">state.val</field></block></value> <value name="B"><block type="logic_boolean" id="A2*gzZ~+dt6cD^m.;@_S"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="@#i{C{H6.vvm^iLzCCs}"><field name="OP">EQ</field> <value name="A"><block type="on_source" id="Wi?S,sIvD)g95hNoQ|{p"><field name="ATTR">oldState.val</field></block></value> <value name="B"><block type="logic_boolean" id="@U(Ak/]ZbLW;RHV!6aUR"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></statement></block></xml>
! ````
Grüße
-
Ich habe folgende funktionale Lösung gefunden: `
Trigger im Trigger ist keine gute Idee.Grüße
-
Setzte den Trigger mal auf "wurde geändert".
Dann in dem Trigger den Zustand abfragen. "Falls Wert von Panasonic TV = wahr mache…."
Eventuell auch noch abfragen ob der vorherige Wert "unwahr" war.
Grüße `
Super Lösung, danke!
-
Setzte den Trigger mal auf "wurde geändert".
Dann in dem Trigger den Zustand abfragen. "Falls Wert von Panasonic TV = wahr mache…."
Eventuell auch noch abfragen ob der vorherige Wert "unwahr" war. `
Deine Lösung hat leider auch nicht funktioniert. Final habe ich jetzt diese Umsetzung laufen (inkl. Änderung auf Pushover).
Danke für deine Hilfe!
5929_blockly_03.jpg -
Deine Lösung hat leider auch nicht funktioniert. Final habe ich jetzt diese Umsetzung laufen (inkl. Änderung auf Pushover). `
Das sind aber die selben Bedingungen wie in meinem Beispiel.Sollte also funktioniert haben.
Grüße
-
Das sind aber die selben Bedingungen wie in meinem Beispiel.
Sollte also funktioniert haben. `
Ja, aber die Konstellation ist eine andere! Es hat wirklich nicht so funktioniert, hab es mehrfach getestet!
Wollte das nur der erwähnt haben, falls jemand anderes im Nachgang das Ganze als Howto verwenden will.
Nochmals danke!