Blinklicht, Wechsellicht, ......

Begonnen von sash.sc, 30 November 2015, 13:58:11

Vorheriges Thema - Nächstes Thema

sash.sc

Hallo Leute.

Bin dabei mich in FHEm ein wenig einzuarbeiten.
Nun zu meinem "Problem".

Ich habe im Garten zwei Lampen für die Beleuchtung von Pflanzen (Lampe1 und Lampe2).

Lampe1 soll bei einsetzender Dunkelheit (sunset Modul?) für 30 Minuten (SE_BLINKPARAM 1800 1800) eingeschaltet werden soll.
Dann soll Lampe1 ausgeschaltet werden und automatischLampe2 durch Zustandswechsel vom Lampe1 angeschaltet werden, auch für 30 Minuten.
Diese Spektakel soll dann um 24 Uhr komplett ausgeschaltet werden.

Wollte es erst über feste Zeiten realisieren.
Habe mir aber gedacht, dass dies auch einfacher gehen sollte.

Kann mir da jemand helfen !

Danke schonmal
greez
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Vize

Hi,

vielleicht kannst du dich hier mal durchhangeln...ist ein ähnlicher Anwendungsfall mit etwas anderen Bedingungen.

Gruß
Andreas

Wuppi68

ich würde sagen ein AT und 2 Notifies :-)

at --> *Sunrise Lampe1 on-for-timer 30 Minuten

noty Lampe1:Off (wenn vor 24:00 dann Lampe2 on-for-timer 30Minuten)
noty Lampe2:Off (wenn vor 24:00 dann Lampe1 on-for-timer 30Minuten)


das sollte so funktionieren :-) (bis maximal 00:29 wenn der letzte Schaltpunkt um 23:59 war)

Natürlich in Brain und nicht FHEM Code
FHEM unter Proxmox als VM

Damian

Zitat von: sash.sc am 30 November 2015, 13:58:11
Hallo Leute.

Bin dabei mich in FHEm ein wenig einzuarbeiten.
Nun zu meinem "Problem".

Ich habe im Garten zwei Lampen für die Beleuchtung von Pflanzen (Lampe1 und Lampe2).

Lampe1 soll bei einsetzender Dunkelheit (sunset Modul?) für 30 Minuten (SE_BLINKPARAM 1800 1800) eingeschaltet werden soll.
Dann soll Lampe1 ausgeschaltet werden und automatischLampe2 durch Zustandswechsel vom Lampe1 angeschaltet werden, auch für 30 Minuten.
Diese Spektakel soll dann um 24 Uhr komplett ausgeschaltet werden.

Wollte es erst über feste Zeiten realisieren.
Habe mir aber gedacht, dass dies auch einfacher gehen sollte.

Kann mir da jemand helfen !

Danke schonmal
greez
Sascha
eine Möglichkeit wäre z. B.:

define di DOIF ([{sunset}-00:00]) (set lamp1 on)(set lamp1 off, set lamp2 on) (set lemp2 off)
attr di wait 0,1800,1800
attr di repeatcmd 1


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Wird beim dem

attr di wait 0,1800,1800

Befehl nicht das ganze System angehalten ??

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

#5
Zitat von: sash.sc am 30 November 2015, 21:22:54
Wird beim dem

attr di wait 0,1800,1800

Befehl nicht das ganze System angehalten ??

Gruß
Sascha

wie kommst du denn darauf??
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Habe sowas in der Vergangenheit mal gelesen. Wenn das nicht so ist, ist es gut ! ;-)

Wird das DOIF jeden Tag automatisch wiederholt? Oder muss man da noch was ergänzen ?
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

Zitat von: sash.sc am 30 November 2015, 21:34:39
Habe sowas in der Vergangenheit mal gelesen. Wenn das nicht so ist, ist es gut ! ;-)

Du hast das mit dem Sleep-Befehl verwechselt, der schon mal blockieren konnte, wenn man ihn falsch angewendet hat. Wait ist reine DOIF-Funktionalität - es wäre nicht gut, wenn ich da etwas blockierendes eingebaut hätte ;)

Zitat
Wird das DOIF jeden Tag automatisch wiederholt? Oder muss man da noch was ergänzen ?

ja, nein.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Habe es mal für mich angepasst.


define LW1 DOIF ([{sunset_abs("REAL",0,0)}] (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off))
attr LW1 wait 0,1800,1800
attr LW1 repeatcmd 1


Wird sich morgen zeigen, ob es funktioniert.  ;)


Läuft dieser Wechsel immer durch, oder hört der Tagsüber auf ?
Das ganze sollte gegen 24 Uhr bzw. 1 Uhr morgens sich abschalten !
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

#9
Zitat von: sash.sc am 30 November 2015, 22:23:55
Habe es mal für mich angepasst.


define LW1 DOIF ([{sunset_abs("REAL",0,0)}] (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off))
attr LW1 wait 0,1800,1800
attr LW1 repeatcmd 1


Wird sich morgen zeigen, ob es funktioniert.  ;)


Läuft dieser Wechsel immer durch, oder hört der Tagsüber auf ?
Das ganze sollte gegen 24 Uhr bzw. 1 Uhr morgens sich abschalten !

Tja, durch deine Anpassung ist es jetzt kein Zeitintervall mehr und es wird sich auch nicht mehr um Mitternacht abschalten. Also wenn schon dann:

([{sunset_abs("REAL",0,0)}-00:00] ....

Edit: Ich sehe gerade, dass man die Lampen um Mitternach noch ausschalten muss, also hinten noch mal dranhängen:

... DOELSE (set EG_g_bl_Licht off, set EG_g_ku_Licht off)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

Zur Vollständigkeit .....

define LW1 DOIF ([{sunset_abs("REAL",0,0)}-00:00] (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off) DOELSE (set EG_g_bl_Licht off, set EG_g_ku_Licht off))

Danke für die Unterstützung.

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Damian

Zitat von: sash.sc am 30 November 2015, 22:41:57
Zur Vollständigkeit .....

define LW1 DOIF ([{sunset_abs("REAL",0,0)}-00:00] (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off) DOELSE (set EG_g_bl_Licht off, set EG_g_ku_Licht off))

Danke für die Unterstützung.

Gruß
Sascha

Deine Klammerung ist noch falsch, dann eher so:

define LW1 DOIF ([{sunset_abs("REAL",0,0)}-00:00]) (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off) DOELSE (set EG_g_bl_Licht off, set EG_g_ku_Licht off)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

sash.sc

#12
Danke.

Edit: Wenn ich die letzte Klammer ) wegnehme, dann gibt es eine Fehlermeldung !!!

Habe mal heute morhen nachgeschaut bei den Internals. Da stand dann heute ab 00:00 Uhr folgendes drin.
error

perl error in condition: DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") (set EG_g_bl_Licht on) (set EG_g_bl_Licht off, set EG_g_ku_Licht on) (set EG_g_ku_Licht off) DOELSE (set EG_g_bl_Licht off, set EG_g_ku_Licht off): syntax error at (eval 84) line 1, near ") ("
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb