Neues Modul HMCCU für Homematic CCU

Begonnen von zap, 19 August 2015, 19:45:30

Vorheriges Thema - Nächstes Thema

ToM_ToM

Hallo zap,

ps ax | grep ccurpc

root@bananapi ~ # clear
root@bananapi ~ # ps ax | grep ccurpc
8187 pts/0    S      0:03 /usr/bin/perl /opt/fhem/FHEM/ccurpcd.pl 192.168.178.42 2001 /tmp/ccuqueue_2001 /opt/fhem/log/ccurpcd_2001.log
9070 pts/0    S+     0:00 grep --color=auto ccurpc
root@bananapi ~ #


VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

zap

und das mit rpcport=2001,2010 ?? Wenn ja, hast Du vieleicht ccuflags auf "singlerpc" gesetzt?
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

cho


zap

Zitat von: cho am 25 März 2016, 15:10:06
wo kann ich das nachsehen?

Wieviele RPC-Server laufen? Ich denke, bei Dir dürften es 2 sein (ps ax | grep ccurpc). Du hattest Deine Einstellungen ja schon gepostet.

Nein, bei ToM_ToM interessieren mich rpcport und ccufliags, weil bei ihm nur 1 Server läuft. Du hast ja geschrieben, dass es bei Dir nur mit rpcport=2001,2010 funktioniert. Wenn das bei ToM_ToM mit rpcport=2001 funktioniert, wäre das interessant.



2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

ToM_ToM

Habe jetzt mal meine Config angepasst und bei mir läuft es auch nur mit dem Port 2001.

#HMCCU
define CCU2 HMCCU 192.168.178.42
# Reading-Namen werden aus dem CCU Kanalnamen gebildet (Alternative "address")
attr CCU2 ccureadingformat name
# Speichere keine Readings im HMCCU Device (dafür gibt es die Client-Devices mit HMCCUDEV und HMCCUCHN)
attr CCU2 ccureadings 0
attr CCU2 devStateIcon (OK|Initialized):10px-kreis-gruen Error:10px-kreis-rot
# Immer eine gute Idee, um FHEM etwas zu entlasten. Sollte man bei jedem HMCC* Device setzen
attr CCU2 event-on-change-reading .*
attr CCU2 icon rc_HOME
# Das Intervall, in dem die Queue mit den Statusinfos der CCU gelesen wird
attr CCU2 rpcinterval 5
# Die CCU-Ports (2001=BidCos-RF, 2000=BidCos-Wired, 2010=Homematic-IP)
attr CCU2 rpcport 2001
attr CCU2 rpcserver on
# Ersetze bei Set-Befehlen on durch true und off durch false (CCU kann mit on/off nichts anfangen)
attr CCU2 statevals on:true,off:false
attr CCU2 stripchar :
# Zahlenwerte in Readings nach der 1. Nachkommastelle abschneiden
attr CCU2 stripnumber 1
# Nur Readings der Client-Devices werden aktualisiert (sonst werden im HMCCU-Device sehr viele Readings auflaufen)
attr CCU2 updatemode client
attr CCU2 verbose 2
#Achtung! Viele der Attribute (statevals, stripnumber, ccureadingformat) müssen in den Client-Devices explizit nochmal gesetzt werden. Die Client-Devices "erben" keine Attribute vom HMCCU- bzw. IO-Device.


Gibt es eigentlich eine Art Wiki in der viele der gängigen Komponenten als Beispile schon angelegt sind?

Also Thermostat, Fenstersensor, Schalter, etc.

Momentan muss ich viel durch ausprobieren herausfinden und starte dann den RPC-Server immer neu - funktioniert ja jetzt super. ;)
Aber eine Beispielsammlung wäre toll.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

zap

Möglicherweise hat cho vergessen die FHEM Config zu speichern, nachdem er rpcport auf 2001 gesetzt hatte.

Das Wiki steht ganz oben auf meiner TODO Liste. Im Moment teste ich die nächste Version, die ohne den ccurpcd auskommen soll. Hier gibt es aber noch große Probleme mit Timeouts.
Aber ich werde mal einige meiner Definitionen hier bereitstellen.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

cho

Hallo zap,

