FHEM > Anfängerfragen

(Gelöst) Notify bzw. Sonos per Knopfdruck vorübergehend stilllegen

(1/7) > >>

is2late:
Hi,
ich suche eine Idee zur Lösung folgenden Problems:

Diverse Notifys melden über Sonos Betriebszustände, zB Waschmaschine fertig, Post ist da usw.
Nun gibt es ja Situationen, da diese Meldungen durchaus störend sein können. Ich würde die Meldungen also gern über einen Switch zeitlich befristet aussetzen, also zB: Switch on = Ruhe in den nächsten beiden Stunden. Danach sollen die Meldungen dann wieder erfolgen können.
Ich habe an ein DOIF gedacht, komme aber nicht darauf, wie es mit den Notifys zu verknüpfen wäre. Beispiel für ein solches Notify :

--- Code: ---defmod n_Briefkasten notify Briefkasten:offen set Sonos_Unnamed_Room Speak 50 de |TempleBell| Hallo, es ist Post im Briefkasten!
--- Ende Code ---

Hat jemand eine Idee, wie obiges Vorhaben zu realisieren wäre?

LG is2late

binford6000:

--- Zitat von: is2late am 01 Juli 2020, 15:20:20 ---Hi,
ich suche eine Idee zur Lösung folgenden Problems:

Diverse Notifys melden über Sonos Betriebszustände, zB Waschmaschine fertig, Post ist da usw.
Nun gibt es ja Situationen, da diese Meldungen durchaus störend sein können. Ich würde die Meldungen also gern über einen Switch zeitlich befristet aussetzen, also zB: Switch on = Ruhe in den nächsten beiden Stunden. Danach sollen die Meldungen dann wieder erfolgen können.
Ich habe an ein DOIF gedacht, komme aber nicht darauf, wie es mit den Notifys zu verknüpfen wäre. Beispiel für ein solches Notify :

--- Code: ---defmod n_Briefkasten notify Briefkasten:offen set Sonos_Unnamed_Room Speak 50 de |TempleBell| Hallo, es ist Post im Briefkasten!
--- Ende Code ---

Hat jemand eine Idee, wie obiges Vorhaben zu realisieren wäre?

LG is2late

--- Ende Zitat ---
Hallo,
zB. ganz billig ohne DOIF mit einem Switch = dummy mit set-Extensioons (on-for-timer buw. off-for-timer)

In den notifys den dummy abfragen:

--- Code: ---if (Value('dummy') eq "on") {msg bla bla}
--- Ende Code ---

VG Sebastian

Otto123:
Hi,

Wenn alle Deine notify gleich beginnen, z.B. so

--- Code: ---set n_Sonos.* inactive
--- Ende Code ---

Ansonsten musst Du die devSpec anders machen.

Ob du den befehl über ein DOIF oder sonstwas absetzt ist Deiner Vorliebe überlassen.

Gruß Otto

Beta-User:
Vielleicht nicht die naheliegendste, aber m.E. eine ziemlich verkannte Option:

disabledForIntervals
--- Code: ---If parts of the attribute value are enclosed in {}, they are evaluated:  {sunset_abs()}-24 {sunrise_abs()}-08
--- Ende Code ---
Leider finde ich die Fundstelle nicht, in der Rudi das mal erläutert hatte, aber es sollte gehen, dass du da was in myUtils reinpackst, das dann via disableForIntervals aufgerufen wird, und z.B. wahlweise 00 oder 24 zurückgibt (00=inaktiv, 24=aktiv). Das ganze ohne irgendwelche rote Fragezeichen im laufenden Betrieb ;) :
--- Code: ---attr n_Briefkasten disabledForIntervals {myCheckSonosActive()}-24
--- Ende Code ---

is2late:
Das sind super Ideen!

--- Zitat ---Hallo,
zB. ganz billig ohne DOIF mit einem Switch = dummy mit set-Extensioons (on-for-timer buw. off-for-timer)
--- Ende Zitat ---
Das klingt wirklich einfach; werde ich probieren.


--- Zitat ---Ansonsten musst Du die devSpec anders machen.
--- Ende Zitat ---
Otto, was ist das?


--- Zitat ---Vielleicht nicht die naheliegendste, aber m.E. eine ziemlich verkannte Option:
disabledForIntervals
--- Ende Zitat ---
Oje, das bekomme ich nie hin....

Ich werde mal etwas probieren und muss dann sicher nachfragen.

Vielen Dank erst einmal!!

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln