Liebes Forum,
es ist lange her, dass ich hier aktiv war oder mit FHEM programmiert habe, also bin ich mir sicher dass es an der Syntax liegt.
Ich hab in meinem Notify folgendes stehen:
ring:on { fhem "
set hueBridge1 savescene xxtmp hueBridge1_HUEGroup6;;
set hueBridge1_HUEGroup6 rgb FF0000;;
set hueBridge1_HUEGroup6 alert lselect;;
sleep 15; set hueBridge1_HUEGroup6 scene xxtmp;;
"}
Log:
2020.12.18 11:18:56 3: set hueBridge1 savescene xxtmp;
set hueBridge1_HUEGroup6 rgb FF0000;
set hueBridge1_HUEGroup6 alert lselect;
sleep 15;
set hueBridge1_HUEGroup6 scene xxtmp;
set hueBridge1_HUEGroup6 deletescene xxtmp
hueBridge1_HUEGroup6 : usage: savescene <name> <lights>
2020.12.18 11:18:56 3:
set hueBridge1_HUEGroup6 savescene xxtmp;;
set hueBridge1_HUEGroup6 rgb FF0000;;
set hueBridge1_HUEGroup6 alert lselect;;
sleep 15;;
set hueBridge1_HUEGroup6 scene xxtmp;;
set hueBridge1_HUEGroup6 deletescene xxtmp
: usage: savescene <name> <lights>
2020.12.18 11:18:56 3: ringnot3 return value: usage: savescene <name> <lights>
2020.12.18 11:18:56 3: set hueBridge1 savescene xxtmp;
set hueBridge1_HUEGroup6 rgb FF0000;
set hueBridge1_HUEGroup6 alert lselect;
sleep 15;
set hueBridge1_HUEGroup6 scene xxtmp;
set hueBridge1_HUEGroup6 deletescene xxtmp
hueBridge1_HUEGroup6 : usage: savescene <name> <lights>
2020.12.18 11:18:56 3:
set hueBridge1_HUEGroup6 savescene xxtmp;;
set hueBridge1_HUEGroup6 rgb FF0000;;
set hueBridge1_HUEGroup6 alert lselect;;
sleep 15;;
set hueBridge1_HUEGroup6 scene xxtmp;;
set hueBridge1_HUEGroup6 deletescene xxtmp
: usage: savescene <name> <lights>
2020.12.18 11:18:56 3: ringnot3 return value: usage: savescene <name> <lights>
Wenn ich die Befehle einzeln abfeure gehts, aber ich glaube es liegt an der Schreib weise im DEF Block.
Könnt ihr mir helfen, mich gegenenfalls belehren wenn ich zu blöd bin zu suchen oder gegen die Forum Regeln verstoße.
Danke
Suche mal nach Hue und blinken...
Schau Dir mal den Syntax für eine Funktion an.
Du rufst die Funktion fhem auf. Richtig istfunktion("Parameter"...)
Du brauchst im in DEINEM notify überhaupt keine fhem(" ") Funktion!
Du nutzt doch nur fhem-Befehle...
https://wiki.fhem.de/wiki/Klammerebenen
EDIT: siehe auch https://wiki.fhem.de/wiki/Notify oder https://wiki.fhem.de/wiki/Notify#Einschalten_von_mehreren_Ger.C3.A4ten.2FLampen.2C_wenn_das_Licht_eingeschaltet_wird
Also einfach:
define nName notify ring:on set hueBridge1 savescene xxtmp hueBridge1_HUEGroup6;; set hueBridge1_HUEGroup6 rgb FF0000;; set hueBridge1_HUEGroup6 alert lselect;; sleep 15;; set hueBridge1_HUEGroup6 scene xxtmp;;
Wichtig: mal bzgl. Strichpunkte "informieren", wann doppelt etc. Bei sleep in deinem Beispiel hat z.B. einer gefehlt (habe ich ergänzt) oder es waren überall einer zu viel...
Es kommt drauf an wo du die "Zeile" eingibst.
Am besten ein "nacktes" Notify erzeugen:
define nName notify ring:on {}
Am besten per EventMonitor erzeugen lassen: https://wiki.fhem.de/wiki/Event_monitor
Und dann auf DEF klicken, die geschweiften Klammern WEG LÖSCHEN (außer du willst/brauchst Perl, dann brauchst du sie nat.!) und dann eben deine set-Befehle etc. mit nur EINEM Strichpunkt eintippen.
Dabei findet dann auch eine "Systax-Kontrolle" satt (also bei Klick auf "Modify")...
EDIT: und das hier in die fhemWebzeile funktioniert?
set hueBridge1 savescene xxtmp hueBridge1_HUEGroup6
Gruß, Joachim
Danke an Alle, die geantwortet haben, so wie es im letzen Kommentar stand, ging es mit einfach ; getrennt. Ich weiß auch nicht wieso ich mich so verrannt habe. Vielen Dank!
Jetzt habe ich noch das Problem, dass wenn ich die Szene vorher speichere, um meinen Zustand nach dem Alarm wiederherzustellen, das nicht so einfach funktioniert, da bei savescene eine ID zurück kommt die man benötigt. Kann mir jemand sagen wie ich diese ID in eine Variable speichern kann?
liebe Grüße
Endlich kann ich auch mal helfen.... :-)
ich habe das wie folgt gelöst:
Der Bewegungsmelder HM_46AAC4 lässt meine HUE rot blinken, speichert vorher die Einstellung in der LightScene LS.97.HUE als Scene SPEICHERMICH ab und ruft sie dann wieder auf
HM_46AAC4:motion {fhem ("set LS.97.HUE save SPEICHERMICH; set 97.02.001.ETKWerkstatt.01 on : bri 100 : rgb ED0000; set 97.02.001.ETKWerkstatt.01 alert lselect; sleep 20; set LS.97.HUE scene SPEICHERMICH")}
Gruß
Michael