UserReading in HMCCUDEV

Begonnen von Mundus, 05 Juli 2019, 11:49:18

Vorheriges Thema - Nächstes Thema

Mundus

Hi,

ich habe folgendes Thermostat bei mir eingerichtet:

Internals:
   CHANGED   
   DEF        MEQ1881948
   IODev      myHomeMatic
   NAME       ku_Thermostat
   NR         69
   STATE      Temp: 20.8° | Gewünscht: 21.0° | Modus: Auto
   TYPE       HMCCUDEV
   ccuaddr    MEQ1881948
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    HM-RT-Kueche
   ccutype    HM-CC-RT-DN
   channels   7
   firmware   1.4
   statevals  devstate
   READINGS:
     2019-06-26 17:09:42   0.AES_KEY       0
     2019-06-26 17:09:42   0.CONFIG_PENDING false
     2019-06-26 17:09:42   0.DEVICE_IN_BOOTLOADER false
     2019-06-26 17:09:42   0.INHIBIT       false
     2019-06-26 17:09:42   0.LOWBAT        false
     2019-06-26 17:09:42   0.RSSI_DEVICE   1
     2019-06-26 17:09:42   0.RSSI_PEER     213
     2019-06-26 17:09:42   0.STICKY_UNREACH false
     2019-06-26 17:09:42   0.UNREACH       false
     2019-06-26 17:09:42   0.UPDATE_PENDING false
     2019-07-05 11:23:46   4.ACTUAL_TEMPERATURE 20.8
     2019-07-05 11:23:46   4.BOOST_STATE   0
     2019-07-05 11:23:46   4.CONTROL_MODE  Auto
     2019-07-05 11:23:46   4.FAULT_REPORTING battery_low
     2019-07-05 11:23:46   4.PARTY_START_DAY 1
     2019-07-05 11:23:46   4.PARTY_START_MONTH 1
     2019-07-05 11:23:46   4.PARTY_START_TIME 0
     2019-07-05 11:23:46   4.PARTY_START_YEAR 0
     2019-07-05 11:23:46   4.PARTY_STOP_DAY 1
     2019-07-05 11:23:46   4.PARTY_STOP_MONTH 1
     2019-07-05 11:23:46   4.PARTY_STOP_TIME 0
     2019-07-05 11:23:46   4.PARTY_STOP_YEAR 0
     2019-07-05 11:23:46   4.PARTY_TEMPERATURE 5.0
     2019-07-05 11:23:46   4.SET_TEMPERATURE 21.0
     2019-07-05 11:23:46   4.VALVE_STATE   91
     2019-07-05 11:23:46   Battery         2.2
     2019-07-05 11:23:46   Gesperrt        BUTTON_LOCK=1
     2019-07-05 11:23:46   control         21.0
     2019-07-05 11:23:46   hmstate         battery_low
     2019-07-05 11:23:46   state           21.0
   hmccu:
     devspec    MEQ1881948
     dp:
       0.AES_KEY:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.CONFIG_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.DEVICE_IN_BOOTLOADER:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.INHIBIT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.LOWBAT:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.RSSI_DEVICE:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       0.RSSI_PEER:
         OSVAL      213
         OVAL       213
         SVAL       213
         VAL        213
       0.STICKY_UNREACH:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.UNREACH:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       0.UPDATE_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       4.ACTUAL_TEMPERATURE:
         OSVAL      20.8
         OVAL       20.800000
         SVAL       20.8
         VAL        20.800000
       4.BATTERY_STATE:
         OSVAL      2.2
         OVAL       2.200000
         SVAL       2.2
         VAL        2.200000
       4.BOOST_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.CONTROL_MODE:
         OSVAL      Auto
         OVAL       0
         SVAL       Auto
         VAL        0
       4.FAULT_REPORTING:
         OSVAL      battery_low
         OVAL       6
         SVAL       battery_low
         VAL        6
       4.PARTY_START_DAY:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       4.PARTY_START_MONTH:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       4.PARTY_START_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PARTY_START_YEAR:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PARTY_STOP_DAY:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       4.PARTY_STOP_MONTH:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       4.PARTY_STOP_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PARTY_STOP_YEAR:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.PARTY_TEMPERATURE:
         OSVAL      5.0
         OVAL       5.000000
         SVAL       5.0
         VAL        5.000000
       4.SET_TEMPERATURE:
         OSVAL      21.0
         OVAL       21.000000
         SVAL       21.0
         VAL        21.000000
       4.VALVE_STATE:
         OSVAL      91
         OVAL       91
         SVAL       91
         VAL        91
