Neue Firmware für HM_LC_Sw1PBU_FM mit getrenntem Aktor, Taster + Wechselschalter

Begonnen von jab, 29 Dezember 2013, 22:04:10

Vorheriges Thema - Nächstes Thema

jab

Hi,

ich habe aus der AskSin Library eine alternative Firmware für den HM_HM_LC_Sw1PBU_FM gebaut. Für FHEM habe ich ihm eine neue ModelID verpasst F0A9. Sowohl das FHEM Device als auch die Firmware funktionieren bereits. Wer da mitentwickeln will kann den Source hier auschecken: https://github.com/jabdoa2/Asksin_HM_LC_Sw1PBU_FM

-- UPDATE --

Das Gerät hat dann 2 Tasterchannel (1,2) und 2 Aktorchannel (3,4). Aktorchannel 3 ist das normale Relais. Aktorchannel 4 ist für Wechselschaltungen. Er ist an wenn Strom fließt und aus wenn keiner fließt. Beim Umschalten wird das Relais von Channel 3 geschaltet.

Die internen Taster und Aktoren kann getrennt nutzen (ging mit der Originalfirmware so nicht). Man kann sie weiterhin auch intern peeren dann verhält sich der Aktor wie ein Originalaktor.


Pairing und Konfiguration mit FHEM geht. Peering von Schalter mit Originalaktoren und Aktor und Originalschaltern funktioniert. Für FHEM Support muss das Deviceconfig File in den FHEM Ordner legen.

Zum Flashen braucht man einen SPI Programmer für AVR oder einen Raspberry PI. Die 6 Programmierleitungen muss man temporär auf Testpunkte anlöten und nach dem Programmieren wieder ablöten.

Der in der Hardware vorhandene Strommessung im Aktor kann verwendet werden. Bisher wird der Wert per Funk an FHEM geschickt und kann dort betrachtet werden. Die genaue Interpretation der Werte ist noch nicht abgeschlossen.

Mehr Details bei github: https://github.com/jabdoa2/Asksin_HM_LC_Sw1PBU_FM


Gruß,
Jan

T.ihmann

Das klingt ja interessant. Wie kriegt man die Firmware denn auf den Aktor ? Geht ein Update on air, wie bei einigen neuen HM Aktoren ?

T.ihmann

Interessant wäre dies auch für die normale Schalter Variante der Reihe

jab

Aktuell nur mit einem Atmel ISP Programmer. Die alten Aktoren können vermutlich kein over the air Update. Wenn wir wissen wie das bei den neuen geht kann man das bei den alten probieren, aber ich gehe nicht davon aus, dass es klappt. Aktuell muss man den ISP anlöten. Das ist aber recht einfach, da es Testpunkte dafür gibt. Ich kann dazu mal eine Anleitung schreiben.

Für normale Schalter wie den HM-LC-Sw1-Pl2 lässt sich das vermutlich relativ einfach anpassen. Ich kann gleich mal eine aufschrauben und gucken ob das der gleiche Controller ist.

Das Projekt ist jetzt erst 3 Tage alt. Es wird da vermutlich in den nächsten Tagen noch eine Menge Entwicklung geben.


Gruß,
Jan

T.ihmann

Mit den Rolladenaktoren HM-LC-BI1PBU-FM sollte es wahrscheinlich auch funktionieren ? Die stammen ja wahrscheinlich aus der gleichen Serie wie die Schalter.
Womit programmierst Du denn ? Laut github ist ja ein Atmel Atmega 644 verbaut. Ich überlege gerade mir für ein anderes Projekt einen Programmer nach USBasp-Design, der avrdude unterstützt zuzulegen. Der könnte ja dann wahrscheinlich auch den HM_HM_LC_Sw1PBU_FM unterstützen.

Klingt ja spannend...

jab

Hi,

ja das geht mit den meisten Atmel Programmern. Ich habe eben mal den HM-LC-Sw1-Pl2 aufgemacht. Da ist allerdings ein Atmel Atmega 32 drauf (32L also die 3,3V Version). Kann man auch porten aber ist damit etwas Aufwand. Vorallem müsste man die Behandlung der LED oben noch implementieren. Zumindest wenn es sich wie vorher verhalten soll.


Gruß,
Jan

hexenmeister

