NEWS
Gerät im Netzwerk true false wechselt ständig
-
Hallo, ich versuche über Blockly eine Telegram Nachricht zu erhalten, wenn das Gerät State: active auf true im TR-064 ist.
Alle paar Sekunden bekomme ich dazu Gerät ist da - nicht da - da usw.
Obwohl das Gerät dauerhaft an ist. Man sieht auch im Adapter beim Objekt, dass das immer kurz von true auf false wechselt.
Ich habe schon extra eine Variable mit rein, bringt aber nichts, wenn vom Adapter da schwanken kommt.
Kann man das irgendwie glätten?<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=":eIX~g(e3w}XE@DTr=kY">Senden</variable> </variables> <block type="on" id="Nyqtrt3?#(Z2?8#_s-O?" x="37" y="65"> <field name="OID">tr-064.0.devices.Synology710Plus.active</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="4J=X{J~[K/Y--+?uMFLj"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_multi_and" id="kW/5gq?c%,#y21?OWpc3"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="on_source" id="t[+VZN(vZ?sR^dt*WZ}Q"> <field name="ATTR">state.val</field> </block> </value> <value name="AND1"> <block type="logic_compare" id="~i5JRT.gPMk4!9SNnOjz"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="Jh]#!Ju#QMVYh*I]y!-u"> <field name="VAR" id=":eIX~g(e3w}XE@DTr=kY">Senden</field> </block> </value> <value name="B"> <block type="logic_boolean" id="I}FDG_~WcM/oWR]zs^8W"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="+b]gZcZ$mL55+CUSp(@v"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id=",+1t27,t*2H!p`~Xzz{@"> <field name="TEXT">Synology 710 ist wieder an</field> </shadow> </value> <next> <block type="variables_set" id="nTi]gUUWfVy%Amc.giou"> <field name="VAR" id=":eIX~g(e3w}XE@DTr=kY">Senden</field> <value name="VALUE"> <block type="logic_boolean" id="n:wd0ulC(*=RE!B0Tm*E"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="telegram" id="C4revv[^%b/]W*Mf@0wc"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="|j#V^NW%p_*n/s80DSr%"> <field name="TEXT">Synology 710 ist wieder aus</field> </shadow> </value> <next> <block type="variables_set" id="]2K?](WNAc@:DF+[_o-o"> <field name="VAR" id=":eIX~g(e3w}XE@DTr=kY">Senden</field> <value name="VALUE"> <block type="logic_boolean" id="]C(/q%B`u}u2pelLOJ^!"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@mika-0 sagte: Alle paar Sekunden bekomme ich dazu Gerät ist da - nicht da - da
Dann versuche es mal mit Timeout.
-
@paul53 leider hat das nicht zum Erfolg geführt. Habe ein Video gemacht, was das Verhalten zeigt. Vielleicht habt ihr dazu ja noch eine Idee.
Video ist leider zu groß. Ich habe es verkleinert. Sehen kann man zwar nicht viel, aber man erkennt die Wechsel von Gerät ist active True - zu false und wieder true -
@mika-0 bitte keinen externen Hoster nutzen!
-
@mika-0 sagte: leider hat das nicht zum Erfolg geführt
Wie ist jetzt das Verhalten (ich schaue keine Videos)? Alle paar Sekunden kann es nicht mehr senden, wenn es richtig nachgebaut wurde.
-
Momentan kommt ein zweites <Aus> über Telegram. <An> kommt nur einmal. Das ist aber erstmal nicht das Problem, da ist dein Lösungsansatz sicherlich perfekt.
Habe das Verhalten mal mitgeloggt: Es ist rhythmisch (obwohl das Gerät dauerhaft im Netzwerk verfügbar ist):
Eine Idee habe ich wie das umgangen werden könnte, aber wie meine Vorstellung im Blockly umgesetzt werden kann, boa da bin ich überfragt:
Wenn Trigger kommt: false - warte 30 Sekunden und sende dann die Telegram Nachricht.
Wenn während der 30 Sekunden warten ein true kommt, ignoriere das false.Wenn Trigger kommt: true - warte 30 Sekunden und sende dann die Telegram Nachricht.
Wenn während der 30 Sekunden warten ein false kommt, ignoriere das true.Damit kann man leben, eine Verzögerung von paar Sekunden
Hast eine Idee wie das im Blockly umsetzbar sein könnte? -
@mika-0 sagte: Habe das Verhalten mal mitgeloggt:
Also in einem Zyklus von 13,5 s ändert sich der Wert? Dann sollte eine Verzögerung für die Aus-Nachricht von 15 s genügen.
-
Vielleicht solltest du den Ping Adapter nutzen.
Zuverlässiger als die TR-064 Abfrage.