CCU3 mit Homematic IP Wired einbinden

Begonnen von kingmathers, 02 Juni 2020, 16:26:31

Vorheriges Thema - Nächstes Thema

kingmathers

Hallo,

ich möchte meine CCU mit Homematic IP Wired gerne in FHEM einbinden. Ich verwende nur HM IP Wired Geräte und habe die Geräte und Direktverknüpfungen auf der CCU3 bereits erstellt. Nach der Anleitung im Wiki habe ich versucht, die CCU3 einzubinden, leider ist das Reading rpcstate bei mir immer nur auf "inactive".

Ich habe eigentlich alle Anweisungen aus dem Wiki befolgt, nur bei dem attribut rpcinterfaces bin ich mir unsicher. Welchen Wert oder Werte sollte ich hier für Homematic IP Wired auswählen? Bisher habe ich nur "HmIP-RF" ausgewählt, ist das korrekt?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

Nein, das ist HmIP Funk. Im IO Device sind im Internal ccuinterfaces alle Schnittstellen aufgeführt. Was steht da bei Dir?
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

kingmathers

Ich kann bei dem attribut folgende Optionen wählen:
- BidCos-RF
- BidCos-Wired
- CUxD
- HVL
- HmIP-RF
- Homegear
- VirtualDevices

Für mich war jetzt nichts davon offensichtlich HM IP Wired, daher habe ich das einzige mit HM IP genommen. Was wäre denn die richtige Auswahl?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

Ich habe kein HmIP Wired. Vermutlich nutzt es doch die gleiche Schnittstelle wir HmIP-RF. In dem Fall bräuchte ich mal die Log-Meldungen beim Starten von FHEM (alles, was "HMCCU" enthält).
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

kingmathers

Gestern habe ich ein Update gemacht mit anschließendem Reboot, dies sind die Log-Einträge in zeitlichem Bezug dazu mit HMCCU:

2020.06.02 16:44:19 1: HMCCU: [CCU3_1 : 925] Graceful shutdown in 8 seconds
2020.06.02 16:44:19 0: HMCCU: [CCU3_1 : 925] HMCCU: Can't find RPC device
2020.06.02 16:44:19 1: HMCCU: [HMCCU3 : 925] Graceful shutdown in 8 seconds
2020.06.02 16:44:21 1: Server shutdown delayed due to HMCCU3,CCU3_1 for max 10 sec
2020.06.02 16:44:31 0: Server shutdown
2020.06.02 16:44:31 1: HMCCU: [CCU3_1 : 925] Graceful shutdown
2020.06.02 16:44:31 1: HMCCU: [HMCCU3 : 925] Graceful shutdown
2020.06.02 16:44:43 1: Including fhem.cfg
2020.06.02 16:46:49 1: HMCCU: [HMCCU3 : 27390] CCU port 8181 is not reachable
2020.06.02 16:46:49 1: HMCCU: [HMCCU3 : 27390] Initialized version 4.3.025
2020.06.02 16:46:49 1: HMCCU: [HMCCU3 : 27390] Scheduling delayed initialization in 180 seconds
2020.06.02 16:49:23 1: HMCCU: [CCU3_1 : 27390] CCU port 8181 is not reachable
2020.06.02 16:49:23 1: HMCCU: [CCU3_1 : 27390] Initialized version 4.3.025
2020.06.02 16:49:23 1: HMCCU: [CCU3_1 : 27390] Scheduling delayed initialization in 300 seconds
2020.06.02 16:49:23 1: Including ./log/fhem.save
2020.06.02 16:49:56 0: HMCCU: Start of RPC server after FHEM initialization in 320 seconds
2020.06.02 16:49:56 0: HMCCU: Start of RPC server after FHEM initialization in 200 seconds
2020.06.02 16:50:19 1: HMCCU: [HMCCU3 : 27390] HMCCU: Initializing devices
2020.06.02 16:50:42 1: HMCCU: [HMCCU3 : 27390] HMCCU: CCU port 8181 is not reachable
2020.06.02 16:53:16 1: HMCCU: [HMCCU3 : 27390] Internal RPC server is depricated and will be removed soon. Set ccuflags to procrpc
2020.06.02 16:53:16 1: PERL WARNING: Use of uninitialized value $serveraddr in concatenation (.) or string at ./FHEM/88_HMCCU.pm line 4075.
2020.06.02 16:53:16 1: HMCCU: [HMCCU3 : 27390] Can't connect to RPC host  port2001
2020.06.02 16:54:23 1: HMCCU: [CCU3_1 : 27390] HMCCU: Initializing devices
2020.06.02 16:56:53 1: HMCCU: [CCU3_1 : 27390] HMCCU: CCU port 8181 is not reachable
2020.06.02 16:56:58 2: HMCCU: [CCU3_1 : 27390] Get RPC device for interface BidCos-RF
2020.06.02 16:56:58 0: HMCCU: [CCU3_1 : 27390] Definition of some RPC devices failed
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

