Shelly debug messages zu Script zuordnen?

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.

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.

  • Hallo,

    hier:https://shelly-api-docs.shelly.cloud/gen2/General/DebugLogs/ ist beschrieben was ein Shelly so bisweilen (z.b. über UDP) logged.

    Frage1: Kann man dem irgendwie entnehmen welches Script im Fall eines Fehlers diesen verursacht hat?
    Frage2: Was bedeuten diese Einträge... z.B.: 66 366.319 2 2|? Die werden in unter 'Diagnostics' nicht angezeigt. Aber hat das irgendeine Bedeutung?

    Grund der Frage: Ich würde gerne jede log message (insbesondere Fehler) einem Script zuordnen. Eine Anfrage beim Shelly Support dazu blieb unbeantwortet :cursing:

    Vielen Dank vorab an die Experten.

  • Ich habe mir hierzu ein UDP Consolen Programm erstellt um alle Log's von meinen Shelly's einsehen zu können.
    Welches Script einen Fehler erzeugt müsstest du in jedem Script mit try/catch selbst implementieren.
    Ich bin derzeit zufrieden, wenn ich im Log die entsprechende IP sehe.

    Shelly UDP Console.mp4

  • Ja, eine solche Console habe ich auch. Und ich werde mal mit folgender Idee starten: Wenn man sich den output im Fehlerfall anschaut

    78654 2095288.286 101 2|Uncaught TypeError: Assignment to a constant
    78655 2095288.286 101 2|at counter += 1;
    78656 2095288.288 101 2|^
    78657 2095288.290 101 2|in function called from system
    78658 2095288.291 1 4|' 
    78659 2095288.292 1 1|shelly_user_script.:236 type_error: Error in EjsCall
    78644 2095268.106 1 2|shelly_notification:162 Status change of script:1: {"id":1,"running":false}

    dann ist die letzte Zeile anscheinend die einzige, über die man auf das fehlerhafte Script schließen kann.

    Wenn die also kommt, Script ID merken und alle Zeilen darüber, die '2|' enthalten, als Fehler Beschreibung betrachten. Wobei ich immer noch gerne wüsste, was die Zahlen bis zum '|' bedeuten.|

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