FHEM Forum

FHEM => Automatisierung => Thema gestartet von: is2late am 14 Mai 2024, 18:03:14

Titel: (GELÖST) watchdog will nicht...
Beitrag von: is2late am 14 Mai 2024, 18:03:14
Hi,

ich möchte u.a. eine Nachricht absetzen, wenn eine HUE-Steckdose vier Stunden lang ON ist. Der Code sieht so:

defmod PumpeAN4Std watchdog HUEDevice37:on.* 04:00:00 HUEDevice37:on.* set Sonos_Wohnzimmer Speak 30 de......
Das funktioniert leider nicht - die Meldung wird einmalig 4 Std nach der Aktivierung abgesetzt, egal, ob das HUEDevice on oder off ist.

Sieht jemand den Fehler?

Hier die Copy:
[code]define PumpeAN4Std watchdog HUEDevice37:on.* 04:00:00 HUEDevice37:on.* set Sonos_Wohnzimmer Speak 30 de |TempleBell| Die Gartenpumpe läuft ....
attr PumpeAN4Std room Bewässerung,Geräte
#   CFGFN     
#   CMD        set Sonos_Wohnzimmer Speak 30 de |TempleBell| Die Gartenpumpe läuft .....
#   DEF        HUEDevice37:on.* 04:00:00 HUEDevice37:on.* set Sonos_Wohnzimmer Speak 30 de |TempleBell| Die Gartenpumpe läuft schon seit vier Stunden und wird jetzt abgeschaltet; set ECHO_G090LF1072270A6S speak Die Gartenpumpe läuft seit vier Stunden und wird jetzt abgeschaltet; set teleBot message Die Gartenpumpe läuft schon seit vier Stunden und wird jetzt abgeschaltet
#   FUUID      66433807-f33f-a79d-095f-ada76a4d60ac13e5
#   NAME       PumpeAN4Std
#   NOTIFYDEV  HUEDevice37,PumpeAN4Std
#   NR         657
#   NTFY_ORDER 50-PumpeAN4Std
#   RE1        HUEDevice37:on.*
#   RE2        HUEDevice37:on.*
#   STATE      triggered
#   TO         14400
#   TYPE       watchdog
#   eventCount 5
#   READINGS:
#     2024-05-14 12:20:47   Activated       activated
#     2024-05-14 16:20:47   Triggered       triggered
#     2024-05-14 12:13:54   state           defined
#     2024-05-14 12:20:47   triggeredByDev  HUEDevice37
#     2024-05-14 12:20:47   triggeredByEvent onoff: 0
#   hmccu:
#
setstate PumpeAN4Std triggered
setstate PumpeAN4Std 2024-05-14 12:20:47 Activated activated
setstate PumpeAN4Std 2024-05-14 16:20:47 Triggered triggered
setstate PumpeAN4Std 2024-05-14 12:13:54 state defined
setstate PumpeAN4Std 2024-05-14 12:20:47 triggeredByDev HUEDevice37
setstate PumpeAN4Std 2024-05-14 12:20:47 triggeredByEvent onoff: 0

[/code]
Titel: Aw: watchdog will nicht...
Beitrag von: betateilchen am 14 Mai 2024, 18:24:30
triggeredByEvent onoff: 0
Das Ding wird offenbar ausgelöst, wenn on oder off kommt - zumindest passt die regex Deines watchdog auf beide Fälle.
Titel: Aw: watchdog will nicht...
Beitrag von: is2late am 14 Mai 2024, 18:48:11
Hm, danke!
Hast Du eine Idee, wie man die Reaktion auf das ON beschränken kann?

LG
Titel: Aw: watchdog will nicht...
Beitrag von: is2late am 14 Mai 2024, 18:52:17
Ich probiere es jetzt einmal so:

defmod PumpeAN4Std watchdog HUEDevice37:on.* 04:00:00 HUEDevice37:off.* set Sonos_Wohnzimmer Speak 30 ....
Dies ähnelt jedenfalls dem Beispiel im Wiki mehr ;-)
Titel: Aw: watchdog will nicht...
Beitrag von: betateilchen am 14 Mai 2024, 18:55:08
Es kommt doch darauf an, welche events Dein HUEdevice überhaupt liefert.
Titel: Aw: watchdog will nicht...
Beitrag von: is2late am 14 Mai 2024, 19:03:12
Es liefert ON und OFF.
STATE steht zwar auf unreachable, aber das Device ist sehr wohl erreichbar, über App und über FHEM.
Hier das Listing:

