Hallo, mein DOIF zur Steuerung der Rollladen will nicht mehr. Es funktionierte alles einwandfrei, von einem auf den anderen Tag war dann Schluss.
do always bringt auch nichts, das DOIF wird nach initialize einmal komplett ausgeführt, also morgens hoch und abends runter, dann kommt nix mehr. Der Eventmonitor sagt mir auch nichts womit man arbeiten könnte. Jemand ne Idee?
Gruß Dennis
([{sunrise("HORIZON=0",0,"08:00","09:30")}|6|0] or [{sunrise("HORIZON=-2.0",0,"06:30","08:30")}|1|2|3|4|5]) (set Kueche_Rollo up;sleep 30;set Wohnen_Rollo up;sleep 30;set UG_Rest up;sleep 30;set Gaestebad up;sleep 30;set SpiZi_Rollo up;sleep 30;set OG_Rollo up) DOELSEIF ([{sunset("HORIZON=-5.0",0,"17:00","22:30")}|5|6] or [{sunset("HORIZON=-3",0,"16:40","22:00")}|0|1|2|3|4]) (set Kueche_Rollo down;sleep 30;set Wohnen_Rollo down;sleep 30;set UG_Rest down;sleep 30;set Gaestebad down;sleep 30;set SpiZi_Rollo down;sleep 30;set OG_Rollo down)
poste doch mal bitte ein list vom DOIF
dann solltest du dich nochmal mit der DOIF Syntax auseinander setzen!
- keine Semikolons (auch wenn sie funktionieren)
- das sleep kannst du mit dem wait-attribut lösen.
Zitat von: Dennis R. am 24 Juli 2018, 10:20:13
Hallo, mein DOIF zur Steuerung der Rollladen will nicht mehr. Es funktionierte alles einwandfrei, von einem auf den anderen Tag war dann Schluss.
do always bringt auch nichts, das DOIF wird nach initialize einmal komplett ausgeführt, also morgens hoch und abends runter, dann kommt nix mehr. Der Eventmonitor sagt mir auch nichts womit man arbeiten könnte. Jemand ne Idee?
Gruß Dennis
([{sunrise("HORIZON=0",0,"08:00","09:30")}|6|0] or [{sunrise("HORIZON=-2.0",0,"06:30","08:30")}|1|2|3|4|5]) (set Kueche_Rollo up;sleep 30;set Wohnen_Rollo up;sleep 30;set UG_Rest up;sleep 30;set Gaestebad up;sleep 30;set SpiZi_Rollo up;sleep 30;set OG_Rollo up) DOELSEIF ([{sunset("HORIZON=-5.0",0,"17:00","22:30")}|5|6] or [{sunset("HORIZON=-3",0,"16:40","22:00")}|0|1|2|3|4]) (set Kueche_Rollo down;sleep 30;set Wohnen_Rollo down;sleep 30;set UG_Rest down;sleep 30;set Gaestebad down;sleep 30;set SpiZi_Rollo down;sleep 30;set OG_Rollo down)
Diese Syntax gibt es nicht:
[{sunrise("HORIZON=-2.0",0,"06:30","08:30")}|1|2|3|4|5]
eher:
[{sunrise("HORIZON=-2.0",0,"06:30","08:30")}|12345]
steh gerade auf dem Schlauch... Wie macht man nochmal ein list davon? ???
Damian, das werde ich mal testen. komisch ist nur das es knapp ein Jahr einwandfrei lief. Oder wurde das Modul geändert? Die Tage einfach ohne Leerzeichen eintragen?
Zitat von: Dennis R. am 24 Juli 2018, 10:35:38
steh gerade auf dem Schlauch... Wie macht man nochmal ein list davon? ???
Damian, das werde ich mal testen. komisch ist nur das es knapp ein Jahr einwandfrei lief. Oder wurde das Modul geändert? Die Tage einfach ohne Leerzeichen eintragen?
Leerzeichen wäre ja noch ok, aber nicht Pipezeichen | als zusätzlichen Trenner zwischen den Zahlen. Das Modul wurde irgendwann mal auf Buchstabenkürzel für Wochentage erweitert. Das kannst du aber alles in der Commandref zu DOIF nachlesen.
Les da gerade drin, also müsste es ja nun so wie unten eigentlich gehen?
wait sieht so aus: 30,30,30,30,30:30,30,30,30,30
da ich je Raum 30 Sekunden verzögern möchte.
([{sunrise("HORIZON=0",0,"08:00","09:30")}|60] or [{sunrise("HORIZON=-2.0",0,"06:30","08:30")}|12345]) (set Kueche_Rollo up) (set Wohnen_Rollo up) (set UG_Rest up) (set Gaestebad up) (set SpiZi_Rollo up) (set OG_Rollo up) DOELSEIF ([{sunset("HORIZON=-5.0",0,"17:00","22:30")}|56] or [{sunset("HORIZON=-3",0,"16:40","22:00")}|01234]) (set Kueche_Rollo down) (set Wohnen_Rollo down) (set UG_Rest down) (set Gaestebad down) (set SpiZi_Rollo down) (set OG_Rollo down)
Manuell ausgeführt läuft es jetzt wie es soll!
Danke schonmal für die Hinweise!
Das bringt mich schon echt weiter!
Jetzt muss es nur noch von allein laufen, aber das seh ich ja heut abend.
Zitat von: Dennis R. am 24 Juli 2018, 10:35:38
steh gerade auf dem Schlauch... Wie macht man nochmal ein list davon? ???
Damian, das werde ich mal testen. komisch ist nur das es knapp ein Jahr einwandfrei lief. Oder wurde das Modul geändert? Die Tage einfach ohne Leerzeichen eintragen?
list "Name des DOIF" (Ohne Haekchen eingeben)
Gruss Christoph
So war das mit dem List... Danke!
Das DOIF scheint zu funktionieren.
und da hat das list geholfen?? :o :o :o :o :o
Moin,
ich hänge mich hier mal mit an, da meine Rolladensteuerung seit dem FHEM-Update am 23.07. auch nicht mehr läuft.
Beiliegend meine Konfig des DOIF.
"verbose = 5" ist seit 3 Tagen drin - es kommen aber keine Einträge im fhem-log. (verbose global ist auf 2 gestellt)
"always" bräuchte meiner Meinung nach gar nicht, habe ich aber zum testen mal aktiviert.
Internals:
DEF ([13:00-18:30] and [ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux] > 4000) (set Lux_West_OnOFF on, set Arbeitszimmer down) DOELSEIF ([13:00-18:00] and [ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux] < 2000) (set Lux_West_OnOFF off, set Arbeitszimmer up)
MODEL FHEM
NAME Rollo_AZ_runter_Lux
NR 151
NTFY_ORDER 50-Rollo_AZ_runter_Lux
STATE initialized
TYPE DOIF
READINGS:
2018-07-31 21:09:30 Device ESPEasy_ESP_Easy_Lux_Sensor_TLS2561
2018-07-30 22:32:49 cmd 0
2018-07-30 22:32:49 mode enabled
2018-07-30 22:32:49 state initialized
2018-07-31 18:30:00 timer_01_c01 01.08.2018 13:00:00
2018-07-31 18:30:00 timer_02_c01 01.08.2018 18:30:00
2018-07-31 18:00:00 timer_03_c02 01.08.2018 13:00:00
2018-07-31 18:00:00 timer_04_c02 01.08.2018 18:00:00
Regex:
attr:
wait:
0:
480
1:
600
condition:
0 DOIF_time($hash,0,1,$wday,$hms) and ReadingValDoIf($hash,'ESPEasy_ESP_Easy_Lux_Sensor_TLS2561','Lux') > 4000
1 DOIF_time($hash,2,3,$wday,$hms) and ReadingValDoIf($hash,'ESPEasy_ESP_Easy_Lux_Sensor_TLS2561','Lux') < 2000
days:
devices:
0 ESPEasy_ESP_Easy_Lux_Sensor_TLS2561
1 ESPEasy_ESP_Easy_Lux_Sensor_TLS2561
all ESPEasy_ESP_Easy_Lux_Sensor_TLS2561
do:
0:
0 set Lux_West_OnOFF on, set Arbeitszimmer down
1:
0 set Lux_West_OnOFF off, set Arbeitszimmer up
2:
helper:
event Lux: 87
globalinit 1
last_timer 4
sleeptimer -1
triggerDev ESPEasy_ESP_Easy_Lux_Sensor_TLS2561
triggerEvents:
Lux: 87
triggerEventsState:
state: Lux: 87
internals:
interval:
0 -1
1 0
2 -1
3 2
intervalfunc:
intervaltimer:
itimer:
localtime:
0 1533121200
1 1533141000
2 1533121200
3 1533139200
readings:
0 ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux
1 ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux
all ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux
realtime:
0 13:00:00
1 18:30:00
2 13:00:00
3 18:00:00
time:
0 13:00:00
1 18:30:00
2 13:00:00
3 18:00:00
timeCond:
0 0
1 0
2 1
3 1
timer:
0 0
1 0
2 0
3 0
timers:
0 0 1
1 2 3
trigger:
triggertime:
1533121200:
localtime 1533121200
hash:
1533139200:
localtime 1533139200
hash:
1533141000:
localtime 1533141000
hash:
uiState:
uiTable:
Attributes:
do always
room ESPEasy,Rolladen
verbose 5
wait 480:600
Die Lux-Werte von ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux sind vorhanden. Heute waren z.B. Lux_Max = 17106.
Vermutlich erzeugt ESPEasy_ESP_Easy_Lux_Sensor_TLS2561:Lux kein Event, daher das Attribut checkReadingEvent 0 setzen, siehe https://fhem.de/commandref_DE.html#DOIF_checkReadingEvent
Danke, das war's scheinbar tatsächlich. Jetzt fahren die Rolladen wie gewünscht.