das kann ich leider ausschliessen (vergessen zu speichern).
Und ich habe gerade noch einmal ein paar Varianten getestet.

funktioniert nicht:

ohne Angabe von rpcport
rpcport=2001
rpcport=2000
rpcport=2010

funktioniert:

rpcport=2001,2010
rpcport=2001,2000
rpcport=2000,2010
rpcport=2010

Es scheint also immer zu funktionieren, wenn entweder 2 Ports angegeben werden - wobei egal ist welche - oder der Port 2010 einzeln angegeben ist.

Vielleicht hilft Dir das ja weiter.

Viele Grüße
Christian

zap

2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

zap

Zitat von: cho am 25 März 2016, 15:44:09
Es scheint also immer zu funktionieren, wenn entweder 2 Ports angegeben werden - wobei egal ist welche - oder der Port 2010 einzeln angegeben ist.


Wenn Du BidCos-RF und kein Homematic IP verwendest, wird Dir 2010 alleine nichts bringen, da über diesen Port nur Homematic IP Geräte aktualisiert werden.

Da 2001 anscheinend bei Dir gar nicht geht, vermute ich, dass die Ursache auf CCU Seite liegt. Werden denn BidCos-RF Client Device Readings bei Dir aktualisiert? Vorsicht: Nach dem Starten des RPC-Servers werden automatisch einmalig alle Geräte aktualisiert. Daher sind kurz darauf erst mal die Timestamps aktuell. Die Frage ist, ob nach 1-3 Minuten auch noch einzelne Readings aktualisiert werden.

Den netstat Befehl vorhin hättest Du auf der CCU ausführen sollen (ssh root@homematic.fritz.box). Im Zweifel empfehle ich Dir, die CCU mal neu zu starten. Ich vermute dass der Prozess für den Port 2001 nicht mehr (richtig) läuft.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

ToM_ToM

Hey zap,

vielen Dank für die Beispiele.

Übrigens ist mir gerade noch was anderes aufgefallen. Nachdem ich nun mehrfach meinen Pi neu gestartet habe, bleibt der Status wieder in "Starting" hängen.
Obwohl ich vor jedem reboot per Attribute off, den Server beendet habe.

Werde wohl dann die CCU nochmal durchbooten müssen.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

cho

Hallo zap,

oh, das war mein Fehler - Entschuldigung!
netstat auf der CCU gibt folgendes aus:

tcp        0      0 0.0.0.0:9292            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:1999            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:2001            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8181            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:2010            0.0.0.0:*               LISTEN     
unix  2      [ ACC ]     SEQPACKET  LISTENING        267 /run/udev/control

Mit den Ports hast Du recht. Da habe ich von der Anzeige "running" täuschen lassen.
Meine Aussage bezog sich nur auf den Wechsel der Anzeige von "starting" auf "running".

Die Steuerung der CCU funktioniert übrigens problemlos, mit der aktuellen Enstellung 2001,2010.
Und das sowohl beim Lesen (Fensterkontakte, Thermostate) als auch beim Schreiben (Thermostate).

Viele Grüße
Christian

zap

Das Setzen und Lesen per get/set Befehl ist vom RPC-Server völlig unabhängig.

Zu netstat: Da beide Ports auftauchen, scheint alles in Ordnung zu sein. Trotzdem rätselhaft, warum 2001 alleine nicht funktioniert.
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

ToM_ToM

Hey, jetzt habe ich das gleiche Problem dass ich den Server nicht mehr zum Laufen bekommen habe.
Auch nach Neustart der CCU nicht.

Erst als ich auch die Ports von 2001 auf 2001,2010 geändert habe, ging es wieder.

VG, Thomas
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

cho

Hi zap,

bei mir scheint es jetzt mit der Angabe der beiden Ports stabil zu laufen.
Falls Du noch irgendwelche Infos von mir brauchst oder ich etwas testen soll, gib mir einfach Bescheid.

Kannst Du mir bitte noch meine Frage von weiter oben beantworten:
Ist es möglich, beim dem HMCCU Device in der Übersicht anstelle dem STATE (OK) den RPCState (starting/running/stopped) anzuzeigen?

Danke und Grüße
Christian

Ralli

Verwende dafür das Attribut stateFormat.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa