Aktueller Stand meiner Untersuchung über den Dimmer Sketch. Ich hatte ja immer wieder Probleme das meine Selbstbau Dualwhite Dimmer unerklärlich hängengeblieben sind. Manchmal konnte ich sie durch Drücken der Config-Taste wiederbeleben, manchmal half nur ein Reset.
Ich denke es waren 3 Problem die dazu geführt hatten
1. Ein Problem mit dem Blink Timer in der Ausschaltrampe des Dimmers. Es gab Situationen da wurde der Timer mehrfach gestartet.
2. Bei short Broadcast Nachrichten wird vom Switch eine direkt adressierte Nachricht mit selben Inhalt an das Gerät geschickt. Im besten Fall schaltet die Rampe unerwünscht weiter und bricht die eigentliche Aktion ab.
3. Fehler beim Empfang führen zu langen Nachrichten im Buffer des Empfangsmoduls, bleiben bestehen und verhindern eine vernünftige Signalisierung das eine Nachricht zur Abholung steht.
1. habe ich im Dimmer Sketch bereinigt
2. ist in der Asksinpp bereinigt
3. es gibt einen Watchdog der über ein #define eingeschaltet wird und alle 5000ms prüft, ob was im Buffer ist. Falls er was findet und die Übermittlung nach 50ms nicht fertig ist, wird das READ flag gesetzt und Asksin liest den Buffer und kümmert sich um den Input.
Die Änderungen sind im dev-trilu Zweig. Zum Einschalten vom Watchdog folgende Zeile im Sketch einfügen:
Bisher laufen meine Geräte ohne Probleme. Vielleicht hilft es ja dem Einen oder Anderen. Feedback welcome.