HMCCU: Neue Version 4.2 mit neuem RPC Server verfügbar

Begonnen von zap, 29 Januar 2018, 17:24:30

Vorheriges Thema - Nächstes Thema

zap

#120
Klingt gut. Möglicherweise wird dafür ein separater RPC Port verwendet. Aber probiere es einfach mal aus und berichte, ob die automatische Aktualisierung funktioniert.

Ergänzung: die neue Firmware unterstützt auch einige neue HMIP Geräte wie zB den kommenden Wassermelder, der im Gegensatz zum klobigen alten geradezu niedlich 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

Chris8888

Hi,
ich habe mal eine Gruppe angelegt. Leider wird mein Fussbodenheizung (FAL230) nicht angezeigt, daher besteht die Gruppe nur aus dem Thermostat und dem Fensterkontakt.

Leider kann ich das virtuelle Device nicht anlegen: get devicelist create Gruppenname
Fehlermeldung: HMCCUDEV: No devices in group

Selbst auf Verbose 5 kommt nicht mehr.

Mache ich etwas bei der Anlage falsch? Ich habe mich noch nie mit Gruppen beschäftigt.

Viele Grüße
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

zap

Das funktioniert nicht per get devicelist create, da ich es noch nicht geschafft habe, eine Gruppendefinition aus der CCU zu übernehmen.

Schau mal in die Commandref zu HMCCUDEV. Da gibt es bei define ein Beispiel. Du musst noch die Gruppenmitglieder explizit angeben. Das get devicelist (ohne create)vorher ist erforderlich, damit HMCCU das Gruppendevice lernt.

Dann zB

define myGroup HMCCUDEV myCCUGroup group=Fenster1,Thermo1,HKThermo1

Das mit der Fußbodenheizung ist ja blöd. Vielleicht wird das mit dem nächsten Update noch eingebaut. Ich finde die Gruppen sehr praktisch. Man spart sich bei vielen Geräten in einem Raum die Peering Orgie. In unserem größten Zimmer habe ich 3 Fenstersensoren, 1 Wandthermostat und 2 Heizkörperthermostate einfach in eine Gruppe gepackt und die CCu hat alle Verknüpfungen angelegt. Statt 6 Devices dann einfach nur das Gruppendevice in FHEM angelegt. Thats it
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

Chris8888

so, per define klappt es wunderbar:

