Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Automatische Bewässerung mit Not-Aus-Taster

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Automatische Bewässerung mit Not-Aus-Taster

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      HansK last edited by

      Moin,
      ich steuere 5 Sektionen in meinem Garten mit 5 Ventilen, die über einen Homematic 8-fach Schaltaktor im Nebengebäude erfolgreich angesteuert werden.

      Im IoBroker habe ich dafür verschiedene Datenpunkte angelegt:

      2021-09-15_135003.png

      Ein script triggert jetzt auf den DP [AlleRegner15MinEin] und schaltet dann nacheinander die Regner für 15 Minuten ein (Hier im Script in der Testphase noch 10 bzw. 2 Sek.) Danach bekomme ich eine Nachricht. Funktioniert.

      2021-09-15_135254.png

      Ein weitere Datenpunkt mit der Bezeichnung "AlleRegnerAus" soll alle Beregnungsvorgänge sofort stoppen (Not-AusTaster). Dazu triggert ein Script mit der Bezeichnung [AlleRegnerAus] auf diesen Datenpunkt und setzt bei Veränderung die o.a. Datenpunkte, wenn diese auf "wahr"stehen, auf "falsch" um den Beregnungsvorgang sofort zu unterbinden.

      2021-09-15_140459.png

      Das Problem:
      Wenn ich z. B. während der Laufzeit des Regners BeetVorne die Notaustaste drücke, stoppt dieser zwar sofort, jedoch kommen danach die anderen darauffolgenden Regner wieder in Betrieb. weil ja vermutl. das 15MinEin-Script weiterläuft.

      Das ganze wird mittels einer Visualisierung gesteuert. Ich kann dort jeden Regner manuell für 30 Minuten regnen lassen oder alle für z.B. 15 Min. nacheinander. Letzteres soll demnächst Anhand der Regenmenge in Verbindung mit der Temperatur automatisch geschehen.
      2021-09-15_141102.png

      Der Regner für den Bereich "Schuppen" ist noch nicht aktiv, der kommt später dazu.

      Ich bin (noch) kein Profi und habe irgendwie einen Knoten im Kopf. Die Visualisierung ist sicher einfach gehalten, kann aber auch von unbegnadeten Laien intuitiv bedient werden (.. glaube ich)

      Wer zerschlägt meinen Knoten?
      DANKE!!

      MfG Hans K.

      mickym paul53 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @HansK last edited by

        @hansk Das ist ein reines Logikproblem. Du musst einfach mit dem Notaus einen Datenpunkt oder eine Variable setzen, die bei den normalen "Beregnungsregeln" abgefragt werden.

        Ich verstehe auch nicht warum Du 2 Datenpunkte verwendest und im Prinzip auf Aktualisierung triggerst. Ich würde nur einen Datenpunkt nehmen - zum Beispiel alle RegnerEin und diesen dann mit true oder false verwenden. Somit können alles ausschalten und alles einschalten nicht gleichzeitig aktiv sein.

        H 1 Reply Last reply Reply Quote 0
        • H
          HansK @mickym last edited by

          @mickym Ja, OK. Die Idee hatte ich auch.
          Ich habe das mal, damit beim testen der Rasen nicht absäuft mit einer Lampe nachgebaut.
          2021-09-15_150324.png
          Wenn ich den DP auf Wahr setze blinkt die Lampe 5 mal. Soweit ok.
          Aber: Wenn ich z.B. nach dem 2. Blinken den DP auf Falsch setze blinkt die Lampe noch drei mal weiter, weil das Script zu noch zu Ende läuft.

          Ich müsste es hinbekommen, dass bei DP = Falsch sofort das Script endet. Ich komm' nicht drauf...

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @HansK last edited by mickym

            @hansk Gut ich bin kein Blockly Spezialist. Im Prinzip ist schon klar, warum das nicht geht. Wenn Du mit Pause arbeitet, wird das Script ja nur angehalten. In meinen Augen müsstest Du mit timern arbeiten und diese dann löschen bzw. cancel, wenn Du den DP auf False setzt.

            Also statt Deinen Pausen nimmst Du timer und kannst diese bei Bedarf auch canceln.

            a89239b0-10de-47ec-af2e-b57ce68514a6-image.png

            Sprich wenn der auslösende Datenpunkt true ist, startest Du Deine verschiedenen oder einen Timer, wenn falls löscht Du diesen oder diese wieder, stoppst die Beregnung und somit ist dann auch kein weiterer Timer der erneut starten könnte aktiv. Wenn halt immer 500ms dazwischen liegen müssen, dann musst halt 5 Timer mit jeweils 500ms Unterschied starten. Also 500,1000, 1500,2000, 2500 ms usw.

            EDIT:

            Ich hätte es so irgendwie gemacht:

            affed5ae-c356-4f41-84b6-df3291944e9b-image.png

            aber der Blockly Guru hat Dir sicher schon eine bessere Möglichkeit gepostet.

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @HansK last edited by paul53

              @hansk sagte: schaltet dann nacheinander die Regner für 15 Minuten ein

              Das ist eine typische Aufgabenstellung für ein Intervall, das zum Ende und bei "Notaus" gestoppt wird.

              Bild_2021-09-15_153934.png

              Noch besser lässt es sich mit einer ID-Liste realisieren:

              Bild_2021-09-15_164754.png

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              834
              Online

              32.0k
              Users

              80.5k
              Topics

              1.3m
              Posts

              3
              5
              152
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo