FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: EdgarM am 13 Oktober 2015, 20:32:31

Titel: HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 13 Oktober 2015, 20:32:31
Hallo zusammen,

neues Jahr neuer Anlauf. Mein Setup ist folgendes:

CCU2 / 5 Heizkörper mit je einem HM-CC-RT / ein Wandthermostat für das Wohnzimmer.
FHEM installiert auf einer ubuntu Hyperv
HMRPC und HMDEV verbunden mit der CCU2 (danke für die neue Version )

Nachdem ich das ganze gefühlt 3 Mal komplett neu aufgesetzt habe, kann ich alles konfigurieren bis zu dem Punkt, dass die Geräte eingetragen werden in FHEM.

Leider weiss ich trotz 2 Tage langem lesen im Forum und im i-net nicht weiter:


Die Geräte sind sichtbar in FHEM, allerdings ist im STATE nur der Eintrag ???
set Befehle geben ein -1: failure zurück

Anbei ein paar Screenshots


Und hier ein Auszug aus dem Log:

2015.10.13 20:24:24 5: Processing event setting MEQ0:4->PARTY_STOP_TIME=0
2015.10.13 20:24:24 5: hmrf dispatch HMDEV MEQXXXXXXX:4 PARTY_STOP_TIME 0
2015.10.13 20:24:24 5: Triggering BadHeiz (1 changes)
2015.10.13 20:24:24 5: Notify loop for BadHeiz PARTY_STOP_TIME_4: 0
2015.10.13 20:24:24 5: Processing event setting MEQXXXXXXX:4->PARTY_STOP_DAY=1
2015.10.13 20:24:24 5: hmrf dispatch HMDEV MEQXXXXXXX:4 PARTY_STOP_DAY 1
2015.10.13 20:24:24 5: Triggering BadHeiz (1 changes)
2015.10.13 20:24:24 5: Notify loop for BadHeiz PARTY_STOP_DAY_4: 1
2015.10.13 20:24:24 5: Processing event setting MEQXXXXXXX:4->PARTY_STOP_MONTH=1
2015.10.13 20:24:24 5: hmrf dispatch HMDEV MEQXXXXXXX:4 PARTY_STOP_MONTH 1
2015.10.13 20:24:24 5: Triggering BadHeiz (1 changes)
2015.10.13 20:24:24 5: Notify loop for BadHeiz PARTY_STOP_MONTH_4: 1
2015.10.13 20:24:24 5: Processing event setting MEQXXXXXXX:4->PARTY_STOP_YEAR=0
2015.10.13 20:24:24 5: hmrf dispatch HMDEV MEQXXXXXXX:4 PARTY_STOP_YEAR 0
2015.10.13 20:24:24 5: Triggering BadHeiz (1 changes)
2015.10.13 20:24:24 5: Notify loop for BadHeiz PARTY_STOP_YEAR_4: 0
2015.10.13 20:24:24 4: name: /fhem/HMRPC_hmrf/request&<?xml version="1.0"?>^M
<methodCall><methodName>system.multicall</methodName>^M
<params><param><value><array><data><value><struct><member><name>methodName</name><value>event</value></member><member><name>params</name><value><array><data><value>CB1</value><value>MEQXXXXXXX:4</value><value>PARTY_STOP_TIME</value><value><i4>0</i4></value></data></array></value></member></struct></value><value><struct><member><name>methodName</name><value>event</value></member><member><name>params</name><value><array><data><value>CB1</value><value>MEQXXXXXXX:4</value><value>PARTY_STOP_DAY</value><value><i4>1</i4></value></data></array></value></member></struct></value><value><struct><member><name>methodName</name><value>event</value></member><member><name>params</name><value><array><data><value>CB1</value><value>MEQXXXXXXX:4</value><value>PARTY_STOP_MONTH</value><value><i4>1</i4></value></data></array></value></member></struct></value><value><struct><member><name>methodName</name><value>event</value></member><member><name>params</name><value><array><data><value>CB1</value><value>MEQXXXXXXX:4</value><value>PARTY_STOP_YEAR</value><value><i4>0</i4></value></data></array></value></member></struct></value></data></array></value></param></params></methodCall>^M
/ RL:277 / text/xml /  /



Das mag für jemanden alles einfach sein, aber als Einsteiger ( und ich kann auch Programmieren ;) ) ist es verdammt schwer die vielen verschiedenen Dinge gleichzeitg zu beachten. Sobald es funktioniert ist es auch einfacher es zu verstehen.

