FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Wolle02 am 20 Juni 2020, 14:14:58

Titel: [gelöst][HMCCUDEV] Problem mit Regex bei readingsfilter
Beitrag von: Wolle02 am 20 Juni 2020, 14:14:58
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
Titel: Antw:[HMCCUDEV] Problem mit Regex bei readingsfilter
Beitrag von: zap am 20 Juni 2020, 16:45:57
Bei dem Ausdruck am Anfang ein ^ und am Ende ein $
Titel: Antw:[HMCCUDEV] Problem mit Regex bei readingsfilter
Beitrag von: Wolle02 am 20 Juni 2020, 17:42:49
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.
Titel: Antw:[gelöst][HMCCUDEV] Problem mit Regex bei readingsfilter
Beitrag von: zap am 20 Juni 2020, 20:12:36
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.