FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Spartacus am 25 März 2022, 11:41:19

Titel: DOIF Ausgabe Issue
Beitrag von: Spartacus am 25 März 2022, 11:41:19
Hallo,

ich möchte diesen Befehl in einer DOIF Ausgabe anwenden, doch es kommt eine Fehlermeldung (siehe unten). In der Kommandozeile funktioniert der Befehl einwandfrei.
set HUEDevice3 bri 2:xy 0.0482,0.9757

Der Befehl wird ignoriert, wie muss der Befehl im DOIF richtig lauten, damit auch die Farbe korrekt eingestellt wird?

defmod diSchubert DOIF ([EG.ss.LS.Eingang:buttons] eq "pressed")\
(set HUEDevice15 off, set HUEDevice3 bri 2:xy 0.0482,0.9757)\
DOELSEIF\
([EG.ss.LS.Eingang:buttons] eq "released")\
(set HUEDevice15 off, set HUEDevice3 off)\
DOELSE
attr diSchubert alias Schubert Kommt
attr diSchubert do always
attr diSchubert group Fernbedienung
attr diSchubert room 02-Obergeschoss -> Schlafzimmer
attr diSchubert wait 0:4

setstate diSchubert initialized
setstate diSchubert 2022-03-25 11:42:51 cmd 0
setstate diSchubert 2022-03-25 11:42:51 mode enabled
setstate diSchubert 2022-03-25 11:42:51 state initialized
Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Otto123 am 25 März 2022, 15:43:56
https://fhem.de/commandref_DE.html#DOIF_Angaben_im_Ausfuehrungsteil
ZitatSollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben ... (set lamp1 on, set lamp2 off)

Falls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)
Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Spartacus am 25 März 2022, 16:11:56
Moin ,

ZitatSollen mehrere FHEM-Befehle ausgeführt werden, so werden sie mit Komma statt mit Semikolon angegeben ... (set lamp1 on, set lamp2 off)
und wo soll jetzt noch das Komma dazwischen? Device 15 und Device 3 sind doch durch Komma getrennt!

(set HUEDevice15 off, set HUEDevice3 bri 2:xy 0.0482,0.9757)
Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Damian am 25 März 2022, 17:54:55
Zitat von: Spartacus am 25 März 2022, 16:11:56
Moin ,
und wo soll jetzt noch das Komma dazwischen? Device 15 und Device 3 sind doch durch Komma getrennt!

(set HUEDevice15 off, set HUEDevice3 bri 2:xy 0.0482,0.9757)

Es war aber der zweite Satz hier für dich wichtig:

ZitatFalls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)
Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Spartacus am 25 März 2022, 18:19:53
Moin,
bin ich zu blöd dazu. Was soll denn von diesem Ausdruck "lamp1" und "lamp2" sein?
Das ist doch nur ein Device "HUEdevice3" was Farbe und Helligkeit ändern soll!

set HUEdevice3 bri 3:xy 0.0482,0.9757




Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Otto123 am 25 März 2022, 18:22:05
Und genau bei dem Befehl musst Du (nur im DOIF) das Komma 0.0482,0.9757 mit einer weiteren Klammer quasi schützen:
(set HUEDevice15 off,( set HUEDevice3 bri 2:xy 0.0482,0.9757))

ZitatFalls ein Komma nicht als Trennzeichen zwischen FHEM-Befehlen gelten soll, so muss der FHEM-Ausdruck zusätzlich in runde Klammern gesetzt werden: ...((set lamp1,lamp2 on),set switch on)
Titel: Antw:DOIF Ausgabe Issue
Beitrag von: Spartacus am 25 März 2022, 19:14:31
Hallo Otto,

ob du es glaubst oder nicht! Diese Kombi hatte ich bei meinen Versuchen auch schon! Allerdings funktioniert das nicht nachdem der Strom weg war. Ich hatte das die ganze Zeit genau so getestet. Stecker raus, Lampe leuchtet rot und mit pct=100; set cmd1, Lampe leuchtet in eingestellter Farbe, aber die Helligkeit bleibt auf 100%. Erst ein erneutes Ausführen von cmd1 ändert auch die Helligkeit.

Verstelle ich Farbe und Helligkeit über fhem und führe dann cmd1 aus, dann funktioniert alles. Komischerweise funktioniert der Konsolenbefehl immer korrekt, auch nach einem PowerOff. KEine Ahnung, ob darauf jemand eine Antwort weiß!

Hier noch mal das DOIF:
defmod diSchubert DOIF ([EG.ss.LS.Eingang:buttons] eq "pressed")\
(set HUEDevice15 off, (set HUEDevice3 bri 2:xy 0.0482,0.9757))\
DOELSEIF\
([EG.ss.LS.Eingang:buttons] eq "released")\
(set HUEDevice15 off, set HUEDevice3 off)\
DOELSE
attr diSchubert alias Schubert Kommt
attr diSchubert do always
attr diSchubert group Fernbedienung
attr diSchubert room 02-Obergeschoss -> Schlafzimmer
attr diSchubert wait 0:4

setstate diSchubert cmd_1
setstate diSchubert 2022-03-25 19:07:37 cmd 1
setstate diSchubert 2022-03-25 19:07:37 cmd_event set_cmd_1
setstate diSchubert 2022-03-25 19:07:37 cmd_nr 1
setstate diSchubert 2022-03-25 18:58:36 mode enabled
setstate diSchubert 2022-03-25 19:07:37 state cmd_1
setstate diSchubert 2022-03-25 18:59:24 wait_timer no timer