[code]define HUEDevice37 HUEDevice 37  IODev=Hue
attr HUEDevice37 userattr Group Group_map room_map structexclude
attr HUEDevice37 IODev Hue
attr HUEDevice37 alias Gartenpumpe
attr HUEDevice37 color-icons 2
attr HUEDevice37 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr HUEDevice37 event-on-change-reading .*
attr HUEDevice37 group HUEDevice
attr HUEDevice37 model Plug 01
attr HUEDevice37 room Bewässerung,HUEDevice
attr HUEDevice37 subType switch
attr HUEDevice37 webCmd toggle:on:off
#   DEF        37  IODev=Hue
#   FUUID      64a53b3d-f33f-8a5f-3c38-3d01da3f28ea8a8b
#   FVERSION   31_HUEDevice.pm:0.282220/2023-11-28
#   ID         37
#   INTERVAL   
#   IODev      Hue
#   NAME       HUEDevice37
#   NR         509
#   STATE      unreachable
#   TYPE       HUEDevice
#   desired    0
#   eventCount 22
#   has_events 1
#   manufacturername OSRAM
#   modelid    Plug 01
#   name       Gartenpumpe
#   productname On/Off plug
#   swversion  V1.04.12
#   type       On/Off plug-in unit
#   uniqueid   84:18:26:00:00:10:37:af-03
#   v2_id      a1ebe8af-5b94-4a8d-a0b7-19e6944d2451
#   READINGS:
#     2024-05-11 08:03:37   IODev           Hue
#     2024-05-11 08:03:40   alert           select
#     2024-05-14 18:58:16   onoff           0
#     2024-05-14 18:58:16   pct             0
#     2024-05-11 08:03:40   reachable       0
#     2024-03-27 14:34:55   state           unreachable
#   helper:
#     alert      select
#     battery    -1
#     bri        -1
#     colormode 
#     ct         -1
#     devtype   
#     dynamics_status
#     effect     
#     hue        -1
#     lastseen   
#     mode       
#     on         0
#     pct        0
#     reachable  0
#     rgb       
#     sat        -1
#     update_timeout 1
#     v2effect   
#     xy         
#     capabilities:
#       control:
#       streaming:
#     json:
#       manufacturername OSRAM
#       modelid    Plug 01
#       name       Gartenpumpe
#       productname On/Off plug
#       swversion  V1.04.12
#       type       On/Off plug-in unit
#       uniqueid   84:18:26:00:00:10:37:af-03
#       capabilities:
#         control:
#         streaming:
#       config:
#         archetype  ceilingtube
#         direction  omnidirectional
#         function   functional
#       state:
#         alert      select
#         mode       homeautomation
#       swupdate:
#         lastinstall 2023-07-03T10:20:14
#         state      notupdatable
#
setstate HUEDevice37 unreachable
setstate HUEDevice37 2024-05-11 08:03:37 IODev Hue
setstate HUEDevice37 2024-05-11 08:03:40 alert select
setstate HUEDevice37 2024-05-14 18:58:16 onoff 0
setstate HUEDevice37 2024-05-14 18:58:16 pct 0
setstate HUEDevice37 2024-05-11 08:03:40 reachable 0
setstate HUEDevice37 2024-03-27 14:34:55 state unreachable

[/code]

Es funktioniert jetzt übrigens. Vielen Dank für den Tipp!
Titel: Aw: (GELÖST) watchdog will nicht...
Beitrag von: Christian83 am 14 Mai 2024, 19:33:39
Hi,

Das Reading heißt onoff. Und hat wohl den Wert 0 oder 1?
Titel: Aw: (GELÖST) watchdog will nicht...
Beitrag von: betateilchen am 14 Mai 2024, 19:38:58
Nein, das verantwortliche reading heißt "state" und wird deshalb im watchdog nicht als reading angegeben. Es taucht nämlich im event nicht auf.
Titel: Aw: (GELÖST) watchdog will nicht...
Beitrag von: Christian83 am 14 Mai 2024, 19:43:21
Zitat von: betateilchen am 14 Mai 2024, 19:38:58Nein, das verantwortliche reading heißt "state" und wird deshalb im watchdog nicht als reading angegeben. Es taucht nämlich im event nicht auf.

Ahh. Okay. Das heißt kurzzeitig stand im state mal "onoff: 0".
Wegen dem triggeredby...?
Titel: Aw: (GELÖST) watchdog will nicht...
Beitrag von: betateilchen am 14 Mai 2024, 20:21:57
nein.

das triggerdby entstand deshalb, weil im watchdog als regex angegeben war:

HUEDevice37:on.*
und das reagiert sowohl auf state mit jedem Wert, der mit 'on' beginnt, als auch auf jeden beliebigen Wert eines readings, dessen Namen mit 'on' beginnt.

also triggerten beispielsweise folgende reading/value Kombinationen:

Titel: Aw: (GELÖST) watchdog will nicht...
Beitrag von: Christian83 am 14 Mai 2024, 20:26:03
Ahh.
Danke für die Erklärung.