[gelöst]Problem mit HMCCU

Begonnen von The-Holgi, 08 November 2020, 13:22:18

Vorheriges Thema - Nächstes Thema

The-Holgi

Hallo,
habe auf einem Raspberry pivccu zusammen mit einem HM-MOD-RPI-PCB installiert um HM-IP Geräte nutzen zu können.
Soweit läuft es auch, habe zum Test erstmal nur einen HmIP-SWDM-B2 angelernt. In der CCU wird er auch korrekt mit einem Kanal angezeigt und die readings kommen sofort an.
In fhem wird der Zustand (open oder closed) jedoch nur angezeigt wenn ich get devstate auslöse.
Hier mal die einzelnen Definitionen:
defmod d_ccu HMCCU 192.168.178.58
attr d_ccu ccuflags procrpc
attr d_ccu room CCU_HM
attr d_ccu rpcinterfaces HmIP-RF
attr d_ccu rpcport 2010
attr d_ccu rpcserver on
attr d_ccu stateFormat rpcstate/state

setstate d_ccu running/OK
setstate d_ccu 2020-11-08 13:04:44 count_channels 105
setstate d_ccu 2020-11-08 13:04:44 count_devices 3
setstate d_ccu 2020-11-08 13:04:44 count_groups 0
setstate d_ccu 2020-11-08 13:04:44 count_interfaces 3
setstate d_ccu 2020-11-08 13:04:44 count_programs 0
setstate d_ccu 2020-11-08 12:16:38 iface_addr_1 3014F711A061A7DA498F9D10
setstate d_ccu 2020-11-08 12:16:38 iface_conn_1 1
setstate d_ccu 2020-11-08 12:16:38 iface_ducy_1 4
setstate d_ccu 2020-11-08 12:16:38 iface_type_1 HMIP_CCU2
setstate d_ccu 2020-11-08 13:05:06 rpcstate running
setstate d_ccu 2020-11-08 13:05:06 state OK


defmod d_rpc178058HmIP_RF HMCCURPCPROC http://192.168.178.58 HmIP-RF
attr d_rpc178058HmIP_RF alias CCU RPC HmIP-RF
attr d_rpc178058HmIP_RF eventMap /rpcserver on:on/rpcserver off:off/
attr d_rpc178058HmIP_RF room CCU_HM
attr d_rpc178058HmIP_RF stateFormat rpcstate/state
attr d_rpc178058HmIP_RF verbose 2

setstate d_rpc178058HmIP_RF running/OK
setstate d_rpc178058HmIP_RF 2020-11-08 13:05:06 rpcstate running
setstate d_rpc178058HmIP_RF 2020-11-08 13:05:06 state OK


defmod HmIP_SWDM_B2_001559939578A5 HMCCUDEV 001559939578A5
attr HmIP_SWDM_B2_001559939578A5 IODev d_ccu
attr HmIP_SWDM_B2_001559939578A5 event-on-change-reading .*
attr HmIP_SWDM_B2_001559939578A5 room CCU_HM

setstate HmIP_SWDM_B2_001559939578A5 closed
setstate HmIP_SWDM_B2_001559939578A5 2020-11-08 13:06:27 1.STATE closed
setstate HmIP_SWDM_B2_001559939578A5 2020-11-08 13:06:27 control closed
setstate HmIP_SWDM_B2_001559939578A5 2020-11-08 13:06:27 hmstate unreachable
setstate HmIP_SWDM_B2_001559939578A5 2020-11-08 13:06:27 state closed


defmod HmIP_SWDM_B2 HMCCUCHN 001559939578A5:1 readonly
attr HmIP_SWDM_B2 IODev d_ccu
attr HmIP_SWDM_B2 ccureadingfilter (ERROR|LOWBAT|STATE)
attr HmIP_SWDM_B2 devStateIcon closed:10px-kreis-gruen open:10px-kreis-rot
attr HmIP_SWDM_B2 event-on-change-reading .*
attr HmIP_SWDM_B2 room CCU_HM
attr HmIP_SWDM_B2 substitute STATE!(0|false):closed,(1|true):open;;;;LOWBAT!(0|false):no,(1|true):yes

setstate HmIP_SWDM_B2 closed
setstate HmIP_SWDM_B2 2020-11-08 13:14:58 1.STATE closed
setstate HmIP_SWDM_B2 2020-11-08 13:14:58 control closed
setstate HmIP_SWDM_B2 2020-11-08 13:14:58 hmstate unreachable
setstate HmIP_SWDM_B2 2020-11-08 13:14:58 state closed

Betreibe fhem übrigens im docker container.
Wo könnte der Fehler liegen?

Gruß Holger
Raspberry Pi 5

Wernieman

der RPC-Port des Containers ist von der CCU (pivccu) nicht erreichbar.

Du hast jetzt folgende Möglichkeiten (oder):
- rpc-Port öffnen
- Container feste IP geben und den fest in die Config eintragen

Wenn Deine pivccu auch in einem Container läuft:
- Containername eintragen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

The-Holgi

Hm,
im fhem container habe ich den port 2010 freigegeben.
Port configuration
0.0.0.0:1883 1883/tcp
0.0.0.0:2010 2010/tcp
0.0.0.0:7072 7072/tcp
0.0.0.0:8083 8083/tcp
0.0.0.0:8383 8383/tcp

Sollte doch eigentlich passen,oder?
pivccu läuft nicht in einem container.
Raspberry Pi 5

Wernieman

#3
Mach doch als root mal ein:
netstat -lntp

Edit:
Bist DU Dir mit port 2010 Sicher?

Edit2:
Habe extra bei mir nachgeschaut, dort steht:
Zitatattr d_ccu rpcport 2010
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

zap

Wichtig ist der Port und die IP Adresse, unter der sich der RPC Server bei der CCU registriert. Ggf kann eine bestimmte IP Adresse mit dem Attribut rpcserveraddr festgelegt werden.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

The-Holgi

Wenn ich get rpcstate im HMCCURPCPROC ausführe zeigt er mir die container adresse von fhem an.
PID   RPC-Process        State   
--------------------------------
15633 CB2010000002178058      running

Local address = 172.27.0.2
Callback port = 7420

Die daten jetzt unter den attr vom HMCCURPCPROC eintragen und den port im fhem container freigeben?
Raspberry Pi 5

Wernieman

ZitatLocal address = 172.27.0.2
Callback port = 7420
Er meldet der CCU seine aktuelle IPAdresse, die er sieht, also die Containeradresse. Läuft die CCU auf dem gleichen Rechner?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

The-Holgi

#7
Nein die ccu läuft auf einem anderen rechner (192.168.178.58)
Wobei fhem unter 192.168.178.87 zu erreichen ist
Raspberry Pi 5

Wernieman

also mußt Du 2 Sachen tun.
1. Das FHEM-CCUHM Modul muß die "Rechner-IP" als Adresse senden, siehe rpcserveraddr
2. Du must den Port freigeben
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

The-Holgi

Danke für die Hilfe, das hat geklappt.
Habe die 192.168.178.87 als rpcserveraddr eingegeben und noch den port 7420 frei gegeben.

Gruß Holger
Raspberry Pi 5

Wernieman

Könntest DU bitte den Thread noch als "Gelöst" deklarieren?

Übrigens ... wenn die CCU auf dem gleichen Rechner gelaufen wäre, hättest Du es so nicht machen müssen ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html