[gelöst] Zustand aus OWSWITCH in dummy (um)schreiben

Begonnen von dan1180, 15 November 2022, 09:44:43

Vorheriges Thema - Nächstes Thema

dan1180

Hallo zusammen,

ich verzweifel gerade an einem notify. Ich glaub ich seh den Wald vor lauter Bäumen nicht...oder weil ich in die falsche Richtung schaue  :o

Ich möchte mittels notify bei Änderung eines Wertes (Fußbodenheitung ein/aus) diesen an einen Dummy übergeben. Dabei soll der Wert on->true und off->false umgeschrieben werden (mit eventMap).

Leider schreibt mit das notify nicht 'on' ode 'off' in meinen Dummy, sondern 'fbp: on' und 'fbp: off'. Deshalb meine Fragen:

1. wie kann ich aus dem Ereignis on/off herausfiltern?
2. Funktioniert das umschreiben mit eventMap oder habe ich das Attribut falsch verstanden?
3. Wenn ich eventMap richtig verstanden habe, brauch ich dann 1. überhaupt oder kann ich dann einfach 'fbp: on'->true umschreiben?

Vielen Dank für jeden Tipp. Gerne auch Schlagworte zur Forensuche...ich war erfolglos.

Hier ein 'List' meines auslösenden Deices:
Internals:
   DEF        DS2408 721119000000
   ERRCOUNT   0
   FUUID      5df743f8-f33f-5d70-d827-5e0a93ade21e2f9a
   INTERVAL   300
   IODev      owbus
   NAME       owswitch
   NEXTSEND   1668500898.14165
   NOTIFYDEV  global
   NR         47
   NTFY_ORDER 50-owswitch
   OW_FAMILY  29
   OW_ID      721119000000
   PRESENT    1
   ROM_ID     29.721119000000.CF
   STATE      obk: off uwp: off C: off D: off fbp: off hkp: off G: off H: off
   TYPE       OWSWITCH
   eventCount 32
   READINGS:
     2022-11-15 09:28:18   C               off
     2022-11-15 09:28:18   D               off
     2022-11-15 09:28:18   G               off
     2022-11-15 09:28:18   H               off
     2022-11-15 08:18:07   IODev           owbus
     2022-11-15 09:28:18   fbp             off
     2022-11-15 09:28:18   gpio            255
     2022-11-15 09:28:18   hkp             off
     2022-11-15 09:28:18   obk             off
     2022-11-15 09:28:18   state           obk: off uwp: off C: off D: off fbp: off hkp: off G: off H: off
     2022-11-15 09:28:18   uwp             off
   owg_val:
     1
     1
     1
     1
     1
     1
     1
     1
   owg_vax:
     1
     1
     1
     1
     1
     1
     1
     1
Attributes:
   AName      obk
   AUnit      on|off
   BName      uwp
   BUnit      on|off
   CUnit      on|off
   DUnit      on|off
   EName      fbp
   EUnit      on|off
   FName      hkp
   FUnit      on|off
   GUnit      on|off
   HUnit      on|off
   IODev      owbus
   group      1wire
   model      DS2408
   room       Heizung
   verbose    0


Hier mein notify:
Internals:
   DEF        owswitch:fbp.* set dumFB $EVENT
   FUUID      63721180-f33f-bc18-068c-30e2f15754a24c99
   NAME       ntfbp
   NOTIFYDEV  owswitch
   NR         73
   NTFY_ORDER 50-ntfbp
   REGEXP     owswitch:fbp.*
   STATE      2022-11-15 09:36:34
   TRIGGERTIME 1668501394.6262
   TYPE       notify
   eventCount 28
   READINGS:
     2022-11-15 09:36:03   state           active
     2022-11-15 09:36:34   triggeredByDev  owswitch
     2022-11-15 09:36:34   triggeredByEvent fbp off
   hmccu:
Attributes:
   eventMap   on:true off:false
   room       Homematic
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

frober

Du benutzt $EVENT, da ist Reading + Value enthalten. Richtig wäre $EVTPART1

Warum Dummy und nicht ReadingsProxy?
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

dan1180

#2
ZitatDu benutzt $EVENT, da ist Reading + Value enthalten. Richtig wäre $EVTPART1
Oh mann...danke! Ich hatte es zwischenzeitlich mit $EVTPART2 versucht weil ich dachte fbp:=PART1 und on/off=PART2 ::) Ich Schussel ich...

Mein Dummy hat jetzt aber den Status on/off. Müsste mit
attrib notify eventMap on:true off:false
nicht true/false in den Dummy geschrieben werden?

ZitatWarum Dummy und nicht ReadingsProxy?
Der Dummy ist nur ein Zwischenschritt um die grundsätzliche Funktion hinzubekommen. Der Wert soll final an eine Variable meiner CCU gesendet werden. Deshalb brauche ich auch true/false.

Edit:
Ich könnte mir dann aber über ReadingsProxy die Werte true/false generieren lassen und diese dann per notify an den dummy/die CCU schicken, oder? Nur falls das nicht direkt aus dem notify geht.
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte

frober

Wenn, muss das eventMap in den Dummy.

Oder im.notify über eine if-Abfrage in Perl...

Mit ReadingsProxy geht das, meine ich -> Commandref
Raspi 3b mit Raspbian Bullseye und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

dan1180

ZitatWenn, muss das eventMap in den Dummy.
Natürlich...mein Fehler. Bringt mir aber dann nichts, da mein Empfänger das so nicht kennt.

ZitatOder im.notify über eine if-Abfrage in Perl...
Habe ich jetzt im Endeffekt auch so gemacht. Nach dem Hinweis mit EVTPART1 war das dann auch nicht mehr so schwierig.

Bei Interesse, hier nun meine Lösung fürs Notify:
Internals:
   DEF        owswitch:fbp.* {
if ($EVTPART1 eq "on" ) {
fhem('set myccu var Fussbodenpumpe true')
}else {
if ($EVTPART1 eq "off") {
fhem('set myccu var Fussbodenpumpe false')
}
}
}
   FUUID      63721180-f33f-bc18-068c-30e2f15754a24c99
   NAME       ntfbp
   NOTIFYDEV  owswitch
   NR         73
   NTFY_ORDER 50-ntfbp
   REGEXP     owswitch:fbp.*
   STATE      2022-11-15 14:43:18
   TRIGGERTIME 1668519798.81969
   TYPE       notify
   eventCount 34
   READINGS:
     2022-11-15 10:25:05   state           active
     2022-11-15 14:43:18   triggeredByDev  owswitch
     2022-11-15 14:43:18   triggeredByEvent fbp: off
   hmccu:
Attributes:
   room       Homematic


Vielen Dank für deine Hilfe!
Dan
FHEM 6.2 auf RPi4B
Raspberrymatic 3.X auf RPI3B

1xDS2408 und 6xDS18B20 an GPIO über Modul RPI_1Wire
>50 Homematic-Geräte