FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: zentis666 am 11 Dezember 2016, 21:54:49

Titel: HMCCU bringt fhem zum Absturz
Beitrag von: zentis666 am 11 Dezember 2016, 21:54:49
Hallo!
Ich bin gerade dabei meine Homematic Geräte auf HMCCU umzuziehen.
Bisher hab ich erfolgreich einige Fenstersensoren (HM-Sec-RHS),
ein HM-TC-IT-WM-W-EU und ein HM-CC-RT-DN eingebunden.

Nun hab ich eine virtuelle Gerätegruppe aus HM-TC-IT-WM-W-EU und HM-CC-RT-DN gemäß
https://forum.fhem.de/index.php/topic,51339.0.html (https://forum.fhem.de/index.php/topic,51339.0.html) angelegt.

Wenn ich nun in diesem virtuellen Device die Temperatur ändere, wird sie in der CCU2 auf RT und IT korrekt gesetzt,
allerdings stürzt fhem ab. Neustart hilft nichts, ich muss die Perl Prozesse händisch abschiessen damit ich fhem wieder starten kann.

Im log taucht folgendes auf:
Undefined subroutine &main::usleep called at ./FHEM/88_HMCCU.pm line 3605.
Das Ganze passiert reproduzierbar immer wenn ich eine Temperatur setze.

Hier meine Definition der Gruppe:
define HM_HZ_2OG_AZ_G HMCCUDEV G_HZ_2OG_AZ group=HM-CC-RT-2OG_AZ,HM-TC-IT-2OG_AZ
attr HM_HZ_2OG_AZ_G IODev hm_ccu
attr HM_HZ_2OG_AZ_G ccureadingfilter HM-CC-RT-2OG_AZ:1!(CONTROL_MODE|SET_TEMPERATURE),^HM.*2OG!(^SET_TEMPERATURE|^TEMPERATURE|^HUMIDITY|LOWBAT$|^VALVE|^CONTROL|^WINDOW_OPEN)
attr HM_HZ_2OG_AZ_G ccuverify 1
attr HM_HZ_2OG_AZ_G controldatapoint 1.SET_TEMPERATURE
attr HM_HZ_2OG_AZ_G event-on-change-reading .*
attr HM_HZ_2OG_AZ_G room 2.10:Arbeitszimmer,Homematic
attr HM_HZ_2OG_AZ_G stateFormat T: HM-TC-IT-2OG_AZ.1.TEMPERATURE° H: HM-TC-IT-2OG_AZ.1.HUMIDITY% D: HM-TC-IT-2OG_AZ.2.SET_TEMPERATURE° P: DEWPOINT° V: HM-CC-RT-2OG_AZ.4.VALVE_STATE%
attr HM_HZ_2OG_AZ_G statechannel 1
attr HM_HZ_2OG_AZ_G stripnumber 1
attr HM_HZ_2OG_AZ_G substitute LOWBAT!(0|false):no,(1|true):yes;;;;CONTROL_MODE!0:AUTO,1:MANU,2:PARTY,3:BOOST;;;;WINDOW_OPEN_REPORTING!(true|1):open,(false|0):closed
attr HM_HZ_2OG_AZ_G userReadings DEWPOINT {HMCCU_Dewpoint($name,"HM-TC-IT-2OG_AZ.1.TEMPERATURE", "HM-TC-IT-2OG_AZ.1.HUMIDITY","n/a")}, LOWBAT_STATE:(HM-TC-IT-2OG_AZ.0.LOWBAT|HM-CC-RT-2OG_AZ.0.LOWBAT) {HMCCU_AggReadings($name, "HM-CC.*LOWBAT","and","no","yes")}, LOWBAT_COUNT:(HM-TC-IT-2OG_AZ.0.LOWBAT|HM-CC-RT-2OG_AZ.0.LOWBAT) {HMCCU_AggReadings($name, "HM-CC.*LOWBAT","cnt","yes","")}
attr HM_HZ_2OG_AZ_G webCmd control
attr HM_HZ_2OG_AZ_G widgetOverride control:slider,10,1,25


Hab ich nen Fehler in meiner Definiton?
Gruß
Sven
Titel: Antw:HMCCU bringt fhem zum Absturz
Beitrag von: zentis666 am 11 Dezember 2016, 22:11:28
Nach reboot geht es nun, ich kann die Temperatur setzen und nichts stützt ab.
Hab aber nichts an der config geändert.
Gruß
Sven
Titel: Antw:HMCCU bringt fhem zum Absturz
Beitrag von: zap am 12 Dezember 2016, 08:21:01
Die Funktion usleep wird nur aufgerufen, wenn du das Attribut ccuverify auf 1 gesetzt hast (was Du gemacht hast).

Dieses Attribut bewirkt, dass sofort nach dem Setzen eines Datenpunktes (z.B. set SET_TEMPERATURE) ein entsprechendes Get ausgeführt wird. Das ist eigentlich nur notwendig, wenn der RPC-Server die Readings nicht zeitnah aktualisiert. Daher empfehle ich Dir, das Attribut erst mal zu löschen.