Shelly Plus 1 PM wie geht getDeviceInfo

Die Verwendung von Skripten liegt im eigenen Ermessen des Benutzers. Unterstützung für Skripte wird vom Autor des Skripts bereitgestellt.

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

  • laut der Hilfeseite "shelly-api-docs.shelly.cloud/gen2/Scripts/ShellyScriptLanguageFeatures#shellygetdeviceinfo" gibt der Aufruf von

    Shelly.getDeviceInfo() ein DeviceInfo Objekt zurück. Syntaktisch kann man das auch hinschreiben. let di=Shelly.GetDeviceInfo();

    Aber es kommt die Fehlermeldung "Calling not callable".

    Der Web Aufruf bringt folgende Ausgabe.

    {"name":null,"id":"shellyplus1pm-441793cfbc64","mac":"441793CFBC64","model":"SNSW-001P16EU","gen":2,"fw_id":"20221024-142010/0.11.4-ga1906a2","ver":"0.11.4","app":"Plus1PM","auth_en":false,"auth_domain":null}

    Diese hatte ich auch als Objekt erwartet. Alle Shelly.call Aufrufe bringen auch kein Result Objekt. Wie kommt man an die Ausgabe der Web Anfrage z.B. http://<ip>/rpc/* heran.

    Der Aufruf von

    let id=Shelly.getCurrentScriptId();

    print ("Id=",id);

    geht dagegen.

    Firmware : 0.12.0



  • Klingt für mich nach einem Bug. Ich werde heute nachmittag mal probieren, ob ich das nachstellen kann.

    Hast du mal im DebugLog geschaut ob da weitere Infos drin sind?

    Probier es mal mit folgendem Code, das klappt bei einem Shelly Plus I4 mit Firmware 0.12.0 problemlos. Groß- und Kleinschreibung bei getDeviceInfo beachtet?

    Code
    let di=Shelly.getDeviceInfo();
    print(di.id);

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

    6 Mal editiert, zuletzt von Seven of Nine (3. Januar 2023 um 04:57)

  • Unter dem Reiter Diagnostik gibt es den Punkt "Download debug log" -wenn ich das mache kommt eine Datei mit folgendem Inhalt:

    No logged data. You need to start the logging functionality in order to fetch device logs.

    Es gibt auch den Punkt "Download Device Data"- Hier kommt eine Datei mit der Ausgabe von getDeviceInfo.

    Wo starte ich die logging functionality? Das Debugging habe ich ja schon an.

  • settings - debug - websocket debug im Webinterface aktivieren müsste es sein.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • habe ich ja aktiviert. Hier taucht eine URL auf wo man ein log lesen kann. ws://<SHELLY_HOST>/debug/log 

    Kann mal jemand sagen was das Protokoll ws ist und welcher Rechner Shelly_Host ist. Der lokale shelly ist sicher nicht gemeint.

    Eine Anleitung für das Vorgehen wäre hilfreich.

  • Dieses Thema enthält 3 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.