Bitte richte HMCCU (I/O Device) so ein, wie hier beschrieben:

https://wiki.fhem.de/wiki/HMCCU

Insbesondere zu beachten:
- Firewall Einstellungen der CCU
- Korrekte Einrichtung des externen(!) RPC Servers

P.S. auch die anderen Wiki Artikel zu HMCCU sind lesenswert.
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

kingmathers

Ok der eine Punkt bei der CCU3 Firewall war nicht richtig konfiguriert, nun kann ich die Geräte sehen. Danke für den Hinweis.

Eine Frage hätte ich jedoch noch bzgl HMCCUCHN/HMCCUDEV:

Soweit ich das verstanden habe, sollte HMCCUDEV benutzt werden, wenn alle Kanäle des Geräts zusammengehören und in einem FHEM device abgebildet werden sollen (bspw. ein Thermostat mit mehreren Kanälen) und HMCCUCHN sollte verwendet werden, wenn ich einen Kanal als ein FHEM device speichern will (bspw. einen Mehrfachaktor mit einem Kanal/Aktor). Ist das soweit korrekt?

Ich habe von HmIPW einen 32fach Eingang (ein Kanal pro Eingang = HMCCUCHN) sowie einen 8fach Aktor mit mehreren Kanälen pro Aktor. Wie binde ich den 8fach Aktor bzw. einzelne Aktoren am besten ein?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

Zitat von: kingmathers am 04 Juni 2020, 12:35:05
Ok der eine Punkt bei der CCU3 Firewall war nicht richtig konfiguriert, nun kann ich die Geräte sehen. Danke für den Hinweis.

Eine Frage hätte ich jedoch noch bzgl HMCCUCHN/HMCCUDEV:

Soweit ich das verstanden habe, sollte HMCCUDEV benutzt werden, wenn alle Kanäle des Geräts zusammengehören und in einem FHEM device abgebildet werden sollen (bspw. ein Thermostat mit mehreren Kanälen) und HMCCUCHN sollte verwendet werden, wenn ich einen Kanal als ein FHEM device speichern will (bspw. einen Mehrfachaktor mit einem Kanal/Aktor). Ist das soweit korrekt?

Ja, das ist korrekt. HMCCUCHN kann aber auch verwendet werden, wenn sich ein Gerät (z.B. Thermostat) mit einem Kanal steuern lässt.

Zitat
Ich habe von HmIPW einen 32fach Eingang (ein Kanal pro Eingang = HMCCUCHN) sowie einen 8fach Aktor mit mehreren Kanälen pro Aktor. Wie binde ich den 8fach Aktor bzw. einzelne Aktoren am besten ein?

Wenn tatsächlich jeder Kanal einzeln betrachtet wird, nimm HMCCUCHN. Die IP-Wired Mehrfachaktoren, bei denen immer 2 oder 4 Kanäle zusammen gehören, hatte ich beim Design von HMCCU nicht auf der Rechnung. Du legst am besten mehrere HMCCUDEV Devices an.