Internals:
   CFGFN     
   DEF        HM_Heizung-Sz group=HM_Fensterkontakt_SZ,Thermostat-Schlafzimmer
   IODev      ccu
   NAME       Heizung_SZ
   NR         96042
   STATE      0
   TYPE       HMCCUDEV
   ccuaddr    INT0000001
   ccudevstate active
   ccugroup   0000D7099A4D9A,000E9569A2410C
   ccuif      VirtualDevices
   ccuname    HM_Heizung-Sz
   ccutype    HmIP-HEATING
   channels   6
   statevals  devstate
   READINGS:
     2018-06-30 14:04:35   0.ACTUAL_TEMPERATURE_STATUS 0
     2018-06-30 14:04:35   0.CONFIG_PENDING false
     2018-06-30 14:04:35   0.DUTY_CYCLE    false
     2018-06-30 14:04:35   0.ERROR_CODE    0
     2018-06-30 14:04:35   0.ERROR_OVERHEAT false
     2018-06-30 14:04:35   0.INSTALL_TEST  false
     2018-06-30 14:04:35   0.LOW_BAT       false
     2018-06-30 14:04:35   0.OPERATING_VOLTAGE 2.600000
     2018-06-30 14:04:35   0.OPERATING_VOLTAGE_STATUS 0
     2018-06-30 14:04:35   0.RSSI_DEVICE   216
     2018-06-30 14:04:35   0.RSSI_PEER     217
     2018-06-30 14:04:35   0.SABOTAGE      false
     2018-06-30 14:04:35   0.UPDATE_PENDING false
     2018-06-30 14:04:35   1.ACTIVE_PROFILE 1
     2018-06-30 14:04:35   1.ACTUAL_TEMPERATURE 27.000000
     2018-06-30 14:04:35   1.ACTUAL_TEMPERATURE_STATUS 0
     2018-06-30 14:02:11   1.BOOST_MODE    0
     2018-06-30 14:04:35   1.BOOST_TIME    0
     2018-06-30 14:04:35   1.FROST_PROTECTION false
     2018-06-30 14:04:35   1.HEATING_COOLING 0
     2018-06-30 14:04:35   1.HUMIDITY      43
     2018-06-30 14:04:35   1.HUMIDITY_STATUS 0
     2018-06-30 14:04:35   1.LEVEL         0.000000
     2018-06-30 14:04:35   1.LEVEL_STATUS  0
     2018-06-30 14:04:35   1.PARTY_MODE    false
     2018-06-30 14:04:35   1.PARTY_SET_POINT_TEMPERATU 0.000000
     2018-06-30 14:04:35   1.PARTY_SET_POINT_TEMPERATURE 4.500000
     2018-06-30 14:04:35   1.PARTY_TIME_END
     2018-06-30 14:04:35   1.PARTY_TIME_START
     2018-06-30 14:04:35   1.QUICK_VETO_TIME 0
     2018-06-30 14:04:35   1.SET_POINT_MODE 1
     2018-06-30 14:04:35   1.SET_POINT_TEMPERATURE 12.000000
     2018-06-30 14:04:35   1.STATE         0
     2018-06-30 14:04:35   1.SWITCH_POINT_OCCURED false
     2018-06-30 14:04:35   1.VALVE_ADAPTION false
     2018-06-30 14:04:35   1.VALVE_STATE   0
     2018-06-30 14:04:35   1.WINDOW_STATE  0
     2018-06-30 14:04:35   3.STATE         0
     2018-06-30 14:04:35   4.PROCESS       0
     2018-06-30 14:04:35   4.SECTION       0
     2018-06-30 14:04:35   4.SECTION_STATUS 0
     2018-06-30 14:04:35   4.STATE         false
     2018-06-30 14:04:35   activity        false
     2018-06-30 14:04:35   battery         false
     2018-06-30 14:04:35   control         0
     2018-06-30 14:04:35   desired-temp    12.000000
     2018-06-30 14:04:35   hmstate         0
     2018-06-30 14:04:35   state           0
   hmccu:
     dp:
       0.ACTUAL_TEMPERATURE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.CONFIG_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.DUTY_CYCLE:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.ERROR_CODE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.ERROR_OVERHEAT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.INSTALL_TEST:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.LOW_BAT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.OPERATING_VOLTAGE:
         OSVAL      1.200000
         OVAL       1.200000
         SVAL       2.600000
         VAL        2.600000
       0.OPERATING_VOLTAGE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OSVAL      206
         OVAL       206
         SVAL       216
         VAL        216
       0.RSSI_PEER:
         OSVAL      0
         OVAL       0
         SVAL       217
         VAL        217
       0.SABOTAGE:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.UNREACH:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.ACTIVE_PROFILE:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       1.ACTUAL_TEMPERATURE:
         OSVAL      27.000000
         OVAL       27.000000
         SVAL       27.000000
         VAL        27.000000
       1.ACTUAL_TEMPERATURE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.BOOST_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.FROST_PROTECTION:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.HEATING_COOLING:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.HUMIDITY:
         OSVAL      43
         OVAL       43
         SVAL       43
         VAL        43
       1.HUMIDITY_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.LEVEL:
         OSVAL      0.000000
         OVAL       0.000000
         SVAL       0.000000
         VAL        0.000000
       1.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.PARTY_MODE:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.PARTY_SET_POINT_TEMPERATU:
         OSVAL      0.000000
         OVAL       0.000000
         SVAL       0.000000
         VAL        0.000000
       1.PARTY_SET_POINT_TEMPERATURE:
         OSVAL      4.500000
         OVAL       4.500000
         SVAL       4.500000
         VAL        4.500000
       1.PARTY_TIME_END:
         OSVAL      2000_01_01 00:00
         OVAL       2000_01_01 00:00
         SVAL       
         VAL       
       1.PARTY_TIME_START:
         OSVAL      2000_01_01 00:00
         OVAL       2000_01_01 00:00
         SVAL       
         VAL       
       1.QUICK_VETO_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.SET_POINT_MODE:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       1.SET_POINT_TEMPERATURE:
         OSVAL      12.000000
         OVAL       12.000000
         SVAL       12.000000
         VAL        12.000000
       1.STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.SWITCH_POINT_OCCURED:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.VALVE_ADAPTION:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.VALVE_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       1.WINDOW_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       3.STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PROCESS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.STATE:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
Attributes:
   IODev      ccu
   ccureadingformat datapoint
   ccureadingname 0.(LOWBAT|LOW_BAT):+battery;1.SET_POINT_TEMPERATURE:+desired-temp


Die Konfiguration auf der CCU ist sicherlich viel einfacher.
Die Darstellung im FHEM ist mir persönlich als einzelne Device viel lieber.
Als Gruppe ist zB das Homebridgemapping und damit eine Einbindung in Alexa, Home, etc fast unmöglich.

Aber wer das alles nicht braucht....einfacher ist es so allemal.

