Zugriff auf Poweropti im Shelly Plus 1PM

Hinweis zur Nutzung von Skripten (für Nutzer)

Die Verwendung von Skripten erfolgt ausdrücklich auf eigene Gefahr. Weder Shelly noch die jeweiligen Autoren oder Entwickler der Skripte übernehmen irgendeine Form der Haftung für mögliche Schäden, Fehlfunktionen, Datenverluste oder anderweitige Beeinträchtigungen, die durch die Nutzung dieser Skripte entstehen könnten. Bitte stellen Sie vor dem Einsatz sicher, dass Sie den Quellcode verstehen und sich der möglichen Auswirkungen bewusst sind. Die Skripte werden ohne Gewähr bereitgestellt und unterliegen keiner regelmäßigen Wartung oder offiziellen Unterstützung.


Hinweis für Entwickler

Wenn Sie eigene Skripte bereitstellen, achten Sie bitte darauf, eine klare Beschreibung, eventuelle Einschränkungen und Sicherheitsaspekte zu dokumentieren. Beachten Sie zudem, dass Nutzer Ihre Skripte grundsätzlich auf eigenes Risiko verwenden. Eine Haftung für Schäden ist ausgeschlossen, sofern diese nicht vorsätzlich oder grob fahrlässig verursacht wurden oder gesetzlich anderweitig geregelt ist.

  • Hallo und guten Tag.

    Ich versuche, in einem Shelly Plus 1PM-Script einen Poweropti von Powerfox anzusprechen, um den aktuellen Stromverbrauch zu ermitteln. Leider scheitere ich an der Authentifizierung beim http.get-Befehl...

    Der Zugriff erfolgt über diese Adresse: https://backend.powerfox.energy/api/2.0/my/main/current

    Die Authentifizierung der Abfragen erfolgt via HTTP Basic Auth, d.h. E-Mail + Passwort des powerfox-Accounts im Base-64 Standard (so die Doku).

    In meinem NAS kann ich den Aufruf so erledigen:

    wget https://backend.powerfox.energy/api/2.0/my/main/current --user=<meineMailadresse> --password=<meinPasswort>

    Aber im Shelly habe ich das Problem, dass ich die passende Syntax nicht kenne und auch nirgends was passendes/funktionierendes gefunden habe. Verschiedenste Varianten habe ich schon durchprobiert, ohne Erfolg. Im "besten" Fall bekomme ich Fehlermeldungen, die auf eine fehlende/falsche Authentifizierung hinweisen. Ein nicht-funktionierendes Beispiel ist:

    Shelly.call(

    "http.get",

    { url: "https://backend.powerfox.energy/api/2.0/my/main/current", user: "<meinMailadresse>", password: "<meinPasswort>" },

    function (response, error_code, error_message, ud) {

    print(error_code);

    print(error_message);

    print(response);

    print(JSON.stringify(response));

    },

    null

    );

    Gibt es da jemanden, der mir weiterhelfen kann?

    Schon mal besten Dank im Voraus und viele Grüße

    Martin

  • SebMai das mit dem Post denke ich auch eher, ansonsten wenn es die BasicAuth ist dann so wie Dennis-SH es geschrieben hat. Und sollten es doch Get Variablen sein würde ich das ganze direkt so schreiben:

    Code
    https://backend.powerfox.energy/api/2.0/my/main/current?user=<username>&password=<password>

    Aber um hier alles irgendwo auszuschließen sollte man hier das ganze mal mit Postman überprüfen, dieser gibt dann auch den richtigen Befehl zurück - hier sollte JavaScript - Fetch dem Shelly am nächsten kommen.

  • Hallo ihr Drei.

    Besten Dank für eure Antworten, ich habe mal alles ausprobiert, aber ohne Erfolg. Immer noch die Fehlermeldung wg. Authentifizierungsproblem...

    Mittlerweile habe ich im Kopf umgeschwenkt und werde wohl das Ganze auf ganz anderem Weg versuchen zu realisieren...

    Viele Grüße und einen schönen Abend

    Martin