Ich bin am gleichen Thema dran und klinke mich mal mit ein. Ich habe:
1 Schaltbare Steckdose an der Wasserpumpe
1 Sonoff 4CH pro
2 Hunter Ventile die an je einem Kanal des Sonoff 4CH angeschlossen sind
1 24v AC Netzteil welches ich mit einer schaltbaren Steckdose schalte (Ist noch nicht das optimale, es brummt daher möchte ich es lieber ausschalten wenn eh nicht bewässert wird) um 24v AC auf den Sonoff zu bekommen
Mein Skript:
Ich schalte einen Datenpunkt "Rasensprenger) der dann die Aktion auslöst. Durch die Verzögerungen läuft linke Rasenfläche 1 Minute denn wenn die rechte an geht, geht die linke (sonoffseitig) aus und nach 2 Minuten greift der Timeout und setzt den Datenpunkt "Rasensprenger" wieder auf False.
So kann ich den Datenpunkt künftig ja auch in Alexa integrieren.
Problem/Frage:
Wenn die Sprenger dann einmal laufen laufen sie die entsprechende Zeit auch wenn der "Rasensprenger" false ist. Vermutlich das Timeout falsch gesezt; wo muss es hin?
Zusätzlich möchte ich einen Zeitplan laufen lassen jedoch nur wenn "Rasensprenger" true und über yr Adapter zB Niederschlag unter 10mm (yr Adapter ist vorhanden) ist. So müsste der Zeitplan nicht greifen. Steht also eine Gartenparty an, ich den "Rasensprenger" vorher auf false setze dürfen die Sprenger natürlich nicht laufen.
Folgend mein Startskript.
Vielleicht hat ja jemand die selbe Anforderung, hat das umgesetzt und kann helfen.
Spoiler
<xml xmlns="http://www.w3.org/1999/xhtml ">
<variables>
<variable type="" id="%H1#7-0;J}gfZeCh=x0">an/aus</variable> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="[?xHl;H!w{E8~[C1lWaU" x="63" y="38"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="6mXX+e~;gTWYp(Z*:S{Y"> <field name="oid">javascript.0.Rasensprenger</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="{6=XP2Y9OMk+5gIC-YlI"> <value name="IF0"> <block type="logic_compare" id="QhOqv8+g]LCDm]zfF1No"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9*[;6wfcVF:*pLz[.^bF"> <field name="ATTR">val</field> <field name="OID">javascript.0.Rasensprenger</field> </block> </value> <value name="B"> <block type="logic_boolean" id="t2cf!xG_ovlg)k6f4l@o"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="E]8_i{xSE.OD;jjna$cp"> <mutation name="Pumpe und Ventile"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="+WAn?o)7{1m+nih]Mnxs"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="2U0Bw%0#2n40#;GkH6dM"> <mutation name="Linke Rasenfläche"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="ULs}145:}H8ra20,NZ#k"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="T#xeoDAa_e!nYC/PoVhh"> <mutation name="Rechte Rasenfläche"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="-WF1BJXq-!HV#OIl.$[S"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_cleartimeout" id="k?]zbosT+k=Je}qhq7$C"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="mL(+d]S
^m3nAlJ-e)]e">
<field name="NAME">timeout</field>
<field name="DELAY">2</field>
<field name="UNIT">min</field>
<statement name="STATEMENT">
<block type="control" id="sWEhZyx.NxG@]AnuR~4k">
<mutation delay_input="false"></mutation>
<field name="OID">javascript.0.Rasensprenger</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="%{,%c75vmZ5C/s44DvOv">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="procedures_callnoreturn" id="crTx~Y1[ZV.z2BF#%av=">
<mutation name="Komplette Anlage">
<arg name="an/aus"></arg>
</mutation>
<value name="ARG0">
<block type="logic_boolean" id="?Et%54lNnNs2J=(bk,AL">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="Iaq2}N*^A[q@H@#goRY|" x="638" y="38">
<mutation>
<arg name="an/aus" varid="%H1#7-0;J}gfZeCh=x0"></arg> </mutation> <field name="NAME">Pumpe und Ventile</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="^!SfE14dfv-if?/bq
cY">
<mutation delay_input="false"></mutation>
<field name="OID">sonoff.0.Wasserpumpe.POWER</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="ki%3xvvCf6YCcZjQZ,^a">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="control" id="s=y^HVnW4e+NI=Ig%k!">
<mutation delay_input="true"></mutation>
<field name="OID">hs100.0.192_168_178_57.state</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="WKCH0U!?}(x^:3K6SfP|">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="nK#[lNr?atwTI8)uVV-V" x="638" y="188">
<mutation>
<arg name="an/aus" varid="%H1#7-0;J}gfZeCh=x0"></arg> </mutation> <field name="NAME">Linke Rasenfläche</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="~Q--de5|WJ^kYbec+
s1">
<mutation delay_input="true"></mutation>
<field name="OID">sonoff.0.4CH Pro.POWER1</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">3</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="2RZA6[0dQTIn1hOIr(sq">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="V8ltvDXESdEjMr}sCNp8" x="638" y="288">
<mutation>
<arg name="an/aus" varid="%H1#7-0;J}gfZeCh=x0"></arg> </mutation> <field name="NAME">Rechte Rasenfläche</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="zY!WDIG4ET[hMfZeM0*j"> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.4CH Pro.POWER2</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="U+cQ:~~5:836$G5$BO^Q"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> <block type="procedures_defnoreturn" id="[f2d+O48MoLl8s4I$
fS" x="638" y="413">
<mutation>
<arg name="an/aus" varid="%H1#7-0;J}gfZeCh=x0"></arg> </mutation> <field name="NAME">Komplette Anlage</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="control" id="|1o6*|y}I84n(XL#~?c^"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.4CH Pro.POWER2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="dPL]A]lwN+@H;Sa^gxb2"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="HTPJK3K
g#e?)X^I9n!b">
<mutation delay_input="false"></mutation>
<field name="OID">sonoff.0.4CH Pro.POWER1</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="/+$e,){r 17x6L{;{g`Y">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="0kneh8gS3Uek!XZ*{5?^">
<mutation delay_input="true"></mutation>
<field name="OID">hs100.0.192_168_178_57.state</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="lhA(QeZLj*?AES8lhti,">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="=$oIq[G5jya@7NKD80p)">
<mutation delay_input="true"></mutation>
<field name="OID">sonoff.0.Wasserpumpe.POWER</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="?JI/n4C-7f3h!Vy}A|hG">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Alternativ mein Skript womit ich dann nur den Datenpunkt true/false schalte, da reagieren die Geräte entsprechend sofort (falls das jemand so schon gebrauchen kann)
Spoiler
<xml xmlns="http://www.w3.org/1999/xhtml ">
<variables>
<variable type="" id="%H1#7-0;J}gfZeCh=x0">an/aus</variable> </variables> <block type="on_ext" id="[?xHl;H!w{E8~[C1lWaU" x="63" y="38"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="6mXX+e~;gTWYp(Z*:S{Y"> <field name="oid">javascript.0.Rasensprenger</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="{6=XP2Y9OMk+5gIC-YlI"> <value name="IF0"> <block type="logic_compare" id="QhOqv8+g]LCDm]zfF1No"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="9*[;6wfcVF:*pLz[.^bF"> <field name="ATTR">val</field> <field name="OID">javascript.0.Rasensprenger</field> </block> </value> <value name="B"> <block type="logic_boolean" id="t2cf!xG_ovlg)k6f4l@o"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callnoreturn" id="E]8_i{xSE.OD;jjna$cp"> <mutation name="Pumpe und Ventile"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="+WAn?o)7{1m+nih]Mnxs"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="2U0Bw%0#2n40#;GkH6dM"> <mutation name="Linke Rasenfläche"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="ULs}145:}H8ra20,NZ#k"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="T#xeoDAa_e!nYC/PoVhh"> <mutation name="Rechte Rasenfläche"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="-WF1BJXq-!HV#OIl.$[S"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="control" id="sWEhZyx.NxG@]AnuR~4k"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Rasensprenger</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="%{,%c75vmZ5C/s44DvOv"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="procedures_callnoreturn" id="crTx~Y1[ZV.z2BF#%av="> <mutation name="Komplette Anlage"> <arg name="an/aus"></arg> </mutation> <value name="ARG0"> <block type="logic_boolean" id="?Et%54lNnNs2J=(bk,AL"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="Iaq2}N*^A[q@H@#goRY|" x="638" y="38"> <mutation> <arg name="an/aus" varid="
%H1#7-0;J}gfZeCh=x0"></arg>
</mutation>
<field name="NAME">Pumpe und Ventile</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="^!SfE14dfv-if?/bqcY"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.Wasserpumpe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="ki%3xvvCf6YCcZjQZ,^a"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="s=y^HVnW*4e+NI=Ig%k!"> <mutation delay_input="true"></mutation> <field name="OID">hs100.0.192_168_178_57.state</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="WKCH0U!?}(x^:3K6SfP|"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="nK#[lNr?atwTI8)uVV-V" x="638" y="188"> <mutation> <arg name="an/aus" varid="
%H1#7-0;J}gfZeCh=x0"></arg>
</mutation>
<field name="NAME">Linke Rasenfläche</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="~Q--de5|WJ^kYbec+s1"> <mutation delay_input="true"></mutation> <field name="OID">sonoff.0.4CH Pro.POWER1</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">3</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2RZA6[0dQTIn1hOIr(sq"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> <block type="procedures_defnoreturn" id="V8ltvDXESdEjMr}sCNp8" x="638" y="288"> <mutation> <arg name="an/aus" varid="
%H1#7-0;J}gfZeCh=x0"></arg>
</mutation>
<field name="NAME">Rechte Rasenfläche</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="zY!WDIG4ET[hMfZeM0j">
<mutation delay_input="true"></mutation>
<field name="OID">sonoff.0.4CH Pro.POWER2</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">1</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="U+cQ:~~5:836$G5$BO^Q">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</statement>
</block>
<block type="procedures_defnoreturn" id="[f2d+O48MoLl8s4I$fS" x="638" y="413"> <mutation> <arg name="an/aus" varid="
%H1#7-0;J}gfZeCh=x0"></arg>
</mutation>
<field name="NAME">Komplette Anlage</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
<statement name="STACK">
<block type="control" id="|1o6 |y}I84n(XL#~?c^">
<mutation delay_input="false"></mutation>
<field name="OID">sonoff.0.4CH Pro.POWER2</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="dPL]A]lwN+@H;Sa^gxb2">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="HTPJK3Kg#e?)X^I9n!b"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.4CH Pro.POWER1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="/+$e,){r*17x6L{;{g
Y">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="0kneh8gS3Uek!XZ*{5?^">
<mutation delay_input="true"></mutation>
<field name="OID">hs100.0.192_168_178_57.state</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="lhA(QeZLj*?AES8lhti,">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="control" id="=$oIq[G5jya@7NKD80p)">
<mutation delay_input="true"></mutation>
<field name="OID">sonoff.0.Wasserpumpe.POWER</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">5</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="?JI/n4C-7f3h!Vy}A|hG">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
@Master77 Nutzt Du 24v Ventile? Welches Netzteil hast Du an Deinem 4CH an den jeweiligen Kanälen? Vielleicht hast Du ja einen Tipp; Bestenfalls hast Du auch AC (Ich habe Hunter Ventile, die wollen Wechselstrom).