Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Gardena API

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Hilfe bei Gardena API

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active last edited by

      @intruder7
      Dann bin ich leider auch raus...

      1 Reply Last reply Reply Quote 0
      • I
        intruder7 @jpgorganizer last edited by

        @jpgorganizer
        das dachte ich mir schon. aber vielleicht kannst du mir sagen wie ich aus meinem skript (siehe weiter oben) das token weiterverarbeiten kann.

        @dslraser danke dir

        jpgorganizer dslraser 2 Replies Last reply Reply Quote 0
        • jpgorganizer
          jpgorganizer @intruder7 last edited by

          @intruder7 sagte in Hilfe bei Gardena API:

          @jpgorganizer
          das dachte ich mir schon. aber vielleicht kannst du mir sagen wie ich aus meinem skript (siehe weiter oben) das token weiterverarbeiten kann. Und du musst aufpassen, die Token haben eine begrenzte Lebenszeit, dann musst du erneuern.

          das Token wirst du in jedem weiteren Aufruf der API brauchen. Da hat es doch Beispiele.
          https://developer.1689.cloud/apis/Automower+Connect+API#/readme

          Ich kann nur empfehlen, erst mal mit einem einfachen Script anzufangen. Nix mit ioBroker oder so. Nur ein Script, evtl. noch nodejs, das muss erst mal laufen, dann kannst du beginnen in ioBroker zu integrieren. Dann weist du nämlich, was geht und was nicht geht. So suchst du dich zu Tode.

          VG
          jpgorganizer

          1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @intruder7 last edited by

            @intruder7

            ich bin damals (mit Hilfe von @J-A-R-V-I-S) bis hier hin gekommen

            const request = require('request');
            
            const username = 'xxx.xxx@xxx.de';
            const password = 'xxxxxxxxxxxx';
            const appKey   = 'xxxxxxxxxxxxxxxxxxxxxx';
            
            const token = 'xxxxxxxxxxxxxxxxxxxxxx';
            const user_id = 'xxxxxxxxxxxxxxxxxxxxxx';
            const refresh_token = 'xxxxxxxxxxxxxxxxxxxxxx;
            
            const options = {
               url: 'https://sg-api.dss.husqvarnagroup.net/sg-1/sessions',
               method: 'POST',
               headers: {
                   'Content-Type': 'application/json'
               },
               body: JSON.stringify({
                   'sessions': {
                       'email': username,
                       'password': password
                   }
               })
            }
            
            //Locations abrufen
            request({
               url: 'https://sg-api.dss.husqvarnagroup.net/sg-1/locations/?user_id=' + user_id,
               method: 'GET',
               headers: {
                   'Content-Type': 'application/json',
                   'X-Session': token
               },
            }, (err, res, body) => {
               console.log(body);
            })
            
            //Devices abrufen
            request({
               url: 'https://sg-api.dss.husqvarnagroup.net/sg-1/devices/?locationId=' + 'xxxxxxxxxxxxxxxxxxxxxx',
               method: 'GET',
               headers: {
                   'Content-Type': 'application/json',
                   'X-Session': token
               }
            }, (err, res, body) => {
               console.log(body);
            })
            
            //Befehl an Device senden
            request({
               url: 'https://sg-api.dss.husqvarnagroup.net/sg-1/devices/' + 'xxxxxxxxxxxxxxxx' + 
                   '/abilities/valve/command?locationId=' + 'xxxxxxxxxxxxxxxx',
               method: 'PUT',
               headers: {
                   'Content-Type': 'application/json',
                   'X-Session': token
               },
               body: JSON.stringify({
                   'name': 'stop_until_next_task'
               })
            }, (err, res, body) => {
               console.log(body);
            })
            
            request(options, (err, res, body) => {
               console.log(res);
            });
            
            /*const options = {
               url: 'https://api.authentication.husqvarnagroup.dev/v1/oauth2/token',
               method: 'POST',
               headers: {
                   'Content-Type': 'application/x-www-form-urlencoded'
               },
               form: {
                   grant_type: 'password',
                   client_id: appKey,
                   username: username,
                   password: password
               }
            }
            
            request(options, (err, response, body) => {
            
               body = JSON.parse(body);
            
               console.log(body.access_token);
            
               const options2 = {
                   url: 'https://sg-api.dss.husqvarnagroup.net/sg-1/locations',
                   method: 'GET',
                   headers: {
                       'Authorization': 'Bearer ' + body.access_token,
                       'Authorization-Provider': 'husqvarna',
                       'X-Api-Key': appKey,
                       'Content-Type': 'application/vnd.api+json'
                   }
               }
            
               request(options2, (error, response, body) => {
                   console.log(body);
                   console.log(response);
               });
            });*/
            
            

            I 1 Reply Last reply Reply Quote 0
            • I
              intruder7 @dslraser last edited by

              @dslraser @jpgorganizer

              danke euch.... bin jetzt tatsächlich schon soweit, dass ich die Mäherdaten auslesen kann. jetzt muss ich sie nur strukturiert ablegen.

              1 Reply Last reply Reply Quote 1
              • Jörg Benthien
                Jörg Benthien last edited by Jörg Benthien

                Hi,

                zuerst: Ich bin komplett neu in dem Thema ioBroker und nodered.

                Aktuell versuche ich mit dem Adapter Zugriff auf meinen Mäher zu bekommen, dies scheitert aber, der Status der Instanz smartgarden bleibt bei gelb stehen:

                Verbunden mit Host: Wahr
                Lebenszeichen: Wahr
                Verbunden mit smartgarden: Falsch

                Im Log habe ich noch folgenden Eintrag gefunden:

                (22651) 3/ Connection failure.{"error":"invalid_request","error_description":"Invalid parameter: client_id"}

                Auf der Einstellungsseite der Instanz habe ich die Zugangsdaten mehrfach überprüft und auch mehrfach den API-Key neu generiert und eingetragen.

                Hat jemand eine Idee?

                Danke

                jpgorganizer 1 Reply Last reply Reply Quote 0
                • jpgorganizer
                  jpgorganizer @Jörg Benthien last edited by

                  @Jörg-Benthien sagte in Hilfe bei Gardena API:

                  Im Log habe ich noch folgenden Eintrag gefunden:

                  (22651) 3/ Connection failure.{"error":"invalid_request","error_description":"Invalid parameter: client_id"}

                  Auf der Einstellungsseite der Instanz habe ich die Zugangsdaten mehrfach überprüft und auch mehrfach den API-Key neu generiert und eingetragen.

                  Gib mal bitte etwas mehr vom Logfile; interessant ist meistens das was vor einem Fehler geschieht. Der Fehler weist für mich auf den API-Key. Vergleich den mal.

                  VG jpgorganizer

                  Jörg Benthien 1 Reply Last reply Reply Quote 0
                  • Jörg Benthien
                    Jörg Benthien @jpgorganizer last edited by

                    @jpgorganizer

                    Hi,

                    danke für die Hilfe!

                    Hier die Einträger aus dem Log nachdem ich die Instanz versucht habe neu zu starten:

                    smartgarden.0 2020-10-03 18:53:18.140 info (22027) 3/ ---> State change by device
                    smartgarden.0 2020-10-03 18:53:18.139 info (22027) 3/ state smartgarden.0.info.connection changed: false (ack = true)
                    smartgarden.0 2020-10-03 18:53:18.137 info (22027) 3/ ---> State change by device
                    smartgarden.0 2020-10-03 18:53:18.137 info (22027) 3/ state smartgarden.0.info.connection changed: false (ack = true)
                    smartgarden.0 2020-10-03 18:53:18.129 error (22027) Error: 400
                    smartgarden.0 2020-10-03 18:53:18.128 info (22027) 3/ Connection failure.{"error":"invalid_request","error_description":"Invalid parameter: client_id"}
                    smartgarden.0 2020-10-03 18:53:18.128 info (22027) 3/ sgSetState: info.connection value=false ack=true
                    smartgarden.0 2020-10-03 18:53:17.880 info (22027) 3/ ---> State change by device
                    smartgarden.0 2020-10-03 18:53:17.880 info (22027) 3/ state smartgarden.0.info.revision changed: Main: 2160 / API: 2250 (ack = true)
                    smartgarden.0 2020-10-03 18:53:17.877 info (22027) 3/ ---> State change by device
                    smartgarden.0 2020-10-03 18:53:17.876 info (22027) 3/ state smartgarden.0.info.connection changed: false (ack = true)
                    smartgarden.0 2020-10-03 18:53:17.787 info (22027) 3/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev/v1 authentication_host: https://api.authentication.husqvarnagroup.dev
                    smartgarden.0 2020-10-03 18:53:17.784 info (22027) 3/ sgSetState: info.revision value=Main: 2160 / API: 2250 ack=true
                    smartgarden.0 2020-10-03 18:53:17.718 info (22027) starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.smartgarden, node: v10.22.1, js-controller: 3.1.6
                    host.raspberrypi 2020-10-03 18:53:15.765 info instance system.adapter.smartgarden.0 started with pid 22027
                    host.raspberrypi 2020-10-03 18:53:15.734 info "system.adapter.smartgarden.0" enabled

                    Ich habe mehrfach den API-Key kopiert und eingefügt. Mir ist allerdings nicht ganz klar was mit dem Application secret auf sich hat.

                    Verbunden sind die Gardena smart system API und Authentication API.

                    Danke
                    Jörg

                    jpgorganizer 1 Reply Last reply Reply Quote 0
                    • jpgorganizer
                      jpgorganizer @Jörg Benthien last edited by

                      wie schon geschrieben, irgendwas an deinem APIkey scheint falsch zu sein.

                      @Jörg-Benthien sagte in Hilfe bei Gardena API:

                      Mir ist allerdings nicht ganz klar was mit dem Application secret auf sich hat.

                      was meinst du damit ????? was hast du nicht verstanden?

                      Jörg Benthien 1 Reply Last reply Reply Quote 0
                      • Jörg Benthien
                        Jörg Benthien @jpgorganizer last edited by

                        @jpgorganizer
                        Naja, im Adapter wird nur die Application API eingetragen, aber nicht die Application Secret...

                        jpgorganizer 1 Reply Last reply Reply Quote 0
                        • jpgorganizer
                          jpgorganizer @Jörg Benthien last edited by jpgorganizer

                          @Jörg-Benthien sagte in Hilfe bei Gardena API:

                          @jpgorganizer
                          Naja, im Adapter wird nur die Application API eingetragen, aber nicht die Application Secret...

                          und warum sollte es? Wie kommst du da drauf? Du sprichst in Rätseln ....

                          Jörg Benthien 1 Reply Last reply Reply Quote 0
                          • Jörg Benthien
                            Jörg Benthien @jpgorganizer last edited by

                            @jpgorganizer
                            ja, wie gesagt: Ich bin Anfänger auf dem Gebiet 😉

                            Also: Wenn meine Zugangsdaten von Gardena (Username, Passwort und API-Key) ausreichen damit der Adapter sich verbinden kann, ist ja alles gut. Wofür dann das Secret da ist verstehe ich zwar nicht, ist dann aber auch nicht wichtig für mich.

                            Da ich aber Probleme habe den Adapter zum laufen zu bringen dachte ich, das könnte wichtig sein.

                            Ich habe nun den API-Key nochmals auf der Seite von Gardena bzw. Husquana erneuert und eingetragen, hilft aber nicht. Ich denke ich übersehe da irgendwas, weis aber nicht wo ich suchen soll.

                            Gruß
                            Jörg

                            jpgorganizer 1 Reply Last reply Reply Quote 0
                            • jpgorganizer
                              jpgorganizer @Jörg Benthien last edited by

                              @Jörg-Benthien
                              woher hast du das Application Secret?

                              jpgorganizer 1 Reply Last reply Reply Quote 0
                              • jpgorganizer
                                jpgorganizer @jpgorganizer last edited by jpgorganizer

                                @Jörg-Benthien
                                ich habe mir gerade dein Log nochmals angeschaut. Wo kommt der rot eingekreiste Wert her? Der Default ist ein anderer und ich glaube auch nicht, dass der hier eingetragene Wert funktioniert

                                ca2994ba-8701-407f-a201-0659d1f3d455-grafik.png

                                Der Default-Wert ist

                                Base-URL: Webservice Basis-URL: https://api.smart.gardena.dev

                                Findest du in der Konfig des Adapters - das hast du dort bestimmt mal geändert.

                                Jörg Benthien 2 Replies Last reply Reply Quote 0
                                • Jörg Benthien
                                  Jörg Benthien @jpgorganizer last edited by

                                  @jpgorganizer said in Hilfe bei Gardena API:

                                  https://api.smart.gardena.dev

                                  Hi,

                                  ja, stimmt. Ich hatte das hier gefunden:

                                  d845c46d-2744-4094-9650-d7b71a73ab90-grafik.png

                                  Ich habe das jetzt wieder zurückgedreht, leider ohne Wirkung 😞

                                  1 Reply Last reply Reply Quote 0
                                  • Jörg Benthien
                                    Jörg Benthien @jpgorganizer last edited by

                                    @jpgorganizer
                                    Problem gelöst!

                                    Das von mir gewählte Passwort war offensichtlich zu komplex! Ich habe nun ein kurzes, einfaches gewählt, damit funktioniert es! Ich werde mich nun mal langsam herantasten, wie komplex und lang das Passwort für den Adapter sein darf.

                                    Besten Dank auf jeden Fall für die Unterstützung bis dahin.

                                    Gruß
                                    Jörg

                                    jpgorganizer 1 Reply Last reply Reply Quote 0
                                    • jpgorganizer
                                      jpgorganizer @Jörg Benthien last edited by

                                      @Jörg-Benthien sagte in Hilfe bei Gardena API:

                                      Das von mir gewählte Passwort war offensichtlich zu komplex!

                                      Gut dass du die Ursache gefunden hast.
                                      Du hast bestimmt Sonderzeichen im Passwort - besondere Sonderzeichen? also irgendwas abseits von den typischen -_?$§!*+#&/\

                                      Mach mal ein kurzes Passwort mit allen deinen Sonderzeichen und schau mal ob das geht. Das würde mich interessieren. Und bitte geb uns Bescheid, wenn du es rausgefunden hast.

                                      VG jpgorganizer

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      647
                                      Online

                                      31.6k
                                      Users

                                      79.6k
                                      Topics

                                      1.3m
                                      Posts

                                      javascript
                                      6
                                      59
                                      6696
                                      Loading More Posts
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                      The ioBroker Community 2014-2023
                                      logo