Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Bewässerung - Ausführung/Verzögerung unterbrechen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    13
    1
    145

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

Bewässerung - Ausführung/Verzögerung unterbrechen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
17 Beiträge 4 Kommentatoren 2.1k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L Offline
    L Offline
    LogSeb
    schrieb am zuletzt editiert von
    #1

    Hi zusammen,

    ich möchte zeitversetzt die Ventile meiner Bewässerungsanlage steuern. Hierzu habe ich relativ schnell folgendes Blockly Skript erstellt:

    Bildschirmfoto 2019-07-22 um 18.44.49.png

    Idee:
    Ich setze die Variable "Automatische Bewässerung" über pocketControl am Handy auf "wahr". Anschließend laufen die vier Zonen nacheinander mit dem jeweiligen Versatz durch und beregnen.

    Problem:
    Habe ich die Variable auf "wahr" gesetzt, habe ich momentan keine Möglichkeit mehr, die Abarbeitung der Zonen zu stoppen.

    Ziel:
    Idealerweise würde ich einfach die Variable "Automatische Bewässerung" wieder auf "falsch" setzen und die Ausführung würde stoppen. Ideal wäre es natürlich, wenn das Skript wieder dort starten würde, wenn ich die Variable z. B. innerhalb 60 Minuten wieder auf "wahr" stelle und wieder von vorne starten würde, wenn der Zeitraum größer 60 Minuten ist.

    Hat hier jemand eine schlaue Idee, wie man das hinbekommen könnte?

    Danke schon einmal für eure Tipps!

    Grüße!

    1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      Gerni
      schrieb am zuletzt editiert von Gerni
      #2

      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:
      77191a2a-c70a-4132-9bf7-057701604e74-image.png

      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.


      <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,){r17x6L{;{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)


      <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{;{gY">
      <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>

      Jede Menge verschiedenes Zeug

      paul53P 1 Antwort Letzte Antwort
      0
      • G Gerni

        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:
        77191a2a-c70a-4132-9bf7-057701604e74-image.png

        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.


        <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,){r17x6L{;{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)


        <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{;{gY">
        <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>

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @Gerni sagte:

        Vermutlich das Timeout falsch gesezt; wo muss es hin?

        Prinzip:
        Blockly_temp.JPG

        Weshalb haben die Funktionen einen Übergabe-Parameter, wenn dieser nicht in der Funktion ausgewertet wird ?

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        G 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @Gerni sagte:

          Vermutlich das Timeout falsch gesezt; wo muss es hin?

          Prinzip:
          Blockly_temp.JPG

          Weshalb haben die Funktionen einen Übergabe-Parameter, wenn dieser nicht in der Funktion ausgewertet wird ?

          G Offline
          G Offline
          Gerni
          schrieb am zuletzt editiert von
          #4

          @paul53 verstehe ich nicht. Was soll ich wo auswerten? Zeig mal die eigentliche Funktion. Ich sage da ja, dass innerhalb der Funktion wahr oder falsch sein soll.
          Oder kann man das richtiger machen?

          Jede Menge verschiedenes Zeug

          paul53P 1 Antwort Letzte Antwort
          0
          • G Gerni

            @paul53 verstehe ich nicht. Was soll ich wo auswerten? Zeig mal die eigentliche Funktion. Ich sage da ja, dass innerhalb der Funktion wahr oder falsch sein soll.
            Oder kann man das richtiger machen?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @Gerni sagte:

            Ich sage da ja, dass innerhalb der Funktion wahr oder falsch sein soll.

            Ja eben, unabhängig vom übergebenen Parameter. Die Funktion braucht also keinen Parameter.

            Blockly_temp.JPG

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            G 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @Gerni sagte:

              Ich sage da ja, dass innerhalb der Funktion wahr oder falsch sein soll.

              Ja eben, unabhängig vom übergebenen Parameter. Die Funktion braucht also keinen Parameter.

              Blockly_temp.JPG

              G Offline
              G Offline
              Gerni
              schrieb am zuletzt editiert von Gerni
              #6

              @paul53 Ach so und dann setze ich die Variable anstellen true/false auf der linken Seite. Probiere ich auch, setze auch den Timer anders. Und dann kann ich zudem auch manuell ein/aus schalten?

              Kurze Frage; in Deinem Screenshot beim ersten "Falls" steht ein "roter Wert". Was ist das? Das Feld habe ich gefunden aber was sagt das aus bzw. was ist das für eine Funktion?

              Und die Variable sagt ja "an/aus". Woher weiß das Gerät denn dann ob es an oder aus gehen soll? Auf der Linken Seite, also im Skript selbst wählt man ja auch die Variable "an/aus".

              Und woher kommt denn das "Pumpe an Ventile auf".

              022a54ec-c44c-47a1-8e5d-1fa97c169a74-image.png

              Ansonsten hätte ich das jetzt so:

              85a06b51-7db9-4835-886a-b458f00b79e6-image.png

              Sry für die vielen Fragen aber so einige Funktionen in Blockly kenne ich nicht bzw. finde sie auch nicht um das nachzubauen.

              Jede Menge verschiedenes Zeug

              paul53P 1 Antwort Letzte Antwort
              0
              • G Gerni

                @paul53 Ach so und dann setze ich die Variable anstellen true/false auf der linken Seite. Probiere ich auch, setze auch den Timer anders. Und dann kann ich zudem auch manuell ein/aus schalten?

                Kurze Frage; in Deinem Screenshot beim ersten "Falls" steht ein "roter Wert". Was ist das? Das Feld habe ich gefunden aber was sagt das aus bzw. was ist das für eine Funktion?

                Und die Variable sagt ja "an/aus". Woher weiß das Gerät denn dann ob es an oder aus gehen soll? Auf der Linken Seite, also im Skript selbst wählt man ja auch die Variable "an/aus".

                Und woher kommt denn das "Pumpe an Ventile auf".

                022a54ec-c44c-47a1-8e5d-1fa97c169a74-image.png

                Ansonsten hätte ich das jetzt so:

                85a06b51-7db9-4835-886a-b458f00b79e6-image.png

                Sry für die vielen Fragen aber so einige Funktionen in Blockly kenne ich nicht bzw. finde sie auch nicht um das nachzubauen.

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #7

                @Gerni sagte:

                steht ein "roter Wert". Was ist das?

                Das ist der Wert des Trigger-Datenpuktes (Blöcke "Trigger").

                @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                Ansonsten hätte ich das jetzt so:

                Im mache-Zweig fehlt der Aufruf der oberen 3 Funktionen mit Übergabe von "wahr" an den Parameter "an/aus" der Funktionen, so wie Du es zuerst hattest. An die Funktion im sonst-Zweig muss der Wert "falsch" übergeben werden (wie ursprünglich).

                @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                Und woher kommt denn das "Pumpe an Ventile auf".

                Das ist eine Zusammenfassung Deiner oberen 3 Funktionen in einer Funktion ohne Parameter.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                G 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @Gerni sagte:

                  steht ein "roter Wert". Was ist das?

                  Das ist der Wert des Trigger-Datenpuktes (Blöcke "Trigger").

                  @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                  Ansonsten hätte ich das jetzt so:

                  Im mache-Zweig fehlt der Aufruf der oberen 3 Funktionen mit Übergabe von "wahr" an den Parameter "an/aus" der Funktionen, so wie Du es zuerst hattest. An die Funktion im sonst-Zweig muss der Wert "falsch" übergeben werden (wie ursprünglich).

                  @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                  Und woher kommt denn das "Pumpe an Ventile auf".

                  Das ist eine Zusammenfassung Deiner oberen 3 Funktionen in einer Funktion ohne Parameter.

                  G Offline
                  G Offline
                  Gerni
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                  Das ist der Wert des Trigger-Datenpuktes (Blöcke "Trigger").

                  Ok, nur verstehe ich nicht was "Falls Wert" bedeutet. Da muss doch noch eine Kennzahl bzw. ein State gefragt werden, oder? Oder ist es grad einfach zu warm und ich kann nicht denken?

                  Mache-Zweig: Also exakt so wie ich es vorher hatte? Bei Dir steht doch da "Pumpe an Ventile auf".

                  Und zum letzten Punkt; Du hast also (in meinem Bsp) eine 4. Funktion erstellt die die ersten 3 Funktionen beinhaltet jedoch ohne Parameter?

                  Logisch weiß ich zwar was das macht aber nicht wie ich das erstellen kann.

                  Wenn Du Zeit hast kannst Du das vielleicht mal nachstellen und Screenshoten?

                  Jede Menge verschiedenes Zeug

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • G Gerni

                    @paul53 sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                    Das ist der Wert des Trigger-Datenpuktes (Blöcke "Trigger").

                    Ok, nur verstehe ich nicht was "Falls Wert" bedeutet. Da muss doch noch eine Kennzahl bzw. ein State gefragt werden, oder? Oder ist es grad einfach zu warm und ich kann nicht denken?

                    Mache-Zweig: Also exakt so wie ich es vorher hatte? Bei Dir steht doch da "Pumpe an Ventile auf".

                    Und zum letzten Punkt; Du hast also (in meinem Bsp) eine 4. Funktion erstellt die die ersten 3 Funktionen beinhaltet jedoch ohne Parameter?

                    Logisch weiß ich zwar was das macht aber nicht wie ich das erstellen kann.

                    Wenn Du Zeit hast kannst Du das vielleicht mal nachstellen und Screenshoten?

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #9

                    @Gerni sagte:

                    Du hast also (in meinem Bsp) eine 4. Funktion erstellt die die ersten 3 Funktionen beinhaltet jedoch ohne Parameter?

                    Nicht ganz: 3 Funktionen zu einer zusammengefasst:

                    • steuere Wasserpumpe mit wahr
                    • steuere Ventile mit wahr 5 s verzögert
                    • steuere Linke Rasenfläche mit wahr 3 s verzögert
                    • steuere Rechte Rasenfläche mit wahr 1 min verzögert

                    @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                    Da muss doch noch eine Kennzahl bzw. ein State gefragt werden, oder?

                    Ja, es wird der Wert des Triggerdatenpunktes "Rasensprenger" abgefragt.
                    Blockly_DP_Props.JPG

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    G 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @Gerni sagte:

                      Du hast also (in meinem Bsp) eine 4. Funktion erstellt die die ersten 3 Funktionen beinhaltet jedoch ohne Parameter?

                      Nicht ganz: 3 Funktionen zu einer zusammengefasst:

                      • steuere Wasserpumpe mit wahr
                      • steuere Ventile mit wahr 5 s verzögert
                      • steuere Linke Rasenfläche mit wahr 3 s verzögert
                      • steuere Rechte Rasenfläche mit wahr 1 min verzögert

                      @Gerni sagte in Bewässerung - Ausführung/Verzögerung unterbrechen:

                      Da muss doch noch eine Kennzahl bzw. ein State gefragt werden, oder?

                      Ja, es wird der Wert des Triggerdatenpunktes "Rasensprenger" abgefragt.
                      Blockly_DP_Props.JPG

                      G Offline
                      G Offline
                      Gerni
                      schrieb am zuletzt editiert von
                      #10

                      @paul53 Ich glaube ich habe es. Hier mal komplett, ist doch leichter zu verstehen hoffe ich.

                      93abab04-c82e-40d3-8954-aa4bf7773e21-image.png

                      Was jetzt noch fehlt damit es für mich perfekt wäre:
                      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.

                      Jede Menge verschiedenes Zeug

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • G Gerni

                        @paul53 Ich glaube ich habe es. Hier mal komplett, ist doch leichter zu verstehen hoffe ich.

                        93abab04-c82e-40d3-8954-aa4bf7773e21-image.png

                        Was jetzt noch fehlt damit es für mich perfekt wäre:
                        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.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @Gerni sagte:

                        Hier mal komplett,

                        Die oberen 3 Funktionen können gelöscht werden, da sie nirgends verwendet (aufgerufen) werden.
                        Im sonst-Zweig false an den Parameter an/aus der Funktion übergeben !!

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        G 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @Gerni sagte:

                          Hier mal komplett,

                          Die oberen 3 Funktionen können gelöscht werden, da sie nirgends verwendet (aufgerufen) werden.
                          Im sonst-Zweig false an den Parameter an/aus der Funktion übergeben !!

                          G Offline
                          G Offline
                          Gerni
                          schrieb am zuletzt editiert von Gerni
                          #12

                          @paul53 ok vielen Dank für Deine Unterstützung, habe ich verstanden. Auch, dass die oberen drei nicht verwendet werden weil ich die ja mit letzter Funktion zusammengefasst werden.

                          Sieht nun so aus.
                          d6d2d541-a19e-4986-8ef4-804c565bfbd1-image.png

                          Wenn ich nun einen Zeitplan davor setze, prüft der dann ob "Rasensprenger" an und ob Regen "<10", wenn "true" und "<10" dann durchlaufe Skript, wenn "false" lasse alles ausgeschaltet?

                          Dann hätte ich mein Ziel erreicht. Wäre das so logisch korrekt aufgebaut?

                          49a6d191-3fe9-4759-af32-57e413c67d77-image.png

                          Jede Menge verschiedenes Zeug

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • G Gerni

                            @paul53 ok vielen Dank für Deine Unterstützung, habe ich verstanden. Auch, dass die oberen drei nicht verwendet werden weil ich die ja mit letzter Funktion zusammengefasst werden.

                            Sieht nun so aus.
                            d6d2d541-a19e-4986-8ef4-804c565bfbd1-image.png

                            Wenn ich nun einen Zeitplan davor setze, prüft der dann ob "Rasensprenger" an und ob Regen "<10", wenn "true" und "<10" dann durchlaufe Skript, wenn "false" lasse alles ausgeschaltet?

                            Dann hätte ich mein Ziel erreicht. Wäre das so logisch korrekt aufgebaut?

                            49a6d191-3fe9-4759-af32-57e413c67d77-image.png

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #13

                            @Gerni sagte:

                            Wäre das so logisch korrekt aufgebaut?

                            Nein, keine Trigger (Falls Objekt) innerhalb von Triggern (Zeitplan) verwenden ! So wird jede Minute ein neuer Trigger erzeugt.

                            Vorschlag:
                            Blockly_temp.JPG

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            G 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @Gerni sagte:

                              Wäre das so logisch korrekt aufgebaut?

                              Nein, keine Trigger (Falls Objekt) innerhalb von Triggern (Zeitplan) verwenden ! So wird jede Minute ein neuer Trigger erzeugt.

                              Vorschlag:
                              Blockly_temp.JPG

                              G Offline
                              G Offline
                              Gerni
                              schrieb am zuletzt editiert von
                              #14

                              @paul53 Ah Trigger in Trigger muss ich mir merken. Habe ich nachgebaut, teste ich heute Abend bzw. Morgen und gebe Feedback.

                              Jede Menge verschiedenes Zeug

                              1 Antwort Letzte Antwort
                              0
                              • G Offline
                                G Offline
                                Gerni
                                schrieb am zuletzt editiert von
                                #15

                                Datenpunkt Rasensprenger steht auf true und Blockly hat funktioniert. Zeitplan läuft also.

                                Lediglich an manuelles anschalten ist jetzt nicht möglich weil das ja erst startet wenn Die Zeit erreicht ist.

                                Ansonsten schon mal top

                                Jede Menge verschiedenes Zeug

                                1 Antwort Letzte Antwort
                                0
                                • G Offline
                                  G Offline
                                  Gerni
                                  schrieb am zuletzt editiert von
                                  #16

                                  Heute dann mal einfach gewartet; Skript läuft. Vielen Dank!

                                  Jede Menge verschiedenes Zeug

                                  1 Antwort Letzte Antwort
                                  0
                                  • DreamsleeperD Offline
                                    DreamsleeperD Offline
                                    Dreamsleeper
                                    schrieb am zuletzt editiert von Dreamsleeper
                                    #17

                                    Ich hoffe ich darf mich hier mal anhängen. Bin ein völliger Neuling und mit Skripten auf Kriegsfuß
                                    Ich hab ein Gardena Smart System.
                                    1x Water Control am Gartenwasseranschluss
                                    1x Smart Power Steckdose an einer Tauchpumpe in der Zisterne
                                    1x den Bodenfeuchtigkeitssensor
                                    An beiden "Pumpen" hängt ein 6xfach manueller Verteiler von Gardena (heisst ich lassen Kreislauf 1 20min laufen. Schließe das Ventil/bzw. Pumpe aus. Der Verteiler wechselt nach Druckabfall auf 2. Kreislauf und ich lass wieder laufen... wenn alles 20 läuft bin ich nach 2h mit dem Bewässern fertig (wahrscheinlich viel zuviel)

                                    Die nette Garden-App lässt eine Kopplung des Sensor nur mit dem Water Control am Wasserhahn zu.. ist der Boden feucht. Pumpt das Teil trotzdem Wasser.

                                    Meine Idee bzw Vorgehen wäre:
                                    Jeden Tag um 5:30 Uhr wird die Feuchtigkeit abgefragt.
                                    Ist der Wert kleiner als 40% so soll beregnet werden.
                                    Water Control an für 20min
                                    Pause 60 Sekunden
                                    Water Control an 20min
                                    usw.
                                    Parallel dazu soll die Steckdose der Pumpe an
                                    Steckdose an 20min
                                    Pause 60 Sekunden
                                    Steckdose an 20 min
                                    usw...
                                    bis alle Kreisläufe abgeleistet wurden
                                    Um 21 Uhr soll das Skript quasi nochmal laufen falls der Sommertag sehr heiß war.

                                    Ich habe die Objekte via Openhab in IOB übernommen, da ich keinen Gardena-Adapter gefunden hab.

                                    In den Skripten habe ich nun ein neuen Ordner erstellt "Gardena" und dort ein Blockly-Skript begonnen "Water Control"

                                    Trigger Zeitplan

                                    schedule('{"time":{"start":"06:00","end":"06:20","mode":"minutes","interval":1},"period":{"days":1}}', function () {
                                      on({id: 'openhab.0.items.gardena_sensor__humidity_humidity', change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        if (getState("openhab.0.items.gardena_sensor__humidity_humidity").val < 40) {
                                        }
                                      });
                                    });
                                    
                                    true;
                                    

                                    Falls Der Wert von Feuchtigkeit kleiner als 40..
                                    mache... und dann?

                                    Ich bin grad am rätseln...

                                    Danke
                                    Gruß
                                    Dreamsleeper

                                    1 Antwort Letzte Antwort
                                    0
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    552

                                    Online

                                    32.7k

                                    Benutzer

                                    82.4k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe