FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: sprudelverduenner am 13 Februar 2022, 21:19:23

Titel: [gelöst] Ähnliche Readings in einem DOIF abfragen
Beitrag von: sprudelverduenner am 13 Februar 2022, 21:19:23
Hallo FHEM Gemeinde,

ich stehe vor folgender Aufgabe:

Mein ECHO in der Küche wird von mir öfters mit Timern gebraucht.
Ich möchte nun einen beendeten Timer abfragen, um mir zB auch im Wohnzimmer das Ende des Timers anzusagen.

Ein List vom Device der Küche sieht so aus: Internals:
   DEF        A1Z88NGR2BK6A2 G0916D10049302RT
   FUUID      602929f2-f33f-8d5d-bfee-02fe50c98eb9da27
   IODev      amazon.echo
   LOGINMODE  IODEV
   NAME       echo.kueche
   NR         822
   NTFY_ORDER 50-echo.kueche
   STATE      connected
   TYPE       echodevice
   model      Echo Show 8
   OLDREADINGS:
   READINGS:
     2022-02-13 21:08:41   BrowserLanguage de,en-US;q=0.7,en;q=0.3
     2022-02-13 21:08:41   BrowserUserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
     2022-02-13 16:46:46   COOKIE_MODE     IODEV
     2022-02-13 16:46:48   IODev           amazon.echo
     2022-02-13 21:08:41   alarm_count     0
     2022-02-13 21:08:41   channel         ARD Audiothek
     2022-02-13 21:08:41   currentAlbum    -
     2022-02-13 21:08:41   currentArtist   ARD Audiothek
     2022-02-13 21:08:41   currentArtwork  https://img.ardmediathek.de/standard/00/42/92/13/76/-295433861/1x1/576?mandant=ard
     2022-02-13 21:08:41   currentTitle    WDR 2 Aachen und Region
     2022-02-13 21:08:41   currentTuneInID -
     2022-02-13 21:08:43   deviceAddress   Am Heuweg 23, Kall, Nordrhein-Westfalen, DE
     2022-02-13 21:08:44   dnd             off
     2022-02-13 21:08:43   microphone      false
     2022-02-13 21:08:42   model           Echo Show 8
     2022-02-13 21:08:41   musicalarm_count 0
     2022-02-13 21:08:41   mute            off
     2022-02-13 21:08:42   online          true
     2022-02-13 21:08:41   playStatus      paused
     2022-02-13 21:08:42   presence        present
     2022-02-13 21:08:41   progress        12
     2022-02-13 21:08:41   progresslen     0
     2022-02-13 21:08:41   reminder_count  0
     2022-02-13 21:08:41   repeat          false
     2022-02-13 21:08:41   shuffle         false
     2022-02-13 16:47:57   state           connected
     2022-02-13 21:08:43   timeZoneId      Europe/Paris
     2022-02-13 21:08:41   timer_01_id     be3319d4-c294-39a1-ba9a-c907f88a46e4
     2022-02-13 21:08:41   timer_01_remainingtime 219
     2022-02-13 21:08:41   timer_02_id     345e0ce3-708d-3e98-b2bf-56c98d3ddd3f
     2022-02-13 21:08:41   timer_02_remainingtime 0
     2022-02-13 21:08:41   timer_03_id     166a7a24-e7e1-3bdf-a4db-86b54974d93d
     2022-02-13 21:08:41   timer_03_remainingtime 0
     2022-02-13 21:08:41   timer_04_id     4ade54ac-bf41-318b-92ae-5e2bef8741e5
     2022-02-13 21:08:41   timer_04_remainingtime 0
     2022-02-13 21:08:41   timer_05_id     6a25306c-33f7-32d3-bca0-1a5b93fff447
     2022-02-13 21:08:41   timer_05_remainingtime 0
     2022-02-13 21:08:41   timer_06_id     1e6456af-7b61-3530-b738-86a55b0a0a13
     2022-02-13 21:08:41   timer_06_remainingtime 0
     2022-02-13 21:08:41   timer_07_id     80068a62-27fb-3e3a-af7f-7d1ffc090a3c
     2022-02-13 21:08:41   timer_07_remainingtime 0
     2022-02-13 21:08:41   timer_08_id     8292ae43-f098-36fd-8b81-8ccfa2e9abab
     2022-02-13 21:08:41   timer_08_remainingtime 0
     2022-02-13 21:08:41   timer_09_id     056fe912-4517-37dc-82cb-75afe979bde5
     2022-02-13 21:08:41   timer_09_remainingtime 0
     2022-02-13 21:08:41   timer_10_id     2f92dc2b-21aa-3f91-ba2c-3b8dd0d08459
     2022-02-13 21:08:41   timer_10_remainingtime 0
     2022-02-13 21:08:41   timer_11_id     276a9015-72e8-3f6c-a29b-6149d605938a
     2022-02-13 21:08:41   timer_11_remainingtime 0
     2022-02-13 21:08:41   timer_count     11
     2022-02-13 21:08:41   timer_id        345e0ce3-708d-3e98-b2bf-56c98d3ddd3f
     2022-02-13 21:08:41   timer_remainingtime 0
     2022-02-13 21:08:42   version         6409854340
     2022-02-13 21:04:42   voice           alexa
     2022-02-13 21:04:42   voice_timestamp 1644782655256
     2022-02-13 21:08:41   volume          37
     2022-02-13 21:08:45   volume_alarm    60
     2022-02-13 21:08:44   wakeword        ALEXA


Die verschiedenen Timer werden durchnummeriert im Readingsnamen - und das ist mein Problem bei meinem DOIF.
Ein DOIF auf einen einzelnen Timer sähe bei mir so aus:([echo.kueche:timer_01_remainingtime] eq "0") (
set echo.wohnzimmer speak Der Timer in der Küche ist abgelaufen.;
{wohnzimmernotification("red")};
)


Mir ist es nicht gelungen mit irgendwelchen Wildcards die ganzen Readings zusammen zu fassen.
Ich würde vermeiden wollen in meinem DOIF jetzt 20 mögliche Readings abzufragen...

Könnt ihr mir auf die Sprünge helfen?

Danke vorab.
LG, Sprudelverduenner

Titel: Antw:Ähnliche Readings in einem DOIF abfragen
Beitrag von: Otto123 am 14 Februar 2022, 08:21:11
Hi,

wenn überhaupt kann das mMn mit der Auswertung von Events  (https://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events)klappen. Nach dem Beispiel aus der Doku:
define di_warning DOIF ([":^temperature",0]< 0) (set pushmsg danger of frost $DEVICE)
attr di_warning do always

sollte das vielleicht so aussehen können:
Für das eine Device
(["^echo.kueche$:^timer_.._remainingtime",0] == 0)

Für alle
([":^timer_.._remainingtime",0] == 0)

gruß Otto
Titel: Antw:Ähnliche Readings in einem DOIF abfragen
Beitrag von: Damian am 14 Februar 2022, 12:35:10
So würde ich es auch machen. Es ist immer besser, wenn eine Regex für die Devices angegeben werden kann, damit das Modul nicht bei jedem Event reagieren muss.
Titel: Antw:Ähnliche Readings in einem DOIF abfragen
Beitrag von: sprudelverduenner am 14 Februar 2022, 19:51:49
Herzlichen Dank für Eure Hilfe.

Zitat von: Otto123 am 14 Februar 2022, 08:21:11
Für das eine Device
(["^echo.kueche$:^timer_.._remainingtime",0] == 0)

Dieser Code hat es bei mir gebracht - PERFEKT!