Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Gartenbewässerung v0.0.x

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Gartenbewässerung v0.0.x

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

      @tombox

      Vielen Dank für das nochmalige Update. Du siehst, dass dein Adapter von den Usern ebenfalls als sehr gut eingeschätzt wird und auch wenn der andere Adapter aus deiner Sicht besser ist, die Nutzer sich in großer Zahl für deinen entscheiden. Da hast du wirklich klasse Arbeit geleistet! 🙂

      T 1 Reply Last reply Reply Quote 1
      • T
        Tschaeens @Snapergy last edited by

        @snapergy sehe ich genauso!
        Würde mir ebenfalls eine Weiterentwicklung wünschen!

        1 Reply Last reply Reply Quote 1
        • JB_Sullivan
          JB_Sullivan last edited by

          @tombox

          Ich wollte gerade das Update auf die Version 0.0.8 machen, weil ich immer noch die folgenden Fehler angezeigt bekommen.

          gartenbewaesserung.0	2021-05-26 10:05:05.700	warn	(248) Read-only state "gartenbewaesserung.0.status.startAbend" has been written without ack-flag with value "Wed May 26 2021 20:39:43 GMT+0200"
          gartenbewaesserung.0	2021-05-26 10:05:05.699	warn	(248) Read-only state "gartenbewaesserung.0.status.startMorgen" has been written without ack-flag with value "Wed May 26 2021 05:40:21 GMT+0200"
          gartenbewaesserung.0	2021-05-26 10:05:05.698	warn	(248) Read-only state "gartenbewaesserung.0.status.sonnenuntergang" has been written without ack-flag with value "21:24:43 GMT+0200 (Mitteleuropäische Sommerzeit)"
          gartenbewaesserung.0	2021-05-26 10:05:05.697	warn	(248) Read-only state "gartenbewaesserung.0.status.sonnenaufgang" has been written without ack-flag with value "05:10:21 GMT+0200 (Mitteleuropäische Sommerzeit)"
          gartenbewaesserung.0	2021-05-26 10:05:05.541	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.539	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.538	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.522	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.521	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.520	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.518	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.518	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.517	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.514	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.513	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.512	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.511	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.510	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.509	info	(248) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.508	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.507	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.506	info	(248) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.504	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.503	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.502	info	(248) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean"
          gartenbewaesserung.0	2021-05-26 10:05:05.501	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.restzeit_sek" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.500	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.fortschritt" has to be type "number" but received type "string"
          gartenbewaesserung.0	2021-05-26 10:05:05.498	info	(248) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
          

          Seit der Admin Version 5.x.x funktioniert unter ioB / Windows aber das Adapter Update aus dem Admin heraus bei manchen Adapter nicht mehr. Es kommt dann ein sogenannter EBUSY Fehler. Leider gehört dein Adapter dazu.

          Der Workaround ist das Update aus der Konsole heraus durchzuführen. Aber auch das funktioniert im Fall der Version 0.0.8 nicht.

          Hast du eine Idee dazu?

          C:\iobroker\GLT>npm install iobroker.gartenbewaesserung@0.0.8
          npm ERR! code E404
          npm ERR! 404 Not Found - GET https://registry.npmjs.org/iobroker.gartenbewaesserung - Not found
          npm ERR! 404
          npm ERR! 404  'iobroker.gartenbewaesserung@0.0.8' is not in the npm registry.
          npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
          npm ERR! 404
          npm ERR! 404 Note that you can also install from a
          npm ERR! 404 tarball, folder, http url, or git url.
          
          npm ERR! A complete log of this run can be found in:
          npm ERR!     C:\iobroker\GLT\env\npm-cache\_logs\2021-05-26T08_17_13_008Z-debug.log
          
          C:\iobroker\GLT>
          
          T 1 Reply Last reply Reply Quote 0
          • T
            tombox @JB_Sullivan last edited by

            @jb_sullivan Installation geht nur über GitHub Katze wie im ersten Beitrag beschrieben

            JB_Sullivan 1 Reply Last reply Reply Quote 1
            • JB_Sullivan
              JB_Sullivan @tombox last edited by

              @tombox

              Wie gesagt, GITHUB Katze geht derzeit unter Admin 5.x.x wegen EBUSY Fehler nicht.

              Ich habe es aber doch noch hin bekommen und habe jetzt die 0.0.8 drauf. Trotzdem tauchen im LOG immer noch ein paar Fehlermeldungen auf.

              gartenbewaesserung.0	2021-05-26 10:44:59.822	warn	(5768) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383"
              gartenbewaesserung.0	2021-05-26 10:44:59.811	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.809	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.802	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.801	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.799	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil4.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.798	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil3.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.797	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil2.active" has to be type "string" but received type "boolean"
              gartenbewaesserung.0	2021-05-26 10:44:59.795	info	(5768) State value to set for "gartenbewaesserung.0.status.ventil1.active" has to be type "string" but received type "boolean"
              
              T 1 Reply Last reply Reply Quote 0
              • T
                tombox @JB_Sullivan last edited by

                @jb_sullivan die objekte müssen vorher gelöscht werden damit sie korrekt neu erstellt werden

                JB_Sullivan 1 Reply Last reply Reply Quote 0
                • JB_Sullivan
                  JB_Sullivan @tombox last edited by

                  @tombox Habe ich gemacht, aber das ändert nichts.

                  gartenbewaesserung.0	2021-05-26 19:31:28.417	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:28.415	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:28.414	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:28.412	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:28.393	info	(1988) Stop ventil4
                  gartenbewaesserung.0	2021-05-26 19:31:28.388	info	(1988) Stop ventil3
                  gartenbewaesserung.0	2021-05-26 19:31:28.383	info	(1988) Stop ventil2
                  gartenbewaesserung.0	2021-05-26 19:31:28.378	info	(1988) Stop ventil1
                  gartenbewaesserung.0	2021-05-26 19:31:28.377	info	(1988) Bewässerung stop
                  gartenbewaesserung.0	2021-05-26 19:31:24.440	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:24.439	warn	(1988) Read-only state "gartenbewaesserung.0.status.ventil1.endeTimestamp" has been written without ack-flag with value "1622052084"
                  gartenbewaesserung.0	2021-05-26 19:31:24.438	warn	(1988) Read-only state "gartenbewaesserung.0.status.ventil1.ende" has been written without ack-flag with value "Wed May 26 2021 20:01:24 GMT+0200"
                  gartenbewaesserung.0	2021-05-26 19:31:24.437	info	(1988) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                  gartenbewaesserung.0	2021-05-26 19:31:24.426	info	(1988) Start ventil1
                  gartenbewaesserung.0	2021-05-26 19:31:24.408	info	(1988) Stop ventil4 in 5130sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.408	info	(1988) Start ventil4 in 3630sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.408	info	(1988) Stop ventil3 in 3620sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.407	info	(1988) Stop ventil2 in 3610sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.407	info	(1988) Start ventil2 in 1810sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.406	info	(1988) Stop ventil1 in 1800sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.406	info	(1988) Start ventil1 in 0sek
                  gartenbewaesserung.0	2021-05-26 19:31:24.377	info	(1988) Start pumpe
                  gartenbewaesserung.0	2021-05-26 19:31:24.376	info	(1988) Start Bewaesserung
                  gartenbewaesserung.0	2021-05-26 19:31:24.194	info	(1988) Stop ventil4
                  gartenbewaesserung.0	2021-05-26 19:31:24.194	info	(1988) Stop ventil3
                  gartenbewaesserung.0	2021-05-26 19:31:24.193	info	(1988) Stop ventil2
                  gartenbewaesserung.0	2021-05-26 19:31:24.192	info	(1988) Stop ventil1
                  gartenbewaesserung.0	2021-05-26 19:31:24.191	info	(1988) Bewässerung stop
                  gartenbewaesserung.0	2021-05-26 19:30:51.762	warn	(1988) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383"
                  
                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tombox @JB_Sullivan last edited by

                    @jb_sullivan Sollte so nicht passieren.. Alle objekte löschen. Per github installieren und instanz neustarten?

                    JB_Sullivan 1 Reply Last reply Reply Quote 0
                    • JB_Sullivan
                      JB_Sullivan @tombox last edited by JB_Sullivan

                      @tombox Genau so - habe ich alles genau so gemacht. Admin und js-controler ist latest letzter Stand.

                      Habe es nochmal auf DEBUG gestellt - aber da kommt auch nicht viel bei raus.

                      gartenbewaesserung.0	2021-05-26 19:39:46.507	debug	(12300) system.adapter.admin.0: logging true
                      gartenbewaesserung.0	2021-05-26 19:39:42.848	warn	(12300) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622054383"
                      gartenbewaesserung.0	2021-05-26 19:39:42.738	info	(12300) Stop ventil4
                      gartenbewaesserung.0	2021-05-26 19:39:42.738	info	(12300) Stop ventil3
                      gartenbewaesserung.0	2021-05-26 19:39:42.737	info	(12300) Stop ventil2
                      gartenbewaesserung.0	2021-05-26 19:39:42.737	info	(12300) Stop ventil1
                      gartenbewaesserung.0	2021-05-26 19:39:42.736	info	(12300) Bewässerung stop
                      gartenbewaesserung.0	2021-05-26 19:39:42.735	info	(12300) Stop ventil4
                      gartenbewaesserung.0	2021-05-26 19:39:42.734	info	(12300) Stop ventil3
                      gartenbewaesserung.0	2021-05-26 19:39:42.734	info	(12300) Stop ventil2
                      gartenbewaesserung.0	2021-05-26 19:39:42.731	info	(12300) Stop ventil1
                      gartenbewaesserung.0	2021-05-26 19:39:41.743	info	(12300) starting. Version 0.0.8 in C:/iobroker/GLT/node_modules/iobroker.gartenbewaesserung, node: v14.16.0, js-controller: 3.3.11
                      gartenbewaesserung.0	2021-05-26 19:39:41.325	debug	(12300) statesDB connected
                      gartenbewaesserung.0	2021-05-26 19:39:41.324	debug	(12300) States connected to redis: 127.0.0.1:9000
                      gartenbewaesserung.0	2021-05-26 19:39:41.310	debug	(12300) States create User PubSub Client
                      gartenbewaesserung.0	2021-05-26 19:39:41.309	debug	(12300) States create System PubSub Client
                      gartenbewaesserung.0	2021-05-26 19:39:41.296	debug	(12300) Redis States: Use Redis connection: 127.0.0.1:9000
                      gartenbewaesserung.0	2021-05-26 19:39:41.294	debug	(12300) objectDB connected
                      gartenbewaesserung.0	2021-05-26 19:39:41.284	debug	(12300) Objects connected to redis: 127.0.0.1:9001
                      gartenbewaesserung.0	2021-05-26 19:39:41.263	debug	(12300) Objects client initialize lua scripts
                      gartenbewaesserung.0	2021-05-26 19:39:41.263	debug	(12300) Objects create User PubSub Client
                      gartenbewaesserung.0	2021-05-26 19:39:41.262	debug	(12300) Objects create System PubSub Client
                      gartenbewaesserung.0	2021-05-26 19:39:41.259	debug	(12300) Objects client ready ... initialize now
                      gartenbewaesserung.0	2021-05-26 19:39:41.215	debug	(12300) Redis Objects: Use Redis connection: 127.0.0.1:9001
                      
                      gartenbewaesserung.0	2021-05-26 19:42:42.836	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:42:32.839	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:42:22.834	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:42:12.837	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:42:02.837	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:41:52.833	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:41:46.796	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:41:46.795	warn	(12300) Read-only state "gartenbewaesserung.0.status.ventil1.endeTimestamp" has been written without ack-flag with value "1622052706"
                      gartenbewaesserung.0	2021-05-26 19:41:46.794	warn	(12300) Read-only state "gartenbewaesserung.0.status.ventil1.ende" has been written without ack-flag with value "Wed May 26 2021 20:11:46 GMT+0200"
                      gartenbewaesserung.0	2021-05-26 19:41:46.793	info	(12300) State value to set for "gartenbewaesserung.0.status.restzeit" has to be type "number" but received type "string"
                      gartenbewaesserung.0	2021-05-26 19:41:46.779	info	(12300) Start ventil1
                      gartenbewaesserung.0	2021-05-26 19:41:46.762	info	(12300) Stop ventil4 in 5130sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.762	info	(12300) Start ventil4 in 3630sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.761	info	(12300) Stop ventil3 in 3620sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.761	info	(12300) Stop ventil2 in 3610sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.760	info	(12300) Start ventil2 in 1810sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.760	info	(12300) Stop ventil1 in 1800sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.759	info	(12300) Start ventil1 in 0sek
                      gartenbewaesserung.0	2021-05-26 19:41:46.739	info	(12300) Start pumpe
                      gartenbewaesserung.0	2021-05-26 19:41:46.738	info	(12300) Start Bewaesserung
                      gartenbewaesserung.0	2021-05-26 19:41:46.599	info	(12300) Stop ventil4
                      gartenbewaesserung.0	2021-05-26 19:41:46.599	info	(12300) Stop ventil3
                      gartenbewaesserung.0	2021-05-26 19:41:46.599	info	(12300) Stop ventil2
                      gartenbewaesserung.0	2021-05-26 19:41:46.598	info	(12300) Stop ventil1
                      gartenbewaesserung.0	2021-05-26 19:41:46.597	info	(12300) Bewässerung stop
                      
                      1 Reply Last reply Reply Quote 0
                      • JB_Sullivan
                        JB_Sullivan last edited by

                        Nur mal so eine Idee - hängt die folgende Fehlermeldung des Adapters ggf. damit zusammen, das die Astro Funktion, in den Sommermonaten ab Bielefeld und weiter nördlich diesen Fehler generiert?

                        gartenbewaesserung.0	2021-05-28 14:09:43.090	warn	(12300) Read-only state "gartenbewaesserung.0.status.startAbendTimestamp" has been written without ack-flag with value "1622227340"
                        
                        

                        Siehe - https://forum.iobroker.net/topic/45192/javajcript-und-astro-funktion-macht-propleme

                        javascript.0	2021-05-28 14:00:00.033	error	(11640) Cannot get astro date for "night"
                        javascript.0	2021-05-28 14:00:00.028	error	(11640) Cannot get astro date for "nightEnd"
                        
                        M 1 Reply Last reply Reply Quote 0
                        • M
                          MartyBr @JB_Sullivan last edited by

                          @jb_sullivan
                          Ich vermute das auch. Ich habe hier ein Script mit einer kleinen Variation. Das läuft auch im Sommer einwandfrei. Ich wohne auch nördlich von Bielefeld. Da gibt es im Sommer Probleme mit dem Datenpunkt "Nacht". Ich glaube, dass Script stammt von Paul.

                          Hier der Code:

                          const sec = false; // Sekunden darstellen oder nicht
                          const fC = true; // forceCreation ein/aus
                          const pfad = "Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
                           
                          // *****************************************************************************
                          // TAGESZEITEN - T E I L 
                           
                          // Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten)
                          const tageszeiten = ["Nacht",
                                               "Morgendämmerung",
                                               "Sonnenaufgang",
                                               "Morgen",
                                               "Vormittag",
                                               "Mittag",
                                               "Nachmittag",
                                               "Abend",
                                               "Sonnenuntergang",
                                               "Abenddämmerung"
                                              ];
                           
                          const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
                                idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
                           
                          createState(idTageszeit, "nächsten Wechsel abwarten", fC, {
                              name: "Tageszeit",
                              desc: "Name der Tageszeit",
                              type: "string"
                          });   
                          createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, {
                              name: "nächste Tageszeit",
                              desc: "Name der nächsten Tageszeit",
                              type: "string"
                          });
                           
                          function neue_tageszeit(abschnitt) {
                              var akt = tageszeiten[parseInt(abschnitt, 10)],
                              // wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D
                              nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)];
                              setState(idTageszeit, akt);
                              setState(idTageszeitNext, nxt);
                              log("neue Tagezeit: " + akt);
                              log("nächte kommende Tagezeit: " + nxt);
                          }
                           
                          // Nacht
                          schedule({
                              astro: "nauticalDusk", 
                              shift: 45
                          }, function () { 
                              neue_tageszeit(0);
                          });
                           
                          // Morgengdämmerung
                          schedule({
                              astro: "nauticalDawn",
                              shift: -45
                          }, function () {
                              neue_tageszeit(1);
                          });
                           
                          // Sonnenaufgang
                          schedule({
                              astro: "sunrise"
                          }, function() {
                              neue_tageszeit(2);
                          });
                           
                          // Morgen
                          schedule({
                              astro: "sunriseEnd"
                          }, function () {
                              neue_tageszeit(3);
                          });
                           
                          // Vormittag 
                          schedule({
                              astro: "goldenHourEnd",
                              shift: 60
                          }, function () {
                              neue_tageszeit(4);
                          });
                           
                          // Mittag
                          schedule({
                              astro: "solarNoon",
                              shift: -30
                          }, function () {
                              neue_tageszeit(5);
                          });
                           
                          // Nachmittag
                          schedule({
                              astro: "solarNoon",
                              shift: 30
                          }, function () {
                              neue_tageszeit(6);
                          });
                           
                          // Abend
                          schedule({
                              astro: "goldenHour",
                              shift: -60
                          }, function () {
                              neue_tageszeit(7);
                          });
                           
                          // Sonnenuntergang
                          schedule({
                              astro: "sunsetStart",
                          }, function () {
                              neue_tageszeit(8);
                          });
                           
                          // Abenddämmerung (nach Sonnenuntergang)
                          schedule({
                              astro: "sunset"
                          }, function () {
                              neue_tageszeit(9);
                          });
                           
                          // *****************************************************************************
                          // A S T O - T E I L 
                           
                          /* Objekt Astrotag 
                             Astrotag liegt zwischen Sonnauf- und untergang, 
                             Astronacht liegt zwischen Sonnenunter- und aufgang */
                          const idAstrotag =  "javascript." + instance + "." + pfad + ".Astrotag";
                           
                          // Objekt für Uhrzeiten der Astrozeiten
                          const astrotime = {
                              "elements" : [
                                  // Astrotag beginnt
                                  {
                                      "fname" : "sunrise", // function name
                                      "de" : {
                                          "name" : "Sonnenaufgang",
                                          "nxt" : "nächster",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Sunrise",
                                          "desc" : "top edge of the sun appears on the horizon"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  {
                                      "fname" : "sunriseEnd", // function name
                                      "de" : {
                                          "name" : "Ende Sonnenaufgang",
                                          "nxt" : "nächstes",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "End of sunrise",
                                          "desc" : "bottom edge of the sun touches the horizon"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  {
                                      "fname" : "goldenHourEnd", // function name
                                      "de" : {
                                          "name" : "Ende der goldenen Stunde am Morgen",
                                          "nxt" : "nächstes",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "End of golden hour",
                                          "desc" : "morning golden hour (soft light, best time for photography) ends"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  {
                                      "fname" : "solarNoon", // function name
                                      "de" : {
                                          "name" : "Sonnenhöchststand",
                                          "nxt" : "nächster",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Solar noon",
                                          "desc" : "sun is in the highest position"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  {
                                      "fname" : "goldenHour", // function name
                                      "de" : {
                                          "name" : "Goldene Stunde (am Abend)",
                                          "nxt" : "nächste",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Golden hour",
                                          "desc" : "evening golden hour starts"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  {
                                      "fname" : "sunsetStart", // function name
                                      "de" : {
                                          "name" : "Beginn Sonnenuntergang",
                                          "nxt" : "nächster",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Sunset starts",
                                          "desc" : "bottom edge of the sun touches the horizon"
                                      },
                                      "astroday" : true //during astroday
                                  },
                                  // Astronacht beginnt
                                  {
                                      "fname" : "sunset", // function name
                                      "de" : {
                                          "name" : "Sonnenuntergang",
                                          "nxt" : "nächster",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Sunset",
                                          "desc" : "sun disappears below the horizon, evening civil twilight starts"
                                      },
                                      "astroday" : false //during astronight
                                  },
                                  {
                                      "fname" : "dusk",
                                      "de" : {
                                          "name" : "Abenddämmerung",
                                          "nxt" : "nächste",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Dusk",
                                          "desc" : "evening nautical twilight starts"
                                      },
                                      "astroday" : false //during astronight
                                  },
                                  {
                                      "fname" : "nauticalDusk",
                                      "de" : {
                                          "name" : "nautische Abenddämmerung",
                                          "nxt" : "nächste",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Nautical dusk",
                                          "desc" : "evening astronomical twilight starts"
                                      },
                                      "astroday" : false //during astronight
                                  },
                                  {
                                      "fname" : "nadir",
                                      "de" : {
                                          "name" : "Nadir",
                                          "nxt" : "nächster",
                                          "desc" : "Fußpunkt gegenüber dem Zenit"
                                      },
                                      "en" : {
                                          "name" : "Nadir",
                                          "desc" : "darkest moment of the night, sun is in the lowest position"
                                      },
                                      "astroday" : false //during astronight
                                  },
                                  {
                                      "fname" : "nauticalDawn",
                                      "de" : {
                                          "name" : "nautische Morgendämmerung",
                                          "nxt" : "nächste",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "Nautical dawn",
                                          "desc" : "morning nautical twilight starts"
                                      },
                                      "astroday" : false //during astronight
                                  },
                                  {
                                      "fname" : "dawn",
                                      "de" : {
                                          "name" : "Morgendämmerung",
                                          "nxt" : "nächste",
                                          "desc" : ""
                                      },
                                      "en" : {
                                          "name" : "dawn",
                                          "desc" : "morning nautical twilight ends, morning civil twilight starts"
                                      },
                                      "astroday" : false //during astronight
                                  }
                           
                              ]
                          };
                           
                          function writeAstroTimes(i) {
                              // führende Nummer zur Sortierung in Admin/Objekte
                              var nr = (i+1 < 10) ? "0" + (i+1) : (i+1);
                              // Erstelle Objekt, falls nicht bereits vorhanden
                              var idAstroObject = "javascript." + instance + "." + pfad + ".Zeiten." + nr + " - " + astrotime.elements[i].fname;
                              createState(idAstroObject, " ", fC, {
                                  name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit",
                                  desc: astrotime.elements[i].en.desc,
                                  type: "string"
                              });
                           
                              setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können
                                  var astrotag = getState(idAstrotag).val,
                                      temp;
                                  var today = new Date();
                                  var tomorrow = today.setDate(today.getDate()+1);
                                  var next_event;
                                  if (astrotag) { 
                                      // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                                      next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen
                                  } else { 
                                      // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                                      next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
                                  }
                                  var fname = astrotime.elements[i].fname;
                                  temp = getAstroDate(fname, next_event);
                                  setState(idAstroObject, checkSec(temp.toLocaleTimeString()) );
                              }, 3 * 1000);
                          }
                           
                          // Zeit mit oder ohne Sekunden anzeigen
                          function checkSec (zeit) {
                              if (!sec) {
                                  var newString_arr = zeit.split(":");
                                  var newString = newString_arr[0] + ":" + newString_arr[1];
                                  return (newString);
                              } else return (zeit);
                          }
                           
                          function getAstroday() {
                              // Astrotag bestimmen (boolean)
                              createState(idAstrotag, false, fC, {
                                  type: "boolean",
                                  name: "Astrologischer Tag",
                                  desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
                              }); 
                              setState(idAstrotag, isAstroDay());
                          }
                           
                          function iterateAstrotimes() {
                              // Zeiten für jede Astrozeit schreiben
                              for (var i = 0; i < astrotime.elements.length; i++) {
                                  writeAstroTimes(i);
                              }
                          }
                           
                          // Astrotag checken
                          schedule("*/1 * * * *", function () { // jede Minute
                              getAstroday();
                              iterateAstrotimes();
                          });
                           
                          iterateAstrotimes();
                          getAstroday();
                          
                          1 Reply Last reply Reply Quote 0
                          • S
                            Snapergy last edited by

                            Gibt es denn nen Workaround dafür, dass bei jeder Änderung über die VIS der Adapter neustartet? Hat sich dort schon mal jemand was gebastelt? Ist ja schrecklich, wenn man viele Kreise besitzt 😞

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              tombox @Snapergy last edited by

                              @snapergy Der Adapter ist leider nicht so aufgebaut dass das möglich ist.

                              1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators last edited by

                                @tombox
                                Ich wollte gerade von meiner Testinstallation auf die produktive einsteigen und fand den Adapter weder in Beta noch im stable Repository.

                                Dann wollte ich fragen, ob dieser Adapter noch weiter entwickelt wird und hatte auf github nachgesehen. Dort sind letzten Monat noch Änderungen durchgeführt worden.

                                Daher wndertze ich mich., als ich auf der Suche nach dem Github link im ersten Post las:

                                @tombox sagte in Test Adapter Gartenbewässerung v0.0.x:

                                Die bessere alternative die auch weiterentwickelt wird ist:
                                https://github.com/Dirk-Peter-md/ioBroker.sprinklecontrol
                                https://forum.iobroker.net/topic/44493/test-adapter-sprinkle-control-0-1-4-latest

                                Das ist leider für mich keine Alternative, da dieser Adapter ausschließlich auf Vorhersagen und Verdunstungsberechnungen basiert.

                                Ich arbeite mit Feuchtesensoren (so ungenau sie auch sein mögen) und werde mir dann wohl doch eigene Scripte basteln müssen 😞

                                Oder ist diese Info inzwischen hoffentlich wieder überholt?

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  tombox @Homoran last edited by

                                  @homoran Er wird nicht weiter entwickelt habe nur die sachen für js controller 3.3 gefixt. Ich denke aber das sprinkecontrol einbaut wenn du die anfrage stellst

                                  Homoran 1 Reply Last reply Reply Quote 0
                                  • Homoran
                                    Homoran Global Moderator Administrators @tombox last edited by

                                    @tombox Danke für die schnelle und ehrliche Antwort.

                                    Aber ehrlich ist dein Adapter für mich besser, Sprinkle control hatte ich mir mal angesehen, da sind für mich zu viele Funktionen/Berechnungsgrundlagen, die ich nicht benötige, und solche Antworten wie:

                                    Es tut mir leid, aber diese Änderung steht nicht im Einklang mit den Grundprinzipien des Adapters. Ich werde sie daher nicht umsetzen.
                                    Erledige diese individuellen Aufgaben doch mit JS oder Blockly.

                                    motivieren nicht gerade.

                                    JB_Sullivan 1 Reply Last reply Reply Quote 0
                                    • JB_Sullivan
                                      JB_Sullivan @Homoran last edited by

                                      @homoran

                                      @tombox hat bestimmt mit dem VW Wallbox Adapter genug zu tun, zumal der VAG Konzern die e-Autos z.Zt. raushaut wie geschnitten Brot und sich somit auch alle Nase lang etwas an den WB Einstellungen ändern dürfte.

                                      Von daher habe ich dafür schon ein gewisses Verständnis. Aber mir geht es wie dir - der Gartenbewässerungsadapter von tombox ist einfach nur geil und leistet mir dieses, wie auch letztes Jahr hervorragende Dienste.

                                      Hauptsache er bleibt noch lange lauffähig.

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @JB_Sullivan last edited by

                                        @jb_sullivan sagte in Test Adapter Gartenbewässerung v0.0.x:

                                        Von daher habe ich dafür schon ein gewisses Verständnis.

                                        das hab ich doch auch!

                                        Aber ich brauche den Schnickschnack von sprinkle nicht
                                        Sitze mit meinem bescheidenen Wissen gerade am Blockly

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          bob der 1. @Homoran last edited by

                                          @homoran sagte in Test Adapter Gartenbewässerung v0.0.x:

                                          @jb_sullivan sagte in Test Adapter Gartenbewässerung v0.0.x:

                                          Von daher habe ich dafür schon ein gewisses Verständnis.

                                          das hab ich doch auch!

                                          Aber ich brauche den Schnickschnack von sprinkle nicht
                                          Sitze mit meinem bescheidenen Wissen gerade am Blockly

                                          So sehe ich das auch....Sprinkler C. ist zu verworren.

                                          Der hier hat alles was man braucht und ist stabil.
                                          Mit einem Blockly lässt sich das zwar lösen aber ich bin da kein Freund davon.

                                          Finde es mega schade das der Adapter atirbt

                                          Homoran 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators @bob der 1. last edited by

                                            @bob-der-1 sagte in Test Adapter Gartenbewässerung v0.0.x:

                                            Sprinkler C. ist zu verworren.

                                            naja, sagen wir mal der ist akademisch.

                                            Wenn man alleine auf Regenmenge, Luftfeuchte, Windstärke und Helligkeit (als Sonneneinstrahlung!!) die theoretische Bodenfeuchte berechnet, werden alleine z.B. verschiedene Bödendurchlässigkeiten, und Pflanzgegebenheiten nicht berücksichtigt.
                                            So habe ich zwei Pflanzmauern (1x 25cm breit, 1x 60cm breit) sowie eine Rasenfläche und unterschiedlich wind- und sonnengeschützte Areale in meinem Garten (mit unterschiedlicher Bodenqualität)
                                            in jedem spezifischen Areal steht ein Bodenfeuchtesensor und jedes dieser Areale soll je nach Bedarf getrennt bewässert werden (im Moment noch Mischbewässerung).
                                            Dieses kann IMHO der Sprinkle-Adapter nicht abbilden.

                                            Ich hatte ihn gerade trotzdem noch mal installiert, finde aber keine einfache Möglichkeit eine Herangehensweise wie mit dem Gartenbewässerungs-Adapter dort abzubilden.
                                            Dazu sind die beiden Ansätze zu unterschiedlich

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            878
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            beregnungssteuerung bewässerung garten gartenbewässerung magnetventil ventil ventile
                                            66
                                            567
                                            101924
                                            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