Shelly FW 1.2.0 dropt print() Ausgaben.

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.

  • Achtung die neue FW 1.2.0 dropt print() Ausgaben!

    Seit der Installation der neuen FW 1.2.0 ist mir aufgefallen, dass einige prints fehlen.

    Es scheint hier eine neue Beschränkung zu geben, die nicht im Changelog erwähnt wurde, bei der Shellys print(); Befehle einfach droppen, wenn sie entweder zu lang oder zu häufig eingesetzt werden. Die genauen Limits sind schwer zu bestimmen, aber im Grunde sollte man nun immer mindestens 100 ms zwischen jedem print() einplanen und sicherstellen, dass die print() oder console.log() nicht zu schnell raus gehen, da der shelly diese sonst einfach droppt.

    Mit droppen meine ich, dass nichts oder nur Bruchstücke in der Konsole ausgegeben wird. Obwohl das Ganze einige meiner Script Debug Ausgaben beeinträchtigt, verstehe ich die Entscheidung, da zu viele prints() die Leistung des Shellys stark beeinträchtigen können und sie daher nur kurzzeitig genutzt werden sollten.

    Man kann nem print() Befehl nun also nicht mehr trauen und muss immer damit rechnen das der Shelly diesen einfach verschluckt, eventuelle sogar noch selbst testen ob ein print() erfolgreich raus geht vor dem eigentlichen print(). :D

  • Ist mir auch aufgefallen. Ich habe mich tot gesucht. Ich wollte etwas für Debug-Zwecke ausgeben. Hatte das vor einem Block regulärer Ausgaben platziert.

    Kam nichts.

    Habe dann versucht, den Fehler in meiner Programm-Logik zu finden. Durch Zufall bin ich dann auf den Bug gekommen.

  • Denke nicht das es ein Bug ist, hier wurde mit Absicht eine neues Limit eingebaut.

    Hier mal ein Beispiel, das ist mein altes Blu Debug Script:

    Beim oberen Script erhalte ich nur noch das 13. Byte als print mit der neuen FW.

    Und hier unten das selbe Script mit ner 100ms Pause zwischen den prints:

    Nun werden wieder alle 13 Bytes ausgegeben.

  • Ein nicht publiziertes Limit ist ein Bug ;)

    Vielleicht sollte man sich angewöhnen, die Alterco Geräte erst ein Jahr nach Erscheinen anzufassen. Wir sind da zu schnell.

    Aber, selbst dann sind die ja noch nicht fertig.

    Als ich meiner besseren Hälfte erzählte, dass Alterco an die Börse geht, hat sie gefragt, ob sie Aktien kaufen soll.

    Meine Antwort dürft ihr raten... ^^

  • Dieser Bug betrifft so ziemlich jedes zweite Script von mir und jedes Script nun mit einem asynchronen Debug Delay auszustatten, wäre ein enormer Aufwand.

    Deshalb stufe ich das Ganze nun auch als Bug ein und verweise auf den Shelly Support.

    Wenn jemand Probleme mit nem Script hat, weil ihm einige Ausgaben fehlen, kann er sich dort melden.

    Einmal editiert, zuletzt von _[Deleted]_ (17. Februar 2024 um 14:36)

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