FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: dcco am 05 August 2017, 17:15:04

Titel: [Gelöst:] Mit notify und if mehrere Befehle ausführen
Beitrag von: dcco am 05 August 2017, 17:15:04
Hallo, ich bin gerade etwas am Verzweifeln mit FHEM. Ich versuche mittels Dash-Button meine Stereoanlage an und aus zu schalten. Das funktioniert auch so weit mit folgendem Notify:

define n_DashButtonSchwarzkopf notify DashButtonSchwarzkopf:XX-XX-XX-XX-XX-XX..short  IF (ReadingsVal("avr", "power", "on") eq 'on') (set avr power off) ELSE (set avr power on)

Jetzt möchte ich aber, dass beim Einschalten auch der entsprechende Input gewählt wird und die Lautstärke angepasst wird. Egal wie ich es eingebe es funktioniert nicht.
... ELSE (set avr power on;; set avr input FM;; set avr volume 17) -> geht nicht
... ELSE (set avr power on; set avr input FM; set avr volume 17) -> geht nicht
habe noch viele andere Variationen unter anderem mit fhem ("set ...") versucht -> geht auch nicht. Wie ist die korrekte Syntax für mehrere Befehle in diesem Fall?
Ach ja, wenn ich set avr power on; set avr input FM; set avr volume 17 direkt in fhem eingebe funktioniert es wunderbar.

Danke für die Hilfe!
Titel: Antw:Mit notify und if mehrere Befehle ausführen
Beitrag von: Beta-User am 05 August 2017, 17:27:50
Hallo dcco,

an sich müßte das schon in etwa in der Art gehen. Allerdings werden die Befehle sehr schnell versendet, was dazu führt, dass alles, was an den AVR geht im digitalen nirvana landet, solange er noch nicht richtig wach ist.

Bau doch testweise nach dem Anschalten (aber vor der Kanalwahl) mal ein "sleep 15;;" ein ;) , vielleicht klappt es dann wie erwartet.

Gruß, Beta-User
Titel: Antw:Mit notify und if mehrere Befehle ausführen
Beitrag von: dcco am 05 August 2017, 17:39:01
Die Idee hatte ich auch schon, leider funktioniert dann auch nichts mehr.
Habe gerade mal versucht was ganz anderes zusätzlich zu schalten:
... ELSE  (set avr power on;; set Licht_Fernsehschrank on)
... ELSE  (set avr power on; set Licht_Fernsehschrank on)
... ELSE  set avr power on; set Licht_Fernsehschrank on

Fehlermeldung:
n_DashButtonSchwarzkopf return value: IF: no right bracket: (set avr power on
oder
n_DashButtonSchwarzkopf return value: IF: no left bracket:  set avr power on
Titel: Antw:Mit notify und if mehrere Befehle ausführen
Beitrag von: Beta-User am 05 August 2017, 18:55:33
grade mal in die commandref zu IF gesehen: Dort sind mehrere Befehle in der Klammer durch ein einfaches "," zu trennen...

(Sorry, ich benutze in letzter Zeit nur noch perl, da wäre das mit den zwei ";" wohl richtig gewesen ;) ).
Titel: Antw:Mit notify und if mehrere Befehle ausführen
Beitrag von: dcco am 05 August 2017, 19:42:20
Genial! Du bist mein Held! Jetzt funktioniert alles so wie gewollt! Vielen Dank!  ;D
War dann eigentlich doch so einfach...
Titel: Antw:Mit notify und if mehrere Befehle ausführen
Beitrag von: Beta-User am 05 August 2017, 20:08:20
You are welcome... Ein Blick in die commandref zu dem Modul, das man einsetzen möchte, kann eigentlich nie schaden ;) .

Editierst Du bitte noch den Titel im Eingangspost und machst ein "[Gelöst:]" davor?
Siehe hier (https://forum.fhem.de/index.php/topic,71806.0.html).

Viel Erfolg weiterhin.