CUL mit HM-CC-RT-DN

Hallo !

Zunächst mal Respekt für die tolle Software Homegear. Ich habe gesehen das Sie auch den CUL in Verbindung mit dem Thermostat HM-CC-RT-DN unterstützen. Dazu hätte ich mal eine Frage …

Ich würde diese Stellantriebe gerne bei uns im Haus einsetzen. Ansonsten brauche ich eigentlich nichts an Automatisierung. Ich würde mir aber gern die Software selber schreiben. Könnten Sie mir evtl. bei dem Protokoll des HM-CC-RT-DN behilflich sein?
Mir ist klar das man die Daten aus den C Quellen raussuchen kann, aber wenn Sie mir ein paar Hinweise geben könnten wäre die Sache sicher schneller zu erledigen.

Hier meine Fragen:

  • Wie kann ich generell mit dem CUL ein mehr oder minder ungekanntes Gerät sniffen um die Rohdaten in Erfahrung zu bringen?
  • Wie genau paire ich ein HM-CC-RT-DN mit einem CUL?
  • Wie kann ich die Soll Temperatur im HM-CC-RT-DN setzen?
  • Wie kann ich die Ist Temp / Stellantriebsstand auslesen?

Ich vermute das sind recht einfache Kommandos für den CUL. Aber so richtig erschließt sich mir noch nicht wie ich die Sache angehen muss.

Würde mich über eine Antwort freuen.

Grüße Dominik

Hallo Dominik,

Homegear dienst als Schnittstelle für dein Vorhaben und nimmt dir die kompliziertere technische Implementierung ab.

Zum Pairing etc. steht einiges im Wiki hier:
homegear.eu/index.php/First … ng_Devices

Dafür musst du quasi nichts selbst entwickeln, dass bringt Homegear bereits mit.
Gleichzeitig stellt Homegear eine XML-RPC-Api bereit. Darüber kannst du Informationen abfragen (bspw. die aktuelle Temperatur) und auch Werte setzen. Ist etwas unübersichtlich:
homegear.eu/index.php/XML_R … _Reference

Das Thermostat bietet sehr viele Funktionen, daher solltest du auch Bedeutung der Kanäle zunächst verstehen:
fhemwiki.de/wiki/HM-CC-RT-DN … emerkungen

Hallo,

ich hätte noch eine Frage zu den RPC API

ich nutze momentan den HM-CFG-LAN und dazu ein Thermostat HM-CC-RT-DN

Ich hab die beiden vorerst mal unter windows verlinkt und nun hab ich mit einem kleinen python Programm mal die devices auslesen wollen und mal Parameter etc setzen.

