Ich habe mir einen HMIP Temperatur/Luftfeuchtesensor mit Display HmIP-STHD zugelegt. Das Einbinden in FHEM hat wie immer gut funktioniert nur leider gibt es für das Gerät keine vordefinierten Defalutwerte, so dass ich momentan dabei bin mit den einzelnen Attributen die Readings ansprechend zu gestalten.
In das Attribut readingsfilter habe ich aktuell folgendes eigetragen
(LOW_BAT|OPERATING_VOLTAGE|HUMIDITY|ACTUAL_TEMPERATURE)
da ich nur diese Datenpunkte abfrage und weiterverwenden möchte.
Leider haben diese Datenpunkte jeweils noch einen zweiten Datenpunkt, der gleicht heißt und jeweils mit _STATUS endet.
Bei der o.g. Verwendung der Regex werden mit also noch jeweils Readings der einzelnen Datenpunkt mit der Endung _STATUS angelegt. Das möchte ich gerne verhindern.
Ich habe hierzu schon mit dem Zeichen ^ experimentiert, Z.B. LOW_BAT[^_STATUS]. Das hat aber alles nicht zu dem gewünschten Ergebnis geführt. Entweder werden beide Datenpunkte als Reading angelegt oder keiner von beiden oder nur der mit der Endung _STATUS. Aber nie der ohne die Endung _STATUS.
Irgendwas mache ich bei der Syntax der Regex falsch.
Wäre schön wenn mir hier jemand auf die Sprünge helfen könnte.
Derzeit sieht das Device so aus:
Internals:
CFGFN
DEF TH_Sensor_innen_Keller
FUUID 5eede5c1-f33f-bf2d-ff0a-75cd3267ae6cc15d
IODev MyCCU3
NAME TH_Sensor_innen_Keller
NR 26693
STATE T: 25.4° H: 42% D: 11.6° A: 9.9 g/m³
TYPE HMCCUDEV
ccuaddr 000E9BE98AFD6E
ccudevstate active
ccuif HmIP-RF
ccuname TH_Sensor_innen_Keller
ccutype HmIP-STHD
channels 8
statevals devstate
OLDREADINGS:
READINGS:
2020-06-20 14:08:25 absoluteHumidity 9.9
2020-06-20 14:08:25 battery ok
2020-06-20 14:08:25 battery_volt 3.0
2020-06-20 14:08:25 battery_volt_STATUS 0
2020-06-20 14:08:25 dewpoint 11.6
2020-06-20 14:08:25 humidity 42
2020-06-20 14:08:25 humidity_STATUS 0
2020-06-20 13:49:49 humidity_STATUS_avg_day 0
2020-06-20 13:49:49 humidity_STATUS_avg_month 0
2020-06-20 13:49:49 humidity_STATUS_cum_day 0
2020-06-20 13:49:49 humidity_STATUS_cum_month 0
2020-06-20 13:49:49 humidity_STATUS_max_day 0
2020-06-20 13:49:49 humidity_STATUS_max_month 0
2020-06-20 13:49:49 humidity_STATUS_min_day 0
2020-06-20 13:49:49 humidity_STATUS_min_month 0
2020-06-20 14:08:25 humidity_avg_day 44.0
2020-06-20 14:08:25 humidity_avg_month 44.0
2020-06-20 14:08:25 humidity_cum_day 2238792
2020-06-20 14:08:25 humidity_cum_month 78270792
2020-06-20 13:26:09 humidity_max_day 44
2020-06-20 13:26:09 humidity_max_month 44
2020-06-20 14:08:25 humidity_min_day 42.0
2020-06-20 14:08:25 humidity_min_month 42.0
2020-06-20 14:08:25 temperature 25.4
2020-06-20 14:08:25 temperature_STATUS 0
2020-06-20 13:49:49 temperature_STATUS_avg_day 0
2020-06-20 13:49:49 temperature_STATUS_avg_month 0
2020-06-20 13:49:49 temperature_STATUS_cum_day 0
2020-06-20 13:49:49 temperature_STATUS_cum_month 0
2020-06-20 13:49:49 temperature_STATUS_max_day 0
2020-06-20 13:49:49 temperature_STATUS_max_month 0
2020-06-20 13:49:49 temperature_STATUS_min_day 0
2020-06-20 13:49:49 temperature_STATUS_min_month 0
2020-06-20 14:08:25 temperature_avg_day 25.2
2020-06-20 14:08:25 temperature_avg_month 25.2
2020-06-20 14:08:25 temperature_cum_day 1282908.8
2020-06-20 14:08:25 temperature_cum_month 44828508.8
2020-06-20 14:08:25 temperature_max_day 25.4
2020-06-20 14:08:25 temperature_max_month 25.4
2020-06-20 13:26:09 temperature_min_day 25.2
2020-06-20 13:26:09 temperature_min_month 25.2
hmccu:
devspec TH_Sensor_innen_Keller
dp:
0.CONFIG_PENDING:
OSVAL false
OVAL false
SVAL false
VAL 0
0.DUTY_CYCLE:
OSVAL false
OVAL false
SVAL false
VAL 0
0.INSTALL_TEST:
OSVAL true
OVAL true
SVAL true
VAL true
0.LOW_BAT:
OSVAL ok
OVAL false
SVAL ok
VAL 0
0.OPERATING_VOLTAGE:
OSVAL 3.0
OVAL 3.000000
SVAL 3.0
VAL 3.0
0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.RSSI_DEVICE:
OSVAL 172
OVAL 172
SVAL 172
VAL -84
0.RSSI_PEER:
OSVAL 209
OVAL 209
SVAL 209
VAL 209
0.UNREACH:
OSVAL false
OVAL false
SVAL false
VAL 0
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 25.2
OVAL 25.200000
SVAL 25.4
VAL 25.4
1.ACTUAL_TEMPERATURE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_MODE:
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 0
1.HEATING_COOLING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.HUMIDITY:
OSVAL 44
OVAL 44
SVAL 42
VAL 42
1.HUMIDITY_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_MODE:
OSVAL false
OVAL false
SVAL false
VAL 0
1.PARTY_SET_POINT_TEMPERATURE:
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
1.PARTY_TIME_END:
OSVAL
OVAL
SVAL
VAL
1.PARTY_TIME_START:
OSVAL
OVAL
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 4.5
OVAL 4.500000
SVAL 4.5
VAL 4.5
1.SWITCH_POINT_OCCURED:
OSVAL false
OVAL false
SVAL false
VAL 0
1.WINDOW_STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
Attributes:
IODev MyCCU3
alexaName Keller
alias Temp Keller
ccureadingfilter (LOW_BAT|OPERATING_VOLTAGE|HUMIDITY|ACTUAL_TEMPERATURE)
ccureadingname ^(.+\.)?LOW_?BAT$:battery;0.OPERATING_VOLTAGE:battery_volt;1.ACTUAL_TEMPERATURE:temperature;1.HUMIDITY:humidity
event-on-change-reading .*
event-on-update-reading humidity,temperature
genericDeviceType thermometer
group Innenraumtemperatur
room Haus,Keller
stateFormat T: temperature° H: humidity% D: dewpoint° A: absoluteHumidity g/m³
stripnumber 1
substitute LOW_BAT!(0|false):ok,(1|true):low
Gruß
Wolle
Bei dem Ausdruck am Anfang ein ^ und am Ende ein $
Hmmm, ich habe es dann jetzt so geschrieben:
(LOW_BAT[^_STATUS$]|OPERATING_VOLTAGE[^_STATUS$]|HUMIDITY[^_STATUS$]|ACTUAL_TEMPERATURE[^_STATUS$])
Nach einem
deletereading TH_Sensor_innen_Keller .*
werden jetzt gar keine Readings mehr erzeugt.
Wo hab ich dich falsch verstanden?
EDIT:
Ahhh, jetzt habe ich es so gemacht
(^LOW_BAT$|^OPERATING_VOLTAGE$|^HUMIDITY$|^ACTUAL_TEMPERATURE$)
Jetzt funktioniert es. Vielen Dank für die Hilfe.
Umständlich. Ein ^ ganz am Anfang und ein $ ganz am Ende und gut. FHEM ohne Kenntnisse in regulären Ausdrücken wird auf Dauer mühsam werden.