NEWS
Steckdose Tasmota mit Taster schalten und zusätzlich Timer
-
Hallo,
ich habe da ein kleines Blockly, welches beim betätigen eines Tasters die Tasmota Steckdose einschaltet und nach vorgegeber Zeit wieder ausschaltet.
Dieses läuft auch soweit. Mein Problem ist, dass ich bei der Steckdose verschiedene Timer eingeben möchte. Wenn ich jetzt den Taster drücke während der Timer die Steckdose eingeschaltet hat, dann wird die Steckdose nach der bestimmten Zeit ausgeschaltet. Das möchte ich eigentlich nicht.
Vieleicht versteht man es besser, wenn ich sage was ich vorhabe.
Die Steckdose soll die Warmwasserpumpe steuern. Mehrmals am Tag, soll diese das Wasser durchspülen durch die Leitung. Ich möchte allerdings auch die Pumpe vorm Duschen mit dem Taster schalten, damit das Wasser dann auch direkt warm ist. Wir haben halt viele verschiedene Duschzeiten in der Familie und können das nicht immer nach der Zeitschaltung machen.
Ich hoffe ich habe einigermaßen verständlich erklärt was mein Problem ist.
Wie könnte ein Lösungsansatz sein?<xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="=%!!)an@;R+euOOc;5Yk" x="38" y="-188"> <field name="COMMENT"></field> <next> <block type="on" id="QH|gbD=2~J*tE9}T6w=k"> <field name="OID">deconz.0.Sensors.5.buttonevent.1.release_press</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="#3z7r15)Hr48}Wy{EeSm"> <value name="IF0"> <block type="logic_compare" id="W5ZcrlXiME](jMM?hrDp"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="j+jnNZ.34!=J#+r2:O._"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.5.buttonevent.1.release_press</field> </block> </value> <value name="B"> <block type="logic_boolean" id="o3cgq/+aIm|U6k=(fk|*"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Hd:Z`0Rj5R-b#e`2;f!p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.DVES_F42869.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="pVa_#kCiks(#r]uaU5kq"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="1%[r!MHT^lE#55]r6oBk"> <value name="IF0"> <block type="logic_compare" id="|eVcgRCnNij-+,t~y`2h"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="z0pJ;Zs6$NTmxc+Af#AW"> <field name="ATTR">val</field> <field name="OID">sonoff.0.DVES_F42869.POWER</field> </block> </value> <value name="B"> <block type="logic_boolean" id="}pxAq-aR];.Ygdkrw,l:"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="0E6{-0t!(V4!!Z[jAmCx"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">sonoff.0.DVES_F42869.POWER</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">20</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="cHt%o!NeJ%a)@W|mAzCh"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
Lass deinen Timer doch zusätzlich einen selbst erstellten Datenpunkt mit true/false schalten, dann kannst du den als Bedingung mit in dein Skript einbauen
-
@cinimod said in Steckdose Tasmota mit Taster schalten und zusätzlich Timer:
Lass deinen Timer doch zusätzlich einen selbst erstellten Datenpunkt mit true/false schalten, dann kannst du den als Bedingung mit in dein Skript einbauen
Danke für den Tipp. Ich habe so ungefähr eine Idee was du da meinen könntest. Muss nur mal schauen wie ich das umsetze. Am Wochende wird es auf alle Fälle getestet.
-
Wenn dein Timer nicht nur das Gerät einschaltet sonder auch noch den Datenpunkt (nennen wir ihn mal: "timer_läuft") auf wahr stellt, dann kannst du ja im blockly vor Ausführung schauen ob "timer_läuft" "true" ist und dann eben nur ausführen wenn "false".
Ich weiß ja nicht genau wer oder was deinen Timer startet. Wenn es auch ein Blockly ist währe es der Idealfall.
Sehr gut, viel Erfolg.