Hallo zusammen,
ich habe ein Problem mit der zyklischen Abfrage des Batteriestatus' einiger HM-Geräte.
Von meinen Homematic Geräten gibt es einige, die den Batteriestatus nur aktualisieren, wenn sie aktiv werden, das ist aber nicht bei jedem Fenster- bzw. Fenstergriffsensor der Fall.
Nun kommt es leider vor, dass die Geräte längere Zeit nicht aktiviert wurden und somit ein veralterter Batteriestatus "ok" im FTUI angezeigt wird, die Batterie aber seit der letzten Meldung zwischenzeitlich schwach geworden ist.
Und das bekomme ich in so einem Fall dann im FTUI nicht mit.
Ich weiß, dass es die Funktionalität "actiondetector" und "actCycle" gibt, leider konnte ich noch keines dieser Geräte überzeugen sich ohne äußere Aktivierung selbstständig zu melden.
Also habe ich mir eine Funktion gebastelt die mir zumindest optisch singnalisiert, dass die letzte Prüfung des Batteriestatus länger als ein Tag zurückliegt.
Das funktioniert in der Form, dass ein "at" alle 15 Minuten den aktuellen- und den Batteriestatus-Zeitstempel holt und die Differenz berechnet. Ein DOIF schreibt dann in ein Dummy je nach Betrag der Differenz ein "ok" oder "failed". In Abhängigkeit von "ok" oder "failed" wird dann im FTUI eine Meldung eingeblendet.
Das Konstrukt funktioniert für ein Gerät ganz gut, nur habe ich gegenwärtig von allen HM-Geräten 13 die sich so verhalten.
Nun meine Frage (weil ich in Perl nicht so bewandert bin) kann man einen derartigen Ablauf so optimieren, dass ich die Funktion nicht 13mal (also für jedes Gerät individuell) programmieren muss?
Freue mich auf eure Vorschläge, eine Alternative wäre natürlich, dass über actCycle zu lösen aber wie muss ich was parametrieren damit ein "dead" Gerät aufgefordert wird seinen Batteriestatus zu melden?
P.S.: ich weiß, dass in einigen devices userReadings überflüssigerweise enthalten sind, sind halt Überbleibsel aus der Experimentierphase ;)
Grüße Joachim
list vom "at"
Internals:
CFGFN
COMMAND []
DEF +*00:15 []
FUUID 5f4648eb-f33f-8c2a-1399-3b15b0dbde12fbed
NAME TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
NR 16786
NTM 14:20:39
PERIODIC yes
RELATIVE yes
REP -1
STATE Next: 14:20:39
TIMESPEC 00:15
TRIGGERTIME 1598617239.29906
TRIGGERTIME_FMT 2020-08-28 14:20:39
TYPE at
READINGS:
2020-08-28 14:05:39 Batt_timestamp_Balkonzimmer_FensterGriff_Status 2020-08-28 12:52:42
2020-08-28 14:05:39 Differenz 4376
2020-08-28 14:05:39 Zeit1 1598616339
2020-08-28 14:05:39 Zeit2 1598611963
2020-08-28 14:05:39 state Next: 14:20:39
Attributes:
room 20_Dachgeschoss->Balkonzimmer
userReadings Zeit1 {int(time())},
Zeit2 {time_str2num(ReadingsTimestamp("20_DG_Balkonzimmer_FensterGriff","Batt_timestamp_Balkonzimmer_FensterGriff",""))},
Differenz {ReadingsVal("TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff","Zeit1",0) - ReadingsVal("20_DG_Balkonzimmer_FensterGriff","Zeit2",0)},
Batt_timestamp_Balkonzimmer_FensterGriff_Status {ReadingsTimestamp("20_DG_Balkonzimmer_FensterGriff","battery","")}
list vom DOIF
Internals:
CFGFN
DEF ([TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff:Differenz] >= 100000) (set 20_DG_Balkonzimmer_FensterGriff_TimeStamp_Status failed)
DOELSEIF
([TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff:Differenz] < 99999) (set 20_DG_Balkonzimmer_FensterGriff_TimeStamp_Status ok)
DOELSE
FUUID 5f467dd4-f33f-8c2a-572e-e3faa7d8c6c4c64a
MODEL FHEM
NAME 20_DG_DOIF_Balkonzimmer_FensterGriff_Timestamp_Status
NOTIFYDEV global,TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
NR 19830
NTFY_ORDER 50-20_DG_DOIF_Balkonzimmer_FensterGriff_Timestamp_Status
STATE cmd_2
TYPE DOIF
VERSION 22588 2020-08-12 19:25:15
READINGS:
2020-08-28 14:05:39 Device TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
2020-08-28 14:05:39 cmd 2
2020-08-28 14:05:39 cmd_event TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
2020-08-28 14:05:39 cmd_nr 2
2020-08-28 14:05:39 e_TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff_Differenz 4376
2020-08-26 22:02:05 mode enabled
2020-08-28 14:05:39 state cmd_2
Regex:
accu:
cond:
TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff:
0:
Differenz ^TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff$:^Differenz:
1:
Differenz ^TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff$:^Differenz:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff','Differenz') >= 100000
1 ::ReadingValDoIf($hash,'TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff','Differenz') < 99999
do:
0:
0 set 20_DG_Balkonzimmer_FensterGriff_TimeStamp_Status failed
1:
0 set 20_DG_Balkonzimmer_FensterGriff_TimeStamp_Status ok
2:
0
helper:
DEVFILTER ^global$|^TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff$
NOTIFYDEV global|TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
event Next: 14:20:39,Zeit1: 1598616339,Zeit2: 1598611963,Differenz: 4376,Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
globalinit 1
last_timer 0
sleeptimer -1
timerdev TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
timerevent Next: 14:20:39,Zeit1: 1598616339,Zeit2: 1598611963,Differenz: 4376,Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
triggerDev TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
DOIF_eventa:
cmd_nr: 2
cmd: 2
cmd_event: TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
cmd_2
DOIF_eventas:
cmd_nr: 2
cmd: 2
cmd_event: TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff
state: cmd_2
timerevents:
Next: 14:20:39
Zeit1: 1598616339
Zeit2: 1598611963
Differenz: 4376
Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
timereventsState:
state: Next: 14:20:39
Zeit1: 1598616339
Zeit2: 1598611963
Differenz: 4376
Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
triggerEvents:
Next: 14:20:39
Zeit1: 1598616339
Zeit2: 1598611963
Differenz: 4376
Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
triggerEventsState:
state: Next: 14:20:39
Zeit1: 1598616339
Zeit2: 1598611963
Differenz: 4376
Batt_timestamp_Balkonzimmer_FensterGriff_Status: 2020-08-28 12:52:42
internals:
readings:
all TimeDiff_BattTimestamp_Balkonzimmer_FensterGriff:Differenz
trigger:
uiState:
uiTable:
Attributes:
do always
room 20_Dachgeschoss->Balkonzimmer
list vom dummy
Internals:
CFGFN
FUUID 5f467bb2-f33f-8c2a-bf01-0e6ff43a4ca74826
NAME 20_DG_Balkonzimmer_FensterGriff_TimeStamp_Status
NR 19692
STATE ok
TYPE dummy
READINGS:
2020-08-28 14:05:39 Batt_timestamp_Balkonzimmer_FensterGriff_Status 2020-08-28 12:52:42
2020-08-28 14:05:39 state ok
Attributes:
room 20_Dachgeschoss->Balkonzimmer
setList ok failed
userReadings Batt_timestamp_Balkonzimmer_FensterGriff_Status {ReadingsTimestamp("20_DG_Balkonzimmer_FensterGriff","battery","")}
webCmd ok:failed
list vom device
Internals:
DEF 614349
FUUID 5ee505e3-f33f-8c2a-55cd-c79c3a3d2ed92567
IODev myHmUART
LASTInputDev RM_HmUART_DG
MSGCNT 21
NAME 20_DG_Balkonzimmer_FensterGriff
NOTIFYDEV global
NR 2551
RM_HmUART_DG_MSGCNT 12
RM_HmUART_DG_RAWMSG 0500003D03A2416143494C3DF4010200
RM_HmUART_DG_RSSI -61
RM_HmUART_DG_TIME 2020-08-28 12:52:43
RM_HmUART_UG_MSGCNT 2
RM_HmUART_UG_RAWMSG 0500005702A6106143494C3DF40601C800
RM_HmUART_UG_RSSI -87
RM_HmUART_UG_TIME 2020-08-28 12:49:39
STATE closed
TYPE CUL_HM
chanNo 01
lastMsg No:03 - t:41 s:614349 d:4C3DF4 010200
myHmUART_MSGCNT 7
myHmUART_RAWMSG 0501005303A2416143494C3DF4010200
myHmUART_RSSI -83
myHmUART_TIME 2020-08-28 12:52:43
protLastRcv 2020-08-28 12:52:42
protRcv 7 last_at:2020-08-28 12:52:42
protResnd 1 last_at:2020-08-26 13:29:01
protSnd 16 last_at:2020-08-28 12:52:43
protState CMDs_done
rssi_at_RM_HmUART_DG cnt:12 min:-71 max:-49 avg:-58.25 lst:-61
rssi_at_RM_HmUART_UG cnt:2 min:-90 max:-87 avg:-88.5 lst:-87
rssi_at_myHmUART cnt:7 min:-83 max:-72 avg:-75.57 lst:-83
READINGS:
2020-08-20 17:35:30 Activity dead
2020-08-28 12:52:43 Batt_timestamp_Balkonzimmer_FensterGriff 2020-08-28 12:52:42
2020-07-01 17:02:58 CommandAccepted yes
2020-06-14 13:38:56 D-firmware 2.4
2020-06-14 13:38:56 D-serialNr OEQ2049184
2020-08-28 12:52:43 Datum_Batt_timestamp 2020-08-28 12
2020-08-28 12:52:43 Differenz 0
2020-08-26 13:28:56 PairedTo 0x4C3DF4
2020-06-13 19:01:44 R-cyclicInfoMsg off
2020-08-28 12:49:40 R-eventDlyTime 3 s
2020-06-13 19:01:44 R-pairCentral 0x4C3DF4
2020-06-13 19:01:44 R-sign off
2020-08-26 13:28:56 RegL_00. 00:00 02:01 09:00 0A:4C 0B:3D 0C:F4 10:01 14:06
2020-08-28 12:49:40 RegL_01. 00:00 08:00 20:6C 21:03 22:64 30:06
2020-08-28 12:52:43 Uhrzeit_Batt_timestamp 52
2020-08-28 12:52:43 Zeit1 1598611963
2020-08-28 12:52:43 Zeit2 1598611963
2020-08-28 12:49:39 alive yes
2020-08-28 12:52:42 battery ok
2020-08-28 12:50:10 cfgState updating
2020-08-28 12:52:43 commState CMDs_done
2020-08-28 12:52:42 contact closed (to VCCU)
2020-08-26 13:28:55 powerOn 2020-08-26 13:28:55
2020-08-28 12:49:39 recentStateType info
2020-08-28 12:49:39 sabotageError off
2020-08-28 12:52:42 state closed
2020-08-28 12:52:42 trigger_cnt 2
helper:
HM_CMDNR 3
PONtest 0
cSnd 014C3DF461434901040000000001,014C3DF46143490103
mId 0030
peerFriend peerAct,peerVirt
peerIDsRaw ,00000000
peerOpt 4:threeStateSensor
regLst 0,1,4p
rxType 20
supp_Pair_Rep 0
ack:
cmds:
TmplKey :no:1598370876.9687
TmplTs 1598370876.9687
cmdKey 1:1:0::20_DG_Balkonzimmer_FensterGriff:0030:01:
cmdLst:
assignHmKey noArg
clear [readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename newName
fwUpdate -filename- -bootTime- ...
getConfig noArg
getDevInfo noArg
getRegRaw [List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
peerBulk -peer1,peer2,...- [set|unset]
peerChan -btnNumber- -actChn- ... single [set|unset] [actor|remote|both]
peerSmart -peerOpt-
raw data ...
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2- ...
regSet [prep|exec] -regName- -value- ... [-peerChannel-]
reset noArg
sign [on|off]
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt 00_UG_Freizeitraum_Rollladen,00_UG_Technikraum_Rollladen,10_EG_Esszimmer_HzgThermostat_WindowRec,10_EG_Esszimmer_HzgThermostat_remote,10_EG_Esszimmer_Rollladen,10_EG_Esszimmer_Stehlampe_Sw,10_EG_Esszimmer_Wand_HzgThermostat_WindowRec,10_EG_Esszimmer_Wand_HzgThermostat_remote,10_EG_Flur_HzgThermostat_WindowRec,10_EG_Flur_HzgThermostat_remote,10_EG_Flur_Stehlampe_Sw,10_EG_Kueche_HzgThermostat_WindowRec,10_EG_Kueche_HzgThermostat_remote,10_EG_Kueche_Rollladen_Norden,10_EG_Kueche_Rollladen_Westen,10_EG_Toilette_HzgThermostat_WindowRec,10_EG_Toilette_HzgThermostat_remote,10_EG_Vorratsraum_HzgThermostat_WindowRec,10_EG_Vorratsraum_HzgThermostat_remote,10_EG_WohnZimmer_Rollladen_Erker_Nord,10_EG_WohnZimmer_Rollladen_Erker_Sued,10_EG_WohnZimmer_Rollladen_Westen,10_EG_Wohnzimmer_HzgThermostat_Erker_Nord_WindowRec,10_EG_Wohnzimmer_HzgThermostat_Erker_Nord_remote,10_EG_Wohnzimmer_HzgThermostat_Erker_Sued_WindowRec,10_EG_Wohnzimmer_HzgThermostat_Erker_Sued_remote,10_EG_Wohnzimmer_HzgThermostat_Westen_WindowRec,10_EG_Wohnzimmer_HzgThermostat_Westen_remote,10_EG_Wohnzimmer_Temp_Regler_WindowRec,10_EG_Wohnzimmer_Temp_Regler_remote,20_DG_AZ_Dad_HzgThermostat_Erker_WindowRec,20_DG_AZ_Dad_HzgThermostat_Erker_remote,20_DG_AZ_Dad_HzgThermostat_Westen_WindowRec,20_DG_AZ_Dad_HzgThermostat_Westen_remote,20_DG_AZ_Dad_Temp_Regler_WindowRec,20_DG_AZ_Dad_Temp_Regler_remote,20_DG_AZ_Mam_HzgThermostat_WindowRec,20_DG_AZ_Mam_HzgThermostat_remote,20_DG_Badezimmer_Handtuch_HzgThermostat_WindowRec,20_DG_Badezimmer_Handtuch_HzgThermostat_remote,20_DG_Badezimmer_HzgThermostat_WindowRec,20_DG_Badezimmer_HzgThermostat_remote
tplChan
tplDel
tplPeer
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +614349,00,00,00
nextSend 1598611963.56089
rxt 2
vccu VCCU
p:
614349
00
00
00
prefIO:
myHmUART
mRssi:
mNo 03
io:
RM_HmUART_DG:
-61
-61
RM_HmUART_UG:
myHmUART:
-81
-81
prt:
bErr 0
sProc 0
sleeping 1
rspWait:
q:
qReqConf 00
qReqStat
regCollect:
role:
chn 1
dev 1
rpt:
IO RM_HmUART_DG
flg A
ts 1598611963.32841
ack:
HASH(0x4497050)
0380024C3DF461434900
rssi:
at_RM_HmUART_DG:
avg -58.25
cnt 12
lst -61
max -49
min -71
at_RM_HmUART_UG:
avg -88.5
cnt 2
lst -87
max -87
min -90
at_myHmUART:
avg -75.5714285714286
cnt 7
lst -83
max -72
min -83
shadowReg:
tmpl:
Attributes:
IODev myHmUART
IOgrp VCCU:myHmUART
actCycle 001:05
autoReadReg 4_reqStatus
devStateIcon tilted:fts_window_1w_tilt@yellow open:fts_window_1w_open_left_anchor@red closed:fts_window_1w_closed_left_anchor@green
expert defReg,rawReg
firmware 2.4
icon fts_window_1w_closed_left_anchor
model HM-SEC-RHS
peerIDs 00000000,
room 20_Dachgeschoss->Balkonzimmer
serialNr OEQ2049184
subType threeStateSensor
userReadings Batt_timestamp_Balkonzimmer_FensterGriff {ReadingsTimestamp("20_DG_Balkonzimmer_FensterGriff","battery","")},
Zeit1 {int(time())},
Zeit2 {time_str2num(ReadingsTimestamp("20_DG_Balkonzimmer_FensterGriff","Batt_timestamp_Balkonzimmer_FensterGriff",""))},
Differenz {ReadingsVal("20_DG_Balkonzimmer_FensterGriff","Zeit1",0) - ReadingsVal("20_DG_Balkonzimmer_FensterGriff","Zeit2",0)},
Datum_Batt_timestamp:Batt_timestamp_Balkonzimmer_FensterGriff.* {(split(":",ReadingsVal($NAME,"Batt_timestamp_Balkonzimmer_FensterGriff","00-00-00")))[0]},
Uhrzeit_Batt_timestamp:Batt_timestamp_Balkonzimmer_FensterGriff.* {(split(":",ReadingsVal($NAME,"Batt_timestamp_Balkonzimmer_FensterGriff","00:00:00")))[1]}
alle homematic fk senden zyklisch den batteriezustand wenn du das register cyclicInfoMsg auf on setzt.
dann senden sie ca alle 24std den status.
dann kannst du deinen ganzen konstrukt entfernen.
ausserdem bietet hminfo entsprechende fehlererkennungen, zb batterie und action status.
Bei den meisten (ich glaube es gibt nur einen Batterie-Sensor) Homematic "Classic" (bidCos) Geräten auch Fenstersensoren lässt sich ein zyklisches Senden aktivieren:
Dazu das Register cyclicInfoMsg auf on setzen...
Ich frage nirgends Batteriestände ab...
...die werden alle geliefert.
(Außer bei ZWave, die wachen zwar auf und schicken auch Daten aber [soweit mir bekannt nicht von alleine] Batteriewerte)
Zur "Anzeige" und Benachrichtigung verwende ich das hier:
https://forum.fhem.de/index.php/topic,82637.msg747514.html#msg747514
Gruß, Joachim
Hallo,
die Hinweise sind schon mal sehr hilfreich, ich weiß nur nicht ob sie bereits die finale Lösung sind.
@frank,
der Hinweis mit dem Register cyclicInfoMsg ist ein hilfreicher Hinweis.
Warum bei den Fensterkontakten das Register default "on" ist, bei den Türgriffkontakten dagegen default "off" weiß wohl nur elv aber wieder was dazu gelernt.
Ja, hminfo liefert mir eine ganze Reihe an Registern mit Informationen über die Stati der HM-devices, mir ist nur noch nicht klar wie ich die Info aus dem hm-register auf das betroffene device runter breche.
Ungünstigerweise habe ich noch Geräte (HM-RC-4-3, HM-MOD-EM-8) die kein cyclicInfoMsg haben.
@MadMax-FHEM,
den Fred muss ich erstmal durcharbeiten um zu verstehen wie die Abfrage/Auswertung funktioniert.
Grüße Joachim
sicher, dass der em8 keine möglichkeit bietet?
was wird bei den devices unter "get regList" gezeigt?
hminfo bietet für battery 2 readings:
1. wenn ERR_battery existiert und nicht null ist, gibt es ein korrespondierendes internal iERR_battery_...., in dem die betreffenden devices gelistet sind.
2. I_sum_battery
mit HMinfoTools.js erhält man eine tabelle mit allen fehlerhaften devices.
https://forum.fhem.de/index.php/topic,112825.0.html (https://forum.fhem.de/index.php/topic,112825.0.html)
Hallo frank,
mit HMinfoTools bekommt hminfo für mich eine ganz neue Wertigkeit, das probiere ich mal aus.
Der Vollständigkeit halber noch reglist und list der "zickigen" devices
get reglist [HM-MOD-EM-8]
list: register | range | peer | description
0: ledMode | literal | | LED mode options:off,on
0: localResDis | literal | | local reset disable options:on,off
0: lowBatLimitBA2 | 0.0 to 15V | | low batterie limit, step .1V
0: pairCentral | 0 to 16777215 | | pairing to central
0: transmDevTryMax | 1 to 10 | | max message re-transmit
list 00_UG_HzgKeller_Hzg_Umwaelzpumpe [HM-MOD-EM-8]
Internals:
CFGFN ./FHEM/include/fhem_untergeschoss.cfg
DEF 667A04
FUUID 5c587ad3-f33f-8c2a-8fb7-c69bbc6de57a0559
IODev myHmUART
NAME 00_UG_HzgKeller_Hzg_Umwaelzpumpe
NOTIFYDEV global
NR 354
STATE 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_02 Long
TYPE CUL_HM
channel_01 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_01
channel_02 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_02
channel_03 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_03
channel_04 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_04
channel_05 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_05
channel_06 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_06
channel_07 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_07
channel_08 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_08
READINGS:
2020-08-28 18:25:27 Batt_timestamp_HzgKeller_Hzg_Umwaelzpumpe 2020-07-28 14:16:19
2018-10-13 20:17:07 CommandAccepted yes
2018-10-13 20:17:06 D-firmware 1.1
2018-10-13 20:17:06 D-serialNr PEQ0105622
2019-01-13 20:57:17 Ende_Umwaelzpumpe_aktiv
2018-10-13 20:16:52 PairedTo 0x4C3DF4
2018-10-13 19:12:20 R-pairCentral 0x4C3DF4
2018-10-13 20:16:52 RegL_00. 02:01 05:00 0A:4C 0B:3D 0C:F4 12:00 14:03 18:00 00:00
2020-08-28 18:25:27 Time_Umlaufpumpe_aktiv
2020-05-20 14:24:53 alive yes
2020-07-28 14:16:19 battery ok
2020-08-28 18:25:27 cfgState ok
2020-05-20 14:24:53 powerOn 2020-05-20 14:24:53
2020-05-20 14:24:53 recentStateType info
2020-07-28 14:16:19 state 00_UG_HzgKeller_Hzg_Umwaelzpumpe_Btn_02 Long
2019-02-06 13:47:47 trigger Long_210
2019-02-06 13:47:47 trigger_cnt 210
helper:
HM_CMDNR 116
cfgChkResult No regs found for:-ret--ret-00_UG_HzgKeller_Hzg_Umwaelzpumpe type:remote - -ret-list:peer register :value-ret- 0: ledMode :off-ret- 0: localResDis :off-ret- 0: lowBatLimitBA2 :0 V-ret- 0: pairCentral :0x4C3DF4-ret- 0: transmDevTryMax :3-ret- -ret- -ret-
mId 00D9
peerFriend
peerOpt -:remote
regLst 0
rxType 16
cmds:
TmplKey :no:1598370865.65533
TmplTs 1598370865.65533
cmdKey 0:1:0::00_UG_HzgKeller_Hzg_Umwaelzpumpe:00D9:01:
cmdLst:
assignHmKey noArg
clear [readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename newName
fwUpdate -filename- -bootTime- ...
getConfig noArg
getDevInfo noArg
getRegRaw [List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
raw data ...
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2- ...
regSet [prep|exec] -regName- -value- ... [-peerChannel-]
reset noArg
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition closed,open
peer
peerOpt
tplChan
tplDel
tplPeer
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +667A04,00,00,00
rxt 2
vccu VCCU
p:
667A04
00
00
00
prefIO:
myHmUART
mRssi:
mNo
prt:
bErr 0
sProc 0
q:
qReqConf
qReqStat
role:
dev 1
tmpl:
nb:
cnt 2
Attributes:
IODev myHmUART
IOgrp VCCU:myHmUART
autoReadReg 3_onChange
event-on-update-reading .*
expert defReg,rawReg
firmware 1.1
icon sani_pump
model HM-MOD-EM-8
room Hzg-Keller
serialNr PEQ0105622
subType remote
userReadings Time_Umlaufpumpe_aktiv {ReadingsTimestamp("00_UG_HzgKeller_Hzg_Umwaelzpumpe","myHmUART_TIME","")},
Batt_timestamp_HzgKeller_Hzg_Umwaelzpumpe {ReadingsTimestamp("00_UG_HzgKeller_Hzg_Umwaelzpumpe","battery","")}
webCmd getConfig:clear msgEvents
get reglist [HM-RC-4-3]
list: register | range | peer | description
0: pairCentral | 0 to 16777215 | | pairing to central
list [HM-RC-4-3]
Internals:
CFGFN ./FHEM/include/fhem_dachgeschoss.cfg
DEF 6AAECE
FUUID 5d1644e4-f33f-8c2a-569e-1efda07ce76f83bf
IODev myHmUART
LASTInputDev RM_HmUART_DG
MSGCNT 105
NAME 20_DG_SZ_Remote_Control1
NOTIFYDEV global
NR 966
RM_HmUART_DG_MSGCNT 36
RM_HmUART_DG_RAWMSG 050000355DA2406AAECE4C3DF44247
RM_HmUART_DG_RSSI -53
RM_HmUART_DG_TIME 2020-08-28 07:11:03
RM_HmUART_UG_MSGCNT 33
RM_HmUART_UG_RAWMSG 0500004B5DA2406AAECE4C3DF44247
RM_HmUART_UG_RSSI -75
RM_HmUART_UG_TIME 2020-08-28 07:11:03
STATE CMDs_done
TYPE CUL_HM
channel_01 20_DG_SZ_Remote_Control1_Btn_01
channel_02 20_DG_SZ_Remote_Control1_Btn_02
channel_03 20_DG_SZ_Remote_Control1_Btn_03
channel_04 20_DG_SZ_Remote_Control1_Btn_04
lastMsg No:5D - t:40 s:6AAECE d:4C3DF4 4247
myHmUART_MSGCNT 36
myHmUART_RAWMSG 050100345DA2406AAECE4C3DF44247
myHmUART_RSSI -52
myHmUART_TIME 2020-08-28 07:11:03
protLastRcv 2020-08-28 07:11:03
protRcv 36 last_at:2020-08-28 07:11:03
protSnd 8 last_at:2020-08-28 07:11:03
protState CMDs_done
rssi_at_RM_HmUART_DG cnt:36 min:-60 max:-44 avg:-52.63 lst:-53
rssi_at_RM_HmUART_UG cnt:33 min:-87 max:-69 avg:-75.6 lst:-75
rssi_at_myHmUART cnt:36 min:-70 max:-51 avg:-57.13 lst:-52
READINGS:
2020-08-28 18:25:28 Batt_timestamp_SZ_Remote_Control1 2020-08-28 07:11:03
2019-06-28 23:26:39 CommandAccepted yes
2019-06-28 23:26:37 D-firmware 1.1
2019-06-28 23:26:37 D-serialNr PEQ0781233
2020-03-13 07:23:28 PairedTo 0x4C3DF4
2019-06-28 23:26:39 R-pairCentral 0x4C3DF4
2020-03-13 07:23:28 RegL_00. 00:00 02:01 0A:4C 0B:3D 0C:F4 18:00
2020-03-01 08:03:59 alive yes
2020-08-28 07:11:03 battery ok
2020-08-28 18:25:28 cfgState ok
2020-08-28 07:11:03 commState CMDs_done
2020-03-01 08:03:59 powerOn 2020-03-01 08:03:59
2020-03-01 08:03:59 recentStateType info
2020-08-28 07:11:03 state CMDs_done
helper:
HM_CMDNR 93
mId 00D4
peerFriend
peerOpt -:remote
regLst 0
rxType 28
supp_Pair_Rep 0
ack:
cmds:
TmplKey :no:1598370878.7337
TmplTs 1598370878.7337
cmdKey 0:1:0::20_DG_SZ_Remote_Control1:00D4:01:
cmdLst:
assignHmKey noArg
clear [readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename newName
fwUpdate -filename- -bootTime- ...
getConfig noArg
getDevInfo noArg
getRegRaw [List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
raw data ...
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2- ...
regSet [prep|exec] -regName- -value- ... [-peerChannel-]
reset noArg
tplDel -tplDel-
tplSet_0 -tplChan-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt
tplChan
tplDel
tplPeer
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +6AAECE,00,00,00
nextSend 1598591463.8428
rxt 2
vccu VCCU
p:
6AAECE
00
00
00
prefIO:
myHmUART
mRssi:
mNo 5D
io:
RM_HmUART_DG:
-53
-53
RM_HmUART_UG:
-75
-75
myHmUART:
-46
-46
prt:
bErr 0
sProc 0
sleeping 0
rspWait:
q:
qReqConf
qReqStat
role:
dev 1
rpt:
IO RM_HmUART_UG
flg A
ts 1598591463.44445
ack:
HASH(0x52d1c20)
5D80024C3DF46AAECE00
rssi:
at_RM_HmUART_DG:
avg -52.6388888888889
cnt 36
lst -53
max -44
min -60
at_RM_HmUART_UG:
avg -75.6060606060606
cnt 33
lst -75
max -69
min -87
at_myHmUART:
avg -57.1388888888889
cnt 36
lst -52
max -51
min -70
tmpl:
Attributes:
IODev myHmUART
IOgrp VCCU:myHmUART
autoReadReg 4_reqStatus
expert defReg,rawReg
firmware 1.1
group Remote-Control
icon it_remote
model HM-RC-4-3
room 20_Dachgeschoss->Schlafzimmer
serialNr PEQ0781233
subType remote
userReadings Batt_timestamp_SZ_Remote_Control1 {ReadingsTimestamp("20_DG_SZ_Remote_Control1","battery","")}
webCmd getConfig:clear msgEvents