Neues Modul HMCCU für Homematic CCU

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

Vorheriges Thema - Nächstes Thema

zap

Zitat von: cho am 12 Dezember 2016, 19:04:42
Zum einen funktioniert der automatische Start nach dem Fhem reboot bei mir auch nicht. Aber dafür hast Du ja schon ein weiteres Update für morgen eingestellt.

Könnte auch ein anderes Problem sein. Versuche das gerade einzugrenzen, da es bei mir funktioniert. Welchen Wert hat bei Dir das. internal CCUNum und hast Du rpcport gesetzt?

Zitat
Dann komme ich mit dem Namen und dem Prefix nicht klar. Bei mir verwendet er immer nur den Namen als Prefix, aber nicht den Wert, den ich als Prefix definiere?

Ist vermutlich ein Bug den ich nicht bemerkt habe, weil ich immer den Namen als Präfix nutze.

Zitat
Die Aktualisierung der neuen Attribute funktioniert bei mir nicht automatisch. Aktualisiert wird nur, wenn ich manuell get ... aggregation ... auslöse.

Sollte aber, da das normale FHEM interne Notify genutzt wird. Setzt aber ein Event voraus. Je nach Gerätetyp musst du event-on-change-reading oder event-on-update-reading auf .* setzen bzw im Eventmonitor beobachten, ob Events beim Update der entsprechenden Aggregationsreadings auftauchen.

Zitat
Und als letztes eine praktisch Frage zu den Fensterkontakten. Ich habe sowohl die optischen (offen, geschlossen) als auch die mechanischen an den Griffen (offen, gekippt, geschlossen) im Einsatz. Wenn ich es richtig verstanden habe, kann das if aber nur einen Wert abfragen, z.B. offen. Ich würde aber auch gerne im if offen und gekippt gleichzeitig abfragen. Geht das irgendwie?

Muss ich mir anschauen. Sollte möglich sein, wenn if einen regulären Ausdruck akzeptiert.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Yil

Ich hab ein ganz merkwürdiges Phänomen seit einigen Tagen: einige Sensoren melden ihre Werte nicht mehr an die CCU (resp. die CCU nimmt die Werte nicht auf). Es handelt sich bei mir um einen Heligkeitswert (aus einem externen Bewegungsmelder) und Klimawerte von Thermostaten.

Erst der Start der CCU2 und dann anschließend des entsprechenden FHEM-Moduls liefern die Sensoren Werte. Blöd ist, dass meine ganze Lichtsteuerung an der zu erlässigen Lieferung eines Helligkeitswertes hängt, und die ist nun komplett aus dem Trit gekommen.

Nach dem Neustart der CCU und dem Neustart des rpc-Servers funktioniert wirder alles - zumindest kurzzeitig. Danach steigt der Bewegungsmesser als erstes und später dann die Themperatursensoren wieder aus. Ich hatte zentral rpcinterval auf 2 gesetzt. Kann das eine Ursache sein. Ich glaube ja nicht, dass alle 3 Sensoren glichzeitig kaput gehen. Ob es die CCU selbst sein könnte oder ein Bug im HMCCU-Modul?
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

zap

An rpcinterval liegt es sicher nicht. Das beeinflusst nur, wie häufig FHEM die Events der CCU aus den Queue-Files (ebenfalls FHEM Seite) liest. Das bremst höchstens FHEM aus.

Wenn die Helligkeitswerte nicht mal an der CCU2 direkt ankommen, hast Du ein reines Homematic Problem. Hat sich sonst irgendwas an Deiner Installation geändert? Wurde eine potenzielle Störquelle installiert?

Ich habe ebenfalls einen Lichtsensor. Der "frisst" Batterien und steigt dann irgendwann aus. Aber das scheint bei Dir ja nicht der Fall zu sein.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

zap

An alle, die beim Starten des RPC-Servers mit Version 3.6 Probleme haben, hier mal ein Log-Auszug von meiner Installation. Gestartet werden 3 RPC-Server für die Ports (rpcport) 2001, 2010, 9292. Keinerlei Probleme. Dazu muss ich allerdings erwähnen, dass ich nach einem FHEM Update niemals "shutdown restart" verwende sondern von Linux aus mit "/etc/init.d/fhem stop" bzw. start.

Diejenigen, die Probleme mit dem Start haben, können ja mal die Logs mit ihren vergleichen.