Beispiel: Das HmIP-Gerät XY hat 32 Eingänge, wobei immer 4 zusammen gehören. Dann definierst Du 8 HMCCUDEV Devices von XY1 bis XY 8. Die Argumente vom Define-Befehl sind immer gleich, anur die FHEM Device-Namen unterscheiden sich:

define XY1 HMCCUDEV XY
define XY2 HMCCUDEV XY
...


Nun ist es noch wichtig, dass Du für jedes dieser neuen Devices die Attribute statedatapoint und controldatapoint setzt. Beispiel: Jede 4er Kanalgruppe hat im ersten Kanal einen Datenpunkt STATE, der lediglich den Status anzeigt und im zweiten Kanal einen Datenpunkt LEVEL, der für die Steuerung verwendet wird. Dann würden für die beiden o.g. Beispiel-Devices XY1 und XY2 die Attribute so aussehen:

attribute XY1 statedatapoint 1.STATE
attribute XY1 controldatapoint 2.LEVEL
attribute XY2 statedatapoint 5.STATE
attribute XY2 controldatapoint 6.LEVEL


controldatapoint und statedatapoint können natürlich auch identisch sein.
Da jedes Device alle Kanäle sieht, solltest Du noch ccureadingfilter so setzen, dass nur die Readings der jeweiligen 4er Gruppe aktualisiert werden:

attribute XY1 ccureadingfilter 1.STATE;2.LEVEL
attribute XY2 ccureadingfilter 5.STATE;6.LEVEL

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

kingmathers

OK damit komme ich schon mal deutlich weiter. Wie binde ich denn den HmIPW-DRI32 (32fach Eingangsmodul) am besten ein? Ich habe bereits gesucht und ein HMCCUDEV erstellt mit folgenden attributes:


IODev      CCU3_1
ccureadingfilter (LOWBAT|UNREACH|PRESS)
ccureadingformat datapoint
room       CCU_HM
statedatapoint PRESS_SHORT
statevals  press:true
substitute substitute 1|true:pressed


Dort sehe ich alle channels als readings (aber immer nur mit x.STATE und 0) und habe für einen einzelnen angeschlossenen Taster auch erfolgreich ein HMCCUCHN device definiert mit folgenden attributes:

IODev      CCU3_1
ccureadingfilter (LOWBAT|UNREACH|PRESS)
ccureadingformat datapoint
room       CCU_HM


Beim Tastendruck aktualisiert sich jedoch nur das Reading "0.UNREACH", ich kann nicht sehen ob und wie lange der Taster gedrückt wurde.

Sind diese Definitionen soweit in Ordnung?

In der CCU3 besteht bereits eine Direktverknüpfung mit einem anderen HM IP Wired Gerät. Muss ich dafür noch ein Programm definieren? Ist es egal, was das Programm macht, solange es durch den Tastendruck getriggert wird? Muss ich zwei Programme (kurzer/langer Tastendruck) definieren oder reicht ein Programm?
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

In der CCU funktioniert das Gerät?
Der RPC Server ist richtig konfiguriert und läuft auch (Log Meldungen)?

Ich hatte ja im vorherigen Beitrag versucht, die Logik für ein Gerät mit 32 Eingängen zu erklären. Mach mal bitte ein "get deviceinfo" für das HMCCUDEV Device.
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

kingmathers

Also es lag daran, dass kein Programm mit dem Taster verknüpft war. Ich habe nun ein Programm wo jeder Tastendruck (kurz oder lang reicht, kurz und lang war bei mir nicht erforderlich) eine Systemvariable ändert und der Tastendruck kommt nun zuverlässig bei FHEM im HMCCUDEV Gerät für alle 32 Eingänge an.
Raspberry Pi B+, FS20, 1-Wire, HM
FHEM Home Control (App für Windows 10): https://forum.fhem.de/index.php/topic,49891.0.html
FHEM Arduino Library: https://forum.fhem.de/index.php/topic,94093.0.html

zap

Ja, das ist echt doof gelöst in der CCU, dass sie für manche Devices nur Events schickt, wenn ein Programm oder eine Verknüpfung hinterlegt ist.
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