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. Skripten / Logik
  4. JavaScript
  5. Hilfe bei Gardena API

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

Hilfe bei Gardena API

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
59 Beiträge 6 Kommentatoren 10.6k Aufrufe 6 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.
  • dslraserD Offline
    dslraserD Offline
    dslraser
    Forum Testing Most Active
    schrieb am zuletzt editiert von dslraser
    #31

    @Jey-Cee
    @J-A-R-V-I-S

    Hier noch bissl als Erklärung:

    Es ist etwas umständlicher als gedacht. Damit ich überhaupt etwas ausprobieren konnte, mußte ich erstmal die Ventile provisorisch wieder an klemmen, die sind über den Winter ausgebaut. Die sind normaler Weise draußen im Garten, nun provisorisch im Keller, sonst waren die Ventile auch in der Gardena App alle aus gegraut. Noch dazu kommt, das man immer zum einschalten zwei Datenpunkte setzen muß (duration --- die Zeit und von idl auf manuell umschalten) anschließend noch über einen dritten Datenpunkt starten (ein Button). Ausschalten dann mit idl und wieder den Button betätigen. Es ist also nicht nur an/aus, sondern man muß immer eine Laufzeit mitgeben. Außerdem ist es auf 2 Ventile gleichzeitig begrenzt. Will mann, wenn schon zwei Ventile aktiv sind, ein drittes Ventil dazu schalten, dann kommt eine Fehlermeldung in der App, das nur zwei gleichzeitig gehen. Auch die Laufzeit der Bewässerung ist auf 59 Minuten begrenzt, setzt man eine größere Zahl per Blockly/Script, passiert gar nichts, nichtmal eine Fehlermeldung.

    Vermutlich braucht man auch alle diese Datenpunkte im Script, was es dann auch nicht leichter macht als im Adapter, deshalb werde ich erstmal beim Adapter bleiben.

    Hier mal so ein Datenpunkt vom Adapter (bis man in dem was findet....)
    Bildschirmfoto 2020-01-14 um 18.07.57.png

    Mein Blockly zum schalten über iQontrol (oder auch VIS) überarbeite ich gerade und stelle es dann gern noch hier rein.

    I 1 Antwort Letzte Antwort
    0
    • dslraserD dslraser

      @Jey-Cee
      @J-A-R-V-I-S

      Hier noch bissl als Erklärung:

      Es ist etwas umständlicher als gedacht. Damit ich überhaupt etwas ausprobieren konnte, mußte ich erstmal die Ventile provisorisch wieder an klemmen, die sind über den Winter ausgebaut. Die sind normaler Weise draußen im Garten, nun provisorisch im Keller, sonst waren die Ventile auch in der Gardena App alle aus gegraut. Noch dazu kommt, das man immer zum einschalten zwei Datenpunkte setzen muß (duration --- die Zeit und von idl auf manuell umschalten) anschließend noch über einen dritten Datenpunkt starten (ein Button). Ausschalten dann mit idl und wieder den Button betätigen. Es ist also nicht nur an/aus, sondern man muß immer eine Laufzeit mitgeben. Außerdem ist es auf 2 Ventile gleichzeitig begrenzt. Will mann, wenn schon zwei Ventile aktiv sind, ein drittes Ventil dazu schalten, dann kommt eine Fehlermeldung in der App, das nur zwei gleichzeitig gehen. Auch die Laufzeit der Bewässerung ist auf 59 Minuten begrenzt, setzt man eine größere Zahl per Blockly/Script, passiert gar nichts, nichtmal eine Fehlermeldung.

      Vermutlich braucht man auch alle diese Datenpunkte im Script, was es dann auch nicht leichter macht als im Adapter, deshalb werde ich erstmal beim Adapter bleiben.

      Hier mal so ein Datenpunkt vom Adapter (bis man in dem was findet....)
      Bildschirmfoto 2020-01-14 um 18.07.57.png

      Mein Blockly zum schalten über iQontrol (oder auch VIS) überarbeite ich gerade und stelle es dann gern noch hier rein.

      I Offline
      I Offline
      intruder7
      schrieb am zuletzt editiert von intruder7
      #32

      @J-A-R-V-I-S
      @dslraser
      Moin, ich habe das Thema mal aufgegriffen. Gleich vorweg.... Ich bin absolut nicht fit in Javascript. Es ist mehr so try and error . Deswegen komme ich auch nicht weiter und hoffe vielleicht etwas Hilfe zu bekommen.
      Hier mein Skript um ein Token zu erhalten. Die Logs geben innerhalb des Reqest den Token aus (Token1) aber ich schaffe es nicht den Token am Ende der Var token2 zu übergeben. wie bekomme ich am besten den ganzen body aus dem request heraus?

      Viele Grüße

      const request = require('request');
      const URLSearchParams = require('url');
      
      var temp1 = ""
      
      function login() {
          let params = "client_id=xxxxxx-6ffe-xxxx-87cd-7ea8xxxxxxx&grant_type=password&username=xxxxxxx%40xxx.xxx&password=xxxxxxxx"
          const options = {
              url: 'https://api.authentication.husqvarnagroup.dev/v1/oauth2/token',
              method: 'POST',
              headers: {
                  'Content-Type': 'application/x-www-form-urlencoded',
                  'accept': 'application/json'
              },
              body: params
          }
      
          request(options, (err, response, body) => {
              log('body: ' + JSON.stringify(body));
              const obj = JSON.parse(body);
              let token = obj.access_token;
              log('Token1: ' + obj.access_token);
          });
      }
      let token2 = login();
      log('token2: ' + token2)
      
      dslraserD 1 Antwort Letzte Antwort
      0
      • I intruder7

        @J-A-R-V-I-S
        @dslraser
        Moin, ich habe das Thema mal aufgegriffen. Gleich vorweg.... Ich bin absolut nicht fit in Javascript. Es ist mehr so try and error . Deswegen komme ich auch nicht weiter und hoffe vielleicht etwas Hilfe zu bekommen.
        Hier mein Skript um ein Token zu erhalten. Die Logs geben innerhalb des Reqest den Token aus (Token1) aber ich schaffe es nicht den Token am Ende der Var token2 zu übergeben. wie bekomme ich am besten den ganzen body aus dem request heraus?

        Viele Grüße

        const request = require('request');
        const URLSearchParams = require('url');
        
        var temp1 = ""
        
        function login() {
            let params = "client_id=xxxxxx-6ffe-xxxx-87cd-7ea8xxxxxxx&grant_type=password&username=xxxxxxx%40xxx.xxx&password=xxxxxxxx"
            const options = {
                url: 'https://api.authentication.husqvarnagroup.dev/v1/oauth2/token',
                method: 'POST',
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded',
                    'accept': 'application/json'
                },
                body: params
            }
        
            request(options, (err, response, body) => {
                log('body: ' + JSON.stringify(body));
                const obj = JSON.parse(body);
                let token = obj.access_token;
                log('Token1: ' + obj.access_token);
            });
        }
        let token2 = login();
        log('token2: ' + token2)
        
        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #33

        @intruder7
        Es gibt jetzt einen Adapter. Schon gesehen, oder soll es ein Script sein ?

        https://forum.iobroker.net/post/395536

        I 1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @intruder7
          Es gibt jetzt einen Adapter. Schon gesehen, oder soll es ein Script sein ?

          https://forum.iobroker.net/post/395536

          I Offline
          I Offline
          intruder7
          schrieb am zuletzt editiert von
          #34

          @dslraser
          den hab ich schon gesehen.... nur leider ist er nicht für husqvarna:disappointed:

          dslraserD 1 Antwort Letzte Antwort
          0
          • I intruder7

            @dslraser
            den hab ich schon gesehen.... nur leider ist er nicht für husqvarna:disappointed:

            dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #35

            @intruder7 sagte in Hilfe bei Gardena API:

            @dslraser
            den hab ich schon gesehen.... nur leider ist er nicht für husqvarna:disappointed:

            haben die noch eine andere (eigene) api oder Anmeldung ?

            Screenshot_20200410-213933_Chrome.jpg

            I 1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

              @intruder7 sagte in Hilfe bei Gardena API:

              @dslraser
              den hab ich schon gesehen.... nur leider ist er nicht für husqvarna:disappointed:

              haben die noch eine andere (eigene) api oder Anmeldung ?

              Screenshot_20200410-213933_Chrome.jpg

              I Offline
              I Offline
              intruder7
              schrieb am zuletzt editiert von
              #36

              @dslraser
              die haben eine eigene api

              f3980e5c-389a-4db6-bb8f-8eda3677692a-image.png
              c953b90f-c312-4446-8c97-a68ff73fe7d4-image.png

              dslraserD 2 Antworten Letzte Antwort
              0
              • I intruder7

                @dslraser
                die haben eine eigene api

                f3980e5c-389a-4db6-bb8f-8eda3677692a-image.png
                c953b90f-c312-4446-8c97-a68ff73fe7d4-image.png

                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #37

                @intruder7
                hast Du mal versucht trotzdem den Adapter zu verwenden ? Nur eben mit den Anmelde-API Seiten von denen. Bis auf die Adressen sieht das nach der gleichen Art und Weise aus...
                (also api key erstellen und verbinden und dann den Adapter)

                Screenshot_20200410-215014_Chrome.jpg

                I 1 Antwort Letzte Antwort
                0
                • dslraserD dslraser

                  @intruder7
                  hast Du mal versucht trotzdem den Adapter zu verwenden ? Nur eben mit den Anmelde-API Seiten von denen. Bis auf die Adressen sieht das nach der gleichen Art und Weise aus...
                  (also api key erstellen und verbinden und dann den Adapter)

                  Screenshot_20200410-215014_Chrome.jpg

                  I Offline
                  I Offline
                  intruder7
                  schrieb am zuletzt editiert von
                  #38

                  @dslraser jetzt mal getestet. er verbindet nicht. adapter bleibt gelb

                  
                  smartgarden.0	2020-04-10 22:04:22.715	error	(21406) Error: getlocations: no data
                  smartgarden.0	2020-04-10 22:04:22.515	info	(21406) get_locations ...
                  smartgarden.0	2020-04-10 22:04:22.511	info	(21406) sgSetState: info.connection true
                  smartgarden.0	2020-04-10 22:04:22.508	info	(21406) Connection: successful: response.statusCode / statusMessage=200 / OK
                  smartgarden.0	2020-04-10 22:04:21.985	info	(21406) Gardena Smart System Service hosts at: smart_host: https://api.amc.husqvarna.dev authentication_host: https://api.authentication.husqvarnagroup.dev
                  smartgarden.0	2020-04-10 22:04:21.981	info	(21406) sgSetState: info.revision Main: 2012 / API: 2010
                  smartgarden.0	2020-04-10 22:04:21.894	info	(21406) starting. Version 0.4.2 in /opt/iobroker/node_modules/iobroker.smartgarden, node: v10.19.0
                  
                  dslraserD 1 Antwort Letzte Antwort
                  0
                  • I intruder7

                    @dslraser jetzt mal getestet. er verbindet nicht. adapter bleibt gelb

                    
                    smartgarden.0	2020-04-10 22:04:22.715	error	(21406) Error: getlocations: no data
                    smartgarden.0	2020-04-10 22:04:22.515	info	(21406) get_locations ...
                    smartgarden.0	2020-04-10 22:04:22.511	info	(21406) sgSetState: info.connection true
                    smartgarden.0	2020-04-10 22:04:22.508	info	(21406) Connection: successful: response.statusCode / statusMessage=200 / OK
                    smartgarden.0	2020-04-10 22:04:21.985	info	(21406) Gardena Smart System Service hosts at: smart_host: https://api.amc.husqvarna.dev authentication_host: https://api.authentication.husqvarnagroup.dev
                    smartgarden.0	2020-04-10 22:04:21.981	info	(21406) sgSetState: info.revision Main: 2012 / API: 2010
                    smartgarden.0	2020-04-10 22:04:21.894	info	(21406) starting. Version 0.4.2 in /opt/iobroker/node_modules/iobroker.smartgarden, node: v10.19.0
                    
                    dslraserD Offline
                    dslraserD Offline
                    dslraser
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von dslraser
                    #39

                    @intruder7 sagte in Hilfe bei Gardena API:

                    smartgarden.0 2020-04-10 22:04:22.511 info (21406) sgSetState: info.connection true

                    verbunden wird er....

                    smartgarden.0	2020-04-10 22:04:22.511	info	(21406) sgSetState: info.connection true
                    

                    aber es werden keine Geräte abgerufen.

                    smartgarden.0	2020-04-10 22:04:22.715	error	(21406) Error: getlocations: no data
                    

                    Hast Du die API im dev account auch verbunden mit Deinem Mower und den richtigen Key ?

                    I 1 Antwort Letzte Antwort
                    0
                    • dslraserD dslraser

                      @intruder7 sagte in Hilfe bei Gardena API:

                      smartgarden.0 2020-04-10 22:04:22.511 info (21406) sgSetState: info.connection true

                      verbunden wird er....

                      smartgarden.0	2020-04-10 22:04:22.511	info	(21406) sgSetState: info.connection true
                      

                      aber es werden keine Geräte abgerufen.

                      smartgarden.0	2020-04-10 22:04:22.715	error	(21406) Error: getlocations: no data
                      

                      Hast Du die API im dev account auch verbunden mit Deinem Mower und den richtigen Key ?

                      I Offline
                      I Offline
                      intruder7
                      schrieb am zuletzt editiert von
                      #40

                      @dslraser
                      hat er gemacht
                      d1f45201-6f97-4f09-92c2-22292ad1a33b-image.png
                      hab aber die husqvarna api eingetragen im adapter

                      b3630739-c69f-4ec9-952f-5b5550aee7b0-image.png

                      1 Antwort Letzte Antwort
                      0
                      • I intruder7

                        @dslraser
                        die haben eine eigene api

                        f3980e5c-389a-4db6-bb8f-8eda3677692a-image.png
                        c953b90f-c312-4446-8c97-a68ff73fe7d4-image.png

                        dslraserD Offline
                        dslraserD Offline
                        dslraser
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von dslraser
                        #41

                        @intruder7 sagte in Hilfe bei Gardena API:

                        @dslraser
                        die haben eine eigene api

                        f3980e5c-389a-4db6-bb8f-8eda3677692a-image.png
                        c953b90f-c312-4446-8c97-a68ff73fe7d4-image.png

                        @jpgorganizer
                        Kannst Du sagen ob es auch mit Deinem Adapter funktionieren könnte ?

                        jpgorganizerJ 1 Antwort Letzte Antwort
                        0
                        • dslraserD dslraser

                          @intruder7 sagte in Hilfe bei Gardena API:

                          @dslraser
                          die haben eine eigene api

                          f3980e5c-389a-4db6-bb8f-8eda3677692a-image.png
                          c953b90f-c312-4446-8c97-a68ff73fe7d4-image.png

                          @jpgorganizer
                          Kannst Du sagen ob es auch mit Deinem Adapter funktionieren könnte ?

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

                          @dslraser
                          der Connect ist identisch, das wird gehen, der Rest läuft vmtl. anders, sonst hätte es keine separate API gegeben Ich habe mir das nie angesehen, da ich keinen Huski habe.

                          VG
                          jpgorganizer

                          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

                          I 1 Antwort Letzte Antwort
                          1
                          • dslraserD Offline
                            dslraserD Offline
                            dslraser
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #43

                            @intruder7
                            Dann bin ich leider auch raus...

                            1 Antwort Letzte Antwort
                            0
                            • jpgorganizerJ jpgorganizer

                              @dslraser
                              der Connect ist identisch, das wird gehen, der Rest läuft vmtl. anders, sonst hätte es keine separate API gegeben Ich habe mir das nie angesehen, da ich keinen Huski habe.

                              VG
                              jpgorganizer

                              I Offline
                              I Offline
                              intruder7
                              schrieb am zuletzt editiert von
                              #44

                              @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

                              jpgorganizerJ dslraserD 2 Antworten Letzte Antwort
                              0
                              • I intruder7

                                @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

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

                                @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

                                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
                                • I intruder7

                                  @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

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #46

                                  @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 Antwort Letzte Antwort
                                  0
                                  • dslraserD dslraser

                                    @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 Offline
                                    I Offline
                                    intruder7
                                    schrieb am zuletzt editiert von
                                    #47

                                    @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 Antwort Letzte Antwort
                                    1
                                    • Jörg BenthienJ Offline
                                      Jörg BenthienJ Offline
                                      Jörg Benthien
                                      schrieb am zuletzt editiert von Jörg Benthien
                                      #48

                                      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

                                      jpgorganizerJ 1 Antwort Letzte Antwort
                                      0
                                      • Jörg BenthienJ 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

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

                                        @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

                                        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

                                        Jörg BenthienJ 1 Antwort Letzte Antwort
                                        0
                                        • jpgorganizerJ jpgorganizer

                                          @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 BenthienJ Offline
                                          Jörg BenthienJ Offline
                                          Jörg Benthien
                                          schrieb am zuletzt editiert von
                                          #50

                                          @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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          792

                                          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