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
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
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.
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!