VG
Christian
FHEM 6.0 auf einem PI4 mit div. Homematic-Komponenten, Alexa, Tablet-UI und Homebridge...und läuft einfach. Erweitert mit CCU3 und Homematic-IP...und läuft immer noch.

bruece-lee

Hallo,

ich wage gerade meine ersten Schritte mit HMCCU und habe eine Frage zu dem Attribut "ccuscaleval <[!]datapoint>:<min>:<max>:<minn>:<maxn>[,...] "

Ich habe in der CCU eine Philips HUE mit einem Dimmer device angelegt. Die Deviceinfo sieht so aus:

CHN CUX2802002:1 HK Tischlampe:1
  DPT {b} CUxD.CUX2802002:1.STATE = false [WE]
  DPT {b} CUxD.CUX2802002:1.HOLD =  [W]
  DPT {s} CUxD.CUX2802002:1.SUBMIT =  [W]
  DPT {b} CUxD.CUX2802002:1.INSTALL_TEST = false [RW]
CHN CUX2802002:2 HK Tischlampe:2
  DPT {a} CUxD.CUX2802002:2.LEVEL = 0.000000 [RWE]
  DPT {b} CUxD.CUX2802002:2.OLD_LEVEL =  [W]
  DPT {f} CUxD.CUX2802002:2.SET_STATE =  [W]
  DPT {b} CUxD.CUX2802002:2.INSTALL_TEST = false [RW]
CHN CUX2802002:3 HK Tischlampe:3
  DPT {a} CUxD.CUX2802002:3.LEVEL = 0.320000 [RWE]
  DPT {b} CUxD.CUX2802002:3.OLD_LEVEL =  [W]
  DPT {f} CUxD.CUX2802002:3.SET_STATE =  [W]
  DPT {b} CUxD.CUX2802002:3.INSTALL_TEST = false [RW]
CHN CUX2802002:4 HK Tischlampe:4
  DPT {a} CUxD.CUX2802002:4.LEVEL = 0.260000 [RWE]
  DPT {b} CUxD.CUX2802002:4.OLD_LEVEL =  [W]
  DPT {f} CUxD.CUX2802002:4.SET_STATE =  [W]
  DPT {b} CUxD.CUX2802002:4.INSTALL_TEST = false [RW]
CHN CUX2802002:5 HK Tischlampe:5
  DPT {b} CUxD.CUX2802002:5.INSTALL_TEST = false [RW]
  DPT {a} CUxD.CUX2802002:5.LEVEL = 0.098000 [RWE]
  DPT {b} CUxD.CUX2802002:5.OLD_LEVEL =  [W]
  DPT {f} CUxD.CUX2802002:5.SET_STATE =  [W]
CHN CUX2802002:6 HK Tischlampe:6
  DPT {b} CUxD.CUX2802002:6.INSTALL_TEST = false [RW]
CHN CUX2802002:7 HK Tischlampe:7
  DPT {b} CUxD.CUX2802002:7.INSTALL_TEST = false [RW]
CHN CUX2802002:8 HK Tischlampe:8
  DPT {b} CUxD.CUX2802002:8.INSTALL_TEST = false [RW]
CHN CUX2802002:9 HK Tischlampe:9
  DPT {b} CUxD.CUX2802002:9.INSTALL_TEST = false [RW]
CHN CUX2802002:10 HK Tischlampe:10
  DPT {b} CUxD.CUX2802002:10.INSTALL_TEST = false [RW]
CHN CUX2802002:11 HK Tischlampe:11
  DPT {b} CUxD.CUX2802002:11.INSTALL_TEST = false [RW]
CHN CUX2802002:12 HK Tischlampe:12
  DPT {b} CUxD.CUX2802002:12.INSTALL_TEST = false [RW]
CHN CUX2802002:13 HK Tischlampe:13
  DPT {b} CUxD.CUX2802002:13.INSTALL_TEST = false [RW]
CHN CUX2802002:14 HK Tischlampe:14
  DPT {b} CUxD.CUX2802002:14.INSTALL_TEST = false [RW]
CHN CUX2802002:15 HK Tischlampe:15
  DPT {b} CUxD.CUX2802002:15.INSTALL_TEST = false [RW]
CHN CUX2802002:16 HK Tischlampe:16
  DPT {b} CUxD.CUX2802002:16.INSTALL_TEST = false [RW]
CHN CUX2802002:17 HK Tischlampe:17
  DPT {b} CUxD.CUX2802002:17.INSTALL_TEST = false [RW]



Die Kanäle 2-5 sind relevant und haben folgende Bedeutung:

Ch.2 (brightness): DIMMER|MAX_VAL: 254
Ch.3 (color temperature): DIMMER|MAX_VAL: 347
Ch.4 (hue): DIMMER|MAX_VAL: 65535
Ch.5 (saturation): DIMMER|MAX_VAL: 254

