Hi,
ich probiere jetzt schon mehrere Tage rum - ich bekomme es (nur bei diesem aggregate) einfach nicht hin.
name:voltage,filter:type=(HmIP-eTRV-2|HmIP-SWDO-I|HmIP-WTH-2|HmIP-STHO|HmIP-WRC6|HmIP-HEATING),read:0.OPERATING_VOLTAGE,if:le=2.2,else:0,prefix:voltage_,coll:comment!Batteriespannung OK
2021-03-23 09:10:06 HMCCUDEV HM_KL_Badezimmer 0.OPERATING_VOLTAGE: 2.9
Heating ist nur mit drin, da die Gruppen den Status schneller aktualisieren und ich es so eher beobachten kann. Der Punkt ist: Egal ob ich gt, lt, le, ge eingebe - es erscheinen immer ALLE Batteriebetriebenen HmIP Geräte in der Aufzählung. Ich habe es mit stripnumber 1 und ohne stripnumber 1 probiert. Habe lt=2 gesetzt, 13 Geräte aufgelistet. lt gegen gt getauscht - nächste aktualisierung: 13 Geräte. Also wäre die Zahl sowohl kleiner als auch größer 2 (da es nicht le oder ge ist kann es ja auch nicht 2 sein)
Hilfe?!
Hopp - hat das keiner laufen oder bin ich einfach zu blind?`
Frohe Ostern!
Sobald meine FHEM Entwicklungs-Installation wieder läuft, schaue ich es mir an. Momentan startet FHEM nicht, weil ich ein paar Bugs in der neuen HMCCU Version habe.
Ich habe es jetzt mal bei mir getestet. Leider habe ich momentan nur 1 Gerät definiert, das dieses Reading hat. Funktioniert trotzdem:
name:voltage,filter:type=HmIP-ASIR,read:0.OPERATING_VOLTAGE,if:le=2.2,else:0,prefix:voltage_,coll:comment!Batteriespannung OK
Ergibt folgende Readings (die Spannung ist 4.4 V)
voltage_count = 1
voltage_list = Batteriespannung OK
voltage_match = 0
voltage_state = 0
Allerdings habe ich festgestellt, dass die "coll:" Option nicht richtig funktioniert: Wenn ich le=5 setze, wird zwar voltage_match=1, allerdings steht in voltage_list nur "comment". Hier wird also das Attribut nicht eingesetzt.
Hi,
ich hab es jetzt gerade nochmal probiert - nur mit dem voltage Reading sogar. Bei mir bleiben immer alle betroffenen Geräte in der Liste. Es muss doch dann irgendeine andere Einstellung sein - die anderen aggregate funktionieren so wie so sollen.
attr d_ccu ccuaggregate name:battery,filter:type=(HmIP-eTRV-2|HmIP-SWDO-I|HmIP-WTH-2|HmIP-STHO|HmIP-WRC6),read:battery,if:any=low,else:ok,prefix:battery_,coll:comment!Batterien OK;;\
name:hummax,filter:name=^HM_KL.*Gruppe,read:humidity,if:ge=62,else:0,prefix:hummax_,coll:comment!Luftfeuchte OK;;\
name:lock,filter:name=^HM_TF.*,read:state,if:any=open,else:closed,prefix:lock_,coll:comment!Alle Fenster/Türen geschlossen;;\
name:unreach,filter:type=(HmIP-eTRV-2|HmIP-SWDO-I|HmIP-WTH-2|HmIP-STHO|HmIP-WRC6),read:activity,if:any=dead,else:alive,prefix:unreach_,coll:comment!Alle Devices erreichbar;;\
name:voltage,filter:type=(HmIP-eTRV-2|HmIP-SWDO-I|HmIP-WTH-2|HmIP-STHO|HmIP-WRC6|HmIP-HEATING),read:0.OPERATING_VOLTAGE,if:gt=2,else:0,prefix:voltage_,coll:comment!Batteriespannung OK
attr d_ccu ccudef-readingfilter ^(LOW_?BAT|UNREACH)$
attr d_ccu ccudef-readingname ^(.+\.)?LOW_?BAT$:battery;;^(.+\.)?UNREACH$:activity
attr d_ccu ccudef-substitute AES_KEY!(0|false):off,(1|true):on;;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;;UNREACH!(0|false):alive,(1|true):dead;;MOTION!(0|false):noMotion,(1|true):motion;;DIRECTION!0:stop,1:up,2:down,3:undefined;;WORKING!0:false,1:true;;INHIBIT!(0|false):unlocked,(1|true):locked
attr d_ccu ccuflags procrpc
attr d_ccu cmdIcon on:general_an off:general_aus
attr d_ccu event-on-change-reading .*
attr d_ccu eventMap /rpcserver on:on/rpcserver off:off/
attr d_ccu room HmIP
attr d_ccu rpcinterfaces HmIP-RF,VirtualDevices
attr d_ccu rpcport 2010,9292
attr d_ccu rpcserver on
attr d_ccu stateFormat rpcstate/state
attr d_ccu stripnumber 1
attr HM_KL_Badezimmer DbLogInclude (state|0.OPERATING_VOLTAGE|desired-temp|measured-temp|humidity|dewpoint)
attr HM_KL_Badezimmer IODev d_ccu
attr HM_KL_Badezimmer ccureadingfilter .*
attr HM_KL_Badezimmer controldatapoint 1.SET_POINT_TEMPERATURE
attr HM_KL_Badezimmer event-min-interval 0.OPERATING_VOLTAGE:3600,ValvePosition:300,desired-temp:300,measured-temp:300,humidity:60,dewpoint:300
attr HM_KL_Badezimmer event-on-change-reading .*
attr HM_KL_Badezimmer eventMap /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.CONTROL_MODE 1 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.CONTROL_MODE 0 1.SET_POINT_TEMPERATURE 30.5:on/
attr HM_KL_Badezimmer genericDeviceType thermostat
attr HM_KL_Badezimmer homebridgeMapping clear\
TargetTemperature=1.SET_POINT_TEMPERATURE::1.SET_POINT_TEMPERATURE,minValue=5,maxValue=30,minStep=0.5,cmd=control,nocache=true\
CurrentTemperature=1.ACTUAL_TEMPERATURE,nocache=true\
CurrentHeatingCoolingState=1.SET_POINT_MODE,values=1:HEAT;;2:OFF;;0:COOL\
TargetHeatingCoolingState=1.SET_POINT_MODE,values=1:OFF;;1:HEAT;;1:COOL;;1:AUTO\
StatusLowBattery=battery,values=low:BATTERY_LEVEL_LOW;;ok:BATTERY_LEVEL_NORMAL
attr HM_KL_Badezimmer room Badezimmer,HmIP
attr HM_KL_Badezimmer stateFormat {sprintf("T: %.1f°C / H: %d %% ", ReadingsVal($name,"measured-temp",0) ,ReadingsVal($name,"humidity",0))}
attr HM_KL_Badezimmer statedatapoint 1.SET_POINT_TEMPERATURE
attr HM_KL_Badezimmer stripnumber 1
attr HM_KL_Badezimmer substexcl control
attr HM_KL_Badezimmer substitute SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;;WINDOW_STATE!(0|false):closed,(1|true):open
attr HM_KL_Badezimmer userReadings humidity { ReadingsVal($name,"1.HUMIDITY",0) },\
desired-temp { ReadingsVal($name,"1.SET_POINT_TEMPERATURE",0) },\
measured-temp { ReadingsVal($name,"1.ACTUAL_TEMPERATURE",0) }
attr HM_KL_Badezimmer webCmd control:Boost:Auto:Manual:Holiday:on:off
attr HM_KL_Badezimmer widgetOverride control:slider,4.5,0.5,30.5,1
Tipp: mit dem Befehl get aggregation im IO Device kannst Du eine Regel explizit berechnen lassen. Das erleichtert das Trsten.