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

                          803
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

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