2016.12.12 13:30:50 2: HMCCU: Create child process with timeouts 0.01 and 0.25
2016.12.12 13:30:50 0: HMCCU: Child process for server CB2001 started with PID 13081
2016.12.12 13:30:50 0: CCURPC: CB2001 Creating file queue /tmp/ccuqueue_2001_0
2016.12.12 13:30:50 0: CCURPC: Initializing RPC server CB2001
2016.12.12 13:30:50 2: HMCCU: Create child process with timeouts 0.01 and 0.25
2016.12.12 13:30:50 0: HMCCU: Child process for server CB2010 started with PID 13082
2016.12.12 13:30:50 0: CCURPC: CB2010 Creating file queue /tmp/ccuqueue_2010_0
2016.12.12 13:30:50 2: HMCCU: Create child process with timeouts 0.01 and 0.25
2016.12.12 13:30:50 0: CCURPC: Initializing RPC server CB2010
2016.12.12 13:30:50 0: HMCCU: Child process for server CB9292 started with PID 13083
2016.12.12 13:30:50 0: CCURPC: CB9292 Creating file queue /tmp/ccuqueue_9292_0
2016.12.12 13:30:50 0: CCURPC: Initializing RPC server CB9292
2016.12.12 13:30:50 0: RPC server(s) starting
2016.12.12 13:30:51 0: CCURPC: Callback server created listening on port 7401
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for events
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for new devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for deleted devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for modified devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for replaced devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for readded devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for list devices
2016.12.12 13:30:51 1: CCURPC: CB2001 Adding callback for event query
2016.12.12 13:30:51 0: CCURPC: CB2001 Entering server loop
2016.12.12 13:30:51 0: CCURPC: Callback server created listening on port 7410
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for events
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for new devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for deleted devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for modified devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for replaced devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for readded devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for list devices
2016.12.12 13:30:51 1: CCURPC: CB2010 Adding callback for event query
2016.12.12 13:30:51 0: CCURPC: CB2010 Entering server loop
2016.12.12 13:30:51 0: CCURPC: Callback server created listening on port 14692
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for events
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for new devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for deleted devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for modified devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for replaced devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for readded devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for list devices
2016.12.12 13:30:51 1: CCURPC: CB9292 Adding callback for event query
2016.12.12 13:30:51 0: CCURPC: CB9292 Entering server loop
2016.12.12 13:30:53 0: HMCCU: Received SL event. RPC server CB2001 enters server loop
2016.12.12 13:31:00 1: HMCCU: Registering callback http://192.168.1.12:7401/fh2001 with ID CB2001 at http://homematic:2001/
2016.12.12 13:31:01 1: CCURPC: CB2001 ListDevices. Sending init to HMCCU
2016.12.12 13:31:01 1: HMCCU: RPC callback with URL http://192.168.1.12:7401/fh2001 initialized
2016.12.12 13:31:04 2: CCURPC: CB2001 NewDevice received 250 device specifications
2016.12.12 13:31:04 0: HMCCU: Received IN event. RPC server CB2001 initialized.
2016.12.12 13:31:04 0: HMCCU: Received SL event. RPC server CB2010 enters server loop
2016.12.12 13:31:11 1: HMCCU: Registering callback http://192.168.1.12:7410/fh2010 with ID CB2010 at http://homematic:2010/
2016.12.12 13:31:11 1: HMCCU: RPC callback with URL http://192.168.1.12:7410/fh2010 initialized
2016.12.12 13:31:12 1: CCURPC: CB2010 ListDevices. Sending init to HMCCU
2016.12.12 13:31:12 2: CCURPC: CB2010 NewDevice received 16 device specifications
2016.12.12 13:31:15 0: HMCCU: Received IN event. RPC server CB2010 initialized.
2016.12.12 13:31:15 0: HMCCU: Received SL event. RPC server CB9292 enters server loop
2016.12.12 13:31:22 1: HMCCU: Registering callback http://192.168.1.12:14692/fh9292 with ID CB9292 at http://homematic:9292/groups
2016.12.12 13:31:22 1: CCURPC: CB9292 ListDevices. Sending init to HMCCU
2016.12.12 13:31:22 2: CCURPC: CB9292 NewDevice received 12 device specifications
2016.12.12 13:31:32 1: HMCCU: RPC callback with URL http://192.168.1.12:14692/fh9292 initialized
2016.12.12 13:31:35 0: HMCCU: Received IN event. RPC server CB9292 initialized.
2016.12.12 13:31:40 2: HMCCU: Updated devices. Success=46 Failed=3
2016.12.12 13:31:40 1: HMCCU: All RPC servers running
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Yil