Im Gegenzug werde ich versuchen ein echter Howto für Anfänger zu schreiben mit allen Schritten die ich benötigt habe.

Danke für die Hilfe
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: zap am 14 Oktober 2015, 08:06:04
Hmm, die Definition sieht schon mal sauber aus. IODev ist korrekt. Readings wurden offensichtlich aktualisiert. Hast Du mal im Log der CCU nachgeschaut, ob da irgendwelche Fehler auflaufen, wenn Du den set Befehl ausführst (/var/log/messages) ?
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 14 Oktober 2015, 08:49:56
Hi zap,

leider ist auf der CCU2 nichts im log zu finden. Beim ausführen kommt gar keine Eintrag zustande, wird scheinbar gar nicht erst aufgerufen.
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: zap am 14 Oktober 2015, 09:16:31
Hast Du die Version von hendryk von github installiert oder die gepatchte von Raymond (letzter Post im Orginalthread s.u.)?

Falls sich hier keiner mehr äußert stelle die Frage nochmal im Orginalthread http://forum.fhem.de/index.php/topic,41060.0.html

Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 14 Oktober 2015, 13:06:42
Hi zap,

danke für den Hinweis. Ich hatte das ignoriert im letzten Post weil "abwärtskompatibel". Ich habe ja alles auf dem neuesten Stand und dachte ich kann das ignorieren.

Jetzt ist der STATE nicht mehr ??? sondern :
STATE
ACTUAL_TEMPERATURE_4: 24.400000 BATTERY_STATE_4: 3.100000 BOOST_STATE_4: 0 CONTROL_MODE_4: 0 FAULT_REPORTING_4: 0 PARTY_START_DAY_4: 1 PARTY_START_MONTH_4: 1 PARTY_START_TIME_4: 0 PARTY_START_YEAR_4: 0 PARTY_STOP_DAY_4: 1 PARTY_STOP_MONTH_4: 1 PARTY_STOP_TIME_4: 0 PARTY_STOP_YEAR_4: 0 PARTY_TEMPERATURE_4: 5.000000 SET_TEMPERATURE_4: 17.000000 VALVE_STATE_4: 0


Mal sehen wie weit ich jetzt komme.

Danke schon mal dafür.
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 14 Oktober 2015, 16:43:24
Leider ist es nur ein Schritt in die Richtige Richtung :(

Ich habe zwar keine Fragezeichen mehr, aber ich kann keinen Befehl senden ( oder weiß nicht wie ich das tuen soll)

Beispiel aus der Wiki:

set BadHeiz regSet btnLock on

Da bekomme ich leider keine Bestätigung, sondern ein
-3: Unknown paramset

Danke für die Hilfestellung

grüße
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: zap am 16 Oktober 2015, 07:49:55
Diese Fehlermeldung scheint von dem Perl-RPC Modul zu kommen, nicht von HMRPC direkt. Ich nehme an, der set Befehl ist nicht korrekt und in HMRPC wird das nicht geprüft bzw. die Prüfung bemerkt es nicht.
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: zap am 16 Oktober 2015, 10:27:24
Noch ein paar Anmerkungen / Fragen:

- Welches Wiki meinst Du?
- Versuche mal, im Set Befehl statt on/off true/false oder 1/0 anzugeben. Die States in der CCU sind meistens true/false oder 1/0. Mit on/off kann die CCU nichts anfangen. Ich glaube nicht, dass HMRPC das übersetzt.
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: Raymund am 16 Oktober 2015, 15:10:23
Hallo,

ich hoffe, ich verstehe Eure Diskussion richtig: nach meinen Erfahrungen kann man mit set nur das "senden", was als Reading vorliegt (also z.B. STATE_1 oder LEVEL_1) und muss außerdem den "Datentyp" beachten, so wie er im xmlrpc-File benötigt wird (also z.B. set <name> LEVEL_1 1.0 oder set <name> STATE_1 true). Wenn noch nicht alle benötigten Readings angelegt wurden, dann in der ccu "schalten".

Zur Vereinfachung habe ich eventMaps gesetzt, wie z.B. /STATE_1 true:ein/STATE_1 false:aus/

Mir fehlt so z.B. noch der STOP-Befehl für die Rollläden (blind actuators). Das kriege ich auch nicht hin. Ansonsten laufen hmrpc und hmdev mit gut 20 Devices problemlos seit jetzt einigen Wochen.

Grüße
Raymund
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 16 Oktober 2015, 22:44:11
Hi Raymund,

mein Problem ist, dass ich zwar die Heizkörperthermostate sehe in FHEM, aber keinerlei Befehle an sie senden kann.

Da das nicht klappt, weiß ich natürlich auch nicht, ob die Konfiguration bei mir in Ordnung ist.


Vielleicht kannst Du mir ja sagen, ob meine Config stimmt oder ob noch etwas fehlt.


# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
define hmrf HMRPC 172.23.0.10 2001
attr hmrf callback_base http://172.23.1.33:8083/fhem
attr hmrf icon hm_ccu
define SchlafzimmerHeiz HMDEV LEQXXXXXXXX
attr SchlafzimmerHeiz IODev hmrf
attr SchlafzimmerHeiz icon hc_wht_regler
attr SchlafzimmerHeiz room Schlafzimmer,HMDEV
attr SchlafzimmerHeiz stateFormat ACTUAL_TEMPERATURE_4


Und mit welchem Befehl setzt du z.b. die Temperatur?

Danke schon mal
grüße
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: Ralli am 17 Oktober 2015, 08:21:58
Ich denke, Du würdest Thermostate besser über das Modul HMCCU einbinden. Da scheint auch momentan mehr Entwicklungswille drin zu stecken ;). Ausserdem besteht darin die Möglichkeit, Kommandos "zu übersetzen".

