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,

ich habe jetzt doch mal das CCU-Update durchgeführt auf die aktuelle Version durchgeführt und jetzt funktioniert es.  :) Vielleicht hätte ich gleich mal ein Update ausführen sollen.

Vielen Dank für deine Unterstützung.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

chris1284

kurze rm: hmip-ps funktioniereb sauber!  ;)

eine frage: bei den ccu programmen für einschaltdauer - sind die zeitangaben in s sekunden richtig? welchen wert kann ich dort max vergeben?

zap

Ich weiß jetzt gerade nicht, worauf sich die Frage bezieht
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284

#1398
in der ccu kann man ja eingene programme erstellen und gerät zb für eine bestimmte dauer einschalten (quasi on for timer). per klicken geht der wert max auf 100s setzen. ich würde gerne wissen was der max-wert sein kann. per hand kann man mehr eintragen

zap

Die EQ-3 Doku zu Homematic Datenpunkten ist dein Freund:

http://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/hm_devices_Endkunden.pdf

Vermutlich wird der Datenpunkt ON_TIME gesetzt. Hier mal ein Auszug aus der Doku für ein HM-LC-AO-SM (such einfach nach deinem Gerätetyp)

Parameter ON_TIME
Typ: float
Zugriffsart:  schreibend
Minimaler Wert: 0.0
Maximaler Wert: 85825945.6
Standardwert: 0.0
Einheit: s
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

chris1284


Chris8888

#1401
Hallo,

ich habe heute ein neues Device angemeldet HmIP-STHD (also ein Thermostat wie WTH-2, nur ohne Stellrad).
Soweit läuft alles, die Konfig ist komplett analog zum WTH-2, alle Datenpunkte etc sind (soweit ich das sehe) 100% identisch.

Wen es interessiert, hier die Datenpunkte:
CHN 000E9569A2410C:0 Thermostat-Schlafzimmer:0
  DPT {b} HmIP-RF.000E9569A2410C:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000E9569A2410C:0.DUTY_CYCLE = false [RE]
  DPT {b} HmIP-RF.000E9569A2410C:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000E9569A2410C:0.OPERATING_VOLTAGE = 3.000000 [RE]
  DPT {n} HmIP-RF.000E9569A2410C:0.RSSI_DEVICE = 202 [RE]
  DPT {n} HmIP-RF.000E9569A2410C:0.RSSI_PEER = 210 [RE]
  DPT {b} HmIP-RF.000E9569A2410C:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000E9569A2410C:0.UPDATE_PENDING = false [RE]
CHN 000E9569A2410C:1 HmIP-STHD 000E9569A2410C:1
  DPT {i} HmIP-RF.000E9569A2410C:1.ACTIVE_PROFILE = 1 [WE]
  DPT {f} HmIP-RF.000E9569A2410C:1.ACTUAL_TEMPERATURE = 22.700000 [RE]
  DPT {b} HmIP-RF.000E9569A2410C:1.BOOST_MODE = false [WE]
  DPT {f} HmIP-RF.000E9569A2410C:1.CONTROL_DIFFERENTIAL_TEMP =  [WE]
  DPT {i} HmIP-RF.000E9569A2410C:1.CONTROL_MODE =  [WE]
  DPT {i} HmIP-RF.000E9569A2410C:1.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000E9569A2410C:1.DURATION_VALUE =  [W]
  DPT {b} HmIP-RF.000E9569A2410C:1.FROST_PROTECTION = false [RE]
  DPT {i} HmIP-RF.000E9569A2410C:1.HEATING_COOLING = 0 [RWE]
  DPT {i} HmIP-RF.000E9569A2410C:1.HUMIDITY = 34 [RE]
  DPT {b} HmIP-RF.000E9569A2410C:1.PARTY_MODE = false [RE]
  DPT {f} HmIP-RF.000E9569A2410C:1.PARTY_SET_POINT_TEMPERATU = 0.000000 [RE]
  DPT {s} HmIP-RF.000E9569A2410C:1.PARTY_TIME_END =  [RWE]
  DPT {s} HmIP-RF.000E9569A2410C:1.PARTY_TIME_START =  [RWE]
  DPT {i} HmIP-RF.000E9569A2410C:1.SET_POINT_MODE = 0 [RWE]
  DPT {f} HmIP-RF.000E9569A2410C:1.SET_POINT_TEMPERATURE = 21.000000 [RWE]
  DPT {b} HmIP-RF.000E9569A2410C:1.SWITCH_POINT_OCCURED = false [RE]
  DPT {i} HmIP-RF.000E9569A2410C:1.WINDOW_STATE = 0 [WE]


