HM-LC-Sw1PBU-FM Alternative Firmware: Unterschied zwischen den Versionen

Aus FHEMWiki
K (diverse kleinere Korrekturen)
Zeile 3: Zeile 3:


== Neue Funktionen ==
== Neue Funktionen ==
* Der Taster kann mit anderen Geräten gepeert werden. Das ist mit der Originalfirmware nicht möglich.
* Der Taster kann mit anderen Geräten [[Homematic Peering Beispiele|gepeert]] werden. Das ist mit der Originalfirmware nicht möglich.
* Die alternative Firmware hat eine Stromerkennung, die hardwaretechnisch immer vorhanden ist, aber von der EQ3 Firmware nicht benutzt wird. Es ist möglich, damit eine Wechselschaltung zu implementieren.
* Die alternative Firmware hat eine Stromerkennung, die hardwaretechnisch immer vorhanden ist, aber von der eQ-3 Firmware nicht benutzt wird. Es ist möglich, damit eine Wechselschaltung zu implementieren.


== Integration des Schalters in FHEM ==
== Integration des Schalters in FHEM ==
=== Anlernen ===
=== Anlernen ===
In FHEM ist der Homematic-CUL in den Anlernmodus zu bringen. Der ConfigButton des Schalters ist nun > 4sek zu drücken. Wichtig: Die LED darf nach lösen des Button nicht aufblinken. Die LED gibt keine Rückmeldung über den Status des Anlernvorgangs.
In FHEM ist der HomeMatic-CUL in den Anlernmodus zu bringen. Der ConfigButton des Schalters ist nun länger als vier Sekunden zu drücken. Wichtig: die LED darf nach Loslassen des Button nicht aufblinken; sie gibt keine Rückmeldung über den Status des Anlernvorgangs.


Nach dem Anlernen sollte nochmal die aktuelle Config ausgelesen werden, das kann ein paar sekunden dauern und ist abgeschlossen, sobald der "state" = "cmds done" ist.
Nach dem Anlernen sollte nochmal die aktuelle Config ausgelesen werden. Das kann ein paar Sekunden dauern und ist abgeschlossen, sobald der "state" = "cmds done" ist.
  set <HM-LC-SW1PBU-FM_Device> getConfig
  set <HM-LC-SW1PBU-FM_Device> getConfig


Zeile 16: Zeile 16:
  set <HM-LC-SW1PBU-FM_Device> regSet pairCentral <123456>
  set <HM-LC-SW1PBU-FM_Device> regSet pairCentral <123456>


Um nun den Schalter wie ein "normalen" Schalter wirken zu lassen, müssen nun noch die Buttons mit dem Switch gepeert werden. Danach bewirkt ein Tastendruck nach oben ein einschalten, und ein Druck nach unten ein ausschalten. Unterlässt man diesen Schritt, passiert bei einem Tastendruck am angeschlossenen Verbraucher nix.
Um den Schalter wie einen "normalen" Schalter wirken zu lassen, müssen noch die Buttons mit dem Switch gepeert werden. Danach bewirkt ein Tastendruck nach oben ein Einschalten, und ein Druck nach unten ein Ausschalten. Unterlässt man diesen Schritt, passiert bei einem Tastendruck am angeschlossenen Verbraucher nichts.
  set <HM-LC-SW1PBU-FM_Btn_01 peerChan 0 <HM-LC-SW1PBU-FM_Sw_01 dual set  
  set <HM-LC-SW1PBU-FM_Btn_01 peerChan 0 <HM-LC-SW1PBU-FM_Sw_01 dual set  


Zeile 35: Zeile 35:
     Pin #25    |    GND      |    MP15
     Pin #25    |    GND      |    MP15


Wenn man den HM-LC-SW1PBU-FM vor sich zu liegen hat, liegen die Pins in folgender Reihenfolge:<br>
Wenn man den HM-LC-SW1PBU-FM vor sich liegen hat, liegen die Pins in folgender Reihenfolge:
Reihe 1: MP15 / MP5 / MP6<br>
:Reihe 1: MP15 / MP5 / MP6
Reihe 2: MP3 / MP4 / MP2
:Reihe 2: MP3 / MP4 / MP2


Wichtig beim RaspberryPi ist, dass man nicht die von Raspbian ausgelieferte Version des 'avrdude' nutzen kann, sondern eine adaptierte Version verwendet werden muss.
Wichtig beim [[Raspberry Pi]] ist, dass man nicht die von Raspbian ausgelieferte Version des 'avrdude' nutzen kann, sondern eine adaptierte Version verwendet werden muss.
Alle notwendigen Dateien zum Flashen (bereits alles fertig und lauffähig) inkl. einem kleinen HowTo sind im unten stehenden Link 'Flashen mit RaspberryPi' vorhanden.
Alle notwendigen Dateien zum Flashen (bereits alles fertig und lauffähig) inkl. einem kleinen HowTo sind im unten stehenden Link 'Flashen mit RaspberryPi' vorhanden.


