HMCCU bringt fhem zum Absturz

Begonnen von zentis666, 11 Dezember 2016, 21:54:49

Vorheriges Thema - Nächstes Thema

zentis666

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 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
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge

zentis666

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
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge

zap

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.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)