@Zap: 2 Kleinigkeiten:
Was fehlt:
Bei den "Internals" fehlt der Eintrag Firmware (warum auch immer).

Im Log bei Aufruf "Set Defaults"
2017.04.28 17:56:27 1: HMCCUDEV: HM_Thermostat_Schlafzimmer HMCCU: No default attributes found
Use of uninitialized value $wert in numeric lt (<) at (eval 14562) line 1.


Viele Grüße
Christian


Update: ich habe noch einen weiteren Fensterkontakt angemeldet. Firmware fehlt ebenfalls, die Fehlermeldung im Log taucht auch 1x auf (hat aber doch nichts mit dem Set Defaults zu tun. Kam irgendwann während des Anmeldeprozesses.

In der neuen Funktion "Get CCU Firmware" taucht der Kontakt auch nicht auf.
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 Internal firmware wird nur beim Start des RPC Servers initialisiert, da nur dann die CCU diese Information per NewDevice Event an HMCCU schickt.
Der Fehler ist seltsam. Ich verwende normalerweise keine deutschen Variablennamen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

Chris8888

#1403
Hallo Zap,

nach Stop&Start des RPC-Servers sind die Readings da, in der Firmwarelist "Update" dann ebenfalls.

Viele Grüße
Christian

Update: Noch ein Hinweis: Beim get CCU deviceliste create HM-Fensterkontakt t=dev f=HM_Fensterkontakt room=Heizung
wurde das neue Device ohne Raum angelegt. Habe ich das Kommando falsch angegeben?
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.

mrfloppy

Nach dem heutigen Update startet mein FHEM nicht mehr.
2017.05.02 08:08:20 1: reload: Error:Modul 88_HMCCU deactivated:
Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154, <$fh> line 99.

2017.05.02 08:08:20 0: Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154, <$fh> line 99.

2017.05.02 08:08:21 1: define CCU2_rpc HMCCURPC 10.0.0.82: Can't find HMCCU I/O device

Undefined subroutine &main::HMCCU_FindIODevice called at ./FHEM/88_HMCCUDEV.pm line 141, <$fh> line 1039.


nach dem zurückspielen der 88_HMCCU.pm kann ich wieder normal starten.
RaspiMatic, RFXtrx433 E USB, Div. Thermostate, CUL433, Fhemduino, Signalduino, Temp/luftfeuchesensoren,Fensterkontakte,Intertechno Schalter,....... HM-IP

zap

#1405
Mist. Einmal FHEM nach Änderungen und vor dem Einchecken ins Repository nicht neu gestartet und schon einen Bug drin.
Ich korrigiere das und checke gleich ein Update ein. Also momentan bitte nicht das Modul updaten!

So, das Update von 88_HMCCU.pm (Version 4.0.004) ist im SVN und sollte morgen zur Verfügung stehen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

kjmEjfu

Hi,

ich habe ein seltsames Phänomen bei der Einbindung der HmIP-RC8.
Die Fernbedienung habe ich als HMCCUDEV angelegt, was auch soweit funktioniert. Allerdings wurden die diversen Kanäle nicht mit eingebunden, so dass ich auf die unterschiedlichen Tastendrücke nicht reagieren kann. Mit get deviceinfo werden aber alle Kanäle angezeigt.

Woran könnte das u.U. liegen?
Jede Taste einzeln per HMCCUCHN  einzubinden, erscheint mir etwas von hinten durch die Brust.

Hab zuhause derzeit leider kein Internet, somit habe ich die Ausgaben nicht zur Hand.

Viele Grüße,
kjmEjfu

Migriere derzeit zu Home Assistant

zap

Bei Fernbedienungen oder auch bei Displays und Tastern sind die Datenpunkte PRESS_* meist rein Event gesteuert. Das erkennt man daran, dass bei "get deviceinfo" hinter diesen Datenpunkten nur W und/oder E, aber kein R angezeigt wird.
Ein Test per manuellem Update der Kanäle mit dem Befehl "get update" bringt aber nur etwas, wenn es auch lesbare Datenpunkte (R) gibt.

In Deinem Fall gehe ich davon aus, dass die CCU keine Events für Tastendrücke generiert. Da hilft auch keine Definition der Kanäle mit HMCCUCHN. Das liegt an einer Eigenart der CCU, die für einige Taster/Fernbedienungen nur dann ein Event generiert, wenn mit dem jeweiligen Kanal ein Aktor oder ein CCU-Programm verknüpf ist.

Du solltest also in der CCU ein Dummy Programm anlegen, das die einzelnen Tasten abfragt und als Reaktion darauf z.B. eine CCU Systemvariable auf irgendeinen Wert setzt. Mein entsprechendes Programm sieht ungefähr so aus:

Wenn "Geräteauswahl" KanalAB:1 "bei" Tastendruck kurz
Oder "Geräteauswahl" KanalAB:2 "bei" Tastendruck kurz
...
Aktivität Dann "Systemzustand" meineVar "sofort" true

Vorher muss natürlich eine Systemvariable "meineVar" vom Typ Bool angelegt werden.



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

bart

mit dem Update von Heute kam fhem funktionierte nach einen Restart nichts mehr und ich habe das backup wieder eingespielt.

Folgendes habe ich im Log gefunden:
Zitat2017.05.02 18:40:49.229 1: HMCCURPC: RPC callback for server CB2001 deregistered
2017.05.02 18:40:49.229 2: HMCCURPC: Sending signal INT to thread CB2001 TID=2
2017.05.02 18:40:50.228 2: CCURPC: RPC server CB2001 stopped handling connections. TID=2
2017.05.02 18:40:50.231 1: HMCCURPC: Found 1 threads. Stopping ...
2017.05.02 18:40:53 1: PERL WARNING: Prototype mismatch: sub main::max ($@) vs (@) at /usr/share/perl/5.20/Exporter.pm line 66.
2017.05.02 18:40:53 2: Perfmon: ready to watch out for delays greater than one second
2017.05.02 18:40:53.630 2: eventTypes: loaded 2824 events from ./log/eventTypes.txt
2017.05.02 18:40:53.766 1: reload: Error:Modul 88_HMCCU deactivated:
Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154.

2017.05.02 18:40:53.766 0: Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154.

Undefined subroutine &main::HMCCU_FindIODevice called at ./FHEM/88_HMCCUDEV.pm line 141.
2017.05.02 18:42:19 1: PERL WARNING: Prototype mismatch: sub main::max ($@) vs (@) at /usr/share/perl/5.20/Exporter.pm line 66.
2017.05.02 18:42:19 2: Perfmon: ready to watch out for delays greater than one second
2017.05.02 18:42:19.438 2: eventTypes: loaded 2824 events from ./log/eventTypes.txt
2017.05.02 18:42:19.561 1: reload: Error:Modul 88_HMCCU deactivated:
Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154.

2017.05.02 18:42:19.561 0: Global symbol "$name" requires explicit package name at ./FHEM/88_HMCCU.pm line 2154.

Undefined subroutine &main::HMCCU_FindIODevice called at ./FHEM/88_HMCCUDEV.pm line 141.
CCU2 für die Heizungsteuerung und Fenster/Türkontakte
FHEM auf Debian-Server (x64) für den Rest
HMCCU: Schnittstelle CCU2 - FHEM

Tom71

Mit der Version 4.0.004 aus dem svn startet FHEM bei mir wieder.
Homematic | RaspberryMatic