Attributes:
   IODev      myHomeMatic
   alias      Thermostat Küche
   ccureadingfilter N:/PARTY/
   ccureadingname 4.BATTERY_STATE:Battery
   cmdIcon    Auto:sani_heating_automatic Manual:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus sperren:secur_locked entsperren:secur_open
   controldatapoint 4.SET_TEMPERATURE
   event-on-change-reading .*
   eventMap   /datapoint 4.MANU_MODE 20.0:Manual/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost/datapoint 4.MANU_MODE 4.5:off/datapoint 4.MANU_MODE 30.5:on/config BUTTON_LOCK=true:sperren/config BUTTON_LOCK=false:entsperren/
   group      Thermostat
   hmstatevals FAULT_REPORTING!1:valve_tight,2:range_too_large,3:range_too_small,4:communication_error,5:other_error,6:battery_low,7:valve_error_pos
   icon       hc_wht_regler
   room       HomeMatic,Küche
   stateFormat Temp: 4.ACTUAL_TEMPERATURE° | Gewünscht: 4.SET_TEMPERATURE° | Modus: 4.CONTROL_MODE
   statedatapoint 4.SET_TEMPERATURE
   stripnumber 1
   substexcl  control
   substitute CONTROL_MODE!0:Auto,1:Manual,2:PARTY,3:BOOST;SET_TEMPERATURE!#0-4.5:off,#30.5-40:on;FAULT_REPORTING!0:no,1:valve_tight,2:range_too_large,3:range_too_small,4:communication_error,5:other_error,6:battery_low,7:valve:error_pos;Gesperrt!BUTTON_LOCK=1:locked,BUTTON_LOCK=0:unlocked
   userReadings Gesperrt {
my $val = fhem "get ku_Thermostat configlist BUTTON_LOCK";
$val=~ /(^BUTTON_LOCK.*)\s.*/;
return $1;
}
   webCmd     control:Auto:Manual:Boost:on:off:sperren:entsperren
   widgetOverride control:slider,4.5,0.5,30.5,1


Es ist zu erkennen, dass ich ein UserReading habe, welches mir mitteilt, ob das Thermostat gesperrt ist oder nicht. Leider löst dieses UserReading fast alle zwei Minuten aus.
Das finde ich sehr häufig, zumal kein Eingriff von außen stattfindet.

Meine Anforderung wäre, sobald ein manueller Eingriff an meinem Thermostat stattfindet (am Thermostat oder über ein WebUI), soll das UserReading ausgeführt werden. Leider weiß ich nicht, welchen Trigger ich auf das UserReading setzen kann, da z.B. Sperren des Thermostat nicht als Reading existiert und somit selbst nicht getriggert werden kann.

Habt ihr Ideen, wie ich mein Problem lösen kann? Bzw. kann ich zwischenzeitlich den Lock-Status in einem "richtigen" Reading einbinden?

Gruß und Danke für eure Hilfe

zap

Du könntest per at Befehl einfach regelmäßig den Befehl get config ausführen lassen. Das legt Dir ein Reading "R-BUTTONLOCK" an. Dann setzt du event-on-change-reading auf das Reading oder einen geeigneten regulären Ausdruck.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)