Hallo zusammen,
ich möchte erkennen, ob meine Homematicschalter oder ob das Device von der Fhemoberfläche betätigt wurde.
Im Eventmonitor konnte ich feststellen, dass das Reading "commState: CMDs_pending" bei der Oberfläche kurz erscheint und gleich darauf "commState: CMDs_processing...
und commState: CMDs_done". Somit könnte ich die Oberfläche reagieren.
Eigentlich möchte ich aber auf den Tastendruck am Schalter reagieren. Gibt es hier eine Reading oder was?
Gruß Josef
Hallo Josef,
der Aktor unterscheidet in seiner Meldung nicht woher die Betätigung kam. Du kannst mit der normalen Firmware auch nicht den Tastendruck feststellen sondern Du erhältst (zeitlich verzögert) den Schaltzustand.
Klar kannst Du Dir in FHEM irgendwas basteln, aber es gibt mW keine zentrale Stelle zum ab/eingreifen.
Wenn Du den Zweck und Ziel noch etwas detaillierst findest Du eventuell noch Mitdenker. So pauschal muss man Deine Frage einfach mit Nein beantworten. ;) edit: siehe unten
Gruß Otto
gibt es nicht das reading trigLast?
Stimmt :-[ ist das neu?
trigLast fhem:02 2021-02-18 20:13:59
Wird nicht gesetzt wenn ich vor Ort drücke. bzw mit press short ;) war zu faul aufzustehen
state on 2021-02-18 20:15:45
timedOn off 2021-02-18 20:15:45
trigLast fhem:02 2021-02-18 20:13:59
Also ich kann trigLast finden.
Zu den Hintergründe nochmal. Ich habe einen IR Sensor an meiner Wasseruhr, dieser wird über einen Hourcounter ausgewertet. Jetzt passiert es manchmal, dass durch ungünstige Stellung der Sensor verrückt spielt und dadurch das Wasserventil schließt. Meiner Frau ist es zu kompliziert den Hourcounter zu reseten und anschließend das Wasserventil zu öffnen. Jetzt war meine Idee, wenn das Ventil mit dem Schalter geöffnet wird (von meiner Frau) dass DoIf einfach zu deaktivieren und ich das anschließend wieder richtig stelle.
Gruß Josef
Klingt machbar - aber die Schwierigkeit wird sein:
Du hast einen extra Event wenn Du von FHEM aus bedienst.
Andersrum: Wenn Du per Hand schaltest, kommt ein Event nicht.
Du müsstest also vielleicht ReadingsAge von trigLast auswerten? Nur als Idee vielleicht gibt es bessere
Zitatist das neu?
ich rate mal: 5 jahre?
eventuell aktuell auch etwas defekt.
es hat aber schon gut funktioniert.
Zitat von: frank am 18 Februar 2021, 23:14:39
ich rate mal: 5 jahre?
Solange meine Lernkurve steil ist - fühle ich mich wohl ;)
Muss mich korrigieren, ich kann trigLast nicht finden.
zeig mal ein list vom aktor und/oder "schalter".
Guten Morgen,
Hier das List
Internals:
DEF 52FA3A
FUUID 5c8231e4-f33f-07c9-5e39-12433024a545c495
HMUART1_MSGCNT 30
HMUART1_RAWMSG 05010038DBA41052FA3AAABBCC0601C800
HMUART1_RSSI -56
HMUART1_TIME 2021-02-18 08:37:37
IODev HMUART1
LASTInputDev HMUART1
MSGCNT 30
NAME WasserVentil
NOTIFYDEV global
NR 100
NTFY_ORDER 50-WasserVentil
STATE auf
TYPE CUL_HM
chanNo 01
lastMsg No:DB - t:10 s:52FA3A d:AABBCC 0601C800
protLastRcv 2021-02-18 08:37:37
protRcv 30 last_at:2021-02-18 08:37:37
protSnd 33 last_at:2021-02-18 08:37:37
protState CMDs_done
rssi_HMUART1 cnt:21 min:-76 max:-63 avg:-66.57 lst:-65
rssi_at_HMUART1 cnt:30 min:-66 max:-55 avg:-59.99 lst:-56
READINGS:
2021-02-18 08:36:08 CommandAccepted yes
2018-08-20 17:38:51 D-firmware 2.8
2018-08-20 17:38:51 D-serialNr NEQ1828337
2020-12-23 13:09:42 PairedTo 0xAABBCC
2018-08-20 17:38:54 R-pairCentral 0xAABBCC
2018-08-20 17:38:55 R-powerUpAction off
2018-08-20 17:38:55 R-sign off
2020-12-23 13:09:42 RegL_00. 00:00 02:01 0A:AA 0B:BB 0C:CC 15:FF 18:00
2020-12-23 13:09:43 RegL_01. 00:00 08:00 30:06 56:00 57:24
2020-12-23 13:09:41 cfgState updating
2021-02-18 08:37:37 commState CMDs_done
2021-02-18 08:37:37 deviceMsg on (to VCCU)
2021-02-18 08:37:37 level 100
2021-02-18 08:37:37 pct 100
2020-12-22 11:04:41 powerOn 2020-12-22 11:04:41
2021-02-18 08:37:37 recentStateType info
2021-02-18 08:37:37 state on
2021-02-18 08:37:37 timedOn off
helper:
HM_CMDNR 219
cSnd 11AABBCC52FA3A0201000000,11AABBCC52FA3A0201000000
dlvlCmd ++A011AABBCC52FA3A0201000000
mId 0069
peerFriend peerSens,peerVirt
peerIDsRaw ,00000000
peerOpt 3:switch
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
cmds:
TmplKey :no:1608725182.13487
TmplTs 1608725182.13487
cmdKey 1:1:0::WasserVentil:0069: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) [-peerChn-]
getVersion noArg
inhibit [(on|{off})]
off noArg
on noArg
on-for-timer -ontime-
on-till -time-
pair noArg
peerBulk -peer1,peer2,...- [({set}|unset)]
peerIODev [IO] -btn- [({set}|unset)] 'not for future use'
peerSmart -peerOpt-
press [(long|{short})] [(-peer-|{self01})] [(-repCount-|{0})] [(-repDelay-|{0.25})]
raw -data- [...]
regBulk -list-.-peerChn- -addr1:data1- -addr2:data2-...
regSet [(prep|{exec})] -regName- -value- [-peerChn-]
reset noArg
sign [(on|{off})]
statusRequest noArg
toggle noArg
tplDel -tplDel-
unpair noArg
lst:
condition slider,0,1,255
peer
peerOpt Dis1.Btn01,Dis1.Btn02,Fenster_1,Fenster_2,Fenster_3,Fenster_4,Fenster_5,Fenster_6,Remote1.Btn01,Remote1.Btn02,Remote1.Btn03,Remote1.Btn04,VCCU_Btn1,VCCU_Btn2,VCCU_Btn3,beweg1
tplDel
rtrvLst:
cmdList [({short}|long)]
deviceInfo [({short}|long)]
param -param-
reg -addr- -list- [-peerChn-]
regList noArg
regTable noArg
regVal -addr- -list- [-peerChn-]
saveConfig [-filename-]
tplInfo noArg
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +52FA3A,00,00,00
nextSend 1613633857.41317
rxt 0
vccu VCCU
p:
52FA3A
00
00
00
prefIO:
HMUART1
mRssi:
mNo DB
io:
HMUART1:
-50
-50
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
regCollect:
role:
chn 1
dev 1
prs 1
rpt:
IO HMUART1
flg A
ts 1613633857.27159
ack:
HASH(0x2a8c008)
DB8002AABBCC52FA3A00
rssi:
HMUART1:
avg -66.5714285714286
cnt 21
lst -65
max -63
min -76
at_HMUART1:
avg -60
cnt 30
lst -56
max -55
min -66
shadowReg:
tmpl:
Attributes:
IODev HMUART1
IOgrp VCCU:HMUART1
autoReadReg 4_reqStatus
eventMap on:auf off:zu
expert defReg,rawReg
firmware 2.8
group Wasser
icon sani_water_tap@blue
model HM-LC-SW1PBU-FM
peerIDs 00000000,
room Keller
serialNr NEQ1828337
subType switch
webCmd auf:zu
Moin,
ich finde in meinem Zoo auch einen ohne trigLast, der gleiche Typ
Internals:
DEF 1AEE44
FUUID 5c5f2952-f33f-520c-4b18-55566f9fb6d71a72
HMLAN1_MSGCNT 50
HMLAN1_RAWMSG E1AEE44,0000,E2C61390,FF,FFC6,F3A4101AEE44200DB806010000
HMLAN1_RSSI -58
HMLAN1_TIME 2021-02-19 06:51:06
HMUART1_MSGCNT 49
HMUART1_RAWMSG 05010036F3A4101AEE44200DB806010000
HMUART1_RSSI -54
HMUART1_TIME 2021-02-19 06:51:06
IODev HMUART1
LASTInputDev HMLAN1
MSGCNT 148
NAME LichtWzLO
NOTIFYDEV global
NR 206
NTFY_ORDER 50-LichtWzLO
STATE off
TYPE CUL_HM
chanNo 01
lastMsg No:F3 - t:10 s:1AEE44 d:200DB8 06010000
peerList self01,self02,
protLastRcv 2021-02-19 06:51:06
protRcv 49 last_at:2021-02-19 06:51:06
protSnd 50 last_at:2021-02-19 06:51:06
protState CMDs_done
rssi_HMLAN1 cnt:1 min:-51 max:-51 avg:-51 lst:-51
rssi_at_HMLAN1 cnt:50 min:-72 max:-52 avg:-59.74 lst:-58
rssi_at_HMUART1 cnt:49 min:-63 max:-47 avg:-51.51 lst:-54
rssi_at_ser2netUart cnt:49 min:-75 max:-57 avg:-63.85 lst:-61
ser2netUart_MSGCNT 49
ser2netUart_RAWMSG 0500003DF3A4101AEE44200DB806010000
ser2netUart_RSSI -61
ser2netUart_TIME 2021-02-19 06:51:06
READINGS:
2020-11-21 16:19:28 CommandAccepted yes
from archivexx D-firmware 2.8
from archivexx D-serialNr JEQ0093094
2021-01-22 16:23:16 PairedTo 0x200DB8
2019-03-15 14:26:11 R-intKeyVisib visib
2017-03-15 15:18:06 R-localResDis off
2017-03-15 15:18:06 R-pairCentral 0x200DB8
2017-03-15 15:18:07 R-powerUpAction off
2019-03-15 14:26:14 R-self01-lgActionType jmpToTarget
2019-03-15 14:26:14 R-self01-lgCtDlyOff geLo
2019-03-15 14:26:14 R-self01-lgCtDlyOn geLo
2019-03-15 14:26:14 R-self01-lgCtOff geLo
2019-03-15 14:26:14 R-self01-lgCtOn geLo
2019-03-15 14:26:14 R-self01-lgCtValHi 100
2019-03-15 14:26:14 R-self01-lgCtValLo 50
2019-03-15 14:26:14 R-self01-lgMultiExec on
2019-03-15 14:26:14 R-self01-lgOffDly 0 s
2019-03-15 14:26:14 R-self01-lgOffTime unused
2019-03-15 14:26:14 R-self01-lgOffTimeMode absolut
2019-03-15 14:26:14 R-self01-lgOnDly 0 s
2019-03-15 14:26:14 R-self01-lgOnTime unused
2019-03-15 14:26:14 R-self01-lgOnTimeMode absolut
2019-03-15 14:26:14 R-self01-lgSwJtDlyOff off
2019-03-15 14:26:14 R-self01-lgSwJtDlyOn off
2019-03-15 14:26:14 R-self01-lgSwJtOff off
2019-03-15 14:26:14 R-self01-lgSwJtOn dlyOff
2019-03-15 14:26:14 R-self01-shActionType jmpToTarget
2019-03-15 14:26:14 R-self01-shCtDlyOff geLo
2019-03-15 14:26:14 R-self01-shCtDlyOn geLo
2019-03-15 14:26:14 R-self01-shCtOff geLo
2019-03-15 14:26:14 R-self01-shCtOn geLo
2019-03-15 14:26:14 R-self01-shCtValHi 100
2019-03-15 14:26:14 R-self01-shCtValLo 50
2019-03-15 14:26:14 R-self01-shMultiExec off
2019-03-15 14:26:14 R-self01-shOffDly 0 s
2019-03-15 14:26:14 R-self01-shOffTime unused
2019-03-15 14:26:14 R-self01-shOffTimeMode absolut
2019-03-15 14:26:14 R-self01-shOnDly 0 s
2019-03-15 14:26:14 R-self01-shOnTime unused
2019-03-15 14:26:14 R-self01-shOnTimeMode absolut
2019-03-15 14:26:14 R-self01-shSwJtDlyOff off
2019-03-15 14:26:14 R-self01-shSwJtDlyOn off
2019-03-15 14:26:14 R-self01-shSwJtOff off
2019-03-15 14:26:14 R-self01-shSwJtOn dlyOff
2019-03-15 14:26:15 R-self02-lgActionType jmpToTarget
2019-03-15 14:26:15 R-self02-lgCtDlyOff geLo
2019-03-15 14:26:15 R-self02-lgCtDlyOn geLo
2019-03-15 14:26:15 R-self02-lgCtOff geLo
2019-03-15 14:26:15 R-self02-lgCtOn geLo
2019-03-15 14:26:15 R-self02-lgCtValHi 100
2019-03-15 14:26:15 R-self02-lgCtValLo 50
2019-03-15 14:26:15 R-self02-lgMultiExec on
2019-03-15 14:26:15 R-self02-lgOffDly 0 s
2019-03-15 14:26:15 R-self02-lgOffTime unused
2019-03-15 14:26:15 R-self02-lgOffTimeMode absolut
2019-03-15 14:26:15 R-self02-lgOnDly 0 s
2019-03-15 14:26:15 R-self02-lgOnTime unused
2019-03-15 14:26:15 R-self02-lgOnTimeMode absolut
2019-03-15 14:26:15 R-self02-lgSwJtDlyOff on
2019-03-15 14:26:15 R-self02-lgSwJtDlyOn on
2019-03-15 14:26:15 R-self02-lgSwJtOff dlyOn
2019-03-15 14:26:15 R-self02-lgSwJtOn on
2019-03-15 14:26:15 R-self02-shActionType jmpToTarget
2019-03-15 14:26:15 R-self02-shCtDlyOff geLo
2019-03-15 14:26:15 R-self02-shCtDlyOn geLo
2019-03-15 14:26:15 R-self02-shCtOff geLo
2019-03-15 14:26:15 R-self02-shCtOn geLo
2019-03-15 14:26:15 R-self02-shCtValHi 100
2019-03-15 14:26:15 R-self02-shCtValLo 50
2019-03-15 14:26:15 R-self02-shMultiExec off
2019-03-15 14:26:15 R-self02-shOffDly 0 s
2019-03-15 14:26:15 R-self02-shOffTime unused
2019-03-15 14:26:15 R-self02-shOffTimeMode absolut
2019-03-15 14:26:15 R-self02-shOnDly 0 s
2019-03-15 14:26:15 R-self02-shOnTime unused
2019-03-15 14:26:15 R-self02-shOnTimeMode absolut
2019-03-15 14:26:15 R-self02-shSwJtDlyOff on
2019-03-15 14:26:15 R-self02-shSwJtDlyOn on
2019-03-15 14:26:15 R-self02-shSwJtOff dlyOn
2019-03-15 14:26:15 R-self02-shSwJtOn on
2015-01-27 21:16:10 R-sign off
2017-03-15 15:18:07 R-statusInfoMinDly 2 s
2017-03-15 15:18:07 R-statusInfoRandom 1 s
2017-03-15 15:18:07 R-transmitTryMax 6
2021-01-22 16:23:16 RegL_00. 00:00 02:81 0A:20 0B:0D 0C:B8 15:FF 18:00
2021-01-22 16:23:17 RegL_01. 00:00 08:00 30:06 56:00 57:24
2021-01-22 16:23:19 RegL_03.self01 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:64 0C:66 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:64 8C:66
2021-01-22 16:23:20 RegL_03.self02 00:00 02:00 03:00 04:32 05:64 06:00 07:FF 08:00 09:FF 0A:01 0B:13 0C:33 82:00 83:00 84:32 85:64 86:00 87:FF 88:00 89:FF 8A:21 8B:13 8C:33
2021-02-19 06:51:06 commState CMDs_done
2021-02-19 06:51:06 deviceMsg off (to VCCU)
2017-03-15 14:56:49 fwUpdate done
2017-10-05 23:06:50 inhibit set_off
2021-02-19 06:51:06 level 0
2021-02-19 06:51:06 pct 0
2021-01-30 15:02:41 peerList self01,self02,
2021-01-22 16:22:27 powerOn 2021-01-22 16:22:27
2021-02-19 06:51:06 recentStateType info
2021-02-19 06:51:06 state off
2021-02-19 06:51:06 timedOn off
helper:
HM_CMDNR 243
cSnd ,01200DB81AEE44010E
mId 0069
peerFriend peerSens,peerVirt
peerOpt 3:switch
regLst 0,1,3p
rxType 1
supp_Pair_Rep 0
tmplChg 0
ack:
cmds:
TmplKey self01,self02,:1612015392.17222:1612015392.19041
TmplTs 1612015392.19041
cmdKey :1:1:0::0069:01
TmplCmds:
tplSet_self01:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short]
tplSet_self02:[SwCondAbove_long|SwCondAbove_short|SwCondBelow_long|SwCondBelow_short|SwOff_long|SwOff_short|SwOnCond_long|SwOnCond_short|SwOn_long|SwOn_short|SwToggle_long|SwToggle_short|autoOff_long|autoOff_short|motionOnSw_long|motionOnSw_short]
cmdList:
assignHmKey:
clear:[readings|trigger|register|oldRegs|rssi|msgEvents|msgErrors|attack|all]
deviceRename:newName
eventL:-peer- -cond-
eventS:-peer- -cond-
fwUpdate:-filename- -bootTime- ...
getConfig:
getDevInfo:
getRegRaw:[List0|List1|List2|List3|List4|List5|List6] ... [-PeerChannel-]
getSerial:
getVersion:
inhibit:[on|off]
off:
on-for-timer:-ontime-
on-till:-time-
on:
pair:
peerBulk:-peer1,peer2,...- [set|unset]
peerIODev:[IO] -btn- [set|unset]... not for future use
press:[long|short] -peer- [-repCount(long only)-] [-repDelay-] ...
raw:data ...
regBulk:-list-.-peer- -addr1:data1- -addr2:data2- ...
regSet:[prep|exec] -regName- -value- ... [-peerChannel-]
reset:
sign:[on|off]
statusRequest:
toggle:
tplDel:tmplt
unpair:
expert:
def 1
det 1
raw 1
tpl 0
io:
newChn +1AEE44,00,00,00
nextSend 1613713866.65642
prefIO
rxt 0
vccu VCCU
p:
1AEE44
00
00
00
mRssi:
mNo F3
io:
HMLAN1:
-58
-58
HMUART1:
-48
-48
ser2netUart:
-61
-61
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf
qReqStat
role:
chn 1
dev 1
prs 1
rpt:
IO HMUART1
flg A
ts 1613713866.56033
ack:
HASH(0x3320cf8)
F38002200DB81AEE4400
rssi:
HMLAN1:
avg -51
cnt 1
lst -51
max -51
min -51
at_HMLAN1:
avg -59.74
cnt 50
lst -58
max -52
min -72
at_HMUART1:
avg -51.5102040816327
cnt 49
lst -54
max -47
min -63
at_ser2netUart:
avg -63.8571428571429
cnt 49
lst -61
max -57
min -75
tmpl:
Attributes:
IODev HMUART1
IOgrp VCCU
autoReadReg 4_reqStatus
event-on-change-reading .*
expert 3_allReg+raw
firmware 2.8
model HM-LC-SW1PBU-FM
peerIDs 00000000,1AEE4401,1AEE4402,
room Wohnzimmer
serialNr JEQ0093094
subType switch
webCmd statusRequest:toggle:on:off
Ich habe ein zweites Exemplar HM-LC-SW1PBU-FM da ist er vorhanden
Gruß Otto
theoretisch sollten wohl trigger von externen peers und fhem actions das reading trgLast setzen.
fhem actions scheinen beim sw1pbu defekt zu sein, schade.
self trigger setzen das reading wohl nicht, da sie ja auch keine funkmessages erzeugen.
sind aus dem timestamp aber indirekt zu ermitteln.
hier wurden die fhem actions in trgLast eingebaut: https://forum.fhem.de/index.php/topic,89958.0.html (https://forum.fhem.de/index.php/topic,89958.0.html)
als workaround könnte man die fhem actions über einen virtuellen, externen peer auslösen.
ich habe den defekt mal gemeldet: https://forum.fhem.de/index.php/topic,118943.0.html (https://forum.fhem.de/index.php/topic,118943.0.html)
exakt das ist der Unterschied meiner beiden Schalter: der hat einen Peer: Reading vorhanden, der andere hat keine Peer: Reading fehlt