FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: dennis_n am 23 November 2019, 20:35:32

Titel: Sprachausgabe über DOIF
Beitrag von: dennis_n am 23 November 2019, 20:35:32
Hi,

ich habe ein Problem mit dem DOIF (wobei ich mir noch ncihtmal sicher bin, dass es am DOIF liegt)

Folgendes DOIF habe ich, um die Rollläden über den Homestatus zu steuern:

([homestatus] eq "unterwegs" and ([[Sonnenstand:ss_civil]|0123456]) and (["^ZWave_SENSOR_NOTIFICATION_:open"])) (setreading speak Fenster AUF, set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen')

Aber aus igrndeinem Grund wird mir das Reading des Dummy "speak" nicht gesetzt.
Ich habe schon alles versucht, aber finde den Fehler nicht.

Das Device ZWave_SENSOR_NOTIFICATION_17 hat im state "open" stehen. Damit dies aber so ist, musste ich im Device mit StateFormat erst folgendes angeben: {(split(/,|is /, ReadingsVal($name,"alarm_AccessControl","")))[1]}

Normalerweise würde da nämlich stehen "AccessControl: Window/Door is closed". Es handelt sich um einen Fibaro Fenster Sensor.

Ich will einfach nur realisieren, dass wenn eines der zahlreichen Fenster offen ist und jemand den Homestatus auf "unterwegs" setzt, über tts eine Sprachausgabe gestartet wird und daran erinnert, dass noch Fenster offen sind.

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 23 November 2019, 20:40:04
Vollständiges "list" des DOIFs bitte liefern
Springt der DOIF auf cmd1? Dann ist der DOIF nicht das Problem
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 23 November 2019, 21:03:21
Hier das vollständige list:

Internals:
   DEF        ([homestatus] eq "home" and ([[Sonnenstand:sr]-[Sonnenstand:ss_civil]|12345] or [09:00:00-[Sonnenstand:ss_civil]|60]) and [Lang_schlafen] eq "off") (set RL_Alle Hoch, set pushmsg msg 'Homestatus' 'Alle Rolläden geöffnet')

DOELSEIF

([homestatus] eq "home" and ([[Sonnenstand:sr]-[Sonnenstand:ss_civil]|12345] or [09:00:00-[Sonnenstand:ss_civil]|60]) and [Lang_schlafen] eq "on")  (set RL_lang_schlafen Hoch, set pushmsg msg 'Homestatus' 'Alle Rolläden ausser Schlafzimmer geöffnet')

DOELSEIF

([homestatus] =~ "home|unterwegs|ferien" and ([[Sonnenstand:ss_civil]|0123456]) and (["^ZWave_SENSOR_NOTIFICATION_:open"])) (setreading speak Fenster 1111, set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen')

DOELSEIF

([homestatus] eq "unterwegs" and ([[Sonnenstand:sr]-[Sonnenstand:ss_civil]|12345] or [09:00:10-[Sonnenstand:ss_civil]|60]) and (["^ZWave_SENSOR_NOTIFICATION_:open"])) (setreading speak Fenster 1111, set RL_Unterwegs Runter, set pushmsg msg 'Homestatus' 'Rolläden unterwegs geschlossen')

DOELSEIF

([homestatus] eq "ferien" and ([09:00:00-[Sonnenstand:ss_civil]|12345] or [09:00:10-[Sonnenstand:ss_civil]|60])) (set RL_Ferien Hoch, set pushmsg msg 'Homestatus' 'Rolläden Ferien geöffnet')
   MODEL      FHEM
   NAME       di_Rolladen
   NR         61
   NTFY_ORDER 50-di_Rolladen
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2019-11-23 20:58:40   Device          ZWave_SENSOR_NOTIFICATION_17
     2019-11-23 20:29:21   cmd             0
     2019-11-23 20:30:09   e_homestatus_STATE home
     2019-11-23 20:29:21   mode            enabled
     2019-11-23 20:29:21   state           initialized
     2019-11-23 20:29:21   timer_01_c01    24.11.2019 07:57:50|12345
     2019-11-23 20:29:21   timer_02_c01    24.11.2019 17:16:48|12345
     2019-11-23 20:29:21   timer_03_c01    24.11.2019 09:00:00|60
     2019-11-23 20:29:21   timer_04_c01    24.11.2019 17:16:48|60
     2019-11-23 20:29:21   timer_05_c02    24.11.2019 07:57:50|12345
     2019-11-23 20:29:21   timer_06_c02    24.11.2019 17:16:48|12345
     2019-11-23 20:29:21   timer_07_c02    24.11.2019 09:00:00|60
     2019-11-23 20:29:21   timer_08_c02    24.11.2019 17:16:48|60
     2019-11-23 20:29:21   timer_09_c03    24.11.2019 17:16:48|0123456
     2019-11-23 20:29:21   timer_10_c04    24.11.2019 07:57:50|12345
     2019-11-23 20:29:21   timer_11_c04    24.11.2019 17:16:48|12345
     2019-11-23 20:29:21   timer_12_c04    24.11.2019 09:00:10|60
     2019-11-23 20:29:21   timer_13_c04    24.11.2019 17:16:48|60
     2019-11-23 20:29:21   timer_14_c05    24.11.2019 09:00:00|12345
     2019-11-23 20:29:21   timer_15_c05    24.11.2019 17:16:48|12345
     2019-11-23 20:29:21   timer_16_c05    24.11.2019 09:00:10|60
     2019-11-23 20:29:21   timer_17_c05    24.11.2019 17:16:48|60
   Regex:
     cond:
       :
         0:
         1:
         2:
           "^ZWave_SENSOR_NOTIFICATION_:open" ^ZWave_SENSOR_NOTIFICATION_:open
         3:
           "^ZWave_SENSOR_NOTIFICATION_:open" ^ZWave_SENSOR_NOTIFICATION_:open
         4:
   condition:
     0          InternalDoIf($hash,'homestatus','STATE') eq "home" and (DOIF_time($hash,0,1,$wday,$hms,"12345") or DOIF_time($hash,2,3,$wday,$hms,"60")) and InternalDoIf($hash,'Lang_schlafen','STATE') eq "off"
     1          InternalDoIf($hash,'homestatus','STATE') eq "home" and (DOIF_time($hash,4,5,$wday,$hms,"12345") or DOIF_time($hash,6,7,$wday,$hms,"60")) and InternalDoIf($hash,'Lang_schlafen','STATE') eq "on"
     2          InternalDoIf($hash,'homestatus','STATE') =~ "home|unterwegs|ferien" and (DOIF_time_once($hash,8,$wday,"0123456")) and (EventDoIf('^ZWave_SENSOR_NOTIFICATION_',$hash,'open',0))
     3          InternalDoIf($hash,'homestatus','STATE') eq "unterwegs" and (DOIF_time($hash,9,10,$wday,$hms,"12345") or DOIF_time($hash,11,12,$wday,$hms,"60")) and (EventDoIf('^ZWave_SENSOR_NOTIFICATION_',$hash,'open',0))
     4          InternalDoIf($hash,'homestatus','STATE') eq "ferien" and (DOIF_time($hash,13,14,$wday,$hms,"12345") or DOIF_time($hash,15,16,$wday,$hms,"60"))
   days:
     0          12345
     1          12345
     10         12345
     11         60
     12         60
     13         12345
     14         12345
     15         60
     16         60
     2          60
     3          60
     4          12345
     5          12345
     6          60
     7          60
     8          0123456
     9          12345
   devices:
     0           homestatus Lang_schlafen
     1           homestatus Lang_schlafen
     2           homestatus
     3           homestatus
     4           homestatus
     all         homestatus Lang_schlafen
   do:
     0:
       0          set RL_Alle Hoch, set pushmsg msg 'Homestatus' 'Alle Rolläden geöffnet'
     1:
       0          set RL_lang_schlafen Hoch, set pushmsg msg 'Homestatus' 'Alle Rolläden ausser Schlafzimmer geöffnet'
     2:
       0          setreading speak Fenster 1111, set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen'
     3:
       0          setreading speak Fenster 1111, set RL_Unterwegs Runter, set pushmsg msg 'Homestatus' 'Rolläden unterwegs geschlossen'
     4:
       0          set RL_Ferien Hoch, set pushmsg msg 'Homestatus' 'Rolläden Ferien geöffnet'
     5:
   helper:
     DOIF_Readings_events
     DOIF_eventas
     event      alarm_AccessControl: Window/Door is open, notificationIsOn
     globalinit 1
     last_timer 17
     sleeptimer -1
     triggerDev ZWave_SENSOR_NOTIFICATION_17
     triggerEvents:
       alarm_AccessControl: Window/Door is open, notificationIsOn
     triggerEventsState:
       alarm_AccessControl: Window/Door is open, notificationIsOn
   internals:
     0           homestatus:STATE Lang_schlafen:STATE
     1           homestatus:STATE Lang_schlafen:STATE
     2           homestatus:STATE
     3           homestatus:STATE
     4           homestatus:STATE
     all         homestatus:STATE Lang_schlafen:STATE
   interval:
     0          -1
     1          0
     10         9
     11         -1
     12         11
     13         -1
     14         13
     15         -1
     16         15
     2          -1
     3          2
     4          -1
     5          4
     6          -1
     7          6
     9          -1
   itimer:
     all         Sonnenstand
   localtime:
     0          1574578670
     1          1574612208
     10         1574612208
     11         1574582410
     12         1574612208
     13         1574582400
     14         1574612208
     15         1574582410
     16         1574612208
     2          1574582400
     3          1574612208
     4          1574578670
     5          1574612208
     6          1574582400
     7          1574612208
     8          1574612208
     9          1574578670
   readings:
   realtime:
     0          07:57:50
     1          17:16:48
     10         17:16:48
     11         09:00:10
     12         17:16:48
     13         09:00:00
     14         17:16:48
     15         09:00:10
     16         17:16:48
     2          09:00:00
     3          17:16:48
     4          07:57:50
     5          17:16:48
     6          09:00:00
     7          17:16:48
     8          17:16:48
     9          07:57:50
   time:
     0          [Sonnenstand:sr]
     1          [Sonnenstand:ss_civil]
     10         [Sonnenstand:ss_civil]
     11         09:00:10
     12         [Sonnenstand:ss_civil]
     13         09:00:00
     14         [Sonnenstand:ss_civil]
     15         09:00:10
     16         [Sonnenstand:ss_civil]
     2          09:00:00
     3          [Sonnenstand:ss_civil]
     4          [Sonnenstand:sr]
     5          [Sonnenstand:ss_civil]
     6          09:00:00
     7          [Sonnenstand:ss_civil]
     8          [Sonnenstand:ss_civil]
     9          [Sonnenstand:sr]
   timeCond:
     0          0
     1          0
     10         3
     11         3
     12         3
     13         4
     14         4
     15         4
     16         4
     2          0
     3          0
     4          1
     5          1
     6          1
     7          1
     8          2
     9          3
   timer:
     0          0
     1          0
     10         0
     11         0
     12         0
     13         0
     14         0
     15         0
     16         0
     2          0
     3          0
     4          0
     5          0
     6          0
     7          0
     8          0
     9          0
   timers:
     0           0  1  2  3
     1           4  5  6  7
     2           8
     3           9  10  11  12
     4           13  14  15  16
   trigger:
   triggertime:
     1574578670:
       localtime  1574578670
       hash:
     1574582400:
       localtime  1574582400
       hash:
     1574582410:
       localtime  1574582410
       hash:
     1574612208:
       localtime  1574612208
       hash:
   uiState:
   uiTable:
Attributes:
   checkReadingEvent 1
   room       Homestatus


Das DOIF springt nicht auf cmd1

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 23 November 2019, 21:18:45
Ähhhm ich habe den Fehler gefunden.

Und zwar wird das DOIF nur ausgeführt, wenn das Fenster geschlossen ist, der Homestatus auf "unterwegs" steht und dann ein Fenster geöffnet wird.

Ich will ja aber, dass das DOIF erkennt, ob noch Fenster offen sind, wenn jemand den Homestatus auf "unterwegs" gesetzt hat.
Wie realisiere ich das am besten?

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 23 November 2019, 21:39:00
Schwierig, ohne deine Komponenten zu kennen.
Statt auf Ereignis "open" zu triggern, nutze die Aggregationsfunktionen vom DOIF.
https://fhem.de/commandref_DE.html#DOIF_aggregation

Es gibt schöne Beispiele im CommandRef, die einfach für dein Bedarf anzupassen wären
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 23 November 2019, 21:43:11
Z.B. wenn deine Zwave Sensoren einen Status "open" behalten, solange geöffnet:

DOELSEIF

([homestatus] =~ "home|unterwegs|ferien" and ([[Sonnenstand:ss_civil]|0123456]) and [?#"^ZWave_SENSOR_NOTIFICATION_":state:"open"] > 0) (setreading speak Fenster 1111, set RL_Alle Runter, set pushmsg msg 'Homestatus' 'Alle Rolläden geschlossen')

wird bei Änderung von homestatus oder zeitgretriggert nur prüfen, ob die Anzahl von offenen Fenster grösser als null ist

Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 23 November 2019, 21:44:58
Ich danke dir schonmal.
Das schaue ich mir gleich an.

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 25 November 2019, 11:21:19
Hi,

also ich habe das mal getestet, aber es scheint noch nicht zu funktionieren.
Folgendes steht in meinem eigens für die Sprachausgabe angelegtem DOIF jetzt:
([homestatus] eq "test" and ([?#"^ZWave_SENSOR_NOTIFICATION_":state:"open"] > 0)) (set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet)

Ich habe mittlerweile die Sprachausgabe über SOnos realisiert. Wenn ich "set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet" manuell eingebe, funktioniert die Sprachausgabe auch wunderbar.

Aber irgendwie greift das DOIF nicht.

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 25 November 2019, 11:23:24
Das komplette List des DOIF lautet:

Internals:
   DEF        ([homestatus] eq "test" and ([?#"^ZWave_SENSOR_NOTIFICATION_":state:"open"] > 0)) (set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet)
   FUUID      5ddb935d-f33f-8212-b97c-b74132274baf6179
   MODEL      FHEM
   NAME       di_Sprachausgabe
   NOTIFYDEV  homestatus,global
   NR         103
   NTFY_ORDER 50-di_Sprachausgabe
   STATE      cmd_2
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   READINGS:
     2019-11-25 11:21:50   Device          homestatus
     2019-11-25 11:21:51   cmd             2
     2019-11-25 11:21:51   cmd_event       homestatus
     2019-11-25 11:21:51   cmd_nr          2
     2019-11-25 11:21:50   e_homestatus_STATE test
     2019-11-25 11:21:29   mode            enabled
     2019-11-25 11:21:51   state           cmd_2
   Regex:
     accu:
     cond:
       homestatus:
         0:
           &STATE     ^homestatus$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'homestatus','STATE') eq "test" and (::AggregateDoIf($hash,'#','^ZWave_SENSOR_NOTIFICATION_','state','"open"') > 0)
   do:
     0:
       0          set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet
     1:
   helper:
     DEVFILTER  ^global$|^homestatus$
     NOTIFYDEV  global|homestatus
     event      test
     globalinit 1
     last_timer 0
     sleeptimer -1
     timerdev   homestatus
     timerevent test
     triggerDev homestatus
     DOIF_eventa:
       cmd_nr: 2
       cmd: 2
       cmd_event: homestatus
       cmd_2
     DOIF_eventas:
       cmd_nr: 2
       cmd: 2
       cmd_event: homestatus
       state: cmd_2
     timerevents:
       test
     timereventsState:
       state: test
     triggerEvents:
       test
     triggerEventsState:
       state: test
   internals:
     all         homestatus:STATE
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   room       Homestatus
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 25 November 2019, 11:41:53
Leider hast Du aber anscheinend das "list" vom DOIF erst gezogen, als homestatus nicht mehr auf "test" stand.
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 25 November 2019, 11:43:13
Du hast recht. hier das list wenn es auf test steht:
Internals:
   DEF        ([homestatus] eq "test" and ([?#"^ZWave_SENSOR_NOTIFICATION_":state:"open"] > 0)) (set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet)
   FUUID      5ddb935d-f33f-8212-b97c-b74132274baf6179
   MODEL      FHEM
   NAME       di_Sprachausgabe
   NOTIFYDEV  homestatus,global
   NR         103
   NTFY_ORDER 50-di_Sprachausgabe
   STATE      initialized
   TYPE       DOIF
   VERSION    20500 2019-11-12 17:54:48
   READINGS:
     2019-11-25 11:42:30   Device          homestatus
     2019-11-25 11:32:55   cmd             0
     2019-11-25 11:42:30   e_homestatus_STATE test
     2019-11-25 11:32:55   mode            enabled
     2019-11-25 11:32:55   state           initialized
   Regex:
     accu:
     cond:
       homestatus:
         0:
           &STATE     ^homestatus$
   attr:
     cmdState:
     wait:
     waitdel:
   condition:
     0          ::InternalDoIf($hash,'homestatus','STATE') eq "test" and (::AggregateDoIf($hash,'#','^ZWave_SENSOR_NOTIFICATION_','state','"open"') > 0)
   do:
     0:
       0          set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet
     1:
   helper:
     DEVFILTER  ^global$|^homestatus$
     NOTIFYDEV  global|homestatus
     event      test
     globalinit 1
     last_timer 0
     sleeptimer -1
     triggerDev homestatus
     triggerEvents:
       test
     triggerEventsState:
       state: test
   internals:
     all         homestatus:STATE
   readings:
   trigger:
   uiState:
   uiTable:
Attributes:
   do         always
   room       Homestatus
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 25 November 2019, 11:45:39
Bitte ein "list" von einem ZWave_SENSOR_NOTIFICATION_XXXX der dabei auf "open" stand
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 25 November 2019, 11:46:45
Hier das list des Devices welches auf open steht:

Internals:
   DEF        c1aa9dda 17
   FUUID      5ddb935d-f33f-8212-587c-a5ecfd591e77da1b
   IODev      ZWDongle_0
   LASTInputDev ZWDongle_0
   MSGCNT     10
   NAME       ZWave_SENSOR_NOTIFICATION_17
   NR         100
   STATE      open
   TYPE       ZWave
   ZWDongle_0_MSGCNT 10
   ZWDongle_0_RAWMSG 00040011063105012200c8
   ZWDongle_0_TIME 2019-11-25 11:40:26
   ZWaveSubDevice no
   homeId     c1aa9dda
   isWakeUp   1
   nodeIdHex  11
   READINGS:
     2019-11-23 17:21:45   alarm           AccessControl: Window/Door is closed
     2019-11-25 11:21:38   alarm_AccessControl Window/Door is open, notificationIsOn
     2019-11-25 04:19:29   battery         80 %
     2019-11-23 17:14:18   model           FIBARO System FGDW002 Door Opening Sensor 2
     2019-11-23 17:14:18   modelConfig     fibaro/fgdw2.xml
     2019-11-23 17:14:18   modelId         010f-0702-1000
     2019-11-23 17:14:16   state           wakeupInterval 86400 1
     2019-11-25 11:40:26   temperature     20.0 C
     2019-11-25 04:19:31   timeToAck       0.023
     2019-11-25 04:19:31   transmit        OK
     2019-11-25 04:19:29   wakeup          notification
Attributes:
   IODev      ZWDongle_0
   alias      Sensor_Buero_rechts
   classes    ZWAVEPLUS_INFO ASSOCIATION ASSOCIATION_GRP_INFO APPLICATION_STATUS BATTERY CONFIGURATION CRC_16_ENCAP DEVICE_RESET_LOCALLY FIRMWARE_UPDATE_MD MANUFACTURER_SPECIFIC MULTI_CHANNEL_ASSOCIATION ALARM POWERLEVEL SECURITY SENSOR_MULTILEVEL VERSION WAKE_UP
   extendedAlarmReadings 1
   room       ZWave
   stateFormat {(split(/,|is /, ReadingsVal($name,"alarm_AccessControl","")))[1]}
   vclasses   ALARM:5 APPLICATION_STATUS:1 ASSOCIATION:2 ASSOCIATION_GRP_INFO:1 BATTERY:1 CONFIGURATION:1 CRC_16_ENCAP:1 DEVICE_RESET_LOCALLY:1 FIRMWARE_UPDATE_MD:4 MANUFACTURER_SPECIFIC:2 MULTI_CHANNEL_ASSOCIATION:3 POWERLEVEL:1 SECURITY:1 SENSOR_MULTILEVEL:5 VERSION:2 WAKE_UP:2 ZWAVEPLUS_INFO:2
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 25 November 2019, 12:13:54
Naja... im Reading state steht nicht "open" sondern "wakeupInterval 86400 1"

Versuch mal mit STATE statt state in der Aggregation:
([?#"^ZWave_SENSOR_NOTIFICATION_"::$STATE eq "open"] > 0))
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 25 November 2019, 12:24:16
 ::) Funktioniert jetzt einwandfrei.

Vielen, vielen Dank für Deine Hilfe.
Ich habe nur nach dem "state" geschaut, welches ich durch StateForma umwandle.

Nochmals Danke.

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: Per am 25 November 2019, 14:10:27
(set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet)
Komma sind im DOIF Befehlstrenner, die hier passende Syntax ist:
((set Sonos_Arbeitszimmer Speak 45 de Achtung, es sind noch Fenster geöffnet))
(Den passenden Link in der CommandRef mag ich gerade nicht raussuchen ;) )
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: amenomade am 25 November 2019, 14:17:08
Fauler Mensch! ;)
https://fhem.de/commandref_DE.html#DOIF_Angaben_im_Ausfuehrungsteil
ZitatFalls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)

Das hatte ich nicht gesehen, danke (für ihn) :)
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: dennis_n am 30 Dezember 2019, 17:23:14
Wollte hier nochmal Rückmeldung geben und habe gleich noch eine Frage.
Also es klappt bisher alles wunderbar. Wenn man auf WEG klickt am Tablet und es sind noch Fenster geöffnet, dann informiert mich eine Stimme über Sonos, dass noch Fenster geöffnet sind.

Die andere Frage die ich derzeit habe ist folgende:
Wir stellen regelmäßig unsere Fenster zum lüften auf. Allerdings vergessen wir auch hin und wieder ein Fenster im oberen Stock zu schließen.
Wie könnte ich es denn realisieren, dass mich eine Sprachausgabe nach 20 Minuten erinnert, dass noch Fenster geöffnet sind? Also quasi ein Timer, der beginnt zu laufen, sobald ein Fenster geöffnet wird.

Danke

Gruss
Dennis
Titel: Antw:Sprachausgabe über DOIF
Beitrag von: Per am 02 Januar 2020, 13:21:23
Mit dem Attribut wait. Das ? muss dann allerdings weg.