FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: is2late am 14 Juni 2020, 13:30:34

Titel: (Gelöst) Notify und at
Beitrag von: is2late am 14 Juni 2020, 13:30:34
Hallo,

ich bekomme ein Notify nicht zum Laufen. Wenn die Alarmanlage ausgeschaltet ist, soll per Sonos zehn Minuten vorher ein Hinweis erklingen, dass die Scharfstellung bevorsteht. Folgenden Code habe ich in verschiedenen Varianten ergebnislos probiert:

defmod n_gleichAlarmzeit notify Alarmanlage:Aus at *22:50:00 set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein

Findet jemand den Fehler?

LG und Dank,
is2late
Titel: Antw:Notify und at
Beitrag von: MadMax-FHEM am 14 Juni 2020, 13:41:43
Sollen wir raten was das Problem ist!!?

Was geht denn nicht?
Fehler im Log?

Wie soll ein at 10 VOR irgendwas laufen was schon passiert ist!?

Wie geschrieben: mit den super detaillierten Infos, lists von beteiligten Geräten, etc. -> keine Ahnung...

Gruß, Joachim
Titel: Antw:Notify und at
Beitrag von: is2late am 14 Juni 2020, 13:58:52
Entschuldigung!
Also: Sonos gibt nicht die gewünschte Meldung ab. Ich bin beim Schreiben meiner Frage davon ausgegangen, dass ein Syntaxfehler oä vorliegt und hab daher in dem Log nicht nachgesehen und auch keine weiteren Infos geliefert. Mittlerweile bin ich von dem Notify abgerückt und hab einfach ein at formuliert:
defmod a_gleichAlarmzeit at *22:50:00 set Sonos_Unnamed_Room Speak 30 de TEXT
Das funktioniert einwandfrei. Jetzt würde ich noch gern die Alarmanlage dort mit einbinden, dh die Sonos-Ansage soll nur erfolgen, wenn die Alarmanlage ausgeschaltet ist. Würde also gern wissen, wie man diese zusätzliche Bedingung mit einbinden kann.
Ich tippe mal auf ein if gemäß folgendem Beispiel:
if ($wday == 3) => ... ob der 3. Wochentag ist, wenn ja dann ..., weiß aber nicht, wie anzupassen.

LG
Titel: Antw:Notify und at
Beitrag von: TomLee am 14 Juni 2020, 14:02:27
Verstehe es so das jeden Tag eine Sprachausgabe erfolgen soll wenn die Alarmanlage noch aus ist:

Zitatdefine n_gleichAlarmzeit at *22:50:00 {if (Value("Alarmanlage") eq "offAUS") {fhem(set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein)}}

Gruß

Thomas
Titel: Antw:Notify und at
Beitrag von: is2late am 14 Juni 2020, 14:06:49
Ja, korrekt. Täglich um 22:50 Uhr, wenn die Alarmanlage aus ist, soll die Ansage erfolgen.
Titel: Antw:Notify und at
Beitrag von: MadMax-FHEM am 14 Juni 2020, 14:11:35
Warum machst du dann nicht ein at um 22:00 (wenn die Uhrzeit FIX ist) und frägst darin ab, ob Aus und machst nur dann die Ansage!?

Funktioniert denn der Speak-Befehl an sich in FHEMWeb!?

Gruß, Joachim
Titel: Antw:Notify und at
Beitrag von: is2late am 14 Juni 2020, 14:17:15
Hallo TomLee,

hab Deinen Code gleich mal probiert, vielen Dank!
Im Raw gibt es dabei folgenden Hinweis:
syntax error at (eval 3340) line 1, near "Speak 30"

@MadMax: Würde ich ja gern, wenn gewusst, wie... ja, die Sonos-Ansagen funktionieren grundsätzlich.

LG
Titel: Antw:Notify und at
Beitrag von: TomLee am 14 Juni 2020, 14:23:33
Da haben noch die " gefehlt jetzt:

defmod n_gleichAlarmzeit at *22:50:00 {if (Value("Alarmanlage") eq "offAUS") {fhem("set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein")}}
Titel: Antw:Notify und at
Beitrag von: is2late am 14 Juni 2020, 14:31:30
Funktioniert perfekt, herzlichen Dank!
Titel: Antw:Notify und at
Beitrag von: TomLee am 14 Juni 2020, 14:35:50
Zitat von: is2late am 14 Juni 2020, 14:31:30
Funktioniert perfekt, herzlichen Dank!

Sicher ? Hast du es auch getestet ?
Hab das Gefühl du hast wieder nur kopiert, weil oben war noch ein Fehler drin, zeig mal besser noch ein List oder Raw Definition.
Titel: Antw:(Gelöst) Notify und at
Beitrag von: MadMax-FHEM am 14 Juni 2020, 14:58:40
Gewusst wie, naja, so in der Art (NICHT copy/paste, dazu hab ich jetzt zu wenig mitgelesen und es wird ja offenbar eine andere Variante verfolgt ;)  ):

Äh, ok, dann doch at und Abfragen ;)

Schneller geschrieben als geselen ;)
...hab ich erst gemerkt, als ich das Beispiel zusammenkopieren wollte ;)


Eine Anmerkung nur:

Value "frägt" STATE ab!!
Also das INTERNAL!

NICHT state (das Reading)...

Ist beeinflussbar duch z.B. stateFormat!

Führt ab und an (oft) dazu, dass "man" sich wundert warum Dinge (plötzlich: STATE ändert sich/wird "beeinflusst") nicht mehr gehen...

