Hallo Leute,
ich weiß nicht wie ich es noch ändern kann, oder muss. Habe ein Problem mit meiner Jalousiensteuerung wenn die anderen werte nicht ausgelöst wird (CMD 1-2) dann wird 3 nur einmal ausgelöst. Habt ihr vielleicht einen Tip für mich wie ich dieses ändern kann? Meine Jalousie wird von einer Siemens Logo gesteuert. Die Hauptaufgabe übernimmt der PI und die Logo ist das Backup.
Internals:
DEF ([?7:00-18:00] and [LichtsensorOG:lux]> 700 and [LaCrosse_16:temperature:d] > 17 and [?myTwilight:azimuth] > 70 and [myTwilight:azimuth] < 269 and [?Wetter:weather] =~ "Nebel|heiter|klar|sonnig|wolkig" and [?Astro:ObsSeason] =~ "Frühling|Sommer|Herbst") (set Sonnenschutz_OG_runter trigger)
DOELSEIF
([?7:00-18:00] and [LichtsensorOG:lux]> 700 and [LaCrosse_16:temperature:d] > 25) (set Sonnenschutz_OG_runter trigger)
DOELSEIF
([?8:00-18:20] and ([LichtsensorOG:lux]< 20 or [?myTwilight:azimuth] > 270 or [?Wetter:weather] =~ "regen|stark bewölkt|Regenschauer|bewölkt|bedeckt")) (set Sonnenschutz_OG_hoch trigger)
DOELSEIF
([({twilight("myTwilight","ss","16:30","18:30")}-120+int(rand(600)))])
(set OG_ganz_runter trigger)
FUUID 60788fbf-f33f-87a8-83d4-99553dcc5d5c6558
MODEL FHEM
NAME Jalousie_OG
NOTIFYDEV LaCrosse_16,LichtsensorOG,myTwilight,global
NR 34
NTFY_ORDER 50-Jalousie_OG
STATE initialized
TYPE DOIF
VERSION 24434 2021-05-13 20:27:41
READINGS:
2021-08-07 15:33:43 Device myTwilight
2021-08-07 15:30:20 cmd 0
2021-08-07 15:32:04 e_LaCrosse_16_temperature 22.1
2021-08-07 15:33:43 e_myTwilight_azimuth 223.67
2021-08-07 15:30:20 mode enabled
2021-08-07 15:30:20 state initialized
2021-08-07 15:30:20 timer_01_c01 08.08.2021 07:00:00
2021-08-07 15:30:20 timer_02_c01 07.08.2021 18:00:00
2021-08-07 15:30:20 timer_03_c02 08.08.2021 07:00:00
2021-08-07 15:30:20 timer_04_c02 07.08.2021 18:00:00
2021-08-07 15:30:20 timer_05_c03 08.08.2021 08:00:00
2021-08-07 15:30:20 timer_06_c03 07.08.2021 18:20:00
2021-08-07 15:30:20 timer_07_c04 07.08.2021 18:36:08
2021-08-07 15:36:39 wait_timer 07.08.2021 15:46:39 cmd_3 Jalousie_OG
Regex:
accu:
collect:
cond:
LaCrosse_16:
0:
temperature ^LaCrosse_16$:^temperature:
1:
temperature ^LaCrosse_16$:^temperature:
2:
3:
LichtsensorOG:
0:
lux ^LichtsensorOG$:^lux:
1:
lux ^LichtsensorOG$:^lux:
2:
lux ^LichtsensorOG$:^lux:
myTwilight:
0:
azimuth ^myTwilight$:^azimuth:
1:
2:
3:
attr:
wait:
0:
120
1:
60
2:
600
3:
0
waitdel:
condition:
0 ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'LichtsensorOG','lux')> 700 and ::ReadingValDoIf($hash,'LaCrosse_16','temperature','','d') > 17 and ::ReadingValDoIf($hash,'myTwilight','azimuth') > 70 and ::ReadingValDoIf($hash,'myTwilight','azimuth') < 269 and ::ReadingValDoIf($hash,'Wetter','weather') =~ "Nebel|heiter|klar|sonnig|wolkig" and ::ReadingValDoIf($hash,'Astro','ObsSeason') =~ "Frühling|Sommer|Herbst"
1 ::DOIF_time($hash,2,3,$wday,$hms) and ::ReadingValDoIf($hash,'LichtsensorOG','lux')> 700 and ::ReadingValDoIf($hash,'LaCrosse_16','temperature','','d') > 25
2 ::DOIF_time($hash,4,5,$wday,$hms) and (::ReadingValDoIf($hash,'LichtsensorOG','lux')< 20 or ::ReadingValDoIf($hash,'myTwilight','azimuth') > 270 or ::ReadingValDoIf($hash,'Wetter','weather') =~ "regen|stark bewölkt|Regenschauer|bewölkt|bedeckt")
3 ::DOIF_time_once($hash,6,$wday)
days:
do:
0:
0 set Sonnenschutz_OG_runter trigger
1:
0 set Sonnenschutz_OG_runter trigger
2:
0 set Sonnenschutz_OG_hoch trigger
3:
0 set OG_ganz_runter trigger
4:
helper:
DEVFILTER ^global$|^LichtsensorOG$|^myTwilight$|^LaCrosse_16$
NOTIFYDEV global|LichtsensorOG|myTwilight|LaCrosse_16
event azimuth: 223.67,elevation: 46.18,twilight: 100,twilight_weather: 47,compasspoint: south-southwest
globalinit 1
last_timer 7
sleepdevice Jalousie_OG
sleepsubtimer 0
sleeptimer 2
timerdev
timerevent azimuth: 223.67,elevation: 46.18,twilight: 100,twilight_weather: 47,compasspoint: south-southwest
timerevents
timereventsState
triggerDev
internals:
interval:
0 -1
1 0
2 -1
3 2
4 -1
5 4
intervalfunc:
localtime:
0 1628398800
1 1628352000
2 1628398800
3 1628352000
4 1628402400
5 1628353200
6 1628354168
readings:
all LichtsensorOG:lux LaCrosse_16:temperature myTwilight:azimuth
realtime:
0 07:00:00
1 18:00:00
2 07:00:00
3 18:00:00
4 08:00:00
5 18:20:00
6 18:36:08
time:
0 7:00
1 18:00:00
2 7:00
3 18:00:00
4 8:00
5 18:20:00
6 ({twilight("myTwilight","ss","16:30","18:30")}-120+int(rand(600)))
timeCond:
0 0
1 0
2 1
3 1
4 2
5 2
6 3
timer:
0 0
1 0
2 0
3 0
4 0
5 0
6 0
timers:
3 6
trigger:
triggertime:
1628352000:
localtime 1628352000
hash:
1628353200:
localtime 1628353200
hash:
1628354168:
localtime 1628354168
hash:
1628398800:
localtime 1628398800
hash:
1628402400:
localtime 1628402400
hash:
uiState:
uiTable:
Attributes:
room Logo
wait 120:60:600:0
Mit den anderen Unterstützungsprogrammen für die Jalousiensteuerung tu ich mich sau schwer und bekomme es nicht hin. Falls einer mir es zeigen kann würde ich es auch mit so einem Programm probieren.
Danke
Hi,
was genau meinst Du damit?
Zitatdann wird 3 nur einmal ausgelöst.
Das wäre übliches Verhalten von DOIF, Bedingung erfüllt cmd auslösen, Bedingung nochmal erfüllt: nichts tun.
Was genau erwartest Du für ein Verhalten?
Schau Dir die Beschreibung vom attr do always an.
Gruß Otto
Ich würde gerne das sie cmd 4 jeden Abend auslöst und die anderen dann wenn es nötig ist. Die anderen funktionieren auch soweit nur das Abends funktioniert nicht wenn kein anderes Cmd vorher ausgelöst wurde sondern immer noch im cmd 4 steht vom Vorabend.
Mit do always löst der die anderen Bedingungen mehrfach aus. Und wenn ich das dann wieder mit einer Sperre versehe löst er mir das abends wieder nicht aus 😞
Das ist vielleicht der Fall wo man die leere ELSE am Ende braucht? :-\
DOELSE()
Ich probiere es mal damit
Danke für den tip
Andere Frage, wenn du das DOIF auf disabled setzt: wie soll es dann wieder loslegen?
Also "irgendwas" muss doch das DOIF wieder enablen, sonst macht es doch nix mehr...
da bin ich mit einem anderen DOIF aus einem anderen Post durcheinander gekommen!
Gruß, Joachim
Ich hatte es auf disable gesetzt. Weil es nicht lief.
Zitat von: Wasserwerk33 am 08 August 2021, 10:28:25
Ich hatte es auf disable gesetzt. Weil es nicht lief.
Hattest du nicht, zumindest war das disable, also set DOIF disable gestern noch im DOIF drin (wenn ich mich nicht total verschaut habe)...
...und auch im Text hattest du geschrieben, dass du das DOIF ja bei OFF disablen willst (und ja auch hast laut "Code" im DOIF)...Ups, sorry!
Jaja, da bin ich mit einem anderen DOIF aus einem anderen Post durcheinander gekommen!
Gruß, Joachim
Also mein neuer Code sieht so aus.
Werde es damit heute abend mal Probieren. Den so wie es aussieht wird es heute Abend um 18:29:42 schalten.
Internals:
DEF ([?7:00-18:00] and [LichtsensorOG:lux]> 700 and [LaCrosse_16:temperature:d] > 17 and [?myTwilight:azimuth] > 70 and [myTwilight:azimuth] < 269 and [?Wetter:weather] =~ "Nebel|heiter|klar|sonnig|wolkig" and [?Astro:ObsSeason] =~ "Frühling|Sommer|Herbst") (set Sonnenschutz_OG_runter trigger)
DOELSEIF
([?7:00-18:00] and [LichtsensorOG:lux]> 700 and [LaCrosse_16:temperature:d] > 25) (set Sonnenschutz_OG_runter trigger)
DOELSEIF
([?8:00-18:20] and ([LichtsensorOG:lux]< 20 or [?myTwilight:azimuth] > 270 or [?Wetter:weather] =~ "regen|stark bewölkt|Regenschauer|bewölkt|bedeckt")) (set Sonnenschutz_OG_hoch trigger)
DOELSEIF
([({twilight("myTwilight","ss","16:30","18:30")}-120+int(rand(600)))])
(set OG_ganz_runter trigger)
DOELSE
()
FUUID 60788fbf-f33f-87a8-83d4-99553dcc5d5c6558
MODEL FHEM
NAME Jalousie_OG
NOTIFYDEV LaCrosse_16,LichtsensorOG,myTwilight,global
NR 34
NTFY_ORDER 50-Jalousie_OG
STATE cmd_5
TYPE DOIF
VERSION 24434 2021-05-13 20:27:41
READINGS:
2021-08-08 11:08:44 Device myTwilight
2021-08-07 20:42:50 cmd 5
2021-08-07 20:42:50 cmd_event Jalousie_OG
2021-08-07 20:42:50 cmd_nr 5
2021-08-08 11:04:43 e_LaCrosse_16_temperature 18.4
2021-08-08 11:08:44 e_myTwilight_azimuth 128.34
2021-08-07 20:42:46 mode enabled
2021-08-07 20:42:50 state cmd_5
2021-08-07 20:42:47 timer_01_c01 08.08.2021 07:00:00
2021-08-07 20:42:47 timer_02_c01 08.08.2021 18:00:00
2021-08-07 20:42:47 timer_03_c02 08.08.2021 07:00:00
2021-08-07 20:42:47 timer_04_c02 08.08.2021 18:00:00
2021-08-07 20:42:47 timer_05_c03 08.08.2021 08:00:00
2021-08-07 20:42:47 timer_06_c03 08.08.2021 18:20:00
2021-08-07 20:42:47 timer_07_c04 08.08.2021 18:29:42
Regex:
accu:
collect:
cond:
LaCrosse_16:
0:
temperature ^LaCrosse_16$:^temperature:
1:
temperature ^LaCrosse_16$:^temperature:
2:
3:
LichtsensorOG:
0:
lux ^LichtsensorOG$:^lux:
1:
lux ^LichtsensorOG$:^lux:
2:
lux ^LichtsensorOG$:^lux:
myTwilight:
0:
azimuth ^myTwilight$:^azimuth:
1:
2:
3:
attr:
cmdState:
wait:
0:
120
1:
60
2:
600
3:
0
waitdel:
condition:
0 ::DOIF_time($hash,0,1,$wday,$hms) and ::ReadingValDoIf($hash,'LichtsensorOG','lux')> 700 and ::ReadingValDoIf($hash,'LaCrosse_16','temperature','','d') > 17 and ::ReadingValDoIf($hash,'myTwilight','azimuth') > 70 and ::ReadingValDoIf($hash,'myTwilight','azimuth') < 269 and ::ReadingValDoIf($hash,'Wetter','weather') =~ "Nebel|heiter|klar|sonnig|wolkig" and ::ReadingValDoIf($hash,'Astro','ObsSeason') =~ "Frühling|Sommer|Herbst"
1 ::DOIF_time($hash,2,3,$wday,$hms) and ::ReadingValDoIf($hash,'LichtsensorOG','lux')> 700 and ::ReadingValDoIf($hash,'LaCrosse_16','temperature','','d') > 25
2 ::DOIF_time($hash,4,5,$wday,$hms) and (::ReadingValDoIf($hash,'LichtsensorOG','lux')< 20 or ::ReadingValDoIf($hash,'myTwilight','azimuth') > 270 or ::ReadingValDoIf($hash,'Wetter','weather') =~ "regen|stark bewölkt|Regenschauer|bewölkt|bedeckt")
3 ::DOIF_time_once($hash,6,$wday)
days:
do:
0:
0 set Sonnenschutz_OG_runter trigger
1:
0 set Sonnenschutz_OG_runter trigger
2:
0 set Sonnenschutz_OG_hoch trigger
3:
0 set OG_ganz_runter trigger
4:
0
helper:
DEVFILTER ^global$|^LaCrosse_16$|^myTwilight$|^LichtsensorOG$
NOTIFYDEV global|LaCrosse_16|myTwilight|LichtsensorOG
event azimuth: 128.34,elevation: 42.89,twilight: 100,twilight_weather: 30,compasspoint: east-southeast
globalinit 1
last_timer 7
sleeptimer -1
timerdev myTwilight
timerevent azimuth: 128.34,elevation: 42.89,twilight: 100,twilight_weather: 30,compasspoint: east-southeast
triggerDev myTwilight
timerevents:
azimuth: 128.34
elevation: 42.89
twilight: 100
twilight_weather: 30
compasspoint: east-southeast
timereventsState:
azimuth: 128.34
elevation: 42.89
twilight: 100
twilight_weather: 30
compasspoint: east-southeast
triggerEvents:
azimuth: 128.34
elevation: 42.89
twilight: 100
twilight_weather: 30
compasspoint: east-southeast
triggerEventsState:
azimuth: 128.34
elevation: 42.89
twilight: 100
twilight_weather: 30
compasspoint: east-southeast
internals:
interval:
0 -1
1 0
2 -1
3 2
4 -1
5 4
intervalfunc:
intervaltimer:
localtime:
0 1628398800
1 1628438400
2 1628398800
3 1628438400
4 1628402400
5 1628439600
6 1628440182
readings:
all LichtsensorOG:lux LaCrosse_16:temperature myTwilight:azimuth
realtime:
0 07:00:00
1 18:00:00
2 07:00:00
3 18:00:00
4 08:00:00
5 18:20:00
6 18:29:42
time:
0 7:00
1 18:00:00
2 7:00
3 18:00:00
4 8:00
5 18:20:00
6 ({twilight("myTwilight","ss","16:30","18:30")}-120+int(rand(600)))
timeCond:
0 0
1 0
2 1
3 1
4 2
5 2
6 3
timer:
0 0
1 0
2 0
3 0
4 0
5 0
6 0
timers:
3 6
trigger:
triggertime:
1628438400:
localtime 1628438400
hash:
1628439600:
localtime 1628439600
hash:
1628440182:
localtime 1628440182
hash:
uiState:
uiTable:
Attributes:
room Logo
wait 120:60:600:0
Hallo Leute,
So im Winter hat meine Doif super geschaltet mit
DOELSE
()
nur leider löst er nun dauerhaft aus, so das die Jalousien ganz runterfahren. Hat jemand vielleicht noch eine Idee wie es angehen kann ohne das sie dauerhaft schalten, oder halt eben bei schlechtem wetter garnicht fahren, also abends, weil sich der CMD nicht geändert hat?
Hatte auch schon die Temperatur mit Fragezeichen davor gesetzt dann schaltet sie garnicht mehr. Weil ich dann ja keinen Trigger punkt mehr richtig??
Danke für eure Hilfe
Zitat von: Wasserwerk33 am 03 Juni 2022, 11:40:27
Hallo Leute,
So im Winter hat meine Doif super geschaltet mit
DOELSE
()
nur leider löst er nun dauerhaft aus, so das die Jalousien ganz runterfahren. Hat jemand vielleicht noch eine Idee wie es angehen kann ohne das sie dauerhaft schalten, oder halt eben bei schlechtem wetter garnicht fahren, also abends, weil sich der CMD nicht geändert hat?
Hatte auch schon die Temperatur mit Fragezeichen davor gesetzt dann schaltet sie garnicht mehr. Weil ich dann ja keinen Trigger punkt mehr richtig??
Danke für eure Hilfe
DOELSE () mit vielen Bedingung ist immer gefährlich, weil jeder Trigger der zu einer unwahren Bedingung führt DOELSE auslöst.
Deswegen habe ich es teilweise schon zur Probe zwischen weggenommen. Dann schaltet sie leider aber bei schlechtem Wetter nicht mehr abends.
Mmhh
Vielleicht noch eine Idee?
Statt dem DOELSE könntest du
DOELSIF ([06:00]) ()
nehmen. Damit hättest du einen festen Reset pro Tag, ohne dass die anderen Trigger falsch abbiegen.
Danke
Das probiere ich mal aus.
Melde mich ob es besser klappt.