Alternative Firmware für HM-LC-SW2-FM ?

Begonnen von Klaus0815, 16 September 2017, 21:07:39

Vorheriges Thema - Nächstes Thema

Klaus0815

ich würde sagen, ein pairserial reicht aus?
Longpress wäre für meinen Fall unwichtig, aber ich denke es ist doch für einige mit zusätzlichen Dimmern nützlich


papa

Kannst Du bitte mal noch prüfen, wie die Taster genau funktionieren. Also ob gegen Masse oder gegen Vcc geschalten wird ? Es wird ja irgendwie die 220V Wechselspannung in ein Eingangssignal für den Prozessor umgewandelt.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

ZitatKannst Du bitte mal noch prüfen, wie die Taster genau funktionieren.

Gar nicht so einfach auf die Schnelle-ist ein ziemlicher Verhau mit vielen Durchkontaktierungen, Widerständen...
Direkt mit anliegenden 230V messen will ich nicht unbedingt....

Aber die Tastersignale gehen über 2 Optokoppler, bei beiden ist jeweils ein Anschluss des Ausgangs an Masse, daher gehe ich von Pull-Up-Widerständen aus.

Ansonsten, wenn Du mir sagst wo ich das im Code ändern kann, wäre das wohl das kleinste Problem


Viele Grüße

Klaus

papa

So - wenn Du mutig bist, kannst Du mal die angehängte Firmware flashen.

Die Schritte sind wie beim Max! Zwischenstecker, aber mit den hier angehängten Dateien.

Damit FHEM mit dem neuen Device (ModelID 0xf2,0x01), muss noch das HMConfig_AskSinPPCustom.pm in den FHEM Folder gepackt und FHEM neu gestartet werden. Nach dem Pairen sollten 4 Channel vorhanden sein 1&2 sind die Taster - 3&4 die Schalter.  Die Channel 1&3 sowie 2&4 sind automatisch gepeert. Der Switch sollte wie vorher funktionieren - aber halt zusätzlich die Remote-Events senden bzw. zusätzlich gepeerte Geräte schalten.

Bin schon ganz gespannt, ob alles klappt.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

Hallo Papa,

könntest Du mir vielleicht auch direkt das Skript für die Arduino-IDE zur Verfügung stellen?
Habe damit auch den Max-Stecker geflasht, (In einem Schritt Bootloader und Firmware) ich glaube da tue ich mich leichter / schließe Fehlerquellen aus.

Viele Grüße

Klaus

papa

#20
Im Git

Bitte nicht vergessen das USE_OTA_BOOTLOADER Define zu entfernen.

Und die Lib aktualisieren
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

ZitatUnd die Lib aktualisieren

Sorry, da muss ich jetzt noch mal nachfragen was Du damit meinst?
TimerOne, EnableInterrupt und Low Power brauche ich ja nicht?
Die ATMega32-Definition ist weiterhin die von die hier:?
https://github.com/eaconner/ATmega32-Arduino

Viele Grüße
Klaus


papa

Zitat von: Klaus0815 am 06 Oktober 2017, 19:15:05
Sorry, da muss ich jetzt noch mal nachfragen was Du damit meinst?
TimerOne, EnableInterrupt und Low Power brauche ich ja nicht?
Die ATMega32-Definition ist weiterhin die von die hier:?
https://github.com/eaconner/ATmega32-Arduino

Viele Grüße
Klaus
Na die AskSinPP Library aus dem Master. Es wird keine weitere Lib benötigt. ATMega32 ist die selbe wie für den MAX!
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

ZitatSo - wenn Du mutig bist, kannst Du mal die angehängte Firmware flashen.

Ich war mutig :-)
erst mal natürlich der Klassiker - Elko im HM-LC-SW2 kaputt, auch mit der Original-Software zog das jeweilige Relais nur noch an, wenn der andere Kanal bereit an war

Habe jetzt Deine Software geflasht, funktioniert auch grob, irgend ein Fehler ist noch drin:
Ich vermute es hat was mit den Peers zu tun?

- Wenn ich von Hand, also am Taster die Kanäle schalte schalten die Relais, aber das Icon in FHEM ändert sich nicht
- Zum testen einen umgeflashten Max-Aktor gepeert - wenn ich jetzt am HM-LC-SW2 den entsprechenden Taster drücke geht der Max-Aktor an-aus-an oder aus-an-aus (ca. 1 sec Paise dazwischen), komischerweise aktualisiert sich danach das Icon in FHEM

gepeert habe ich per set HMLC2_Btn_2 peerchan 0 MaxAktor single set

bei den neuen Buttons und Switches des HM-LC-SW2 werden mir keine Peerchannels angezeigt?
ein set HMLC2_Btn_2 regSet intKeysVisib visib bringt als Fehlermeldung: intKeysVisib failed: supported register are dblPress expectAES longPress pairCentral peerNeedsBurst sign

