[gelöst] DOIF wird nicht ausgewertet

Begonnen von Goofy180173, 07 November 2018, 17:23:03

Vorheriges Thema - Nächstes Thema

Goofy180173

Ich möchte mein Aquariumlicht mit einer schaltbaren Steckdose aufdrehen solange es Tag ist.

defmod aquriumlicht.doif DOIF ({isday("REAL") eq "1"}) (set Steckdose1 on) DOELSE (set Steckdose1 off)

Wenn ich das DOIF mit set Checkall anstupse, dann macht es was es soll ohne Fehler.
Allerdings wird es nie automatisch ein oder ausgeschalten.
mode ist enabled

binford6000

Hallo,
wenn du Checkall machst wird die Funktion aufgerufen. Und nur dann. Mit einem Twilight Device etwa so:
defmod aquriumlicht.doif DOIF ([Twilight_Device:light] >= 4) (set Steckdose1 on) DOELSE (set Steckdose1 off)

VG Sebastian

Goofy180173

Ich hab das jetzt mal genauso umgebaut und bin gespannt ob es morgen in der Früh einschaltet
Wenn ich das jetzt richtig verstanden hab kann ich in der Bedingung keine Perl Funktion verwenden.

amenomade

Und warum machst Du nicht, wie im CommandRef beschrieben?
define di_light DOIF ([{sunrise(900,"06:00","08:00")}]) (set outdoorlight off) DOELSEIF ([{sunset(900,"17:00","21:00")}]) (set outdoorlight on)

Oder mit REAL und ohne Grenzen, wie Du willst:
defmod aquriumlicht.doif DOIF ([{sunrise("REAL")}]) (set Steckdose1 off) DOELSEIF ([{sunset("REAL")}]) (set Steckdose1 on)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Goofy180173

Es funktioniert beides:-)
Vielen Dank für die Hilfe

binford6000

Mit
defmod aquriumlicht.doif DOIF ([Twilight_Device:twilight_weather] >= 75) (set Steckdose1 on) DOELSE (set Steckdose1 off)

hättest du auch noch wetterbedingte Helligkeitsänderungen mit berücksichtigt.
VG Sebastian