Der (bisher) einzige Nachteil: HMCCU arbeitet auf Polling-Basis, HMRPC dagegen auf RPC, nimmt also auch Events entgegen.

Ideal wäre eine Kombination aus beidem. Wenn ZAP also in sein HMCCU dazu noch ein (optionales) RPC einbaut, mit dem bspw. ein Device praktisch aus beiden "Schienen" heraus gefüttert und gesteuert werden kann, wäre das die genialste Lösung.

http://forum.fhem.de/index.php/topic,40189
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: Raymund am 17 Oktober 2015, 10:07:04
Hallo EdgarM,

ich sehe nur, dass Deine IP-Adressen in unterschiedlichen Subnetzen (vorletzter Adressteil mal 0, mal 1) definiert sind. Ist das bei Dir so richtig im Heimnetz?

Grüße
Raymund
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 17 Oktober 2015, 10:56:57
Hi Raymund,

ja, ich habe als Netmask 255.255.254.0. das 172.23.0* ist statisch, 1.* ist DHCP :)

Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: Raymund am 17 Oktober 2015, 11:14:38
Hallo EdgarM,

ich habe nur Schalter und Rollläden (blinds), die ich schalte. Ich kann also nichts zu den Temperaturen schreiben. Ich versuche aber gerade in Sachen "STOP-Befehl" zu debuggen. Wenn ich dazu mehr habe, melde ich mich. Die Firewall-Einstellungen in der CCU hast Du ja sicher kontrolliert!?

Grüße
Raymund
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: EdgarM am 17 Oktober 2015, 11:15:45
Hi Raymund,

vor 15 Minuten hab ich da mal was umgestellt. Allerdings gab es keine Verbesserung dazu :(

Danke für die Unterstützung.

grüße
Titel: Antw:HMRPC Setup ( CCU2 / FHEM / Ubuntu / HMRPC )
Beitrag von: zap am 17 Oktober 2015, 16:20:24
Zitat von: Ralli am 17 Oktober 2015, 08:21:58
Der (bisher) einzige Nachteil: HMCCU arbeitet auf Polling-Basis, HMRPC dagegen auf RPC, nimmt also auch Events entgegen.

Ideal wäre eine Kombination aus beidem. Wenn ZAP also in sein HMCCU dazu noch ein (optionales) RPC einbaut, mit dem bspw. ein Device praktisch aus beiden "Schienen" heraus gefüttert und gesteuert werden kann, wäre das die genialste Lösung.

Ich habe durchaus mal RPC getestet, bevor ich mit für das XML-API mit aktivem Polling entschieden habe. Aber FHEM ist aufgrund seiner Architektur für so ein Callback Verfahren einfach nicht geeignet. Es ist einfach eine große Schleife. Daher sind solche asynchronen Callbacks sehr schwer zu handeln. Habe auch mit HMRPC getestet. Dabei gibt es immer wieder seltsame Effekte, z.B. dass Events verloren gehen oder Fehlermeldungen in der CCU auflaufen. Liegt vermutlich nicht an HMRPC sondern im Zusammenspiel mit FHEM. Daher erfüllt HMCCU meine Anforderungen am ehesten, auch wenn das aktive Pollen ggf. zu Verzögerungen führt (ein kleineres Pollingintervall als 1 Minute ist mit Vorsicht zu genießen, wenn auf der CCU viele Programme laufen).