Value ist zwar schnell "hingeschrieben" aber, naja...

Ich nutze eher ReadingsVal/ReadingsNum/AttrVal/AttrNum/InternalVal/...

Ja, etwas "mehr zu schreiben" aber dafür weiß man (hoffentlich) GENAU was man bekommt/abfrägt...

Gruß, Joachim
Titel: Antw:(Gelöst) Notify und at
Beitrag von: is2late am 14 Juni 2020, 17:36:53
@TomLee: Na hör mal, ich gebe mich doch nicht auf Verdacht zufrieden  ;)
Habs natürlich mit aktueller Uhrzeit getestet und es funktioniert. Hier das List:
Internals:
   CFGFN     
   COMMAND    {if (Value("Alarmanlage") eq "Aus") {fhem("set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein")}}
   DEF        *22:50:00 {if (Value("Alarmanlage") eq "Aus") {fhem("set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein")}}
   FUUID      5ee61817-f33f-a080-06d6-b20e3bca7ebeeb7c
   NAME       a_gleichAlarmzeit
   NR         401
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 22:50:00
   TIMESPEC   22:50:00
   TRIGGERTIME 1592167800
   TRIGGERTIME_FMT 2020-06-14 22:50:00
   TYPE       at
   READINGS:
     2020-06-14 17:31:09   state           Next: 22:50:00
Attributes:


Wo siehst Du denn da einen weiteren Fehler?

@Joachim: Danke, hab wieder etwas gelernt.

LG
Titel: Antw:(Gelöst) Notify und at
Beitrag von: TomLee am 14 Juni 2020, 17:50:39
ZitatNa hör mal, ich gebe mich doch nicht auf Verdacht zufrieden

Is ja gut  ;D

Zitat@Joachim: Danke, hab wieder etwas gelernt.

Wirklich, lies nochmal genau was er schrieb, sehe nicht das du seine Empfehlung umgesetzt hast.


Titel: Antw:(Gelöst) Notify und at
Beitrag von: betateilchen am 14 Juni 2020, 19:06:24

{ fhem('set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein') if (ReadingsVal('Alarmanlage','state','') eq 'Aus') }


Zeit für Popcorn  :)
Titel: Antw:(Gelöst) Notify und at
Beitrag von: is2late am 14 Juni 2020, 19:50:41
Das wäre es mir wert....Komm vorbei und bediene Dich einfach.....  ;) Aber Vorsicht, Alarmanlage... 8)
Vielen Dank, Betateilchen
Titel: Antw:(Gelöst) Notify und at
Beitrag von: TomLee am 14 Juni 2020, 20:14:00
pop  :P

Wobei mir die doppelten {} weniger gut gefallen und das Pendant wirklich Ein und nicht An ist

defmod n_gleichAlarmzeit at *22:50:00 {unless (ReadingsVal('Alarmanlage','state','') eq "Ein"){ fhem('set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein')}}
Titel: Antw:(Gelöst) Notify und at
Beitrag von: amenomade am 14 Juni 2020, 20:16:39
Was ist das denn für eine Alarmanlage, die im Reading 'state'  Ein oder Aus liefert???
Titel: Antw:(Gelöst) Notify und at
Beitrag von: betateilchen am 14 Juni 2020, 20:30:19
Zitat von: TomLee am 14 Juni 2020, 20:14:00
Wobei mir die doppelten {} weniger gut gefallen

Warum verwendest Du sie dann in Deinem Beispiel schon wieder?
Wenn Dir die Klammern  nicht gefallen, lass sie doch weg...


defmod n_gleichAlarmzeit at *22:50:00 { fhem('set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein') unless (ReadingsVal('Alarmanlage','state','') eq 'Ein') }


oder noch eine Alternative mit noch weniger Klammern:


defmod n_gleichAlarmzeit at *22:50:00 { ReadingsVal('Alarmanlage','state','') eq 'Ein' ? return : fhem('set Sonos_Unnamed_Room Speak 30 de In zehn Minuten schaltet sich die Alarmanlage ein') }
Titel: Antw:(Gelöst) Notify und at
Beitrag von: TomLee am 14 Juni 2020, 20:48:21
Woher soll man das mit der 2. Variante wissen, hatt ich probiert, schon etwas merkwürdig mit dem return und Doppelpunkt !?  Seit wann ein Doppelpunkt nach return ? wär doch eigentlich das "sonst" !? es fehlen bloß die Hochkommas bei return ???
Titel: Antw:(Gelöst) Notify und at
Beitrag von: betateilchen am 14 Juni 2020, 20:58:37
Zitat von: TomLee am 14 Juni 2020, 20:48:21
Woher soll man das mit der 2. Variante wissen

Perl Grundlagen.
Titel: Antw:(Gelöst) Notify und at
Beitrag von: TomLee am 14 Juni 2020, 21:16:56
Ok, Denkfehler, nach einmal duschen ist das, denk ich, klarer, aber noch nicht getestet, ich vermute einfach nur return gibt nichts, undef oder sonstwas zurück und dann ergibt wieder alles Sinn, muss ich lesen/testen.
Titel: Antw:(Gelöst) Notify und at
Beitrag von: is2late am 15 Juni 2020, 07:01:29
Was ist das denn für eine Alarmanlage, die im Reading 'state'  Ein oder Aus liefert???
Der Status wird (wie die Zustände aller Sensoren) von der Anlage über eine Action-URL geliefert und dann per Dummy verwertet.
Innerhalb der Action-URL kann ich den Zustand beliebig benennen.

LG is2late