FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Claus am 22 Oktober 2014, 14:54:29

Titel: (gelöst) define und notify mit mehreren set Aktionen für Funkgong
Beitrag von: Claus am 22 Oktober 2014, 14:54:29
Hallo liebe Mitstreiter,
ich benötige mal wieder Nachhilfe in Sachen Syntax.
Was geht:
Ich habe einen Wassersensor der mir per Email meldet wenn es unter der Spüle feucht oder nass wird.

Was ich noch möchte:
Zusätzlich soll eine Mp3-Datei via Funkgong im Abstand von ca 60 Sekunden abgespielt werden und die LED des Funkgong rot blinken bis der Wassersensor wieder trocken meldet.

Im WebIF mit einem Semikolon getrennt eingegebene set-Befehle werden vom Gong korrekt ausgeführt (LED an, Ton ab, Mp3 spielen)
. Ich habe dann in der FHEM.CFG hinter das erste "define <Name> notify <Gerät> set <Aktion>" mit einem Semikolon getrennt einfach weitere set-Befehle gehängt. Dabei hatte ich das Phänomen, dass diese set-Befehle beim speichern der FHEM.CFG einfach so ausgeführt werden, also ohne Rücksicht auf das zuvor gesetzte define.
Und nach auslösen der Wassermeldung (Sensor nass machen) bekomme ich die Email aber der Gong bringt nur den Standardton - keine LED, keine MP3-Datei ...

Bei der Suche hier und im wiki bin ich bei einem anderen Thema auf folgende Syntax gestossen:
define Schlafen notify whg_HomeStat2 set HomeStatus 2;;set ez_FHT desired-temp 19.0;;set ez_LichtAlle,wz_LichtAlle,ku_LichtAlle,whg_WLAN off

Und ich habe gelesen, dass die Befehle an den FunkGong_Mp3 mit einer Verzögerung gesendet werden sollte.

Fragen:
1. Sind die mit Semikolon getrennten, angehängten set-Befehle abhängig von der vorangestellten define ?
2. Muss ich zwei Semikola einsetzen?
3. Wie bekomme ich den Channel für den FunkGong_Mp3 dazu erst den Standardton und anschliessend meine MP3 abzuspielen?

Da ich mehr als ein blutiger Anfänger bin bitte ich um Gnade im voraus  :)

Viele Grüße,
Claus
Titel: Antw:define und notify mit mehreren set Aktionen für Funkgong
Beitrag von: Claus am 23 Oktober 2014, 18:17:04
Hallo,

so habe ich es in der fhem.cfg eingetragen:
# Warnmeldung
define Wassermeldung notify KUE_SEN_Wasser:contact:.damp.* set KUE_SD_Wasser off
define Wassermeldung2 notify KUE_SEN_Wasser:contact:.damp.* set FunkGong_Mp3 press long
define Wassermeldung3 notify KUE_SEN_Wasser:contact:.damp.* set FunkGong_Mp3 playTone 001
define Wassereinbruch notify KUE_SEN_Wasser:contact:.wet.* set KUE_SD_Wasser off
define Wassereinbruch2 notify KUE_SEN_Wasser:contact:.wet.*  set FunkGong_Mp3 press long
define Wassereinbruch3 notify KUE_SEN_Wasser:contact:.wet.* set FunkGong_Mp3 playTone 001
define Trockenmeldung2 notify KUE_SEN_Wasser:contact:.dry.* set FunkGong_Mp3 off
define Trockenmeldung3 notify KUE_SEN_Wasser:contact:.dry.* set FunkGong_Led off


Fragen:
1. Ist es nötig das define 3 mal zu definieren, also Wassermeldung1 und 2 und 3 oder darf das immer nur Wassermeldung heissen?
2. Wenn ich die set-Befehle so notiere, würden diese dann der Zeile/dem vorangestellten define zugeordnet werden oder quasi autark ausgeführt werden?
define Wassermeldung notify KUE_SEN_Wasser:contact:.damp.* set KUE_SD_Wasser off; set FunkGong_Mp3 press long; set FunkGong_Mp3 playTone 001


Büdde !
VG
Claus
Titel: Antw:define und notify mit mehreren set Aktionen für Funkgong
Beitrag von: schwepf am 23 Oktober 2014, 18:28:08
Hallo Claus,

zuerst der wichtige Hinweis (bin zwar selber noch Anfänger, aber das weiß ich schon, da es hier im Forum immer wieder betont wird...): Finger weg von der cfg-Datei. Denn es schleichen sich über kurz oder lang immer Fehler ein. Editiere ganz einfach über die das DEF-Fenster des jeweiligen notifys- Neue Befehle setzt Du über die Kommandozeile im fhem-Fenster ab, dann setzt fhem auch automatisch die Semikolon-Anzahl richtig und weist ggf. auf Fehler hin. Und wichtig: nach dem Enter auf Save gehen, sonst ist alles nach dem Neustart weg.

Zu Deinen Fragen bzw. zu 2): hier müssen noch die Leerzeichen hinter dem Semikolon weg, dann sind alle set-Befehle dem einen define zugeordnet, werden also gleichzeitig ausgeführt. Frage 1) verstehe ich nicht so ganz.

VG
Titel: Antw:define und notify mit mehreren set Aktionen für Funkgong
Beitrag von: Puschel74 am 23 Oktober 2014, 18:35:23
Hallo,

zu 1.
Du heisst Claus - besitzt also das Attribut Name mit dem Inhalt Claus.
Nun gehen deine Eltern her und taufen dich um auf Stefan.
Dein Attribut Name hat dann welchen Inhalt?

Kleiner Tipp: Es ist nicht ClausStefan  ;)

Grüße
Titel: Antw:define und notify mit mehreren set Aktionen für Funkgong
Beitrag von: Claus am 23 Oktober 2014, 18:44:15
Hallo schwepf,
Danke, das hat mir geholfen. Ich habe es jetzt so definiert:
define Wassermeldung notify KUE_SEN_Wasser:contact:.damp.* set KUE_SD_Wasser off;;set FunkGong_Mp3 press long;;sleep 2;;set FunkGong_Mp3 playTone 001


Damit hat sich 1. auch erledigt  Denn Claus reicht hier voll aus und Stefan wird damit nicht benötigt!
Danke Puschel!