alexreinert / debmatic

debmatic is a project to install the Homematic OCCU on Debian based systems (Debian, Ubuntu, Raspbian, Armbian)
187 stars 33 forks source link

HM-MOD-RPI-PCB über USB (CP2102)? #32

Closed Firefly1337 closed 5 years ago

Firefly1337 commented 5 years ago

Hallo,

ich habe mein HM-MOD-RPI-PCB über ein CP2102 am USB-Port hängen. Gibt es Pläne diese Kombination zu unterstützen? Ich konnte dazu leider nichts finden.

Wie genau die Änderungen in der Datei detect_hardware.inc aussehen müssen, weiß ich leider nicht, aber das Gerät wird zumindest größtenteils problemlos erkannt:

lsusb | grep CP2102

Bus 002 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]

/bin/eq3configcmd read-default-rf-address -f /dev/ttyUSB0 -h 2>&1 | grep "^0x"

0x583642

/bin/eq3configcmd update-coprocessor -p /dev/ttyUSB0 -t HM-MOD-UART -c -se 2>&1 | grep "SerialNumber:"

2019/08/07 17:22:22.469 <Info> SerialNumber: OEQ0305943

/bin/eq3configcmd update-coprocessor -p /dev/ttyUSB0 -t HM-MOD-UART -c -v 2>&1 | grep "Version:"

2019/08/07 17:23:03.724 <Info> Version: 2.8.6

/bin/eq3configcmd update-coprocessor -p /dev/ttyUSB0 -t HM-MOD-UART -c -sg 2>&1

2019/08/07 17:23:49.736 <Error> Error retrieving SGTIN from coprocessor.

Rein spaßeshalber habe ich einen symbolischen Link von /dev/raw-uart auf /dev/ttyUSB0 erstellt und debmatic gestartet. debmatic-info liefert danach:

debmatic version: 3.47.15-31
Kernel modules: Available
Raw UART dev:   Not available
HMRF Hardware:  HM-MOD-RPI-PCB
HMIP Hardware:  HM-MOD-RPI-PCB
Board serial:   OEQ0305943
Radio MAC:      0x583642
SGTIN:          unknown

Der Dienst debmatic-rfd liefert

XmlRpc transport error calling system.listMethods({"BidCos-RF_java"}) on http://127.0.0.1:39292/bidcos:
XmlRpc transport error calling system.listMethods({"1010"}) on binary://127.0.0.1:31999/RPC2:

Dass das so nicht funktionieren kann, ist klar. Man müsste vermutlich noch den Code für den HmIP-RFUSB kombinieren, der laut Code auch per CP2102 angeschlossen ist. Hat das schonmal jemand erfolgreich ans Laufen gebracht bzw. gibt es Pläne diese Kombination zu unterstützen?

Stelle mich gerne als Tester zur Verfügung.

Danke!

alexreinert commented 5 years ago

Es nicht geplant, eine solche Unterstützung einzubauen. Aufgrund der Software Architektur der CCU braucht es spezielle Kernel Module zur Ansteuerung der UARTs, an welchem die Funkmodule angeschlossen sind, weil die normalen Linux Treiber eine zu hohe Latenz haben und auch nicht darauf ausgelegt sind, dass zwei Prozesse gleichzeitig auf ein dev zugreifen. Ich habe mit der Platine HB-RF-USB eine Möglichkeit geschaffen, das Funkmodul per USB anzuschließen, ich kann keinen guten Grund erkennen, warum ich den Aufwand zu treiben, auch noch eine zweite mehr oder wenige identische Lösung zu unterstützen.

Der HmIP-RFUSB hat auch den CP2102, allerdings unterstützt der nur HmIP und wird daher komplett anders angesprochen (nicht vom multimacd, sondern nur vom hmserver).