NEWS
Restlaufzeit Shelly Plug S
-
Ich möchte in meiner Visualisierung die Restlaufzeit eines Shelly Plug S anzeigen, jedoch hat das der Shelly Plug S offensichtlich nicht in seinen Datenpunkten.
Kennt sich da jemand hier aus und könnte mir einen Tipp geben, wie ich sowas realisieren kann?
-
@erich-1 Was genau ist für dich denn die Restlaufzeit eines WLAN Steckdosenadapters?
-
@tobrog Es geht vermutlich um die Timer-Funktion, die die Shelly Plugs haben.
https://kb.shelly.cloud/knowledge-base/shelly-plug-s-web-interface-guide
Auto off: After turning on, the relay output will be automatically turned off after a predefined period of time (in seconds).
Falls es das keinen passenden Datenpunkt gibt, der einen Sekunden-Count-Down bietet, müsste man das wahrscheinlich mit einem simulierten Countdown in Javascript/Blockly realisieren. Wenn man aber so weit ist, kann man auch gleich das ganze "Timern" im Blockly machen
-
@tobrog Der angeschlossene Verbraucher (Gartenwasserpumpe) läuf 30 min und dann wird er ausgeschaltet. Die Restlaufziet, wenn die Pumpe zu fördern beginnt, bzw wann sie wieder aufhört, würde ich gerne visualisieren.
-
@erich-1 Erfolgt das Einschalten manuell?
-
@martinp Ja, wird überdie Visualisierung per Knopfdruck eingeschaltet.
-
@erich-1 Wenn die Dose den Timer-Stand nicht in einem Datenpunkt ausgibt, sondern irgendwann kommentarlos wieder abschaltet, kann man nur einen "mitlaufenden" Timer in Blockly auf den Schalterzustand des Shelly starten.
Wenn man aber einen mitlaufenden Timer in Blockly gebastelt hat, kann der auch gleich das Ausschalten des Shelly erledigen, und man kann den Timer in der Shelly ad acta legen...
Solche verteilten "Ping-Pong" Spielchen zwischen Geräten/Domänen sind immer ein Quell von Mehr-Arbeit (Laufzeit muss an zwei Stellen geändert werden) und Ärger, wenn man nach längerer Zeit wieder "dran" muss (Wie war das noch...)
-
@erich-1 sagte: wie ich sowas realisieren kann?
Z.B. per Blockly, das auch gleich den Shelly nach Ablauf der in einem Datenpunkt eingestellten Zeit ausschaltet.
-
@martinp said in Restlaufzeit Shelly Plug S:
Wenn man aber einen mitlaufenden Timer in Blockly gebastelt hat, kann der auch gleich das Ausschalten des Shelly erledigen, und man kann den Timer in der Shelly ad acta legen...
Ist reine Absicht, denn wenn der Shelly mal per App geschaltet wird, was durchaus mal vorkommen kann, dann schaltet er sich nach 30 min auch wieder aus.
-
-
Vielen Dank, funktioniert super!
-
@paul53 said in Restlaufzeit Shelly Plug S:
@erich-1 sagte: wie ich sowas realisieren kann?
Z.B. per Blockly, das auch gleich den Shelly nach Ablauf der in einem Datenpunkt eingestellten Zeit ausschaltet.
Hab das mal umgesetzt und es funktioniert auch recht gut. Einzigs, wenn die Zeit abgelaufen ist, dann zählt er in den Minus-Bereich einfach weiter ...
Da muss ich noch was einbauen.
-
@erich-1 sagte in Restlaufzeit Shelly Plug S:
Da muss ich noch was einbauen.
Eigentlich nicht, wenn dein Blockly exakt genauso aussieht.
Bitte zeigen!
-
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="`3-s]Pi^V2d8N9J-76fO">Rest</variable> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="on" id=".0K53IaR?_D^E^0Qr5}A" x="63" y="88"> <field name="OID">shelly.0.SHPLG-S#DDB4D9#1.Relay0.Switch</field> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="variables_set" id="=VB)QX`VIsFqa?%dv*/+"> <field name="VAR" id="`3-s]Pi^V2d8N9J-76fO">Rest</field> <value name="VALUE"> <block type="math_arithmetic" id="eS{QUa6y@lfj^#6,Oh#m"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="7nK#jz~d3KX?o]fQ:M/w"> <field name="NUM">10</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="K~b;$sQw#)NjQwQh`Aw."> <field name="NUM">1</field> </shadow> <block type="get_value" id="P$3Tge$tbi#ee:DJmDR2"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Datenpunkte.Gartenpumpe.Laufzeit</field> </block> </value> </block> </value> <next> <block type="timeouts_setinterval" id="OIwHQs|PCd5#%oEjIa7K"> <field name="NAME">Intervall</field> <field name="INTERVAL">6</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="math_change" id="s;cX%Jh7wG?9Q!7Jqy=;"> <field name="VAR" id="`3-s]Pi^V2d8N9J-76fO">Rest</field> <value name="DELTA"> <shadow type="math_number" id="Uivu%JL?GZJ%KmTMlk7;"> <field name="NUM">-1</field> </shadow> </value> <next> <block type="update" id="7t(p,Syit;%jem/{G5!j"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Datenpunkte.Gartenpumpe.Restminuten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="]3]MzdqtYE0:d;}ou0b-"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="1yb@9@Vr^BR+-y4E?QsB"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="!~y2XoKP0yV0OQyK8pTw"> <field name="VAR" id="`3-s]Pi^V2d8N9J-76fO">Rest</field> </block> </value> <value name="B"> <shadow type="math_number" id="|nHD{4P4Q+|Wekr{5[Sj"> <field name="NUM">10</field> </shadow> </value> </block> </value> <next> <block type="controls_if" id="oVv#NBAx]^NjD$#isELN"> <value name="IF0"> <block type="logic_compare" id="r/.r#tf.+]ku0qZxOpfa"> <field name="OP">LT</field> <value name="A"> <block type="variables_get" id=".3XFGd.-1ZO~#./41o^v"> <field name="VAR" id="`3-s]Pi^V2d8N9J-76fO">Rest</field> </block> </value> <value name="B"> <block type="math_number" id="VeJQlK+PMZ4{+In3D*Cc"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id=".Swg1BM$Y*6{hK:7giFF"> <field name="NAME">Intervall</field> <next> <block type="control" id="zv)}0mRZW|7pJKeJD(5w"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">shelly.0.SHPLG-S#DDB4D9#1.Relay0.Switch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="6,b[sF=en3kx5ZbgERlr"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>
MOD-EDIT: Code in code-tags gesetzt!
-
@erich-1 bitte einen Screenshot vom Skript zeigen.
-
-
-
@erich-1 wie weit zählt er ins negstive?
dein Vergleichsoperator stimmt nicht ganz -
@homoran Ich lass ihn mal laufen. Aber auch wenn der Shelly vor dem Ablauf der vorgegebenen Zeit ausgeschaltet wird, dann läuft der Zähler ebenso weiter und dann eben auch in den Bereich unter 0.
-
@erich-1 sagte in Restlaufzeit Shelly Plug S:
wenn der Shelly vor dem Ablauf der vorgegebenen Zeit ausgeschaltet wird, dann läuft der Zähler ebenso weiter
Davon war ja auch nie die Rede, dass das abgefangen werden soll.
@erich-1 sagte in Restlaufzeit Shelly Plug S:
eben auch in den Bereich unter 0.
so steht es ja auch in deinem Blockly