Zitat von: zap am 13 Dezember 2016, 07:04:11
An rpcinterval liegt es sicher nicht. Das beeinflusst nur, wie häufig FHEM die Events der CCU aus den Queue-Files (ebenfalls FHEM Seite) liest. Das bremst höchstens FHEM aus.

Dachte ich mir eigentlich auch schon. Aktuell experimentiere ich mit rpcinterval = 1  ;)

Zitat von: zap am 13 Dezember 2016, 07:04:11
Wenn die Helligkeitswerte nicht mal an der CCU2 direkt ankommen, hast Du ein reines Homematic Problem. Hat sich sonst irgendwas an Deiner Installation geändert? Wurde eine potenzielle Störquelle installiert?

Stimmt, es muss ja innerhalb Homeatic sein. Ich habe einen Dimmer installiert und in der CCU2 aufgenommen, diesen aber wieder vom Strom genommen, da ich erst einige bauliche Veränderungen vornehmen muss. Seitdem produziert der in der WebGui der CCU2 eine Servicemeldung. Aber das kann es ja nicht sein, oder?

Der Device, um den es geht, steht an der Grundstücksgrenze und ist damit potenziell näher an anderen Häuser als an meinem eigenen. Ggf. kommen Störungen von außerhalb meines Systems. Ich habe mich bisher noch nicht mit der Abschirmung meines Systems ggü. Dritten beschäftigt. Bevor ich eine CCU2 hatte, habe ich einen HMLAN-Adapter betrieben und hatte (auch um andere Systeme auszuschließen) eine virtuelle CCU eingerichtet (vccu). Das Konzept gibt es ja nicht bei Dir. Daher nun die Frage: wie schirmt man einen HMCCU vernünftig ggü. anderen Systemen ab, so dass die nicht reinfunken oder einen sonstigen Unsinn anstellen?

Zitat von: zap am 13 Dezember 2016, 07:04:11
Ich habe ebenfalls einen Lichtsensor. Der "frisst" Batterien und steigt dann irgendwann aus. Aber das scheint bei Dir ja nicht der Fall zu sein.

Ich habe die Batterien nachgemessen. Von den 1,5 V sind noch je 1,476 V übrig - das kann es also auch nicht sein.
HM CCU3 und HCU mit ca. 50 HM-Komponenten inkl. Bausätzen
fhem auf RPi mit Sonos, EnOcean-CUL, ZWAVE-CUL und Bluetooth,
HUE, UniFi

chris1284

Diejenigen, die Probleme mit dem Start haben, können ja mal die Logs mit ihren vergleichen.
im log steht genau nüscht bis ich den rpc von hand starte. somit wird vermutlich nach initialisieren garnicht versucht den rpc zu starten

cho

Hi zap,
bei mir ist es das gleiche. Nach dem Fhem reboot finde ich im Log nur eine einzige Zeile von Deinem Modul:
2: After sleep: 57 client devices successfully updated. Update for 0 client devices failed
Wenn ich den rpcserver dann manuell starte, füllt sich mein Log identisch zu Deinem.

CCUNum steht bei mir übrigens auf 0. Und rpcport habe ich auf 2001,9292 gesetzt.

Viele Grüße
Christian

zap

Zitat von: Yil am 13 Dezember 2016, 09:18:11
Stimmt, es muss ja innerhalb Homeatic sein. Ich habe einen Dimmer installiert und in der CCU2 aufgenommen, diesen aber wieder vom Strom genommen, da ich erst einige bauliche Veränderungen vornehmen muss. Seitdem produziert der in der WebGui der CCU2 eine Servicemeldung. Aber das kann es ja nicht sein, oder?

Gibt es in der CCU2 WebGUI Servicemeldungen? Im Zweifel schau Dir mal auf der CCU2 die Datei /var/log/messages an.

Wenn Du Geräte anlernst musst Du sie auch wieder richtig ablernen. Du kannst ja versuchen, den Dimmer nochmal reinzunehmen und wieder raus.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

zap

