NEWS
Blockly - Wenn Objekt 5 Minuten false ist dann…
-
Hallo,
ich bin gerade auf der Suche nach einer einfachen Möglichkeit wie ich es realisieren kann, dass z.B. wenn ein Ping Objekt 5 Minuten nicht erreichbar ist, eine Benachrichtigung oder ähnliches ausgeführt wird. Habe leider in der Suche nichts gefunden. Benachrichtigung ist kein Problem. Ich weiß nur nicht, wie ich das Objekt abfragen kann, dass ich eine Aktion starte, wenn das Objekt z.B. 5 Minuten auf False ist. Hat vielleicht jemand einen Denkanstoß für mich?
LG
Barny
-
Du nimmst einen Trigger auf die Variable und Dan einen time-out baustein welchen du auf 5 minuten einstellst, dan setzt du vor diesem baustein nog den timer reset.
In diesen timeout die logische abfrage if-than
Wen das script jetzt getriggert wird läuft der timer und führt die Aktion nach 5 Minuten aus.
Wird das Script in der Zwischenzeit wieder aktiviert geht der timer aus und startet neu usw
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
-
Hi Dutchman,
vielen Dank für deine Hilfe. Könntest du vielleicht mal nen Screenshot davon schicken?
Ich blicke da leider nicht dran lang, wie genau ich das machen muss. Bin ioBroker Neuling, was die Logiken angeht. Nutze aktuell Pimatic für die Logiken und ioBroker bisher nur als Frontend für nen Tablet.
-
vielen Dank für deine Hilfe. Könntest du vielleicht mal nen Screenshot davon schicken? `
kein problem, hier mal der Ansatz du musst die object id noch ersetzen mit dem ab zu fragenden werten und natürlich die gewünschte Aktion.
Zur Erklärung:
-
script wird jedesmal ausgeführt wen sich der wert im object beim falls block ändert
-
sollte der timer laufen wird dieser gestoppt
-
der timer wird gestartet
-
nach 5 Minuten wird die Aktion ausgeführt
Sollte sich also innerhalb dieser 5 Minuten der wert wieder ändern stoppt der time und fängt neu an
Und hier die Blöcke zum importieren :
-
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="*Hr|K0`:aflcOR-]6Ck3" x="-512" y="-388"><field name="COMMENT">Dies ist der trigger</field> <next><block type="comment" id="%sU]XE{qbtEWVaH(!hf{"><field name="COMMENT">Object ID ersetzen durch ab zu fragenden wert</field> <next><block type="on_ext" id="IDKg0+I!L5x0qCpk:wRZ"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="8+L[fwyFk9U3+b9m?|0z"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="comment" id="Ly*f{^m;4r~.Moud(*+J"><field name="COMMENT">Timer aus wen script getriggerd wurde</field> <next><block type="timeouts_cleartimeout" id="#`4]5t(BuPpL7EUq3NQZ"><field name="NAME">timeout</field> <next><block type="comment" id="L1M,Tzg@iU+J,(txC~}S"><field name="COMMENT">Verzögerung erst nach 5 min ausführen</field> <next><block type="timeouts_settimeout" id="=/z?-6}{z@ld+6^Tz^-j"><field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="comment" id="kO=Mt_VcY1AU/8W7#,s("><field name="COMMENT">Hier noch die richtige object ID rein !</field> <next><block type="controls_if" id="z{+q:x9q=C7;,nuLeB+_"><value name="IF0"><block type="logic_compare" id="[4E(;L-,D|F]hh94TNLW"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="hyGCDD8x8j0e#eFl=pQn"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="logic_boolean" id="#%?lmePke]Z,Fj0)psOn"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="comment" id="FO8VsMrbXV0npav75,n!"><field name="COMMENT">Und hier den code der ausgeführt werden soll</field></block></statement></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></xml>
````
~Dutch
-
-
Top Danke!
werde ich am Wochenende mal ausprobieren.