#!/usr/bin/env python
import xmlrpclib
server = xmlrpclib.ServerProxy(‘http://localhost:2001’, verbose=True)
print server.listDevices()

[]

D.h. kein Device gepaired oder ? dürfte ich dabei was falsch gemacht haben? Wie kann ich das mit dem RPC/Commandline sauber rausfinden was schon gepaired ist? Bzw wie ich es ansprech?

Vielen Dank für deine Hilfe

Hallo Hunk21,

was bereits angelernt ist, siehst du in Homegear’s CLI. Für HomeMatic BidCoS beispielsweise:

sudo homegear -r
fs 0
ds c
ls

Dein Python-Skript sieht gut aus. Nur die Ausgabe passt nicht zu “verbose=True”. Für “verbose=False” ist sie aber korrekt, wenn kein Gerät angelernt ist. Probier mal den Befehl logLevel. Die Ausgabe sollte so aussehen:

send: "POST /RPC2 HTTP/1.1\r\nHost: localhost:2001\r\nAccept-Encoding: gzip\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 102\r\n\r\n<?xml version='1.0'?>\n<methodCall>\n<methodName>logLevel</methodName>\n<params>\n</params>\n</methodCall>\n"
reply: 'HTTP/1.1 200 OK\r\n'
header: Connection: close
header: Content-Type: text/xml
header: Content-Length: 113
body: '<?xml version="1.0"?><methodResponse><params><param><value><i4>4</i4></value></param></params></methodResponse>\r\n'
4

Liebe Grüße

Sathya

Sorry das ich mich nun erst wieder melde hatte keine Zeit mich damit zu beschäftigen.

Ich bekomm nun die Ausgabe von meinem Python skript wie du oben beschrieben hast.

> fs 0 Device family "HomeMatic BidCoS" selected. For information about the family's commands type: "help" (Family)> ds c Device selected. For information about the device's commands type: "help" (Device)> ls No peers are paired to this central. (Device)>

> fs 0 Device family "HomeMatic BidCoS" selected. For information about the family's commands type: "help" (Family)> ls ID │ Address │ Serial Number │ Type ─────────┼─────────┼───────────────┼───────── 1 │ FD243C │ VBC7198224 │ FFFFFFFD 2 │ FE01A9 │ VBS5872369 │ FFFFFFFE ─────────┴─────────┴───────────────┴───────── (Family)>

Aber unter families sind zwei drin. Ich besitz bisher den HM-CFG-LAN und dazu ein Thermostat HM-CC-RT-DN. Wie hab ich das zu verstehen? Meine bisherige auffassung war das in einer Familie alle devices drin sind welche über den CFG-Lan verbunden sind. Oder sind das Familien anhand von funktionen? Und wie bekomm ich raus was welches gerät ist?

Es scheint auch so das ich regelmässig vom Thermostat updates bekomme.

03/01/15 13:37:24.109 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 14EBA0102E2D6F2B0B1D040000000000000F000000 03/01/15 13:37:24.356 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 149DA0102E2D6F2B0B1D040000000000000F000000 03/01/15 13:37:24.619 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 18EBA0102E2D6F2B0B1D04000000000007CA12CB21CCFB0000 03/01/15 13:37:24.872 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 189DA0102E2D6F2B0B1D04000000000007CA12CB21CCFB0000 03/01/15 13:37:25.126 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 18EBA0102E2D6F2B0B1D04000000000007CA12CB21CCFB0000 03/01/15 13:37:37.820 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x30): 0FEC86102E2D6F0000000AA8DC8F1800 03/01/15 13:39:45.848 RPC Server (Port 2001): Info: Connection from 127.0.0.1:56168 accepted. Client number: 6 03/01/15 13:39:45.849 RPC Server (Port 2001): Info: Client number 6 is calling RPC method: listDevices Parameters: 03/01/15 13:39:45.857 RPC Server (Port 2001): Info: Connection to client number 6 closed. 03/01/15 13:40:40.324 HomeMatic BidCoS packet received (My-HM-CFG-LAN, RSSI: 0x28): 0FED86102E2D6F0000000AB8DB0F1800

aber irgendwie versteh ich nicht wie ich raus bekomm was der Thermostat ist und wie ich ihm befehle zusenden kann.

Hallo,

eine Gerätefamilie ist zum Beispiel HomeMatic BidCoS oder Philips hue. Nach dem “fs 0” musst du noch das Zentralengerät mit “ds c” oder in deinem Fall “ds 1” auswählen, danach siehst du mit “ls” alle Geräte.

Anschließend kannst du in Python zum Beispiel “getValue” oder “setValue” anhand der mit “ls” gezeigten id ausführen.

Liebe Grüße

Sathya

> fs 0 Device family "HomeMatic BidCoS" selected. For information about the family's commands type: "help" (Family)> ls ID │ Address │ Serial Number │ Type ─────────┼─────────┼───────────────┼───────── 1 │ FD243C │ VBC7198224 │ FFFFFFFD 2 │ FE01A9 │ VBS5872369 │ FFFFFFFE ─────────┴─────────┴───────────────┴───────── (Family)> ds 1 Device selected. For information about the device's commands type: "help" (Device)> ls No peers are paired to this central. (Device)>

Hm der sagt ist nichts verbunden aber die zentrale bekommt doch regelmässig updates oder ? Wie kann das sein?
Und wieso werden mir seine Familien angezeigt wenn ich nur eine nutze?

Dass Pakete empfangen werden heißt nicht, dass die Geräte auch angelernt sind. Du musst deine Geräte in den Werkszustand setzen und dann an Homegear anlernen. Danach siehst du sie auch in der Liste. Den Anlernmodus kannst du in der CLI nach Auswahl der Zentrale mit “pon” starten.

Weil es selbst bei dir zumindest zwei Gerätefamilien gibt (HomeMatic BidCoS und Miscellaneous).

Liebe Grüße

Sathya