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

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [neuer Adapter] smartgarden adapter for Gardena smart system

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[neuer Adapter] smartgarden adapter for Gardena smart system

Geplant Angeheftet Gesperrt Verschoben Tester
gardena smart systemsmartgarden
1.1k Beiträge 108 Kommentatoren 325.0k Aufrufe 101 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.
  • M MrLee

    Moin!

    Seit kurzem kann der manuelle Start per App ja auf bestimmte (stay-inzone) Zonen gesetzt werden. Man übergibt Zone und Dauer....

    Seit dem scheint der manuelle Start per API nicht mehr zu funktionieren, das bisherige übergeben der Dauer in sec scheint nicht mehr zu reichen...

    Hat hier jemand schon Informationen wie man diese Funktion bzw. überhaupt wieder manuellen Start bei Mähern über den Adapter nutzt?

    bis denne
    Mr.Lee

    M Offline
    M Offline
    MrLee
    schrieb am zuletzt editiert von
    #1026

    @mrlee

    Jemand hier schon was in der API rausgefunden?

    Danke
    Mr. Lee

    1 Antwort Letzte Antwort
    0
    • K Kaiman55

      @pistus Im Thread habe ich mal mein Blockly gepostet. Damit funktioniert es.

      P Offline
      P Offline
      Pistus
      schrieb am zuletzt editiert von
      #1027

      @kaiman55 Danke für deine Info.
      Zu meinem Verständnis.

      Mit PARKUNTIL_FURTHER_NOTIZE wir der Mäher in die Garage geschickt. Wie lange bleibt der Text in der activity_control_i erhalten.

      Meine Abfrage wenn der Mäher in der Garage ist lautet

      Falls Wert vom Objekt ID activity_control_i = PARK_UNTIL_FURTHER_NOTIZE
      Mache schreibe Objekt_ID activity_control_i steure Wert PARK_UNTIL_NEXT_TASK Verzögerung

      Der letzte Schritt funktioniert nicht.
      https://forum.iobroker.net/topic/31289/neuer-adapter-smartgarden-adapter-for-gardena-smart-system/1026?loggedin=true#
      Das müsste er aber wenn in activity_control_i noch PARK_UNTIL_FURTHER_NOTIZE stünde.

      M 1 Antwort Letzte Antwort
      0
      • P Pistus

        @kaiman55 Danke für deine Info.
        Zu meinem Verständnis.

        Mit PARKUNTIL_FURTHER_NOTIZE wir der Mäher in die Garage geschickt. Wie lange bleibt der Text in der activity_control_i erhalten.

        Meine Abfrage wenn der Mäher in der Garage ist lautet

        Falls Wert vom Objekt ID activity_control_i = PARK_UNTIL_FURTHER_NOTIZE
        Mache schreibe Objekt_ID activity_control_i steure Wert PARK_UNTIL_NEXT_TASK Verzögerung

        Der letzte Schritt funktioniert nicht.
        https://forum.iobroker.net/topic/31289/neuer-adapter-smartgarden-adapter-for-gardena-smart-system/1026?loggedin=true#
        Das müsste er aber wenn in activity_control_i noch PARK_UNTIL_FURTHER_NOTIZE stünde.

        M Offline
        M Offline
        mon
        schrieb am zuletzt editiert von
        #1028

        Kann man mit dem Adapter den Zeitplan eines Mähers auslesen?
        Ich habe irgendwie keine passenden Objekte dazu gefunden.

        jpgorganizerJ M 2 Antworten Letzte Antwort
        0
        • M mon

          Kann man mit dem Adapter den Zeitplan eines Mähers auslesen?
          Ich habe irgendwie keine passenden Objekte dazu gefunden.

          jpgorganizerJ Offline
          jpgorganizerJ Offline
          jpgorganizer
          schrieb am zuletzt editiert von
          #1029

          @mon sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

          Kann man mit dem Adapter den Zeitplan eines Mähers auslesen?
          Ich habe irgendwie keine passenden Objekte dazu gefunden.

          nein, geht nicht

          Bitte keine Fragen per PN, die gehören ins Forum!

          ioBroker
          smartgarden Adapter für GARDENA smart system
          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

          1 Antwort Letzte Antwort
          0
          • M mon

            Kann man mit dem Adapter den Zeitplan eines Mähers auslesen?
            Ich habe irgendwie keine passenden Objekte dazu gefunden.

            M Offline
            M Offline
            mon
            schrieb am zuletzt editiert von
            #1030

            @mon Oh das ist ja Schade. Ich war mir sicher ich hatte sowas mal im Forum gesehen. Dann war das vlt. mit dem Gardena Plugin?

            1 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              BlackHawk1942
              schrieb am zuletzt editiert von
              #1031

              Grüß Euch!

              Ich hatte den gleichen Fehler. Habe dann, wie hier besprochen, die App bei Husqvarna neu angelegt und dann in den Settings des Adapters UName und PWD raus genommen und entsprechend die AppKey und AppSec eingetragen. Seit dem bekomme ich immer einen "400 Bad Request". Ich habe bereits den Adapter gelöscht und neu angelegt, nicht nur die Instanz.

              Könnt ihr mir an dieser Stelle ggf helfen? Ich schaffe es einfach nicht meine Daten / Objekte wieder zu bekommen. Wenn ich den Adapter neu starte, dass ist es tw. kurzzeitig "grün", also verbunden und dann aber schnell wieder "gelb". Mit geht es um die Connection zu Gardena. Meine App läuft zuverlässig (iPhone). Es hat sich nichts an Firewall oder dem Netzwerk generell verändert. Lief 1,5 Jahre problemlos und nun bekomme ich es einfach nicht mehr hin.

              @jpgorganizer hast Du eine Idee?

              Wenn ich das Testscript von Husqvarna per SSH auf meinem ioB ausführe, dann bekomme ich einen Accesstoken.

              2023-09-26 10:13:29.938 - info: smartgarden.0 (11810) 1/ reconnect!
              2023-09-26 10:13:29.938 - info: smartgarden.0 (11810) 1/ getConnection...
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connectToGardena...
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connecting to Gardena Smart System Service ...
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev authentication_host: https://api.authentication.husqvarnagroup.dev
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... empty username
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... empty password
              2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... using client credentials grant
              2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ Connection failure.response.statusCode/Message=400/Bad Request
              2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ Connection failure:..return with error
              2023-09-26 10:13:30.160 - error: smartgarden.0 (11810) Error: request returned 400 Bad Request
              2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ getConnection: returned connection error: request returned 400 Bad Request
              2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ getConnection: trying to connect again in 300 seconds
              

              Teilweise connected er eben kurzzeitig und schließt dann wieder.

              2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ Connection: successful: response.statusCode / statusMessage=200 / OK
              2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ Connection: expires_in/timeout/factor:86399 / 86313 / 0.999
              2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ connected ... auth_data=eyJhXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXX-X-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              2023-09-26 10:42:50.470 - info: smartgarden.0 (11810) 1/ get_locations ...
              2023-09-26 10:42:50.672 - info: smartgarden.0 (11810) 1/ get_locations: successful / response.statusMessage: OK
              2023-09-26 10:42:50.673 - info: smartgarden.0 (11810) 1/ get_locations ... locations={"data":[{"id":"<wurde entfernt>","type":"LOCATION","attributes":{"name":"My Garden"}}]}
              2023-09-26 10:42:50.673 - info: smartgarden.0 (11810) 1/ get_websocket ...
              2023-09-26 10:42:50.844 - info: smartgarden.0 (11810) 1/ get_websocket successful: response.statusCode/Message=201/Created
              2023-09-26 10:42:50.845 - info: smartgarden.0 (11810) 1/ get_websocket ... websocket ok
              2023-09-26 10:42:50.975 - info: smartgarden.0 (11810) 1/ on_close: ### closed ### close.code=1006 close.reason=
              

              Danach geht es direkt in den oben beschriebenen 400.

              Danke Euch!

              M 1 Antwort Letzte Antwort
              0
              • B BlackHawk1942

                Grüß Euch!

                Ich hatte den gleichen Fehler. Habe dann, wie hier besprochen, die App bei Husqvarna neu angelegt und dann in den Settings des Adapters UName und PWD raus genommen und entsprechend die AppKey und AppSec eingetragen. Seit dem bekomme ich immer einen "400 Bad Request". Ich habe bereits den Adapter gelöscht und neu angelegt, nicht nur die Instanz.

                Könnt ihr mir an dieser Stelle ggf helfen? Ich schaffe es einfach nicht meine Daten / Objekte wieder zu bekommen. Wenn ich den Adapter neu starte, dass ist es tw. kurzzeitig "grün", also verbunden und dann aber schnell wieder "gelb". Mit geht es um die Connection zu Gardena. Meine App läuft zuverlässig (iPhone). Es hat sich nichts an Firewall oder dem Netzwerk generell verändert. Lief 1,5 Jahre problemlos und nun bekomme ich es einfach nicht mehr hin.

                @jpgorganizer hast Du eine Idee?

                Wenn ich das Testscript von Husqvarna per SSH auf meinem ioB ausführe, dann bekomme ich einen Accesstoken.

                2023-09-26 10:13:29.938 - info: smartgarden.0 (11810) 1/ reconnect!
                2023-09-26 10:13:29.938 - info: smartgarden.0 (11810) 1/ getConnection...
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connectToGardena...
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connecting to Gardena Smart System Service ...
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev authentication_host: https://api.authentication.husqvarnagroup.dev
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... empty username
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... empty password
                2023-09-26 10:13:29.939 - info: smartgarden.0 (11810) 1/ connect ... using client credentials grant
                2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ Connection failure.response.statusCode/Message=400/Bad Request
                2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ Connection failure:..return with error
                2023-09-26 10:13:30.160 - error: smartgarden.0 (11810) Error: request returned 400 Bad Request
                2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ getConnection: returned connection error: request returned 400 Bad Request
                2023-09-26 10:13:30.160 - info: smartgarden.0 (11810) 1/ getConnection: trying to connect again in 300 seconds
                

                Teilweise connected er eben kurzzeitig und schließt dann wieder.

                2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ Connection: successful: response.statusCode / statusMessage=200 / OK
                2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ Connection: expires_in/timeout/factor:86399 / 86313 / 0.999
                2023-09-26 10:42:50.469 - info: smartgarden.0 (11810) 1/ connected ... auth_data=eyJhXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXX-X-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
                2023-09-26 10:42:50.470 - info: smartgarden.0 (11810) 1/ get_locations ...
                2023-09-26 10:42:50.672 - info: smartgarden.0 (11810) 1/ get_locations: successful / response.statusMessage: OK
                2023-09-26 10:42:50.673 - info: smartgarden.0 (11810) 1/ get_locations ... locations={"data":[{"id":"<wurde entfernt>","type":"LOCATION","attributes":{"name":"My Garden"}}]}
                2023-09-26 10:42:50.673 - info: smartgarden.0 (11810) 1/ get_websocket ...
                2023-09-26 10:42:50.844 - info: smartgarden.0 (11810) 1/ get_websocket successful: response.statusCode/Message=201/Created
                2023-09-26 10:42:50.845 - info: smartgarden.0 (11810) 1/ get_websocket ... websocket ok
                2023-09-26 10:42:50.975 - info: smartgarden.0 (11810) 1/ on_close: ### closed ### close.code=1006 close.reason=
                

                Danach geht es direkt in den oben beschriebenen 400.

                Danke Euch!

                M Offline
                M Offline
                martin_olw
                schrieb am zuletzt editiert von
                #1032

                Hallo zusammen!
                Dank des Blockly von @Kaiman55 fährt mein Mäher bei Regen automaisch zum Laden und setzt seine Fahrt dann später wieder fort. Das war für mich als Neuling recht einfach machbar ;-)
                Nun aber eine Neulingsfrage: Ich möchte mir die Restlaufzeit (Mähen oder Laden) von Sekunden in Minuten umrechnen (mathematisch ist mir das klar) lassen und in zwei entsprechende Datenpunkte schreiben. Wie kann ich das machen. Habe es schonmal versucht, aber das funktioniert leider nicht.
                b98ffe1b-e54f-4cf2-8462-714aaf9315f4-image.png
                Danke für eure Hilfe!
                VG Martin

                M 1 Antwort Letzte Antwort
                1
                • M martin_olw

                  Hallo zusammen!
                  Dank des Blockly von @Kaiman55 fährt mein Mäher bei Regen automaisch zum Laden und setzt seine Fahrt dann später wieder fort. Das war für mich als Neuling recht einfach machbar ;-)
                  Nun aber eine Neulingsfrage: Ich möchte mir die Restlaufzeit (Mähen oder Laden) von Sekunden in Minuten umrechnen (mathematisch ist mir das klar) lassen und in zwei entsprechende Datenpunkte schreiben. Wie kann ich das machen. Habe es schonmal versucht, aber das funktioniert leider nicht.
                  b98ffe1b-e54f-4cf2-8462-714aaf9315f4-image.png
                  Danke für eure Hilfe!
                  VG Martin

                  M Offline
                  M Offline
                  michihorn
                  schrieb am zuletzt editiert von michihorn
                  #1033

                  @martin_olw
                  Ich habe zwar keine Ahnung von Blockly aber im Java sieht das so aus. Restlaufzeit und Restladezeit werden berechet und in einen vorher angelegten DP geschrieben.

                  const id_LZ = "smartgarden.0.LOCATION_xxxxxx-2Df6d9-2D4225-xxxx81-2Dad62bcd5ae1e.DEVICE_5xxx-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowingTime_remain_i"
                  const id_CT = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-xxxxcd5ae1e.DEVICE_5xxxb8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_COMMON_xxxxxxx-2De89e-2D46c1-2Dxxxe-2xxx40cc87b9ff.batteryState_chargingTime_remain_i"
                  
                  
                  on({ id: id_LZ, change: "any" }, function (dp) {
                      var RZ = (dp.state.val / 60).toFixed(0)
                      log(RZ)
                      setState("0_userdata.0.Garten.Rasen.Restlaufzeit", RZ)
                  });
                  
                  on({ id: id_CT, change: "any" }, function (dp) {
                      var LZ = (dp.state.val / 60).toFixed(0)
                      log(LZ)
                      setState("0_userdata.0.Garten.Rasen.Restladezeit", LZ)
                  });
                  
                  

                  Michael

                  M 1 Antwort Letzte Antwort
                  0
                  • M michihorn

                    @martin_olw
                    Ich habe zwar keine Ahnung von Blockly aber im Java sieht das so aus. Restlaufzeit und Restladezeit werden berechet und in einen vorher angelegten DP geschrieben.

                    const id_LZ = "smartgarden.0.LOCATION_xxxxxx-2Df6d9-2D4225-xxxx81-2Dad62bcd5ae1e.DEVICE_5xxx-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowingTime_remain_i"
                    const id_CT = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-xxxxcd5ae1e.DEVICE_5xxxb8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_COMMON_xxxxxxx-2De89e-2D46c1-2Dxxxe-2xxx40cc87b9ff.batteryState_chargingTime_remain_i"
                    
                    
                    on({ id: id_LZ, change: "any" }, function (dp) {
                        var RZ = (dp.state.val / 60).toFixed(0)
                        log(RZ)
                        setState("0_userdata.0.Garten.Rasen.Restlaufzeit", RZ)
                    });
                    
                    on({ id: id_CT, change: "any" }, function (dp) {
                        var LZ = (dp.state.val / 60).toFixed(0)
                        log(LZ)
                        setState("0_userdata.0.Garten.Rasen.Restladezeit", LZ)
                    });
                    
                    

                    Michael

                    M Offline
                    M Offline
                    martin_olw
                    schrieb am zuletzt editiert von martin_olw
                    #1034

                    @michihorn Vielen Dank!
                    Ich habe die beiden IDs in Zeile 1 und 2 durch meiner Werte aus den jeweiligen Objekten ersetzt. Auch den Datenpunkt in Zeile 8 und Zeile 14 angepasst. Aber bei mir kommt in den Datenpunkten immer noch "0", obwohl die beiden Werte zur verbleibenden Lauf- und Ladezeit im io aktualisiert werden.
                    Wo kann das Problem liegen, nach was soll ich schauen?
                    852325e8-a767-4084-a571-96b5b272a18a-image.png

                    M 1 Antwort Letzte Antwort
                    0
                    • M martin_olw

                      @michihorn Vielen Dank!
                      Ich habe die beiden IDs in Zeile 1 und 2 durch meiner Werte aus den jeweiligen Objekten ersetzt. Auch den Datenpunkt in Zeile 8 und Zeile 14 angepasst. Aber bei mir kommt in den Datenpunkten immer noch "0", obwohl die beiden Werte zur verbleibenden Lauf- und Ladezeit im io aktualisiert werden.
                      Wo kann das Problem liegen, nach was soll ich schauen?
                      852325e8-a767-4084-a571-96b5b272a18a-image.png

                      M Offline
                      M Offline
                      michihorn
                      schrieb am zuletzt editiert von michihorn
                      #1035

                      @martin_olw Hallo, das Script arbeitet nur, wenn sich der Wert des entsprechenden Datenpunktes in Zeile 1 oder 2 ändert, die selbst angelegten Datenpunkte in Zeile 8 und 14 müssen vom Typ Number sein und werden dann entsprechend des Scriptes mit Daten gefüllt.

                      Zeigt mal das LOG bei Ausführung, sollte so aussehen....
                      lz.png

                      M 1 Antwort Letzte Antwort
                      0
                      • M michihorn

                        @martin_olw Hallo, das Script arbeitet nur, wenn sich der Wert des entsprechenden Datenpunktes in Zeile 1 oder 2 ändert, die selbst angelegten Datenpunkte in Zeile 8 und 14 müssen vom Typ Number sein und werden dann entsprechend des Scriptes mit Daten gefüllt.

                        Zeigt mal das LOG bei Ausführung, sollte so aussehen....
                        lz.png

                        M Offline
                        M Offline
                        martin_olw
                        schrieb am zuletzt editiert von
                        #1036

                        @michihorn Ich habe den Fehler gefunden. Hatte wohl beim Kopieren der beiden Datenpunkte einen Fehler gemacht. Ich habe die Pfade noch einmal neu kopiert (zur Sicherheit in Notepad), verglichen und neu ins Script eingefügt. Dann ging es.
                        Danke!

                        1 Antwort Letzte Antwort
                        0
                        • M Offline
                          M Offline
                          MatthiasPetersen
                          schrieb am zuletzt editiert von
                          #1037

                          Hi, nachdem ich meinen Gardena Sileno City letztes Jahr auf die aktuellste Version geupdated habe, habe ich heute den Mähroboter aus dem Keller geholt. Mir ist nun aufgefallen, dass die Datenpunkte activity_mowingTime_remain_i und batteryState_chargingTime_remain_i nicht mehr im iobroker gesetzt werden. Nach einem Neustart des Adapters sieht man zwar anhand des Timestamps, dass die Datenpunkte aktualisiert wurden, allerdings immer nur mit dem Wert Null. Meine Biobroker-Installation inkl. des Smartgarden-Adapters sind jeweils auf der aktuellsten Version.

                          Kennt Ihr zufällig das Problem?

                          Viele Grüße
                          Matthias

                          1 Antwort Letzte Antwort
                          0
                          • K Kaiman55

                            @mcbirne sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

                            @kaiman55 said in [neuer Adapter] smartgarden adapter for Gardena smart system:

                            r Sensor keinen Regen mehr an (hier nehme ich immer den Regen Wert "in der letzten Stunde", da er son

                            Wie sendest du es an den Rasenmähern?

                            Ein Stück weiter oben, habe ich einen Teil des Blockly gepostet. Da siehst Du es.

                            Edit:
                            Hier nochmal als Export. Funktioniert bei mir sehr gut.
                            Muster.png

                            <xml xmlns="https://developers.google.com/blockly/xml">
                              <block type="comment" id="!5#EPV5tY!uMs.c:xRKl" x="-1487" y="-1312">
                                <field name="COMMENT">Mählanie bei Regen/Trockenheit rein und raus</field>
                                <next>
                                  <block type="on_ext" id="Ps5%H5|sm,lZR5Mx~u]2">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                    <field name="CONDITION">ne</field>
                                    <field name="ACK_CONDITION"></field>
                                    <value name="OID0">
                                      <shadow type="field_oid" id="Fhv0CaM~0KQi1#h)-K=K">
                                        <field name="oid">netatmo.0.Wohnbereich-(Innen).Regen.Rain.SumRain1</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="comment" id="`H(zJXb|OgmoBpa=o*Id">
                                        <field name="COMMENT">Mähen fortsetzen wenn es die letzte Stunde trocken war und rausschicken</field>
                                        <next>
                                          <block type="controls_if" id="kMv#PEDhcxz[S7_+j$:A">
                                            <value name="IF0">
                                              <block type="logic_operation" id="6?)|+@t.Z7w{fL;8ODH}" inline="false">
                                                <field name="OP">AND</field>
                                                <value name="A">
                                                  <block type="logic_compare" id="{zT!Dnt-6jBo5tofA36z">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="yu]AGvIi!8k]4_aQmx5s">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">netatmo.0.Wohnbereich-(Innen).Regen.Rain.SumRain1</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="math_number" id="FW{XQ]B(v387y7yZ]Ovs">
                                                        <field name="NUM">0</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_compare" id="9`D18YFlpB1ZPD^Y%c(A">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="(MaIwHj8ttq`64|xLZH_">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_mowing_i</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="logic_boolean" id="2nV[8E/H:+S9;jideC5}">
                                                        <field name="BOOL">FALSE</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id="r?Ws.R4O#`(%{.]6]IEy">
                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_control_i</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id=")4/Q=nS46)(.v?~gG,*T">
                                                    <field name="TEXT">START_DONT_OVERRIDE</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="comment" id="+jz?xHrG/M|6f42myVBx">
                                                <field name="COMMENT">Mäher bei aktiven Regen beenden und in die Hütte schicken</field>
                                                <next>
                                                  <block type="controls_if" id="i|[`4tT!fw=x*8!O|*r8">
                                                    <value name="IF0">
                                                      <block type="logic_compare" id="/N]7?]TkkIuJTGg%mMn8">
                                                        <field name="OP">NEQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="Dac0C!co=@NsOer[Pvn~">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">netatmo.0.Wohnbereich-(Innen).Regen.Rain.Rain</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="math_number" id="bv[S6JBf|Tk+kbbVnSJR">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <statement name="DO0">
                                                      <block type="control" id="358e!BIjwBL?s3R$NVKJ">
                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                        <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_control_i</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE">
                                                          <block type="text" id="E5BZT|~^dqNWTMPBYH}a">
                                                            <field name="TEXT">PARK_UNTIL_FURTHER_NOTICE</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </next>
                                      </block>
                                    </statement>
                                  </block>
                                </next>
                              </block>
                            </xml>
                            
                            D Offline
                            D Offline
                            DaHu
                            schrieb am zuletzt editiert von
                            #1038

                            @kaiman55 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

                                                                                                                                                        <xml xmlns="https://developers.google.com/blockly/xml">                                                                                                                                                                              <block type="comment" id="!5#EPV5tY!uMs.c:xRKl" x="-1487" y="-1312">                                                                                                                                                                                <field name="COMMENT">Mählanie bei Regen/Trockenheit rein und raus</field>                                                                                                                                                                                <next>                                                                                                                                                                                  <block type="on_ext" id="Ps5%H5|sm,lZR5Mx~u]2">                                                                                                                                                                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>                                                                                                                                                                                    <field name="CONDITION">ne</field>                                                                                                                                                                                    <field name="ACK_CONDITION"></field>                                                                                                                                                                                    <value name="OID0">                                                                                                                                                                                      <shadow type="field_oid" id="Fhv0CaM~0KQi1#h)-K=K">                                                                                                                                                                                        <field name="oid">netatmo.0.Wohnbereich-(Innen).Regen.Rain.SumRain1</field>                                                                                                                                                                                      </shadow>                                                                                                                                                                                    </value>                                                                                                                                                                                    <statement name="STATEMENT">                                                                                                                                                                                      <block type="comment" id="`H(zJXb|OgmoBpa=o*Id">                                                                                                                                                                                        <field name="COMMENT">Mähen fortsetzen wenn es die letzte Stunde trocken war und rausschicken</field>                                                                                                                                                                                        <next>                                                                                                                                                                                          <block type="controls_if" id="kMv#PEDhcxz[S7_+j$:A">                                                                                                                                                                                            <value name="IF0">                                                                                                                                                                                              <block type="logic_operation" id="6?)|+@t.Z7w{fL;8ODH}" inline="false">                                                                                                                                                                                                <field name="OP">AND</field>                                                                                                                                                                                                <value name="A">                                                                                                                                                                                                  <block type="logic_compare" id="{zT!Dnt-6jBo5tofA36z">                                                                                                                                                                                                    <field name="OP">EQ</field>                                                                                                                                                                                                    <value name="A">                                                                                                                                                                                                      <block type="get_value" id="yu]AGvIi!8k]4_aQmx5s">                                                                                                                                                                                                        <field name="ATTR">val</field>                                                                                                                                                                                                        <field name="OID">netatmo.0.Wohnbereich-(Innen).Regen.Rain.SumRain1</field>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </value>                                                                                                                                                                                                    <value name="B">                                                                                                                                                                                                      <block type="math_number" id="FW{XQ]B(v387y7yZ]Ovs">                                                                                                                                                                                                        <field name="NUM">0</field>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </value>                                                                                                                                                                                                  </block>                                                                                                                                                                                                </value>                                                                                                                                                                                                <value name="B">                                                                                                                                                                                                  <block type="logic_compare" id="9`D18YFlpB1ZPD^Y%c(A">                                                                                                                                                                                                    <field name="OP">EQ</field>                                                                                                                                                                                                    <value name="A">                                                                                                                                                                                                      <block type="get_value" id="(MaIwHj8ttq`64|xLZH_">                                                                                                                                                                                                        <field name="ATTR">val</field>                                                                                                                                                                                                        <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_mowing_i</field>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </value>                                                                                                                                                                                                    <value name="B">                                                                                                                                                                                                      <block type="logic_boolean" id="2nV[8E/H:+S9;jideC5}">                                                                                                                                                                                                        <field name="BOOL">FALSE</field>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </value>                                                                                                                                                                                                  </block>                                                                                                                                                                                                </value>                                                                                                                                                                                              </block>                                                                                                                                                                                            </value>                                                                                                                                                                                            <statement name="DO0">                                                                                                                                                                                              <block type="control" id="r?Ws.R4O#`(%{.]6]IEy">                                                                                                                                                                                                <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>                                                                                                                                                                                                <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_control_i</field>                                                                                                                                                                                                <field name="WITH_DELAY">FALSE</field>                                                                                                                                                                                                <value name="VALUE">                                                                                                                                                                                                  <block type="text" id=")4/Q=nS46)(.v?~gG,*T">                                                                                                                                                                                                    <field name="TEXT">START_DONT_OVERRIDE</field>                                                                                                                                                                                                  </block>                                                                                                                                                                                                </value>                                                                                                                                                                                              </block>                                                                                                                                                                                            </statement>                                                                                                                                                                                            <next>                                                                                                                                                                                              <block type="comment" id="+jz?xHrG/M|6f42myVBx">                                                                                                                                                                                                <field name="COMMENT">Mäher bei aktiven Regen beenden und in die Hütte schicken</field>                                                                                                                                                                                                <next>                                                                                                                                                                                                  <block type="controls_if" id="i|[`4tT!fw=x*8!O|*r8">                                                                                                                                                                                                    <value name="IF0">                                                                                                                                                                                                      <block type="logic_compare" id="/N]7?]TkkIuJTGg%mMn8">                                                                                                                                                                                                        <field name="OP">NEQ</field>                                                                                                                                                                                                        <value name="A">                                                                                                                                                                                                          <block type="get_value" id="Dac0C!co=@NsOer[Pvn~">                                                                                                                                                                                                            <field name="ATTR">val</field>                                                                                                                                                                                                            <field name="OID">netatmo.0.Wohnbereich-(Innen).Regen.Rain.Rain</field>                                                                                                                                                                                                          </block>                                                                                                                                                                                                        </value>                                                                                                                                                                                                        <value name="B">                                                                                                                                                                                                          <block type="math_number" id="bv[S6JBf|Tk+kbbVnSJR">                                                                                                                                                                                                            <field name="NUM">0</field>                                                                                                                                                                                                          </block>                                                                                                                                                                                                        </value>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </value>                                                                                                                                                                                                    <statement name="DO0">                                                                                                                                                                                                      <block type="control" id="358e!BIjwBL?s3R$NVKJ">                                                                                                                                                                                                        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>                                                                                                                                                                                                        <field name="OID">smartgarden.0.LOCATION_2d4c7365-2D809c-2D4c18-2D91c9-2D8362146ac8f5.DEVICE_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.SERVICE_MOWER_03630692-2Dce44-2D461e-2Daf24-2D63e5f5f5076c.activity_control_i</field>                                                                                                                                                                                                        <field name="WITH_DELAY">FALSE</field>                                                                                                                                                                                                        <value name="VALUE">                                                                                                                                                                                                          <block type="text" id="E5BZT|~^dqNWTMPBYH}a">                                                                                                                                                                                                            <field name="TEXT">PARK_UNTIL_FURTHER_NOTICE</field>                                                                                                                                                                                                          </block>                                                                                                                                                                                                        </value>                                                                                                                                                                                                      </block>                                                                                                                                                                                                    </statement>                                                                                                                                                                                                  </block>                                                                                                                                                                                                </next>                                                                                                                                                                                              </block>                                                                                                                                                                                            </next>                                                                                                                                                                                          </block>                                                                                                                                                                                        </next>                                                                                                                                                                                      </block>                                                                                                                                                                                    </statement>                                                                                                                                                                                  </block>                                                                                                                                                                                </next>                                                                                                                                                                              </block>                                                                                                                                                                            </xml>                                            
                            

                            "Mählanie"....:joy: :joy: :joy: :joy: Ich brüll mich gerade weg. Es gibt noch mehr Freaks wie ich auf diesem Planeten. :right-facing_fist: :left-facing_fist:

                            1 Antwort Letzte Antwort
                            1
                            • jpgorganizerJ jpgorganizer

                              Hallo liebe ioBroker Gemeinde,

                              da Gardena in 2019 eine Websocket Schnittstelle für die Smart Geräte wie Mähroboter, Bewässerungsanlage (smart irrigation control) veröffentlicht hat und es m.W. noch keinen Adapter dafür gibt, habe ich in den vergangenen Wochen einen Adapter dafür entwickelt.

                              Ich bitte euch nun diesen zu testen. Für Fragen, Fehler etc. bitte diesen Thread nutzen. Ich werde versuchen die Fragen zu beantworten und auch Fehler zu beheben.

                              Der Adapter liegt in github unter https://github.com/jpgorganizer/ioBroker.smartgarden.

                              Viele Grüße
                              jpgorganizer

                              S Offline
                              S Offline
                              Sleepwalker
                              schrieb am zuletzt editiert von
                              #1039

                              Moin,

                              ich bin gerade auf der Suche nach einem Mähroboter für unseren 2-zonigen Garten, ca. 500m² + 80m². Ein Punkt ist die Integration in ioBroker. Aktuell steht der Sileno Life 1000m² mit Lona auf Platz 1 meiner persönlichen Rangliste. Und da bin ich auf diesen Adapter gestroßen. Was genau mit Alexa und dem Skill machbar ist, konnte ich noch nicht herausfinden.

                              Allerdings wirkt die Entwicklung dieses Adapters eingestellt, oder täusche ich mich? Falls nicht, gibt es Alternativen?

                              Ich würde den Mäher gerne:

                              • bei Regen per ioBroker rein holen (er hat ja keinen eigenen Regensensor)
                              • manuell in eine bestimmte Zone schicken, denn die 2. Zone ist eher optional für ihn, weil direkt an der Straße mit lediglich 80cm hohem Zaun. Da möchte ich ihn nur fahren lassen, wenn ich zu Hause bin und es manuell anstoße.
                              • den Hebealarm direkt auslesen können, um darauf reagieren zu können

                              Gibt es da Möglichkeiten?

                              Danke und Gruß

                              1 Antwort Letzte Antwort
                              0
                              • StrathColeS StrathCole

                                Guten Morgen, alle zusammen.

                                Ich weiß, dass jpgorganizer gerade an den Ladezeit- und Mähprognosen arbeitet, allerdings brauchte ich für mich ein Skript, das die komplette Zeitplanung aus der Gardena-App ersetzt.

                                Da ich außerdem eine Bewässerung von Rain Bird habe, die also nicht mit diesem Adapter kombiniert werden kann, habe ich nun ein komplettes Skript geschrieben, das die Steuerung inkl. Vorhersagen usw. übernimmt. Vielleicht ist es ja für den ein oder anderen von euch als Basis interessant. Ich habe versucht, die relevanten Dinge etwas zu kommentieren.

                                Da das Skript ausschließlich mit diesem Adapter funktioniert, poste ich es mal hier im Thread und nicht separat.

                                Edit: Skript auf github ausgelagert
                                

                                Es befindet sich noch in einer sehr frühen Phase, kann also sein, dass es noch ein paar Fehler enthält. Die jeweils aktuelle Version findet ihr hier auf github: https://github.com/StrathCole/smartgarden.schedule/blob/master/sg_schedule.js
                                Dort könnt ihr auch Wünsche oder Anmerkungen/Fehler hinterlassen, damit wir diesen Thread nicht "kapern" und zumüllen.

                                So sieht meine rudimentäre Vis dazu dann aus:
                                Bildschirmfoto von 2020-04-21 09-57-18.png

                                M Offline
                                M Offline
                                michihorn
                                schrieb am zuletzt editiert von
                                #1040

                                @strathcole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

                                Guten Morgen, alle zusammen.

                                Ich weiß, dass jpgorganizer gerade an den Ladezeit- und Mähprognosen arbeitet, allerdings brauchte ich für mich ein Skript, das die komplette Zeitplanung aus der Gardena-App ersetzt.

                                Da ich außerdem eine Bewässerung von Rain Bird habe, die also nicht mit diesem Adapter kombiniert werden kann, habe ich nun ein komplettes Skript geschrieben, das die Steuerung inkl. Vorhersagen usw. übernimmt. Vielleicht ist es ja für den ein oder anderen von euch als Basis interessant. Ich habe versucht, die relevanten Dinge etwas zu kommentieren.

                                Da das Skript ausschließlich mit diesem Adapter funktioniert, poste ich es mal hier im Thread und nicht separat.

                                Edit: Skript auf github ausgelagert
                                

                                Es befindet sich noch in einer sehr frühen Phase, kann also sein, dass es noch ein paar Fehler enthält. Die jeweils aktuelle Version findet ihr hier auf github: https://github.com/StrathCole/smartgarden.schedule/blob/master/sg_schedule.js
                                Dort könnt ihr auch Wünsche oder Anmerkungen/Fehler hinterlassen, damit wir diesen Thread nicht "kapern" und zumüllen.

                                So sieht meine rudimentäre Vis dazu dann aus:
                                Bildschirmfoto von 2020-04-21 09-57-18.png

                                Hallo gibt es das Script noch irgendwo, der Github läuft auf 404
                                Gruß Michael

                                S H 2 Antworten Letzte Antwort
                                0
                                • M michihorn

                                  @strathcole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

                                  Guten Morgen, alle zusammen.

                                  Ich weiß, dass jpgorganizer gerade an den Ladezeit- und Mähprognosen arbeitet, allerdings brauchte ich für mich ein Skript, das die komplette Zeitplanung aus der Gardena-App ersetzt.

                                  Da ich außerdem eine Bewässerung von Rain Bird habe, die also nicht mit diesem Adapter kombiniert werden kann, habe ich nun ein komplettes Skript geschrieben, das die Steuerung inkl. Vorhersagen usw. übernimmt. Vielleicht ist es ja für den ein oder anderen von euch als Basis interessant. Ich habe versucht, die relevanten Dinge etwas zu kommentieren.

                                  Da das Skript ausschließlich mit diesem Adapter funktioniert, poste ich es mal hier im Thread und nicht separat.

                                  Edit: Skript auf github ausgelagert
                                  

                                  Es befindet sich noch in einer sehr frühen Phase, kann also sein, dass es noch ein paar Fehler enthält. Die jeweils aktuelle Version findet ihr hier auf github: https://github.com/StrathCole/smartgarden.schedule/blob/master/sg_schedule.js
                                  Dort könnt ihr auch Wünsche oder Anmerkungen/Fehler hinterlassen, damit wir diesen Thread nicht "kapern" und zumüllen.

                                  So sieht meine rudimentäre Vis dazu dann aus:
                                  Bildschirmfoto von 2020-04-21 09-57-18.png

                                  Hallo gibt es das Script noch irgendwo, der Github läuft auf 404
                                  Gruß Michael

                                  S Offline
                                  S Offline
                                  Sammyray
                                  schrieb am zuletzt editiert von
                                  #1041

                                  Der Adapter funktioniert nur bei Gardena smart system und kann mir nicht bei Geräten der "Gardena Bluetooth App" helfen, oder?

                                  G 1 Antwort Letzte Antwort
                                  0
                                  • S Sammyray

                                    Der Adapter funktioniert nur bei Gardena smart system und kann mir nicht bei Geräten der "Gardena Bluetooth App" helfen, oder?

                                    G Online
                                    G Online
                                    Gonzokalle
                                    schrieb am zuletzt editiert von
                                    #1042

                                    Habe gerade ein Problem, dass wahrscheinlich nichts mit dem Adapter zu tun hat. Vielleicht ist das Problem ja bekannt. Mein Mähroboter schreibt pünktlich "Unterwegs zum Startpunkt", fährt aber meistens nicht los.
                                    Erst wenn ich ihn manuell parke und wieder starte, fährt es los.

                                    1 Antwort Letzte Antwort
                                    0
                                    • M michihorn

                                      @strathcole sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

                                      Guten Morgen, alle zusammen.

                                      Ich weiß, dass jpgorganizer gerade an den Ladezeit- und Mähprognosen arbeitet, allerdings brauchte ich für mich ein Skript, das die komplette Zeitplanung aus der Gardena-App ersetzt.

                                      Da ich außerdem eine Bewässerung von Rain Bird habe, die also nicht mit diesem Adapter kombiniert werden kann, habe ich nun ein komplettes Skript geschrieben, das die Steuerung inkl. Vorhersagen usw. übernimmt. Vielleicht ist es ja für den ein oder anderen von euch als Basis interessant. Ich habe versucht, die relevanten Dinge etwas zu kommentieren.

                                      Da das Skript ausschließlich mit diesem Adapter funktioniert, poste ich es mal hier im Thread und nicht separat.

                                      Edit: Skript auf github ausgelagert
                                      

                                      Es befindet sich noch in einer sehr frühen Phase, kann also sein, dass es noch ein paar Fehler enthält. Die jeweils aktuelle Version findet ihr hier auf github: https://github.com/StrathCole/smartgarden.schedule/blob/master/sg_schedule.js
                                      Dort könnt ihr auch Wünsche oder Anmerkungen/Fehler hinterlassen, damit wir diesen Thread nicht "kapern" und zumüllen.

                                      So sieht meine rudimentäre Vis dazu dann aus:
                                      Bildschirmfoto von 2020-04-21 09-57-18.png

                                      Hallo gibt es das Script noch irgendwo, der Github läuft auf 404
                                      Gruß Michael

                                      H Offline
                                      H Offline
                                      higginsd
                                      schrieb am zuletzt editiert von
                                      #1043

                                      @michihorn

                                      Ja, bei mir auch. Leider, denn das JS interessiert mich auch, da ich gerade etwas Ähnliches entwickle.

                                      M 1 Antwort Letzte Antwort
                                      0
                                      • H higginsd

                                        @michihorn

                                        Ja, bei mir auch. Leider, denn das JS interessiert mich auch, da ich gerade etwas Ähnliches entwickle.

                                        M Offline
                                        M Offline
                                        michihorn
                                        schrieb am zuletzt editiert von michihorn
                                        #1044

                                        @higginsd
                                        Ich habe das so gelöst:
                                        Grundsätzlich soll der Mäher automatisch arbeiten, ausser bei Regen, dann startet er nicht.
                                        Anbei ein Bild der manuell angelegten DP
                                        bild2.png
                                        Meine Entwicklung beinhaltet 5 Scripte.

                                        1. Startet meinen Mäher (Cordula)
                                        2. Berechnet die Laufzeit
                                        3. Löscht den letzten Tag
                                        4. Status des Mäher inkl. Whatsapp Versand
                                        5. Abbruch des Mähens bei Regen
                                          bild1.png
                                        Script1:
                                        [s=]
                                         /*****Steuerung Gardena **************************************
                                        * April 2024
                                        * Adapter: Smartgarden
                                        * 
                                        * geä:
                                        **************************************************************/
                                        
                                        const idgo_SO = "0_userdata.0.Garten.Rasen.Cordula.SO.Moving"
                                        const idgo_MO = "0_userdata.0.Garten.Rasen.Cordula.MO.Moving"
                                        const idgo_DI = "0_userdata.0.Garten.Rasen.Cordula.Di.Moving"
                                        const idgo_MI = "0_userdata.0.Garten.Rasen.Cordula.MI.Moving"
                                        const idgo_DO = "0_userdata.0.Garten.Rasen.Cordula.DO.Moving"
                                        const idgo_FR = "0_userdata.0.Garten.Rasen.Cordula.FR.Moving"
                                        const idgo_SA = "0_userdata.0.Garten.Rasen.Cordula.SA.Moving"
                                        
                                        const idmt_SO = "0_userdata.0.Garten.Rasen.Cordula.SO.MovingTime"
                                        const idmt_MO = "0_userdata.0.Garten.Rasen.Cordula.MO.MovingTime"
                                        const idmt_DI = "0_userdata.0.Garten.Rasen.Cordula.Di.MovingTime"
                                        const idmt_MI = "0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime"
                                        const idmt_DO = "0_userdata.0.Garten.Rasen.Cordula.DO.MovingTime"
                                        const idmt_FR = "0_userdata.0.Garten.Rasen.Cordula.FR.MovingTime"
                                        const idmt_SA = "0_userdata.0.Garten.Rasen.Cordula.SA.MovingTime"
                                        
                                        const id_Go = "smartgarden.0.LOCATION_xxxxx0-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_control_i"
                                        
                                        schedule("*/1 * * * *", function (dp) {
                                            var d = new Date();
                                            var day = d.getDay();
                                            if ((getState("0_userdata.0.Garten.Rasen.Cordula.MoHand").val == true) && (getState("mqtt.1.shellies.Regensensor_CAS.input.1").val == 1)) {
                                                log("Tag: " + day)
                                                switch (day) {
                                                    case 0:
                                                        if (getState(idgo_SO).val == true) {
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.SO.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 0', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.SO.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.SO.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 1:
                                                        if (getState(idgo_MO).val == true) {
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.MO.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 1', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.MO.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.MO.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 2:
                                                        if (getState("0_userdata.0.Garten.Rasen.Cordula.Di.Moving").val == true) {  //Schiebeschalter
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.Di.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 2', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.Di.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.Di.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 3:
                                                        if (getState("0_userdata.0.Garten.Rasen.Cordula.MI.Moving").val == true) {  //Schiebeschalter
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.MI.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 3', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.MI.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 4:
                                                        if (getState(idgo_DO).val == true) {
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.DO.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 4', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.DO.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.DO.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 5:
                                                        if (getState("0_userdata.0.Garten.Rasen.Cordula.FR.Moving").val == true) {  //Schiebeschalter
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.FR.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 5', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.FR.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.FR.Run", true)
                                                            });
                                                        }
                                                        break;
                                                    case 6:
                                                        if (getState(idgo_SA).val == true) {
                                                            var schedStart = null;
                                                            var start = getState("0_userdata.0.Garten.Rasen.Cordula.SA.Von").val.split(':');
                                                            schedStart = schedule(start[1] + ' ' + start[0] + ' * * 6', function () {
                                                                var merker = getState("0_userdata.0.Garten.Rasen.Cordula.SA.MovingTime").val
                                                                if (merker = 1) {
                                                                    setState(id_Go, 3600);
                                                                } else if (merker = 2) {
                                                                    setState(id_Go, 7200);
                                                                }
                                                                setState("0_userdata.0.Garten.Rasen.Cordula.SA.Run", true)
                                                            });
                                                        }
                                                        break;
                                                }
                                            }
                                        });
                                        
                                        [/s]
                                        
                                        Script2: (ist noch nicht zu Ende gedacht...)
                                        [s=]
                                         /*****Laufzeit Gardena Mover *******************************************
                                        * April 2024
                                        * Adapter: Smartgarden
                                        * 
                                        * geä:08.05.24
                                        *************************************************************************/
                                        const id_CT = "smartgarden.0.LOCATION_xxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_COMMON_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.batteryState_chargingTime_remain_i"
                                        const id_Status = "0_userdata.0.Garten.Rasen.StatusNr"
                                        const id_MT = "0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime"
                                        const ids = $('0_userdata.0.Garten.Rasen.Cordula.*.Run');
                                        const id_mt = "0_userdata.0.Garten.Rasen.Cordula.MT"
                                        
                                        on({ id: id_CT, change: "any" }, function (dp) {
                                            var LZ = (dp.state.val / 60).toFixed(0)
                                            setState("0_userdata.0.Garten.Rasen.Restladezeit", LZ)
                                        });
                                        
                                        schedule("*/1 * * * *", function () {
                                            if (getState("0_userdata.0.Garten.Rasen.StatusNr").val == 1) {
                                                ids.each(function (id, i) {
                                                    if (getState(id).val == true)
                                                        setState("0_userdata.0.Garten.Rasen.Cordula.Aktuell", id)
                                                });
                                                var mt = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
                                                mt = mt.split('.');
                                                mt = mt[0] + '.' + mt[1] + '.' + mt[2] + '.' + mt[3] + '.' + mt[4] + '.' + mt[5]+ ".MovingTime";
                                                log(getState(mt).val)
                                                var str = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
                                                setState("0_userdata.0.Garten.Rasen.Cordula.Aktuell", str.replace("Run", 'Von'))
                                                var aktuell = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
                                                var start = getState(aktuell).val.split(':');
                                                var A_time = 60 * (parseInt(start[0]) + getState(mt).val) + parseInt(start[1]);
                                                let h = Math.floor((A_time - (60 * new Date().getHours() + new Date().getMinutes())) / 60);
                                                let m = (A_time - (60 * new Date().getHours() + new Date().getMinutes())) - h * 60;
                                                log((('00' + h).slice(-2) + ":" + ('00' + m).slice(-2)))
                                                setState("0_userdata.0.Garten.Rasen.Cordula.R_Laufzeit", (('00' + h).slice(-2) + ":" + ('00' + m).slice(-2)))
                                            }
                                        });
                                        [/s]
                                        
                                        Script3:
                                        [s=]
                                         const ids = $('0_userdata.0.Garten.Rasen.Cordula.*.Run');
                                        //schedule("*/1 * * * *", function () {
                                            on({ time: { hour: 23, minute: 59 } }, function () {
                                            ids.each(function (id, i) {
                                                if (getState(id).val == true) 
                                                setState(id,false)
                                            });
                                        });
                                        [/s]
                                        Script4:
                                        /*****Status Gardena *******************************************
                                        * April 2024
                                        * Adapter: Smartgarden
                                        * 
                                        * geä:
                                        ****************************************************************/
                                        
                                        //const MOWER_STATE_TEXTS = {
                                        //'PAUSED': 'Pausiert',
                                        //'OK_CUTTING': 'Mähen (Timer)',
                                        //'OK_CUTTING_TIMER_OVERRIDDEN': 'Mähen manuell gestartet',
                                        //'OK_SEARCHING': 'Unterwegs zur Station',
                                        //'OK_LEAVING': 'Unterwegs zum Startpunkt',
                                        //'OK_CHARGING': 'Aufladen',
                                        //'PARKED_TIMER': 'Geparkt (Timer)',
                                        //'PARKED_PARK_SELECTED': 'Geparkt',
                                        //'PARKED_AUTOTIMER': 'Geparkt (Timer)',
                                        //'NONE': 'Unbekannt (Fehler)',
                                        //'UNKNOWN': 'Unbekannt'
                                        //};
                                        
                                        
                                        const id_info = "0_userdata.0.Garten.Rasen.Status" //Deutsche Beschreibung
                                        const id_error = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.lastErrorCode_value"
                                        const id_Status = "smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_value"
                                        const id_regen = "mqtt.1.shellies.Regensensor_CAS.input.1"
                                        const id_statusnr = "0_userdata.0.Garten.Rasen.StatusNr"
                                        var text
                                        on({ id: id_Status, change: 'ne' }, function (dp) {
                                            log(dp.state.val)
                                            switch (dp.state.val) {
                                                case 'PAUSED':
                                                    setState(id_info, "Pause")
                                                    setState(id_statusnr, 3)
                                                    break;
                                                case 'OK_CUTTING':
                                                    setState(id_info, "Mähen nach Timer")
                                                    setState(id_statusnr, 1)
                                                    text = "\ud83c\udf33 Mäher gestartet"
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253938149' });
                                                    break;
                                                case 'OK_CUTTING_TIMER_OVERRIDDEN':
                                                    setState(id_info, "Mähen manuell gestartet")
                                                    setState(id_statusnr, 1)
                                                    text = "\ud83c\udf33 Mäher gestartet"
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+49152539xxxx49' });
                                                    break;
                                                case 'OK_SEARCHING':
                                                    setState(id_info, "Unterwegs zur Ladestation")
                                                    setState(id_statusnr, 2)
                                                    break;
                                                case 'OK_LEAVING':
                                                    setState(id_info, "Verlässt Ladestation")
                                                    setState(id_statusnr, 1)
                                                    break;
                                                case 'OK_CHARGING':
                                                    setState(id_info, "Wird in Ladestation geladen")
                                                    setState(id_statusnr, 2)
                                                    text = "\ud83c\udd7f\ufe0f Mäher laden"
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253xxx49' });
                                                    break;
                                                case 'PARKED_TIMER':
                                                    setState(id_info, "Automatisch geparkt")
                                                    setState(id_statusnr, 3)
                                                    text = "\ud83c\udd7f\ufe0f Mäher geparkt"
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253xxxx9' });
                                                    break;
                                                case 'PARKED_PARK_SELECTED':
                                                    setState(id_info, "Geparkt")
                                                    setState(id_statusnr, 3)
                                                    text = "\ud83c\udd7f\ufe0f Mäher geparkt"
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+49152539xxxx9' });
                                                    break;
                                                case 'PARKED_AUTOTIMER':
                                                    setState(id_info, "Geparkt per Timer")
                                                    setState(id_statusnr, 3)
                                                    break;
                                                case 'NONE':
                                                    setState(id_info, "Fertig")
                                                    setState(id_statusnr, 3)
                                                    break;
                                                case 'UNKNOWN':
                                                    setState(id_info, "Unbekannt")
                                                    setState(id_statusnr, 4)
                                                    break;
                                            }
                                        });
                                        
                                        on({ id: id_error, change: 'ne' }, function (dp) {
                                            text = "\u2757 Fehlermeldung"
                                            sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+491525393xxxx' });
                                            setState(id_statusnr, 4)
                                        });
                                        
                                        Script5:
                                        /*****Cordula Steuerung in Abhängigkeit von Regen ***************************************************************
                                        **    Juli 2021
                                        **    Smartgarden
                                        **    Gardena 
                                        **    erstellt: 10.08.21
                                        **    geändert: 30.09.21, 03.10.21, 02.06.22, 25.08.23
                                        *****************************************************************************************************************/
                                        
                                        const idsperre = "0_userdata.0.Garten.Rasen.sperre"
                                        const idRegen = 'mqtt.1.shellies.shellyuni-34945478EBFD.input.1';
                                        const idWorking = 'smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowing_i';
                                        const idStatus = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_value" //STATUS des Mähers
                                        const idParken = 'smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_control_i';
                                        const idLZ = "smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowingTime_remain_i"
                                        var text
                                        
                                        
                                        
                                        on({ id: idRegen, change: "any" }, async function (obj) {
                                            let status = getState(idStatus).val;
                                            log("Regen: " + obj.state.val);
                                            // Mäher bei aktiven Regen beenden und in die Hütte schicken
                                            if (obj.state.val == 0 && getState(idsperre).val == false) {
                                                setState(idsperre, true)
                                                if ((status == 'OK_CUTTING') || (status == 'OK_CUTTING_TIMER_OVERRIDDEN') || (status == 'OK_LEAVING') || (status == 'PAUSED')) {
                                                    setState(idParken, 0);
                                                    log("Mähen abbrechen");
                                                    text = '\u2602\ufe0f' + "Rasenmähen wird wegen Regen abgebrochen";
                                                    createEventlog("Rasenmäher", text);
                                                    setState("0_userdata.0.Events.CAS_Status", text)
                                                    sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+491525393xxxxx' });
                                                }
                                            }
                                        });
                                        
                                        
                                        // Mäher bei aktiven Regen in der Hütte lassen
                                        on({ id: idRegen, change: "ne" }, async function (obj) {
                                            if ((obj.state.val) == true) {
                                                setState(idParken, 0);
                                            }
                                        });
                                        1 Antwort Letzte Antwort
                                        0
                                        • FenriswolfF Offline
                                          FenriswolfF Offline
                                          Fenriswolf
                                          schrieb am zuletzt editiert von
                                          #1045

                                          Guten Abend,

                                          heute melde ich mich auch mal wieder zu Wort.

                                          Heute morgen hat die Bewässerung noch tadellos funktioniert, aber am heutigen Abend hatte ich mit mal wieder folgende Meldungen im Log:

                                          2024-05-13 20:27:44.717 - error: smartgarden.0 (99910) Error: request returned 429
                                          2024-05-13 20:29:50.679 - warn: admin.0 (99246) smartgarden has an invalid jsonConfig: [{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"visible"},"message":"must NOT have additional properties"},{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/patternProperties/%5E.%2B/allOf/21/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/tab-main","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
                                          2024-05-13 20:30:56.364 - error: smartgarden.0 (99940) Error: request returned 429
                                          

                                          Die Admin-Meldung verstehe ich leider nicht ganz, da ich mich gar nicht mehr über Username und Password authentifiziere, sondern über application key.

                                          Geht es anderen momentan ähnlich ?

                                          mfg
                                          Marc

                                          Press any key to continue or any other to quit

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          814

                                          Online

                                          32.4k

                                          Benutzer

                                          81.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