Leider hat jeder einzelne Kanal eine andere Skalierung aber jedes Mal den gleichen Namen "LEVEL". Nun wollte ich mit dem Attribut "ccuscaleval" jeden einzelnen Kanal unterschiedlich skalieren. Dies hat leider nicht geklappt, da man vor dem Datenpunkt den Kanalnamen nicht angeben kann. Ich habe dazu diesen Beitrag gefunden:

Zitathttps://forum.fhem.de/index.php/topic,40189.msg478292.html#msg478292

Nun meine Frage: Wäre es möglich ccuscaleval doch noch derart anzupassen, dass der Kanalname angeben werden kann? Ich würde dies in dieser Anwendung für sinnvoll halten.

Falls nein, gibt es noch irgendeine Möglichkeit eine Skalierung auf anderem Wege hinzubekommen ohne, dass ich eine HUE Lampe in mehere HMCCUCHN's zerteilen muss?

Danke und Gruß, Bruece-Lee

zap

Wieso läuft das über CUXD? Die CCU unterstützt doch mittlerweile Hue Lampen out of the box.
Getestet habe ich das allerdings noch nicht, da meine Hue Lampen direkt in FHEM integriert sind. Warum willst Du die in der CCU haben?
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

bruece-lee

Mit dem HUE Addon wird auch der Status der HUE's zurückgemeldet. Das soll angeblich mit dem integrierten Modul nicht funktionieren. Ich möchte HMCCU nutzen, um meine Homematic Komponenten autark durch die CCU steuern zu lassen. FHEM übernimmt dann übergeordnete Logiken und die Visualisierung mit TabletUI. Die HUE's möchte ich in der CCU haben, um noch ein Stück unabhängiger von FHEM zu werden. Wenn der Server nicht läuft sollen die Basisfunktionen wie Licht, Heizung etc. trotzdem noch über die CCU funktionieren....so der Plan.

Wenn das ccuscaleval für mehrere gleich benannte Datenpunkte funktionieren würde, dann könnte ich mir eine komplette Lampe mit HMCCUDEV in FHEM nachbauen.

zap

ok, das mit ccuscaleval schaue ich mir an. Trotzdem wundert mich, dass das in der CcU über CUxD läuft. Ich dachte, die Adressen für die HUE Devices würden anders aussehen. Muss ich vielleicht bei mir auch mal so einbinden.
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

bruece-lee

@ZAP: Ich nutze für die HUE's das HUE Addon von hier: https://github.com/j-a-n/homematic-addon-hue. Dort ist ein Weg beschrieben, wie eine Lampe mittels CUXD device eingebunden wird.

Danke, dass Du Dir das ccuscaleval anschaust.

zap

du könntesg es nagürlich mal mit dem offiziellen Addon probieren. Vielleicht sind da die Datenpunkte unterschiedlich benannt.
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

bruece-lee

Zwei Gründe sprechen für mich dagegen: 1. Soll der Status der Lampen mit dem offiziellen Addon nicht automatisch von der bridge synchronisiert werden und 2. habe ich gelesen, dass das erst ab Bridge 2.0 funktioniert, die ich leider nicht habe.

zap

Ok, die Erweiterung für ccuscaleval ist in Arbeit. Wird aber wohl nächste Woche werden, da ich bei der Codeanalyse gleich noch einen Fehler gefunden habe.
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

bruece-lee

Super, ich freue mich drauf. Aber keine Eile, ich stehe noch ganz am Anfang mit HMCCU und habe viele Baustellen (...auf die ich mich freue :-) ).

jojojo

Zitat von: zap am 14 Juni 2018, 10:45:10
Bugfix für rpcServerAddr ist im SVN eingecheckt. Morgen per FHEM Update verfügbar.

Prima, funktioniert.
Hatte endlich mal Zeit zu testen.

Danke und Gruß
Jürgen

zap

Ich habe gerade die Version 4.2.008 eingecheckt. Morgen dann per FHEM update verfügbar.

Änderungen:

  • Das Attribut ccuscaleval unterstützt nun die optionale Angabe einer Kanalnummer vor dem Datenpunkt. Damit kann die Skalierung von Werten bei mehreren gleichlautenden Datenpunkten in einem HMCCUDEV Device auf einen bestimmten Kanal eingeschränkt werden. Die Kanalnummer wird dem Datenpunkt durch einen Punkt getrennt vorangestellt. Beispiel Skalierung von LEVEL in Kanal 3 auf Prozentwerte 0-100: 3.LEVEL:0:1:0:100

Bugfixes:

  • Fehler bei Prüfung auf gültiges CCU Device / gültigen CCU Kanal behoben
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