Hallo.
Ich möchte eine LED leiste die Farben im Kreis laufen lassen.
(([Xpeed_on] eq "on" and [20:00-06:00|7]) or ([FS20_701002] eq "on")) (set LED_Mediacenter RGB 0000FF)
DOELSEIF (([Xpeed_on] eq "on" and [20:00-06:00|12345]) or ([FS20_701002] eq "on")) (set LED_Mediacenter RGB FF00FF)
DOELSEIF ([LED_Mediacenter:hue] = 360) ((set LED_Mediacenter HSV 120,100,80 1200))
DOELSEIF ([LED_Mediacenter:hue] = 120) ((set LED_Mediacenter HSV 240,100,80 1200))
DOELSEIF ([LED_Mediacenter:hue] = 240) ((set LED_Mediacenter HSV 360,100,80 1200))
DOELSE ([Xpeed_on] eq "off" and [FS20_701002] eq "off") (set LED_Mediacenter off)
Ein/aus schalten klappt ja, auch die Startfarbe wird gesetzt, doch die Werte werden nicht weiterverarbeitet. Es kommt auch kein error im DOIF. Der Wert "hue" finde ich auch nicht unter den readings.
Was mache ich falsch?
[edit]
habe nun manuell einen wert gesetzt, aber dann kommt fehlermeldung:
perl error in condition: EventDoIf('LED_Mediacenter',$hash,'hue',0) = 360: Can't modify non-lvalue subroutine call in scalar assignment at (eval 5561077) line 2, at EOF
ich denke, das da ein ausschluss zuschlägt. doalways habe ich nicht gesetzt.
Schau mal hier (https://forum.fhem.de/index.php/topic,52461.0.html) rein.
Zitat von: Per am 24 April 2016, 10:27:13
Schau mal hier (https://forum.fhem.de/index.php/topic,52461.0.html) rein.
Danke. Werd nur bedingt schlau.
hab ein DOIF angelegt:
(["LED_Mediacenter:RGB"] ne "FF0000") ((set LED_Mediacenter RGB 0000FF 1200 q) {([LED_Mediacenter:RGB] + (([LED_Mediacenter:RGB]) ? 1 : -1))})
DOELSEIF (["LED_Mediacenter:RGB"] eq "0000FF") ((set LED_Mediacenter RGB FF0000 1200 q) {([LED_Mediacenter:RGB] + (([LED_Mediacenter:RGB]) ? 1 : -1))})
DOELSE
bekomme aber beim schalten dann diesen error
+
{(0000FF + ((0000FF) ? 1 : -1))}: syntax error at (eval 5593020) line 1, near "0000FF "
kann den grund aber nicht finden
gruss
Zitat von: satprofi am 24 April 2016, 10:55:23Werd nur bedingt schlau.
Geht um
selftrigger und
wait...
Zitat von: Per am 24 April 2016, 11:25:27
Geht um selftrigger und wait...
dacht ich mir, aber ich habe kein attr selftrigger zur auswahl.
Zitat von: satprofi am 24 April 2016, 11:35:18
dacht ich mir, aber ich habe kein attr selftrigger zur auswahl.
Gibt es hier: https://forum.fhem.de/index.php/topic,51060.0.html
Hallo.
habe jetzt das neue DOIF, und selftrigger auch engetragen.
DOIF startet, aber nur cmd1 dann am ende steht es. startet nicht mit cmd2
auch ein setzen von 0000FF bewirkt kein cmd2.
([LED_Mediacenter:RGB] ne "FF0000") (set LED_Mediacenter RGB 0000FF 30 q)
DOELSEIF ([LED_Mediacenter:RGB] eq "0000FF") (set LED_Mediacenter RGB FF0000 30 q)
DOELSE
wait 5:5:5
Zitat von: Per am 24 April 2016, 10:27:13Schau mal hier (https://forum.fhem.de/index.php/topic,52461.0.html) rein.
Nicht bis zum Ende (https://forum.fhem.de/index.php/topic,52461.msg442558.html#msg442558) gelesen?
Zitat von: Per am 25 April 2016, 11:59:38
Nicht bis zum Ende (https://forum.fhem.de/index.php/topic,52461.msg442558.html#msg442558) gelesen?
doch, mit dem hatte ich es vorher. da wurde auch schön bis ans ende getriggert, aber immer mit fehlermeldung. aber dann kein cmd2 abgesetzt.
Zitat von: satprofi am 25 April 2016, 11:46:20
Hallo.
habe jetzt das neue DOIF, und selftrigger auch engetragen.
DOIF startet, aber nur cmd1 dann am ende steht es. startet nicht mit cmd2
auch ein setzen von 0000FF bewirkt kein cmd2.
([LED_Mediacenter:RGB] ne "FF0000") (set LED_Mediacenter RGB 0000FF 30 q)
DOELSEIF ([LED_Mediacenter:RGB] eq "0000FF") (set LED_Mediacenter RGB FF0000 30 q)
DOELSE
wait 5:5:5
Eine Erklärung für die Fehlfunktion könnte hier stehen: https://forum.fhem.de/index.php/topic,51060.msg442955.html#msg442955
Ausserdem könnte bei [LED_Mediacenter:RGB] ne "FF0000" bei jeder Aktualisierung zurück getriggert werden.
Ich würde es so lösen:
([LED_Mediacenter] eq "on" or [$SELF:cmd] == 2.2) (set LED_Mediacenter RGB 0000FF 30 q) ()
DOELSEIF ([$SELF:cmd] == 1.2)) (set LED_Mediacenter RGB FF0000 30 q) ()
selftrigger 1
wait 0.1,31:0.1,31
Hallo.
Vorerst danke,aber ohne das ganze wirklich zu verstehen klappt es nur so:
([LED_Mediacenter] eq "on" or [$SELF:cmd] == 2.2) (set LED_Mediacenter RGB 0000FF 30 q,set LED_Mediacenter RGB 00FF00 30 q,set LED_Mediacenter RGB FF0000 30 q)
DOELSEIF ([$SELF:cmd] == 1.2) (set LED_Mediacenter RGB FF0000 30 q) ()
wobei aber niemals cmd2 zuschlägt.
do always habe ich auch noch gesetzt.
gruss
Poste mal die Logeinträge, wenn Du mit dem nachstehenden notify mitloggst:
define LogNotify notify LED_Mediacenter|<DOIFname> {Log 1, "LogNotify: ($NAME) $EVENT"}
und poste mal ein Listing des DOIF.
Was ist LED_Mediacenter für ein Gerät?
Mediacenter = ld382a
Sent from my OPO
Internals: DEF ([LED_Mediacenter] eq "on" or [$SELF:cmd] == 2.2) (set LED_Mediacenter RGB 0000FF 1200 q,set LED_Mediacenter RGB 00FF00 1200 q,set LED_Mediacenter RGB FF0000 1200 q) DOELSE NAME Medialicht_Farbspiel NR 804 NTFY_ORDER 50-Medialicht_Farbspiel STATE cmd_1 TYPE DOIF Readings: 2016-04-25 20:22:16 Device Medialicht_Farbspiel 2016-04-25 20:22:16 cmd 1 2016-04-25 20:22:16 cmd_event Medialicht_Farbspiel 2016-04-25 20:22:16 cmd_nr 1 2016-04-25 20:22:16 e_LED_Mediacenter_STATE on 2016-04-25 20:22:16 e_Medialicht_Farbspiel_cmd 1 2016-04-25 20:22:16 state cmd_1 2016-04-25 20:22:16 wait_timer 25.04.2016 20:22:16 cmd_1 Medialicht_Farbspiel Condition: 0 InternalDoIf($hash,'LED_Mediacenter','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "on" or ReadingValDoIf($hash,'Medialicht_Farbspiel','cmd','','',AttrVal($hash->{NAME},'notexist',undef)) == 2.2 Devices: 0 LED_Mediacenter Medialicht_Farbspiel all LED_Mediacenter Medialicht_Farbspiel Do: 0: 0 set LED_Mediacenter RGB 0000FF 1200 q,set LED_Mediacenter RGB 00FF00 1200 q,set LED_Mediacenter RGB FF0000 1200 q 1: 0 Helper: event cmd_nr: 1,cmd: 1,cmd_event: Medialicht_Farbspiel,cmd_1,Device: Medialicht_Farbspiel,e_Medialicht_Farbspiel_cmd: 1 globalinit 1 last_timer 0 sleepdevice Medialicht_Farbspiel sleepsubtimer 0 sleeptimer 0 timerdev Medialicht_Farbspiel timerevent cmd_nr: 1,cmd: 1,cmd_event: Medialicht_Farbspiel,cmd_1,Device: Medialicht_Farbspiel,e_Medialicht_Farbspiel_cmd: 1 triggerDev Medialicht_Farbspiel timerevents: cmd_nr: 1 cmd: 1 cmd_event: Medialicht_Farbspiel cmd_1 Device: Medialicht_Farbspiel e_Medialicht_Farbspiel_cmd: 1 timereventsState: cmd_nr: 1 cmd: 1 cmd_event: Medialicht_Farbspiel state: cmd_1 triggerEvents: cmd_nr: 1 cmd: 1 cmd_event: Medialicht_Farbspiel cmd_1 Device: Medialicht_Farbspiel e_Medialicht_Farbspiel_cmd: 1 triggerEventsState: cmd_nr: 1 cmd: 1 cmd_event: Medialicht_Farbspiel state: cmd_1 Internals: 0 LED_Mediacenter:STATE all LED_Mediacenter:STATE Itimer: Readings: 0 Medialicht_Farbspiel:cmd all Medialicht_Farbspiel:cmd Regexp: 0: All: State: Trigger: Attributes: do always room DOIF selftrigger 1 wait 0.1,1201
Sent from my OPO