Zitat von: chris1284 am 13 Dezember 2016, 10:06:15
Diejenigen, die Probleme mit dem Start haben, können ja mal die Logs mit ihren vergleichen.
im log steht genau nüscht bis ich den rpc von hand starte. somit wird vermutlich nach initialisieren garnicht versucht den rpc zu starten

Der RPC-Server Start wird durch den FHEM Global Event "Initialiazation complete" oder so ähnlich getriggert.

Das Problem liegt also anscheinend beim Autostart, während der manuelle Start funktioniert. Muss ich heute Abend mal genauer analysieren.

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

zap

Fehler für Autostart RPC Server gefunden. Update gibt es heute abend
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

zap

#985
Habe gerade ein Update für 88_HMCCU.pm eingecheckt. Damit wird der Fehler beim Autostart des RPC-Servers behoben.

@cho: Der "if" Parameter bei Aggregationsregeln akzeptiert nun bei "all" und "any" reguläre Ausdrücke. Für Deine Fenster könnte das "if" so aussehen:

if:any=(offen|gekippt)

Sollte funktionieren. Natürlich musst Du offen und gekippt durch die tatsächlichen Reading Werte ersetzen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tagedieb

Hallo zap

komme leider erst heute dazu deine Hilfe zu befolgen
Internals:
   CCUNum     0
   Clients    :HMCCUDEV:HMCCUCHN:
   DEF        192.168.1.92
   DelDevices 0
   DevCount   -1
   NAME       CCU2
   NR         2256
   NTFY_ORDER 50-CCU2
   NewDevices 0
   RPCState   stopped
   STATE      Initialized
   TYPE       HMCCU
   ccutype    CCU2
   host       192.168.1.92
   version    3.6
   Readings:
     2016-12-13 19:48:38   rpcstate        stopped
     2016-12-13 19:48:38   state           Initialized
   Hmccu:
     evtime     0
     evtimeout  0
     rpccount   0
     updatetime 0
Attributes:
   room       Flur_oben
   rpcinterval 5
   rpcport    2001,9292
   rpcqueue   /tmp/ccuqueue
   rpcserver  on
   stateFormat rpcstate/state

anbei ein "list CCU2" vor dem  "set CCU2 rpserver on"
danach erscheint in den readings
rpcstate stopped + Datum und zeit
state Error + Datum und zeit


vielleicht hilft das weiter, denn ich habe auch nach dem heutigen update wieder diese fehlermeldung und keine Idee, wo ich ansetzten soll

gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

zap

#987
Du hast sonst keinerlei Meldungen im FHEM Log?
Falls nicht, setze mal das Attribut verbose auf 2.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

tagedieb

Hallo zap

dankeschön für deine Hilfe

im log steht nur2016.12.13 20:42:03 1: HMCCU: Can't connect to CCU port2001
2016.12.13 20:42:03 1: HMCCU: CCU2 Start of RPC server failed


viele Grüsse tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

zap

Also Deine CCU hat die IP-Adresse 192.168.1.92, korrekt? Wenn Du vom FHEM Server aus ein ping auf diese Adresse absetzt, funktioniert das? Das müsste so ähnlich aussehen:


macbook:~ zap$ ping 192.168.1.11
PING 192.168.1.11 (192.168.1.11): 56 data bytes
64 bytes from 192.168.1.11: icmp_seq=0 ttl=64 time=4.049 ms
64 bytes from 192.168.1.11: icmp_seq=1 ttl=64 time=2.454 ms
64 bytes from 192.168.1.11: icmp_seq=2 ttl=64 time=3.779 ms


Jetzt geht es ans eingemachte. Falls Du mit den folgenden Schritten nichts anfangen kannst, starte einfach mal die CCU neu und versuche nochmal, den RPC-Server zu starten.

1. Per SSH auf der CCU anmelden
2. Befehl eingeben: fuser 2001/tcp
3. Befehl in 2. sollte eine Zahl ausgeben, wenn nicht => CCU neu starten
4. Befehl eingeben: ps -ef | grep Zahl_aus_Punkt2
5. Befehl in 4. sollte eine Zeile ausgeben, die "rfd" enthält.

Beispiel (bei mir):


# fuser 2001/tcp
355
# ps -ef | grep 355
  355 root     /bin/rfd -f /etc/config/rfd.conf -l 5
2879 root     grep 355
#


Die Fehlermeldung "Can't connect to ..." deutet darauf hin, dass der rfd Prozess auf der CCU nicht mehr läuft.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)