Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Shelly via Cloud einbinden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Shelly via Cloud einbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by Homoran

      @ramses5333 sagte in Shelly via Cloud einbinden:

      Kann mir hier wer weiterhelfen?

      das json bitte hier als Text in code-tags posten!

      @ramses5333 sagte in Shelly via Cloud einbinden:

      Wert "power" in der Abfrage in einer Art Unterverzeichnis ist

      mindestens 1, evtl. mehr

      meters.power oder data.meters.power
      müsste aber das json haben, um sicher zu gehen.
      da sind noch arrays drin

      was kommt denn als result zurück?

      PS, request sollte nicht mehr verwendet werden, sondern http post

      R 1 Reply Last reply Reply Quote 0
      • wendy2702
        wendy2702 @Ramses5333 last edited by

        @ramses5333 sagte in Shelly via Cloud einbinden:

        Da einige Shellys bei mir nicht via WLAN erreichbar sind möchte ich Werte dieser per Cloud abfragen - im aktuellen Fall eine Shelly Plug S Steckdose.

        Doofe Frage: wie kommunizieren die denn mit der Cloud wenn nicht über WLAN ?

        R 1 Reply Last reply Reply Quote 3
        • R
          Ramses5333 @wendy2702 last edited by

          @wendy2702 die sind in einem "anderen" WLAN, lange Geschichte - habe festgestellt, dass im Mesh-WLAN einige Geräte nicht miteinander kommunizieren wenn sie bei verschiedenen Mesh-Würfel eingeloggt sind. So habe ich in der Haustechnik-Ecke mit einem noch aus Urzeiten vorhandenen Repeater ein eigenes lokales WLAN eingerichtet in dem nur die Haustechnik läuft. Funktioniert, aber ein paar Shellys sind außerhalb der Reichweite.

          wendy2702 1 Reply Last reply Reply Quote 0
          • C
            CatShape @Ramses5333 last edited by

            @ramses5333
            data.device_status.meters.0.power

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

              @homoran ```

              29.7.2025, 07:39:12.112	[info ]: javascript.0 (2117023) Stopping script script.js.shellyviacloud
              29.7.2025, 07:39:12.201	[info ]: javascript.0 (2117023) Start JavaScript script.js.shellyviacloud (Blockly)
              29.7.2025, 07:39:12.204	[info ]: javascript.0 (2117023) script.js.shellyviacloud: schedule(cron=* * * * *)
              29.7.2025, 07:39:12.204	[info ]: javascript.0 (2117023) script.js.shellyviacloud: registered 0 subscriptio
              ```ns, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
              29.7.2025, 07:40:00.004	[info ]: javascript.0 (2117023) script.js.shellyviacloud: httpPost(config={"method":"post","url":"https://shelly-151-eu.shelly.cloud/device/status?id=3ce90ed813d2&auth_key=MThjODJhdWlkE26A8EE3DD667B811B3D2013BFE5E5858C98BFB4DF5023B31B15F49C796417AC4A709C4D6634B702","responseType":"text","responseEncoding":"utf8","timeout":5000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}}, data=undefined)
              29.7.2025, 07:40:00.213	[info ]: javascript.0 (2117023) script.js.shellyviacloud: httpPost(url=https://shelly-151-eu.shelly.cloud/device/status?id=xxxxxx&auth_key=xxxxxxx, responseTime=209ms)
              29.7.2025, 07:40:00.213	[debug]: javascript.0 (2117023) script.js.shellyviacloud: undefined
              29.7.2025, 07:40:00.214	[error]: javascript.0 (2117023) script.js.shellyviacloud: Cannot get data of "undefined": TypeError: Cannot read properties of undefined (reading 'data')
              29.7.2025, 07:40:00.214	[info ]: javascript.0 (2117023) script.js.shellyviacloud: setForeignState(id=0_userdata.0.G_Shellycloud_Gefrierschrank_Power, state={"val":null,"ack":true,"ts":1753767600214,"q":0,"from":"system.adapter.javascript.0","lc":1753767600214,"c":"script.js.shellyviacloud"})
              29.7.2025, 07:40:00.214	[warn ]: javascript.0 (2117023) script.js.shellyviacloud: setForeignState(id=0_userdata.0.G_Shellycloud_Gefrierschrank_Power, state={"val":null,"ack":true,"ts":1753767600214,"q":0,"from":"system.adapter.javascript.0","lc":1753767600214,"c":"script.js.shellyviacloud"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
              29.7.2025, 07:41:00.010	[info ]: javascript.0 (2117023) script.js.shellyviacloud: httpPost(config={"method":"post","url":"https://shelly-151-eu.shelly.cloud/device/status?id=xxxxxx&auth_key=xxxxx","responseType":"text","responseEncoding":"utf8","timeout":5000,"headers":{"User-Agent":"Mozilla/5.0 (X11; Linux i686; rv:109.0) Gecko/20100101 Firefox/121.0"}}, data=undefined)
              29.7.2025, 07:41:00.194	[info ]: javascript.0 (2117023) script.js.shellyviacloud: httpPost(url=https://shelly-151-eu.shelly.cloud/device/status?id=xxxxxxx&auth_key=xxxxxx, responseTime=184ms)
              29.7.2025, 07:41:00.194	[debug]: javascript.0 (2117023) script.js.shellyviacloud: undefined
              29.7.2025, 07:41:00.195	[error]: javascript.0 (2117023) script.js.shellyviacloud: Cannot get data of "undefined": TypeError: Cannot read properties of undefined (reading 'data')
              29.7.2025, 07:41:00.195	[info ]: javascript.0 (2117023) script.js.shellyviacloud: setForeignState(id=0_userdata.0.G_Shellycloud_Gefrierschrank_Power, state={"val":null,"ack":true,"ts":1753767660195,"q":0,"from":"system.adapter.javascript.0","lc":1753767660195,"c":"script.js.shellyviacloud"})
              29.7.2025, 07:41:00.195	[warn ]: javascript.0 (2117023) script.js.shellyviacloud: setForeignState(id=0_userdata.0.G_Shellycloud_Gefrierschrank_Power, state={"val":null,"ack":true,"ts":1753767660195,"q":0,"from":"system.adapter.javascript.0","lc":1753767660195,"c":"script.js.shellyviacloud"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
              

              ich hoffe du meintest das so. Es scheint, dass da keine Daten abgerufen werden?!?

              habs auch auf http (POST) umgebaut

              de4ca3a2-a1a9-4593-bd84-6f38c8fb21e4-image.png

              Homoran 1 Reply Last reply Reply Quote 0
              • R
                Ramses5333 @CatShape last edited by

                @catshape Danke, das hatte ich auch schon in der Google Recherche gefunden und probiert - der Fehler dürfte wohl noch woanders liegen

                mcm1957 C 2 Replies Last reply Reply Quote 0
                • wendy2702
                  wendy2702 @Ramses5333 last edited by

                  @ramses5333 sagte in Shelly via Cloud einbinden:

                  @wendy2702 die sind in einem "anderen" WLAN, lange Geschichte - habe festgestellt, dass im Mesh-WLAN einige Geräte nicht miteinander kommunizieren wenn sie bei verschiedenen Mesh-Würfel eingeloggt sind. So habe ich in der Haustechnik-Ecke mit einem noch aus Urzeiten vorhandenen Repeater ein eigenes lokales WLAN eingerichtet in dem nur die Haustechnik läuft. Funktioniert, aber ein paar Shellys sind außerhalb der Reichweite.

                  Verstehe ich nicht vollständig.

                  Eigenes WLAN bedeutet eigene SSID oder komplett eigenes Netzwerk?

                  Wurde in den Netzwerkeinstellungen denn erlaubt das Geräte untereinander kommunizieren dürfen?

                  Ich persönlich würde eher versuchen die Ursache zu bekämpfen und nicht die Symptome .

                  1 Reply Last reply Reply Quote 2
                  • mcm1957
                    mcm1957 @Ramses5333 last edited by mcm1957

                    @ramses5333

                    Shelly Cloud Docu:
                    https://shelly-api-docs.shelly.cloud/cloud-control-api/

                    Und wenn du dich schon mit dem Cloud Zugriff spielst würde ich dir raten V2 zu verwenden und für neue Dinge kein V1 mehr zu verwenden. V1 ist abkündigt - siehe Bannermeldung in der Docu:

                    danger
                    This API is deprecated and will be removed in the near future. We strongly recommend migrating to the v2.0-beta API, which provides improved functionality and enhanced performance.

                    EDIT:
                    Und warum ein eigenes WLAN das dann anscheinend im selben Netzt hängt eine Kommunikation verhindern soll versteh ich auch nicht. Oder hat das extra WLAN einen eigenen Internetzugang?

                    EDIT-2:
                    Schau mal was ein curl Aufruf zurückliefert.

                    1 Reply Last reply Reply Quote 0
                    • C
                      CatShape @Ramses5333 last edited by CatShape

                      @ramses5333 sagte in Shelly via Cloud einbinden:

                      @catshape Danke, das hatte ich auch schon in der Google Recherche gefunden und probiert - der Fehler dürfte wohl noch woanders liegen

                      Falls der Blockly-Baustein "Attribut von Objekt" das nicht von sich aus macht, dann schrittweise/geschachtelt. Das heisst zuerst Attribut "data" vom Objekt "result", dann davon das Attribut "device_status", dann davon das Attribut "meters", dann davon das Attribut "0", dann davon das Attribut "power".
                      Oder anders gesagt:
                      Attribut "power" vom Objekt (Attribut "0" vom Objekt (Attribut "meters" vom Objekt (Attribut "device_status" vom Objekt (Attribut "data" vom Objekt "result")))).

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

                        @ramses5333 sagte in Shelly via Cloud einbinden:

                        habs auch auf http (POST) umgebaut

                        aber noch mit result!
                        du brauchst den data Baustein

                        1 Reply Last reply Reply Quote 0
                        • R
                          Ramses5333 @Ramses5333 last edited by

                          Habe es mit Blockly nicht wirklich zusammengebracht - habe daher mit ChatGPT in mehreren Runden ein funktionierendes Script erstellen können - für den Fall, dass das jemand brauchen kann. Besten Dank für die Hilfsversuche!

                          const https = require('https');
                          
                          const shellyUrl = 'https://shelly-xxx-eu.shelly.cloud/device/status?id=xxxxxxx&auth_key=xxxxxxxxxxxxxxxxxxxxxxx';
                          const datapoint = '0_userdata.0.G_Shellycloud_Gefrierschrank_Power';
                          
                          // Datenpunkt erstellen (falls nicht vorhanden)
                          createState(datapoint, 0, { type: 'number', role: 'value.power', unit: 'W' });
                          
                          function fetchPowerFromShelly() {
                              https.get(shellyUrl, (res) => {
                                  let body = '';
                          
                                  res.on('data', (chunk) => {
                                      body += chunk;
                                  });
                          
                                  res.on('end', () => {
                                      log('Antwort vom Server: ' + body, 'info');  // << Hier siehst du, ob etwas kommt
                          
                                      try {
                                          const data = JSON.parse(body);
                                          const power = data?.data?.device_status?.meters?.[0]?.power;
                          
                                          if (power !== undefined) {
                                              log('Power-Wert erkannt: ' + power + ' W', 'info');
                                              setState(datapoint, power);
                                          } else {
                                              log('Power-Wert nicht gefunden in JSON.', 'warn');
                                          }
                                      } catch (err) {
                                          log('Fehler beim Parsen: ' + err, 'error');
                                      }
                                  });
                              }).on('error', (err) => {
                                  log('HTTPS-Fehler: ' + err.message, 'error');
                              });
                          }
                          
                          // Beim Start ausführen
                          fetchPowerFromShelly();
                          
                          // Und dann jede Minute wiederholen
                          schedule("*/1 * * * *", fetchPowerFromShelly);
                          
                          
                          1 Reply Last reply Reply Quote 0
                          • mcm1957
                            mcm1957 last edited by

                            @ramses5333

                            Danke
                            Da das Script noch das V1Api verwendet hier als Info für User die später drüber stolpern:

                            Shelly hat das Cloud Api V1 ABGEKÜNDIGT und wird es in absehbarer Zeit EINSTELLEN. Der Umstieg auf Api V2 ist von Seite Shelly dringend empfohlen:

                            https://shelly-api-docs.shelly.cloud/cloud-control-api/

                            danger
                            This API is deprecated and will be removed in the near future. We strongly recommend migrating to the v2.0-beta API, which provides improved functionality and enhanced performance.

                            und auch hier:

                            https://shelly-forum.com/article/174-hinweis-zur-abkündigung-cloud-control-api-v1-wechseln-sie-zu-v2/

                            Hinweis zur Abkündigung: Cloud Control API V1 – Wechseln Sie zu V2

                            Wir werden die Cloud Control API V1 in Kürze einstellen. Bitte wechseln Sie zur API V2, um einen unterbrechungsfreien Service und Zugriff auf neue Funktionen zu gewährleisten.

                            ⚡ Mit V2 können Sie eine einzige Statusabfrage für bis zu 10 Geräte erhalten, was die Effizienz und Leistung verbessert.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            940
                            Online

                            31.9k
                            Users

                            80.2k
                            Topics

                            1.3m
                            Posts

                            5
                            13
                            86
                            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