Zeile 81: Zeile 81:
* Arduino Port für Atmega 644: [https://github.com/jabdoa2/jabduino]
* Arduino Port für Atmega 644: [https://github.com/jabdoa2/jabduino]
* Flashen mit RaspberryPi: [https://owncloud.isengard.at/public.php?service=files&t=8992affb68e8c1dcbe532152628ad9a5]
* Flashen mit RaspberryPi: [https://owncloud.isengard.at/public.php?service=files&t=8992affb68e8c1dcbe532152628ad9a5]
[[Kategorie:HomeMatic Components]]
[[Kategorie:HomeMatic Components]]
[[Kategorie:Schalter (Sender)]]
[[Kategorie:Schalter (Sender)]]
[[Kategorie:Schalter (Empfänger)]]
[[Kategorie:Schalter (Empfänger)]]

Version vom 28. Januar 2015, 09:38 Uhr

X mark.svgBei den hier gezeigten Modifikationen geht die Garantie verloren und das Gerät verliert seine Zertifizierungen!

Um die alternative Firmware auf den HM-LC-Sw1PBU-FM flashen zu können, muss das Gerät geöffnet und ein Programmer angelötet werden.

Neue Funktionen

  • Der Taster kann mit anderen Geräten gepeert werden. Das ist mit der Originalfirmware nicht möglich.
  • Die alternative Firmware hat eine Stromerkennung, die hardwaretechnisch immer vorhanden ist, aber von der eQ-3 Firmware nicht benutzt wird. Es ist möglich, damit eine Wechselschaltung zu implementieren.

Integration des Schalters in FHEM

Anlernen

In FHEM ist der HomeMatic-CUL in den Anlernmodus zu bringen. Der ConfigButton des Schalters ist nun länger als vier Sekunden zu drücken. Wichtig: die LED darf nach Loslassen des Button nicht aufblinken; sie gibt keine Rückmeldung über den Status des Anlernvorgangs.

Nach dem Anlernen sollte nochmal die aktuelle Config ausgelesen werden. Das kann ein paar Sekunden dauern und ist abgeschlossen, sobald der "state" = "cmds done" ist.

set <HM-LC-SW1PBU-FM_Device> getConfig

Möchte man erneut pairen, so geht dies am einfachsten mit:

set <HM-LC-SW1PBU-FM_Device> regSet pairCentral <123456>

Um den Schalter wie einen "normalen" Schalter wirken zu lassen, müssen noch die Buttons mit dem Switch gepeert werden. Danach bewirkt ein Tastendruck nach oben ein Einschalten, und ein Druck nach unten ein Ausschalten. Unterlässt man diesen Schritt, passiert bei einem Tastendruck am angeschlossenen Verbraucher nichts.

set <HM-LC-SW1PBU-FM_Btn_01 peerChan 0 <HM-LC-SW1PBU-FM_Sw_01 dual set 

Reset

Um den Schalter zu resetten ist der ConfigButton 2x hintereinander für > 4sek zu drücken. Auch hier liefert die LED keinerlei Rückmeldung über den Status. Blinks die LED trotzdem auf, so wurde das Drücken des Buttons nicht als "lang" erkannt. Alternativ kann ein Reset über FHEM ausgelöst werden:

set <HM-LC-SW1PBU-FM_Device> reset

Vorgehen zum Flashen

Anschluss der einzelnen PINs bei Verwendung der GPIO-Ports des Raspberry PI

Raspberry PIN | Beschreibung | HM-LC-Sw1PBU-FM
--------------|--------------|----------------
   Pin #17    |    3,3V      |    MP2
   Pin #19    |    MOSI      |    MP4
   Pin #21    |    MISO      |    MP5
   Pin #23    |    SCLK      |    MP6
   Pin #24    |    Reset     |    MP3
   Pin #25    |    GND       |    MP15

Wenn man den HM-LC-SW1PBU-FM vor sich liegen hat, liegen die Pins in folgender Reihenfolge:

Reihe 1: MP15 / MP5 / MP6
Reihe 2: MP3 / MP4 / MP2

Wichtig beim Raspberry Pi ist, dass man nicht die von Raspbian ausgelieferte Version des 'avrdude' nutzen kann, sondern eine adaptierte Version verwendet werden muss. Alle notwendigen Dateien zum Flashen (bereits alles fertig und lauffähig) inkl. einem kleinen HowTo sind im unten stehenden Link 'Flashen mit RaspberryPi' vorhanden.

Bootloader

  • Fuses setzen (wichtig)
  • Firmware bauen + flashen
  • HMID auf die des originalen Gerätes setzen
  • Seriennummer ist, wenn man sie nicht ändert, KEQ0123456
  • Gerät starten (LED blinkt einmal)

Firmware

  • Firmware mit arduino bauen
  • In eq3 File konvertieren

Firmware OTA flashen

  • Windows flasher: in den Flasher die Seriennummer eingeben und die Firmware laden (vorher tar.gz bauen)
  • flash-ota: eq3 File- und Seriennummer eingeben

Gerät nutzen

  • 99_Asksin_HM_LC_Sw1PBU_FM_CustomFW.pm in FHEM installieren
  • Gerät mit FHEM pairen (Config Taster drücken)
  • Andere Geräte mit dem Gerät peeren und Spaß haben

UART nutzen

Statt /dev/ttyXXX das eigene Interface einfügen:

  • /dev/ttyUSB0 (USB Interface)
  • /dev/ttyAMA0 (Raspberry PI)
  • /dev/ttyS0 (normaler Serieller Port)

Öffnen

  • Direkt in der Arduino IDE (Tools -> Serial Monitor)
  • Mit screen
screen /dev/ttyXXX 57600,CS8,ixon,ixoff
  • Mit minicom
sudo apt-get install minicom
minicom -b 57600 -o -D /dev/ttyXXX -w

Links

  • Firmware: [1]
  • Bootloader: [2]
  • Arduino Port für Atmega 644: [3]
  • Flashen mit RaspberryPi: [4]