Beiträge von ostfriese

    Also, ich bin begeistert. Die Geschwindigkeit ist super, das Design gefällt mir. Es dauert sicher noch ein bisschen, bis man alle Feinheiten herausgefunden hat, aber das kommt schon.

    Super finde ich die neue Ausrichtung, auch hin zu anderen Smart-Home Produkten. Shelly ist schon ein Produkt, dass seine Daseinsberechtigung auf dem Smart-Home Markt hat, ist aber auch ein Nischenprodukt.

    Die Öffnung für andere Anbieter wird das Forum bereichern, da bin ich mir ganz sicher.

    Ich danke dem Admin/Moderatoren-Team für seinen Einsatz. Es ist vorstellbar, wie viel Arbeit und, nicht zuletzt auch monetäre Ressourcen

    ihr hier 'reinsteckt. Danke dafür!

    Die Entwickler waren der Meinung, sie würden das im Labor hinbekommen, wollen aber den Aufwand nicht betreiben, da es sowieso einen Fix in einem der nächsten Updates geben wird. Deswegen sehe ich da Chancen. Was die Entwickler können, kannst du schon lange, Thomas thgoebel ;)

    eiche

    Ich hatte gar keine Einwände, Gerhard. Nur Erklärungen, warum ich Sachen so mache. Natürlich kann man viele Sachen auch anders machen.

    Aber, es funktioniert ja alles prima, es sei denn, man macht dämliche Tippfehler ;)

    Das mit dem while brauche ich auch gar nicht mehr. War nur, wie es beim Snooker genannt wird, ein Shot to Nothing.

    Deine vorgeschlagene Timer Funktion bildet ja im Prinzip eine While-Schleife mit einem sleep ab. Ist somit die bessere Konstruktion, da sie zu keiner Zeit zu einem Block

    der CPU durch Auslastung führt. Ein Zerstören des Shelly ist somit ausgeschlossen.

    Gut ist aber, dass Alterco, durch meinen dämlichen Fehler, erkannt hat, dass das nicht nur zu einem Ärgernis durch die quasi Zerstörung EINES Shelly führt, sondern auch ein potenzielles Sicherheitsrisiko für ALLE (Gen 2/3) Shelly birgt. Besser ist also, solche Fehler by design auszuschließen.

    Hierzu haben besonders Devil und 66er im Hintergrund beigetragen. Danke dafür!

    Ach ja, das wird auch noch gebraucht:

    eiche

    1.) ja, in einer Datei, nicht im KVS

    2.) Bin mit dem while einem intuitiven, von Python Erfahrungen getriggertem Impuls gefolgt. Da würde man noch ein sleep(1000) einbauen,

    gibt es aber bei Shelly nicht.

    3.) Ich brauche zum jetzigen Zeitpunkt schon 2 laufende Skripte, das 3. noch zugelassene ist für etwas anderes vorgesehen.

    4.) -

    5.) -

    Ich bin mit dem Skript jetzt schon am Limit, was die Code-Länge, (deshalb das Auslagern von Skriptteilen in non-excecutable), Aufruf von Calls (hier habe ich schon alles Mögliche in stacks verpackt), und die Nutzung des zugelassenen Ram-Speichers ist auch am Limit.


    Aber, macht euch selbst ein Bild:

    Skript:

    Non excutable config:

    Ihr seht, dass ist schon aufwändig ;)

    Ich schreibe mal, wie das passiert ist.

    Nach dem Start habe ich einen Timer gesetzt.

    Code
    let t2=Timer.set(500,true,get_file);

    In der Function wird ein Objekt v befüllt. Es werden Werte aus einer Datei ausgelesen und in das Objekt geschrieben,

    Wenn das geschehen ist, sieht v dann so aus:

    Hier sind alle wichtigen Variablen für den korrekten Lauf des Skriptes untergebracht.

    Da das Skript ohne diese Variablen nicht lauffähig ist, diese aber erst nach 500 ms im Timer beschrieben werden, dachte ich, es wäre eine gute Idee folgendes zu machen:

    Code
    while(v.endpoint === undefined){};

    Normal kein Problem, es sei denn, man macht einen einen kleinen, aber fatalen Fehler und schreibt:

    Code
     while(v.endpoin === undefined){};

    Der kleine Unterschied ist das "t" am Ende. v.endpoin wird nie beschrieben, bleibt also undefined.

    Da ich diese Routine eingeführt habe, um das Startverhalten des Skriptes zu optimieren, --> Reboot --> tot.

    Eigentlich ist in der API beschrieben, dass der Shelly by design das erkennt, und den Autostart des Skriptes deaktiviert.

    Quelle

    Leider hat dieses Feature nicht funktioniert.

    Das ist der gesamte Hintergrund.

    Das hat das zur Folge, dass man keinem Skript mehr vertrauen kann, sofern man nicht in der Lage ist, das Skript selber zu lesen und zu interpretieren.

    (Eigentlich sowieso eine Selbstverständlichkeit, aber seid mal ehrlich ;) )

    So, jetzt kennt ihr den Hintergrund.

    Hääh :/

    Na klar, habe ICH es ganz alleine geschafft, da eine Endlosschleife einzubauen. Und na klar, war das dämlich, sogar DAU-mäßig.

    Beschwert habe ich mich zu keinem Zeitpunkt. Der Shelly, als rein monetärer Verlust, ist mir auch egal.

    Mein Anliegen ist durch reine Neugierde, ob man dieses Problem gelöst bekommt, getriggert.

    Per Software nicht lösbar, Flaschen ohne Löten geht nicht, Alterco hat nichts gesagt (müssen die ja auch nicht, war ja eigene Blödheit),

    also, ein nettes Problem für die kollektive Intelligenz hier.

    Nicht mehr und nicht weniger.