Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. [Vorlage] Gartenbewässerung mit 6 Ventilen

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Gartenbewässerung mit 6 Ventilen

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel @SiKo last edited by

      @siko die Tage könnte man in einem DP eintragen und daraus den CRON Job bauen.

      Beispiel: alle 3 Tage -> Tage = 3

      Der Cron sieht dann so aus:

      4698bf68-d09a-4e9d-97fc-b5a756cefbf8-grafik.png

      Er ist dann abhängig vom Kalendertag.

      S 1 Reply Last reply Reply Quote 0
      • S
        SiKo @Kuddel last edited by

        @kuddel
        hab es aktuell so: Allerdings tut sich nichts 🙈

        f068029f-846e-4167-85f9-d5ffcc7138fc-image.png

        1 Reply Last reply Reply Quote 0
        • E
          EStegemann @Kuddel last edited by

          @kuddel Irgendwie habe ich Probleme beim Script import.
          Ist es normal, dass alle Blöcke überlagert sind und ich jetzt versuchen muss diese wieder auseinander zu pflücken? Hast du eine Idee warum die Darstellung ist wie auf dem untenstehenden Bild. Das macht es ungemein schwierig, das Skript auf meine Situation anzupassen.
          blockly.PNG
          Vielen Dank und besten Gruß,
          Eric

          K 2 Replies Last reply Reply Quote 0
          • K
            Kuddel @EStegemann last edited by

            @estegemann schaue ich mir morgen mal an

            lobomau 1 Reply Last reply Reply Quote 0
            • lobomau
              lobomau @Kuddel last edited by

              @kuddel ich habe dein Script Version 3.1.0. das erste Mal getestet
              Bevor ich tief ins Detail gehe muss ich erstmal klären ob es überhaupt bei mir funktionieren kann/wird. Du schreibst ja explizit dass es für HM, tasmota und shellys ist.
              Deswegen erste Frage: können Aliases benutzt werden? Ich nutze linkeddevices:
              68a9adbd-9f45-49ff-ba11-b8d76da33e24-image.png
              Ich könnte auch umstellen, und die direkten DPs von tasmota nehmen, die die Ventile steuern und bei der Gartenpumpe ist ein shelly im Einsatz. Wohingegen das 24V-Netzteil durch eine zigbee Steckdose gesteuert wird (STATE true/false).
              Was sind die genauen Anforderungen an die DPs? Ich hätte vermutet ".Power" mit true/false bei den tasmota und "Switch" bei shelly und "STATE" bei HM!?
              Vielleicht läuft das Script ja auch schon, nur ich weiß nicht wie ich es testen kann.
              Sorry, habe die ersten 12 Seiten nur gelesen... bin dann auf S. 25 gesprungen und paar Seiten gelesen... ist wahrscheinlich schon alles irgendwo beantwortet worden.
              3.1.0. ist zwar noch beta, aber paar Tage vorher sah es ähnlich aus mit 2.7.x

              Fehlerlog:

              javascript.1	2021-07-07 22:34:06.742	error	(24868) script.js.common.Garten.Bewaesserung-Ventile: schedule(cron=32 22 * * ): cannot create schedule
              javascript.1	2021-07-07 22:34:06.740	error	(24868) script.js.common.Garten.Bewaesserung-Ventile: schedule(cron=26 05 * * ): cannot create schedule
              javascript.1	2021-07-07 22:34:05.679	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "1"
              javascript.1	2021-07-07 22:34:05.676	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:34:05.675	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:33:41.274	error	(24868) script.js.common.Garten.Bewaesserung-Ventile: schedule(cron=32 22 * * ): cannot create schedule
              javascript.1	2021-07-07 22:33:41.273	error	(24868) script.js.common.Garten.Bewaesserung-Ventile: schedule(cron=25 05 * * ): cannot create schedule
              javascript.1	2021-07-07 22:33:40.176	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:33:40.175	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:33:40.174	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:31:02.068	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:31:02.066	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:31:02.065	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:30:58.195	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:58.189	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:58.188	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:30:56.695	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:56.692	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:56.691	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:30:55.507	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:55.504	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:55.502	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:30:48.957	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:48.956	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:48.955	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:30:20.185	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.restlaufzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:20.183	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit_in_sek" has been written without ack-flag with value "0"
              javascript.1	2021-07-07 22:30:20.182	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.ventile.ventil_1.ventil_1_restzeit" has been written without ack-flag with value "0:00"
              javascript.1	2021-07-07 22:25:58.362	warn	(24868) Read-only state "0_userdata.0.Bewaesserung.vis.aktuelle_skript_version" has been written without ack-flag with value "v3.1.0"
              javascript.1	2021-07-07 22:25:53.196	info	(24868) script.js.common.Garten.Bewaesserung-Ventile: registered 0 subscriptions and 0 schedules
              javascript.1	2021-07-07 22:25:52.708	info	(24868) Start javascript script.js.common.Garten.Bewaesserung-Ventile
              javascript.1	2021-07-07 22:16:13.276	info	(24868) Stop script script.js.common.Garten.Bewaesserung-Ventile
              
              K 1 Reply Last reply Reply Quote 0
              • K
                Kuddel @lobomau last edited by

                @lobomau mit einem Alias funktioniert das Skript nicht komplett.

                Bei HM z.B. generiert das Skript automatisch den Pfad zum Objekt OnTime des jeweiligen Aktors. Der wird für die Einschaltdauer benötigt

                Bei shelly und sonoff / tasmota läuft das ähnlich ab.

                Mit einem Alias werden die Aktoren zwar aktiviert, bekommen aber keine Laufzeit.

                Somit hat man dann keine Ausfallsicherheit. Fällt der iobroker während der Bewässerung aus, schaltet der Aktor nicht aus und das Ventil bleibt geöffnet.

                Ich mache morgen mal einen komplett neuen Import von Version 3.1.0 in meiner Testumgebung und schaue mal, wie es mit den Fehlern aussieht

                1 Reply Last reply Reply Quote 0
                • K
                  Kuddel @EStegemann last edited by

                  @estegemann ich habe gerade das Skript von Seite geladen und in meine Testumgebung importiert.
                  Ich kann dein Problem leider nicht nachstellen. Der Import funktioniert ohne Probleme.

                  @lobomau
                  ich alle DPs in meiner testumgebung gelöscht und das Skript neu importiert und gestartet.
                  Deine Fehler kommen warscheinlich von einer neueren Javascript Adapter Version.

                  Ich verwende aktuell Version 5.0.14 in der Prdoduktion und im test 5.1.3

                  lobomau E 2 Replies Last reply Reply Quote 0
                  • lobomau
                    lobomau @Kuddel last edited by

                    @kuddel ok, stimmt... diese Meldungen kommen mit den neuen Versionen. Ich bin mit javascript beta 5.2.2. unterwegs.
                    Ich werde dann die originalen DPs nehmen. 👍
                    Nur beim Zigbee habe ich dann ein Problem. Gab es den Wunsch schon das auch zu integrieren? Ist das sehr aufwändig? Der DP vom Zigbee, der das 24V-Netzschaltet sieht folgendermaßen aus:

                    {
                      "type": "state",
                      "common": {
                        "name": "On",
                        "type": "boolean",
                        "role": "switch",
                        "def": false,
                        "read": true,
                        "write": true,
                        "custom": {
                          "linkeddevices.0": {
                            "enabled": true,
                            "number_unit": "",
                            "linkedId": "Steckdose.EG.24V.STATE",
                            "name": "Steckdose EG 24V STATE",
                            "role": "",
                            "mergeSettingsOnRestart": false,
                            "expertSettings": false,
                            "number_convertTo": "",
                            "number_maxDecimal": "",
                            "number_min": "",
                            "number_max": "",
                            "number_calculation": "",
                            "number_calculation_readOnly": "",
                            "number_to_boolean_condition": "",
                            "number_to_boolean_value_true": "",
                            "number_to_boolean_value_false": "",
                            "number_to_string_condition": "",
                            "number_to_duration_convert_seconds": "",
                            "number_to_duration_format": "",
                            "number_to_datetime_convert_seconds": "",
                            "number_to_datetime_format": "",
                            "number_to_multi_condition": "",
                            "boolean_convertTo": "",
                            "boolean_to_string_value_true": "",
                            "boolean_to_string_value_false": "",
                            "string_convertTo": "",
                            "string_prefix": "",
                            "string_suffix": "",
                            "string_to_boolean_value_true": "",
                            "string_to_boolean_value_false": "",
                            "string_to_number_unit": "",
                            "string_to_number_maxDecimal": "",
                            "string_to_number_calculation": "",
                            "string_to_number_calculation_readOnly": "",
                            "string_to_duration_format": "",
                            "string_to_datetime_parser": "",
                            "string_to_datetime_format": "",
                            "boolean_invert": false
                          },
                          "iqontrol.0": {
                            "enabled": true,
                            "readonly": false,
                            "invert": false,
                            "confirm": false,
                            "pincode": "",
                            "unit": "",
                            "unit_zero": "",
                            "unit_one": "",
                            "min": "",
                            "max": "",
                            "step": "",
                            "roundDigits": 2,
                            "timeFormat": "x",
                            "timeDisplayFormat": "dddd, DD.MM.YYYY HH:mm:ss",
                            "type": "boolean",
                            "role": "switch",
                            "targetValueId": "",
                            "statesAddInput": false,
                            "statesAddInputCaption": "Enter other value...",
                            "showOnlyTargetValues": false
                          }
                        }
                      },
                      "native": {},
                      "from": "system.adapter.deconz.0",
                      "user": "system.user.admin",
                      "ts": 1607362619428,
                      "_id": "deconz.0.lights.842e14fffee39293.on",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      }
                    }
                    
                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kuddel @lobomau last edited by

                      @lobomau Zigbee könnte ich denke ich ohne große Probleme integrieren.

                      Kann Zigbee eine Einschaltdauer umsetzen?

                      Falls nicht, kann man mein Skript natürlich verwenden, aber keine Ausfall-Sicherheit ist dann nicht gegeben, wenn der ioBroker abstürzt

                      lobomau 1 Reply Last reply Reply Quote 0
                      • lobomau
                        lobomau @Kuddel last edited by

                        @kuddel das wäre ja super 🙂
                        Zu den zigbee kann ich nichts sagen, ich vermute eher nicht. Ist beim 24V-Trafo auch weniger tragisch.
                        Ist aber cool, dass es so eine Funktion gibt, dass die Tasmotas dann ausschalten auch wenn sie den Kontakt verlieren. Die Ventile würden sich dann schließen 👍 (wusste ich bisher gar nicht, dass es diese funktion gibt... oder hatte es nicht verstanden gehabt)

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kuddel @lobomau last edited by Kuddel

                          @lobomau das müsste man dann aber direkt auf den Tasmota Aktoren einstellen als Regel.

                          Ich verwende für Tasmota die Logik mit PulseTime

                          Beispiel Ventil 1:

                          Laufzeit: 10min
                          PulseTimePower = 10 Min

                          Somit schaltet der Kanal nach 10 Min ab, egal ob der Aktor mit ioBroker verbunden ist oder nicht.

                          Diese "Sicerhheitsfunktion" sehe ich bei Zigbee leider nicht.

                          Das An- und Ausschalten für Zigbee kann ich aber integrieren.

                          EDIT: Du solltst deine Zigbee Aktoren auch jetzt schon verwenden können. Da es keine EInschaltdauer-Logik dafür gibt, muss ich im Skript auch nichts dafür anpassen

                          lobomau 2 Replies Last reply Reply Quote 0
                          • lobomau
                            lobomau @Kuddel last edited by lobomau

                            @kuddel super, teste ich aus!
                            Hab zwar tasmota schon lange, bin aber nie tiefer eingestiegen.... ist einfach sensationell was diese kleinen Dinger alles können.

                            Edit.: Cool, funktioniert mit der PulseTime 👍
                            Der Vollständigkeit, der korrekte Befehl lautet in der Konsole von Tasmota mit 4 Relays für 10 min:

                            PulseTime1 700
                            PulseTime2 700
                            PulseTime2 700
                            PulseTime2 700
                            

                            700 = 600 Sekunden + 100

                            1 Reply Last reply Reply Quote 0
                            • lobomau
                              lobomau @Kuddel last edited by lobomau

                              @kuddel Ganz großes Kino! Tolles Script!

                              Fehler bei telegram:
                              Wind heute: 24 mm

                              Wunsch: Hinzufügen bei der Anleitung für die IBN:
                              ventil_x muss auf true gestellt werden damit es funktioniert.
                              ventil_x_dauer muss vorgeben werden.

                              Das hätte mir etwas Testphase erspart. Ich dachte mit ventil_x starte ich Ventil direkt manuell. Und bei den Intervallen habe ich nicht verstanden warum Endzeit immer gleich der Startzeit angepasst wurde... achso.... die Dauer für die Ventile war auf 0. 🙌
                              Alles zwar logisch im Nachhinein.... aber beim ersten Mal.....?

                              Mein Script hatte beim ersten Mal einen kleinen Fehler: das dritte (letzte) Ventil wurde geöffnet und gleichzeitig Pumpe und 24V-Trafo ausgeschaltet. Ventil 3 blieb offen und schloss auch nicht mehr.
                              Beim zweiten Mal lief alles korrekt ab. Vielleicht hatte ich nur einmal Pech oder das ist normal beim ersten Mal. Dann würde ich nichts ändern, sondern nur darauf hinweisen.

                              Edit.: ist das ein bug oder mache ich einen Denkfehler? Ich muss einen negativen Wert setzen, damit morgens_uhrzeit später beginnt:
                              cb01f867-5503-4ce0-a015-d544cbba2618-image.png

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                Kuddel @lobomau last edited by

                                @lobomau den Fehler mit Wind in mm habe ich soeben gefixt. ist dann in der nächsten Version gefixt.

                                Eine Kurzanleitung könnt ich noch schreiben. Wenn man meine VIS dafür verwendet, ist das eigentlich selbsterklärend.

                                Was beim Ventil 3 passiert ist, kann leider gerade nicht nachvollziehen.

                                Bitte mal beobachten, ob der Fehler noch einmal auftritt und vllt. noch mal alle DPs löschen und neu erstellen lassen und prüfen ob der Fehler dann noch einmal auftritt.

                                lobomau 1 Reply Last reply Reply Quote 0
                                • lobomau
                                  lobomau @Kuddel last edited by

                                  @kuddel ah alles klar. An die VIS wollte ich als nächstes dran 🙂
                                  habe eben noch einen Fehler kommentiert oben.

                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kuddel @lobomau last edited by

                                    @lobomau ja das mit dem negativen Wert ist gewollt. Damit sagst du, wann die Bewässerung fertig sein soll.

                                    -15 Minuten = 15 Minuen VOR dem Sonnenaufgang

                                    1 Reply Last reply Reply Quote 1
                                    • E
                                      EStegemann @Kuddel last edited by

                                      @kuddel mhhh... Darf ich fragen, in welchem Browser du iobroker öffnest? Vlt liegt es am Chrome Browser den ich benutze? Muss mal einen anderen testen.

                                      K lobomau 2 Replies Last reply Reply Quote 0
                                      • K
                                        Kuddel @EStegemann last edited by

                                        @estegemann ich arbeite immer mit Firefox

                                        lobomau 1 Reply Last reply Reply Quote 0
                                        • lobomau
                                          lobomau @Kuddel last edited by

                                          @kuddel Moin Kuddel,
                                          für mich habe ich noch den telegram Block angepasst, damit ich nur Nachrichten auf Instanz.1 erhalte.
                                          Deine VIS läuft jetzt auch bei mir wunderbar und alles out-of-the-box 🙂

                                          4670edb2-53aa-44a6-927c-86836d23a620-image.png

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kuddel @lobomau last edited by

                                            @lobomau du müsstest diese Änderung dann bei jeder neuen Version von mir wiederholen.

                                            Da ich Telegram nicht nutze, habe ich nicht einmal den Adapter installiert und kann daher nicht testen bzgl. Instanzen etc.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            633
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            76
                                            1187
                                            244157
                                            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