Viele Grüße

Klaus


papa

Kannst Du die Serial anschließen und NDEBUG auskommentieren. Außerdem noch im DINIT() auf 19200 runterstellen. Dann sollte die Serial-Console die Debugdaten anzeigen.
Das FHEM-Modul hast Du installiert ? Wurden die 4 Kanäle angelegt ? Siehst Du die Messages der Taster in FHEM ?
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

ZitatKannst Du die Serial anschließen und NDEBUG auskommentieren.
Werde ich gleich morgen früh machen, geht Debug hier? Ich meinte bei den Max-Aktoren hattest Du es ganz weggelassen weil es ein Problem gab?

FHEM-Modul hab ich mit drin, alle 4 Kanäle sind da, ich sehe auch in FHEM wenn die Taster geschaltet werden.
Im FHEM-Log habe ich Meldungen wie:
2017.10.07 15:48:00.078 1: HM-LC-Sw2-FM-CustomFW02 is remote - entsprechend mit 01-04

Anbei ein paar Screenshots, vielleicht hilft es ja

papa

Zitat von: Klaus0815 am 07 Oktober 2017, 21:23:59
Werde ich gleich morgen früh machen, geht Debug hier? Ich meinte bei den Max-Aktoren hattest Du es ganz weggelassen weil es ein Problem gab?

Na es ändert auch jeden Fall das Timing. Aber wir wollen ja sehen, ob alles ordetnlich funktioniert. Ich habe bisher auch nur mit dem Mega328 getestet. Muss das mal auf den Mega32 tun. Ich vermute, dass da noch irgendein Timing nicht passt.

Zitat von: Klaus0815 am 07 Oktober 2017, 21:23:59
FHEM-Modul hab ich mit drin, alle 4 Kanäle sind da, ich sehe auch in FHEM wenn die Taster geschaltet werden.
Im FHEM-Log habe ich Meldungen wie:
2017.10.07 15:48:00.078 1: HM-LC-Sw2-FM-CustomFW02 is remote - entsprechend mit 01-04

Gibt es auch Meldungen wie
HM-LC-Sw2-FM-CustomFW04 is switch

Zitat von: Klaus0815 am 07 Oktober 2017, 21:23:59
Anbei ein paar Screenshots, vielleicht hilft es ja

Sieht jetzt erst mal noch so schlecht aus.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

Es ist doch nicht ganz so einfach wie gedacht - ich komme nicht an den UART ran.

Eigentlich müsste es doch gehen, das Ganze auf einem Max-Aktor zu testen? - Es fehlt dann halt ein EIngang, ein AUsgang

Ansonsten gerade entdeckt, vielleicht bestelle ich mal eins:
https://www.pollin.de/p/entwicklungsboard-atmel-atmega32-810361?utm_source=newsletter&utm_medium=email&utm_campaign=w20171008

papa

Ich vermiute, dass der Taster nicht duaerhaft geschlossen ist, wenn dieser gedrückt wird. Er wird möglicherweise mit der Wechselspannungsfrequenz von 50Hz öffnen und schliessen. Deshalb erkennt die software mehrere Betätigungen und versucht entsprechend zu Schalten. Ich muss mal sehen, wie ich das in die aktuelle Button-Implementierung ändern kann.

Das Board sieht interessant aus. Aber ich denke es liegt an der Schaltung der taster und das kannst Du damit leider nicht nachstellen.
BananaPi + CUL868 + CUL433 + HM-UART + 1Wire

Klaus0815

Ich habe noch ein bisschen weiter versucht, so ganz bin ich noch nicht hinter den Fehler gekommen:

- Der HM-LC-SW2 funktioniert mal genau wie er soll, dann nimmt er wieder keinerlei Tasten an, dann toggelt er den Max-Aktor alle 2 Sekunden
- Habe dann einen anderen Max-AKtor mit Deiner neuen Software geflasht, also die für den HM-LC-SW2:
    - geht erst mal wie es sein soll, dann irgendwann gleiches Verhalten wie oben, schickt ewig an-aus-an-aus im ca. 2sec-Rhythmus, nur Reset hilft
- den Fehler von gestern, das der Aktor genau 3 mal an-aus-an oder aus-an-aus geht hatte ich heute nicht, obwohl nichts an der Software geändert wurde

Hat es evtl. mit dem internen Peering zu tun? Die 2 sec sind ungefähr die Zeit bis der gepeerte Aktor seinen Empfang zurück meldet.
Hatte mal versucht den Aktor während des ständigen an-aus-an-aus lokal umzuschalten, das hat aber keinen Erolg

Müsste man evtl. den Peers explizit ein on / off statt eines toggles schicken?
(Glaube das wäre eh sinnvoller, sonst kann man nie mit dem zentralen HM-LC-SW2 gezielt alle Peers in die gleiche Stellung schalten? )

Viele Grüße

Klaus