Debugging? Web GUI buggy?

  • Hallo Zusammen,

    das Debugging ist (noch?) etwas mühsam. Aktuell verwende ich diverse "prints" im Script und kontrolliere die Ausgabe im Web GUI des Shellys. Leider läuft mein Script stundenlang völlig unauffällig und korrekt, um dann den Shelly scheinbar zum Absturz zu bringen.

    Tritt der Fall ein, wird das Script in der Übersicht als "Running" geführt, aber klickt man auf das Script, ist der Editor leer und auch der Scriptname wird nicht angezeigt. Es ist so, als gäbe es das Script nicht. Lediglich das "Stop" deutet darauf hin, dass das Script noch zu laufen scheint. Klickt man wieder auf die Scriptübersicht, taucht das Script wieder in der Übersicht als "Running" auf. Auffällig ist auch, dass in dieser Situation die Verbindung zum Shelly ständig neu aufgebaut werden muss. Das Problem lässt sich dann nur durch einen Reboot beheben.

    Nachdem ich mein Script xmal kontrolliert habe, keinen Fehler finden konnte, bin ich der Sache mit dem ShellyScanner (sehr nützliches Tool!) nachgegangen und habe folgenden Hinweis im Log gefunden:

    1676459656 - L2: shelly_scripts_rpc.:332 Sending "script_2.js"

    1676459656 - L-1: E:M 19339

    1676459656 - L-1: Heap summary for capabilities 0x00001800:

    1676459656 - L-1: At 0x3ffb6388 len 7288 free 4 allocated 6048 min_free 4

    1676459656 - L-1: largest_free_block 0 alloc_blocks 78 free_blocks 0 total_blocks 78

    1676459656 - L-1: At 0x3ffb9a20 len 16648 free 4 allocated 15436 min_free 4

    1676459656 - L-1: largest_free_block 0 alloc_blocks 71 free_blocks 0 total_blocks 71

    1676459656 - L-1: At 0x3ffcc678 len 80264 free 396 allocated 75764 min_free 4

    1676459656 - L-1: largest_free_block 112 alloc_blocks 795 free_blocks 6 total_blocks 801

    1676459656 - L-1: At 0x3ffe0440 len 129984 free 42616 allocated 86340 min_free 26120

    1676459656 - L-1: largest_free_block 17408 alloc_blocks 26 free_blocks 9 total_blocks 35

    1676459656 - L-1: At 0x3ff80000 len 8192 free 7268 allocated 0 min_free 7268

    1676459656 - L-1: largest_free_block 7168 alloc_blocks 0 free_blocks 1 total_blocks 1

    1676459656 - L-1: Totals:

    1676459656 - L-1: free 49644 allocated 184232 min_free 33400 largest_free_block 17408

    Für mich sieht es so aus, dass nicht mein Script, sondern das Web GUI die Ursache für das merkwürdige Verhalten ist. Scheinbar verursacht der Aufruf des Editors das Problem? Ein Temperaturproblem ist es nicht, weil die Shelly Temperatur laut ShellyScanner unter 45 Grad bleibt. Kann man den Fehlercode (Firmware 0.13.0, Shelly Plus1) irgendwo nachlesen?

    Gruß Martin

  • Auffällig ist auch, dass in dieser Situation die Verbindung zum Shelly ständig neu aufgebaut werden muss.

    das klingt so als wenn du mit deinem Script sowas wi eine Race Condition ausgelöst hast und sich zwei Tasks gegenseitig behindern.

    Ohne ein vollständiges Debug-Log und das / die Scripts wird dir niemand helfen können.

    Kann man den Fehlercode (Firmware 0.13.0, Shelly Plus1) irgendwo nachlesen?

    welchen Fehlercode meinst du konkret?

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

  • Die zweite Zeile scheint mir eine Fehlermeldung mit Fehlernummer zu sein: "1676459656 - L-1: E:M 19339". Der Rest gibt Auskunft über die aktuelle Speicherbelegung, was aber ohne Systemwissen unbrauchbar ist. Für mich sieht es so aus, als ob der Editor einen Speicherfehler verursacht. Derartige Blöcke finden sich mehrfach im Log und lassen sich zeitlich dem Aufruf des Editors zuordnen. Seitdem ich den Editor nicht mehr verwende und stattdessen die Scripte per ShellyScanner hochlade, starte und stoppe, gibt es bisher keine Probleme mehr.

    Gruß Martin