Hallo,
ich habe den _SenPwr Channel von einem HM-ES-PMSw1-Pl mit einem virtuellen Aktor gepeert. Ziel ist es, den Waschmaschinen Status zu erfassen und das mit einer Minimierung der Funklast. Da der HM-ES-PMSw1-Pl bei Standarteinstellungen durch den stark schwankenden Energieverbrauch der Waschmaschine alle 8 Sekunden die Veränderungen sendet, habe ich im _Pwr Channel den Threshold so hoch gesetzt, dass diese Meldungen aus bleiben und halt nur noch alle ~2-3 Minuten der Satus aktualisiert wird. Dadurch funktionierte die Waschmaschinen Status Auswertung über den _Pwr Channel nicht mehr zuverlässig.
Also habe ich nun alles auf dem _SenPwr Channel umgestellt, somit funkt der HM-ES-PMSw1-Pl in seinem standard Rythmus und wenn sich Power auf einen für mich relevanten Wert ändert. Funktioniert bisher einwandfrei.
Mir ist allerdings aufgefallen, dass der _SenPwr den virtAktor immer nur toggelt und kein präzises on oder off auslöst. Sollte FHEM also mal ein Signal von dem _SenPwr verpassen, wird der Status im VirtAktor umgedreht...
So wie ich das Wiki verstanden habe, kann man doch mit den Readings:
2016-07-08 21:44:19 R-cndTxDecAbove 200
2016-07-08 21:44:19 R-cndTxDecBelow 0
einstellen ob der Aktor on oder off gehen soll. Oder habe ich da was falsch verstanden?
Ich habe nun zur Auswertung dieses Reading aus dem VirtAktor genommen:
2017-01-23 07:08:48 trigLast HW_ak_Waschm_1_SenPwr:0
funktioniert, aber für mein Empfinden ist das togglen nicht richtig.
List von dem Channel:
Internals:
CHANGED
DEF 2A825403
NAME HW_ak_Waschm_1_SenPwr
NOTIFYDEV global
NR 1264
NTFY_ORDER 50-HW_ak_Waschm_1_SenPwr
STATE 0
TYPE CUL_HM
chanNo 03
device HW_ak_Waschm_1
peerList HW_VirtAkt_Waschm_1,
Readings:
2017-01-22 22:13:36 R-HW_VirtAkt_Waschm_1-expectAES off
2017-01-22 22:13:36 R-HW_VirtAkt_Waschm_1-peerNeedsBurst off
2017-01-22 22:13:06 R-cndTxCycAbove off
2017-01-22 22:13:06 R-cndTxCycBelow off
2016-07-08 21:44:19 R-cndTxDecAbove 200
2016-07-08 21:44:19 R-cndTxDecBelow 0
2017-01-22 22:13:06 R-cndTxFalling on
2017-01-22 22:13:06 R-cndTxRising on
2016-07-08 21:44:19 R-ledOnTime 0.5 s
2016-07-08 21:44:19 R-sign off
2016-07-08 21:44:19 R-transmitTryMax 6
2017-01-22 22:12:21 R-txThrHiPwr 8 W
2017-01-22 22:12:37 R-txThrLoPwr 3 W
2017-01-22 22:42:22 RegL_01. 08:00 22:64 30:06 84:03 85:C8 86:00 87:00 88:00 89:03 8A:20 8B:00 8C:00 8D:01 8E:2C 00:00
2017-01-22 22:42:23 RegL_04.HW_VirtAkt_Waschm_1 01:00 00:00
2017-01-25 10:34:51 peerList HW_VirtAkt_Waschm_1,
2017-01-25 12:02:12 state 0
2017-01-23 07:08:48 trigger_cnt 36
Helper:
Expert:
def 1
det 1
raw 1
tpl 1
Role:
chn 1
Shadowreg:
Tmpl:
Attributes:
do_not_notify 1
event-on-change-reading .*
expert 251_anything
model HM-ES-PMSw1-Pl
peerIDs 00000000,17171701,
room __Geraete
List von dem Aktor:
Internals:
DEF 17171701
NAME HW_VirtAkt_Waschm_1
NOTIFYDEV global
NR 1636
NTFY_ORDER 50-HW_VirtAkt_Waschm_1
STATE OFF
TYPE CUL_HM
chanNo 01
device HW_VirtAkt
peerList HW_ak_Waschm_1_SenPwr,
Readings:
2017-01-23 07:08:48 CommandAccepted yes
2017-01-25 10:34:50 peerList HW_ak_Waschm_1_SenPwr,
2017-01-23 07:08:48 recentStateType ack
2017-01-23 07:08:48 state OFF
2017-01-23 07:08:48 trigLast HW_ak_Waschm_1_SenPwr:0
2017-01-23 07:08:48 trig_HW_ak_Waschm_1_SenPwr 0_36
2017-01-23 07:08:48 virtActState OFF
2017-01-23 07:08:48 virtActTrigNo 36
2017-01-23 07:08:48 virtActTrigRpt 1
2017-01-23 07:08:48 virtActTrigType short_Release
2017-01-23 07:08:48 virtActTrigger HW_ak_Waschm_1_SenPwr
Helper:
Expert:
def 1
det 0
raw 1
tpl 0
Role:
chn 1
vrt 1
Shadowreg:
Tmpl:
Attributes:
event-on-change-reading trigLast
model virtual_3
peerIDs 2A825403,
webCmd press short:press long
Gruß
Ingo
ZitatMir ist allerdings aufgefallen, dass der _SenPwr den virtAktor immer nur toggelt und kein präzises on oder off auslöst.
das ist normal, denn der virtuelle aktor hat ja keine statemachine.
ZitatSo wie ich das Wiki verstanden habe, kann man doch mit den Readings:
2016-07-08 21:44:19 R-cndTxDecAbove 200
2016-07-08 21:44:19 R-cndTxDecBelow 0
einstellen ob der Aktor on oder off gehen soll.
du stellst hiermit nur die werte ein, die bei den entsprechenden bedingungen gesendet werden.
ein echter aktor würde das bei entsprechender konfiguration der statemachine auch zu on/off "übersetzen".
ZitatIch habe nun zur Auswertung dieses Reading aus dem VirtAktor genommen:
2017-01-23 07:08:48 trigLast HW_ak_Waschm_1_SenPwr:0
genau. hier kannst du deine gesetzten werte der trigger wiederfinden.
wenn du diese register auf on stellst, sendet der komparator zyklisch seine trigger. dann könnten auch mal messages "verloren" gehen. allerdings hast du wieder mehr traffic. für "wm aus" reicht ja dann das register für below.
2017-01-22 22:13:06 R-cndTxCycAbove off
2017-01-22 22:13:06 R-cndTxCycBelow off