im Anhang findet ihr meine Software, mit der ein Raspberry Pi und ein HM-MOD-RPI Funkmodul ein HM LAN Gateway (HM-LGW-O-TW-W-EU) simulieren können.
Vorteile: Der Raspi kann für zusätzliche Aufgaben herhalten (Sprachausgabe, Media Center, was Raspis halt so machen, ...), günstiger Anschaffungspreis.
Nachteile: Keine Ethernet Verschlüsselung (im LAN kein wirkliches Problem), noch kein Firmware Update des Funkmoduls möglich. Verlängerte Bootzeiten der CCU2. Manuelle Einrichtung durch editieren der rfd.conf auf der CCU2 erforderlich (nicht über das Web Interface!).
Was wird benötigt:
Ein Raspberry Pi mit Ethernet Schnittstelle (1BV1, 1BV2, 1B+, 2) und das von der BerryMatic / OCCU bekannte Funkmodul.
Eine CCU2. (Wenn ich CCU2 schreibe, meine ich auch immer alle Derivate, wie LXCCU, Berrymatic, OCCU)
Installation:
Das Funkmodul verwendet die interne, serielle Schnittstelle des Raspi /dev/ttyAMA0.
Diese darf deshalb nicht vom Betriebssystem verwendet werden. Um das zu verhindern, startet man raspi-config und schaltet die serielle Schnittstelle aus: Advanced Options (8) -> Serial (A8)-> "Would you like a login shell to be accessible over serial?" -> No.
Danach neu booten.
Jetzt die Software in ein Verzeichnis kopieren und mit make übersetzen. Heraus kommt das Programm hmlangw.
Die Software braucht zwingend als Parameter die 10 stellige Seriennummer des Funkmoduls, in etwa so:
sudo hmlangw -n ABC0123456
Der Paramter -D aktiviert den Debug-Modus, da kann man beobachten, was so passiert.
Mit -r kann man den GPIO pin, der das Funkmodul resettet, einstellen. Default ist 18, das ist korrekt für alle aktuellen Raspberrys (1Bv2, 1B+, 2). Bei den ersten Raspis wäre glaube ich 1 korrekt, kann ich nicht testen, habe so ein Teil nicht.
Will man die Software im Hintergrund laufen lassen (z.B. aus rc.local starten), geht das so:
sudo pfad/hmlangw -n ABC0123456 1> /dev/null 2> /dev/null &
Die Software verwendet im Betrieb die TCP Ports 2000 und 2001. Das lässt sich nicht einstellen, denn die CCU2 erwartet das genau so.
Um den neuen LAN-Adapter der CCU2 bekannt zu machen, muss die Datei rfd.conf im Verzeichnis /etc/config der CCU2 editiert werden. Wir brauchen abermals die Seriennummer des Funkmoduls, sowie die IP Adresse des Raspis, auf dem hmlangw läuft.
In etwa so:
Code: Alles auswählen
[Interface 4]
Type = HMLGW2
Name = Test Interface
Description = Test Interface
Serial Number = ABC0123456
IP Address = x.x.x.x
Nach dem rfd.conf verändert wurde, die CCU2 neu starten. Ob alles funktioniert, kann man im Webinterface der CCU2 nachschauen. Läuft hmlangw im Debug Modus, müsste man die Daten durch die Leitung flitzen sehen.
Längere Bootzeit:
Die CCU2 braucht jetzt länger um hochzufahren. Das liegt daran, dass beim Starten der CCU2 versucht wird, mit allen LAN Adaptern zu sprechen, um eventuelle Änderungen des Ethernet Schlüssels zu übermitteln (das klappt aber nicht!) und um eine neue Firmware auf den LAN Adapter zu spielen (klappt auch nicht, und wird auch nie klappen).
Irgendwann (hab's nicht gestoppt, 10-15 Sekunden?) kommt ein Timeout, es geht also nix kaputt, aber es dauert halt.
Je mehr Raspis als HM-LAN GW laufen, umso schlimmer. Es empfiehlt sich deshalb - wenn man keine echten HM-LAN Gateways hat - diese Stellen aus den init.d Skripten der CCU2 zu entfernen. Auf einer lxccu ist das ein Klacks, auf Berrymatic und der echten CCU2 etwas komplizierter, da die Dateien auf einer schreibgeschützten Partition sind.
Ich verwende lxccu, deshalb kann ich da nicht wirklich helfen.
Update des Funkmoduls:
Version 0.0.2 enthält Dateien von eQ3 im Ordner eq3. Diese stammen aus dem Berrymatic Beta 2 image und der OCCU.
mit
sudo hmlangw -u
Kann man das Funkmodul updaten.
So, das war's erstmal. Falls Jemand die (relativ sinnfreie) LAN Verschlüsselung beisteuern möchte, kann er das gerne tun!
Viel Spaß!