Beide Schalter sind sehr ähnlich aufgebaut.
Es sit ein MEGA644A verbaut. Hier ein Bild für den HM-LC-Sw1PBU-FM (da sind auch die Lötpunkte für ISP zu sehen):
(http://s6z.de/cms/images/content/homematic/Schaltaktor_HM-LC-Sw1PBU-FM_P_02_k.png)
Hier: http://s6z.de/cms/index.php/homeautomation/homematic/36-schaltaktor-hm-lc-sw1pbu-fm
und hier http://s6z.de/cms/index.php/homeautomation/homematic/35-funk-rollladenaktor-hm-lc-bl1-fm
sind noch ein Paar.

Als Programmer sollte auch ein usbasp aus der Bucht reichen: http://www.ebay.de/itm/USBasp-ASP-USBISP-3-3V-5V-AVR-Download-Programmer-Connector-USB-ATMEGA8-ATMEGA8-/300963812987?pt=LH_DefaultDomain_15&hash=item4612d7567b
Oder ein ArduinoUNO mit entsprechendem Sketch darauf.

Grüße,

Alexander

P.S. Es scheint schon reicht weit gediehen zu sein. Bin sehr gespannt auf das Ergebnis!
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

trilu

Ich finde die Idee klasse eigene Firmware für vorhandene Devices bauen zu können. Damit könnte man zum Beispiel den Rolladenaktor als Doppellichtschalter missbrauchen. Was noch etwas schade ist,  man verliert die AES. Ist bei einem Lichtschalter nicht zwingend notwendig,  aber wie wäre es mit einer Garagentorsteuerung?
Vielleicht findet sich ja jemand der die Original Firmware auslesen kann,  so dass man an die relevanten Teile kommt?

jab

Die original Firmware ist leider geschützt. Es gibt zwei Firmware Images im Image der CCU2. Die beiden für die over the air Updates. Ich habe die mal extrahiert, falls jemand die mal auseinander nehmen will.

Auf dem HM-LC-Sw1PBU-FM kommt der ISP an die Testpunkte:
MP2, MP3, MP4, MP5, MP6,MP15

Serial ist:
MP9, MP10, MP16

Achtung nicht verbinden mit 230V angeschlossen. Die Testpunkte führen möglicherweise Spannung! Am besten man verbindet einfach 3,3V an MP2 und MP15


Gruß,
Jan

T.ihmann

Mit einer "Alternativ-Firmware" könnte dann evtl. ja auch eine Wechselschaltung realisiert werden, siehe Thread http://forum.fhem.de/index.php/topic,11834.msg103188. Dort wurde das Thema Wechselschaltung mit HM_HM_LC_Sw1PBU_FM  diskutiert im Vergleich zu den Aktoren von RWE, wo dies möglich ist und vermutet es würde lediglich am Unterschied der Firmware Homematic / RWE liegen.

Zitat von: unimatrix am 27 Oktober 2013, 09:52:12
Habe mir gerade so ein Ding zusammengelötet und auch mal den Schaltplan studiert. Meine Elektronik-Kenntnisse sind leider sehr eingerostet, aber was da an dem Relais drangebaut ist sieht mir doch stark nach einer Schaltung zur Strommessung mit zwei TLC272 aus. Zwischen "L" und dem Ausgang ist ein 10 mOhm Widerstand (Shunt?)  eingebaut, der Spannungsabfall geht dann in diese Verstärkerschaltung (allerdings mit einem 10u Kondensator abgegriffen - ggf. werden nur Laständerungen verstärkt?) ...das Ergebnis der ganzen Geschichte geht dann auf einen I/O des uControllers.

Also da hätte ich jetzt schon vermuten können, dass solch eine Messung mit dem Ziel erfolgt, das Schalten eines ANDEREN Kreuz- oder Wechselschalters in der Schaltung mitzubekommen. GGf. ja in der Hardware vorgesehen aber in der Firmware nicht realisiert? Andere Möglichkeit wäre vll irgendeine Maximallastmessung und einer Abschaltung...keine Ahnung.

T.ihmann

Habe mir gerade mal eine USB Programmer bestellt  :). Dann kann es losgehen... Wie hast Du denn den ISP angelötet, mit einer Stiftleiste oder einfach Kabel. Vielleicht kannst Du ja mal ein Bilder posten. Danke !

jab

Moin,

ja Wechselschaltung ist einfach zu realisieren. Man kann die Taster und Aktoren ja beliebig Peeren. Also würden man den Aktor von Schalter 1 nehmen und den Taster von beiden Schaltern ran peeren. Das sollte so schon mit der Firmware gehen.

Foto hängt an. Fädeldraht ist der serielle Port und das andere der ISP. Guck bitte dass du das ganze nur mit 3,3V powerst und nicht mit 5V.


Gruß,
Jan

justme1968

angeblich hat dir hardware die möglichkeit auch zu messen ob in einer wechselschaltung mit einem normalen schalter geschaltet wurde. d.h. ob an der lampe tatsächlich strom anliegt. wenn das wirklich so ist wäre es klasse das in der firmware zu nutzen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

jab

Hi,

ja das sollte gehen. Ich habe das gerade mal getraced. Das ist Testpunkt MP29 auf dem unteren Board und Testpunkt MP13 auf dem obene Board. PA0/ADC0 ist das auf dem Atmega. Man kann da vermutlich den Strom messen der fließt.


Gruß,
Jan

hexenmeister

Habe den Schaltplan vor mir liegen. Danach müsste das wirklich gehen, geht ja mit dem baugleichem von RWE angeblich auch. Ich hätte schon eine gute Verwendung dafür ;) Bei mir sind hier 4 Wechsel/Kreuzschaltungen, zwei davon würde ich gerne automatisieren.

Dass die AES-Möglichkeit baden geht, finde ich nicht so wild. Wenn man will, könnte man eingene verschlüsselung implmentieren (dann müsste man jedoch alle Geräte flashen). Im Ideall sogar eine echte Verschlüsselung (und nicht nur Signierung). Da würde sogar der Nachteil der mehreren Nachrichten bei AES entfallen.

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy