Hallo,
meine Rolladensteuerung zur Beschattung will ich auf Basis der Werte eines Differenz-Temperatur-Sensors und der Innentemperatur steuern.
Jedoch stelle ich fest, dass der wait_timer immer auf no timer gesetzt ist. Wenn ich manuell dann 'set enable' bei diesem DOIF ausführe, wird der wait_timer gesetzt, das DOIF nach Ablauf der Zeit einmal durchlaufen und der wait_timer steht wieder auf no time. Als Anhang das DOIF. Woran kann das liegen? Oder muss ich eine 'define at' aufnehmen, der regelmäßig den Timer prüft und ggf. ein 'set enable' auf das DOIF absetzt?
Kannst Du bitte lieber "list <DOIFName>" machen, und direkt im Post zwischen Codetags (Zeichen # im Edit Menü oben) posten?
Hier das List
Internals:
CFGFN ./configs/fhem_rolladen.cfg
DEF ([$SELF:Tempdiff]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:Rolladen]eq "Zu")
({Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " })
DOELSEIF ([$SELF:Rolladen]ne "Zu" && [$SELF:Tempdiff]>=3 && [$SELF:WZ_Raumtemp]>24)
(set WZ_Rolladen_Alle Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " })
DOELSEIF ([$SELF:Tempdiff]<3 || [$SELF:WZ_Raumtemp]<21)
(set WZ_Rolladen_Alle Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" })
NAME WZ_Rolladen_Autobeschattung
NR 265
NTFY_ORDER 50-WZ_Rolladen_Autobeschattung
STATE disabled
TYPE DOIF
READINGS:
2017-07-07 21:07:05 Device WZ_Rolladen_Autobeschattung
2017-07-07 21:34:31 Rolladen Auf
2017-07-07 21:34:31 Tempdiff -0.9
2017-07-07 21:34:31 Tempout 20.1
2017-07-07 21:34:31 WZ_Raumtemp 27.3
2017-07-07 21:17:04 cmd 3
2017-07-07 21:17:04 cmd_event WZ_Rolladen_Autobeschattung
2017-07-07 21:17:04 cmd_nr 3
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_Rolladen Auf
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_Tempdiff -0.4
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp 27.3
2017-07-07 21:34:31 last_cmd cmd_3
2017-07-07 21:34:31 mode disabled
2017-07-07 21:34:31 state disabled
2017-07-07 21:17:04 wait_timer no timer
condition:
0 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')eq "Zu"
1 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')ne "Zu" && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')>=3 && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')>24
2 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')<3 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')<21
devices:
0 WZ_Rolladen_Autobeschattung
1 WZ_Rolladen_Autobeschattung
2 WZ_Rolladen_Autobeschattung
all WZ_Rolladen_Autobeschattung
do:
0:
0 {Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " }
1:
0 set WZ_Rolladen_Alle Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " }
2:
0 set WZ_Rolladen_Alle Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" }
3:
helper:
event mode: Ein,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf
globalinit 1
eine Ergänzung zum Listing:
wenn Abends die Rolläden geschlossen werden, dann setze ich das DOIF auf disable (es muss nicht die ganze Nacht laufen...). Morgens, beim Öffnen der Rolläden wird das DOIF wieder auf enable gesetzt.
Von welchem Wait redest Du? Es gibt kein Attribute zu sehen in "list"
diesen hier
2017-07-07 21:17:04 wait_timer no timer
um diese Zeit, wie geschrieben, ist das o.k. Aber tagsüber bleibt's auf no timer - es wird keine Aktion bei entsprechender Temperaturdifferenz ausgeführt. Erst wenn ich das DOIF auf enable setze, steht im wait_timer die 'enable'-Zeit + 10 Min. angezeigt. Nach Aublauf dieser Zeit wird das im DOIF definierte DOIF auch ausgeführt.
Warum sollte er ein wait_timer setzten, wenn Du in der Definition des DOIFs kein wait hast? Ist dein "list" vollständig?
meinen Kommentar zu vorherigen Antwort muss ich ergänzen:
ich hatte gegen 21:07 das DOIF manuell enabled. Nach Ausführung des DOIFs wurde der wait_timer auf no time gesetzt (27:17). Die Rolläden werden z. Zt. gegen 21:30 geschlossen. Deshalb im Listing der Status disabled. Ich kann's gerne auch mal morgen hier reinstellen, wenn das DOIF auf enabled steht, einmal mit manuell gesetzten Timer (enable DOIF) und unmittelbar nach Ablauf der gesetzten Zeit.
sorry, da ist mir beim Copy/Paste ein Fehler unterlaufen.
Diesmal das ganze Listing
[nternals:
CFGFN ./configs/fhem_rolladen.cfg
DEF ([$SELF:Tempdiff]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:Rolladen]eq "Zu")
({Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " })
DOELSEIF ([$SELF:Rolladen]ne "Zu" && [$SELF:Tempdiff]>=3 && [$SELF:WZ_Raumtemp]>24)
(set WZ_Rolladen_Alle Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " })
DOELSEIF ([$SELF:Tempdiff]<3 || [$SELF:WZ_Raumtemp]<21)
(set WZ_Rolladen_Alle Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" })
NAME WZ_Rolladen_Autobeschattung
NR 265
NTFY_ORDER 50-WZ_Rolladen_Autobeschattung
STATE disabled
TYPE DOIF
READINGS:
2017-07-07 21:07:05 Device WZ_Rolladen_Autobeschattung
2017-07-07 21:34:31 Rolladen Auf
2017-07-07 21:34:31 Tempdiff -0.9
2017-07-07 21:34:31 Tempout 20.1
2017-07-07 21:34:31 WZ_Raumtemp 27.3
2017-07-07 21:17:04 cmd 3
2017-07-07 21:17:04 cmd_event WZ_Rolladen_Autobeschattung
2017-07-07 21:17:04 cmd_nr 3
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_Rolladen Auf
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_Tempdiff -0.4
2017-07-07 21:07:05 e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp 27.3
2017-07-07 21:34:31 last_cmd cmd_3
2017-07-07 21:34:31 mode disabled
2017-07-07 21:34:31 state disabled
2017-07-07 21:17:04 wait_timer no timer
condition:
0 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')eq "Zu"
1 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')ne "Zu" && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')>=3 && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')>24
2 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')<3 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')<21
devices:
0 WZ_Rolladen_Autobeschattung
1 WZ_Rolladen_Autobeschattung
2 WZ_Rolladen_Autobeschattung
all WZ_Rolladen_Autobeschattung
do:
0:
0 {Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " }
1:
0 set WZ_Rolladen_Alle Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " }
2:
0 set WZ_Rolladen_Alle Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" }
3:
helper:
event mode: Ein,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf
globalinit 1
last_timer 0
sleepdevice WZ_Rolladen_Autobeschattung
sleepsubtimer -1
sleeptimer -1
timerdev WZ_Rolladen_Autobeschattung
timerevent mode: Ein,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.3,Tempdiff: -0.4,Tempout: 21.7,Rolladen: Auf
triggerDev WZ_Rolladen_Autobeschattung
timerevents:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
timereventsState:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
triggerEvents:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
triggerEventsState:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: -0.4
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: -0.4
Tempout: 21.7
Rolladen: Auf
internals:
itimer:
readings:
0 WZ_Rolladen_Autobeschattung:Tempdiff WZ_Rolladen_Autobeschattung:WZ_Raumtemp WZ_Rolladen_Autobeschattung:Rolladen
1 WZ_Rolladen_Autobeschattung:Rolladen WZ_Rolladen_Autobeschattung:Tempdiff WZ_Rolladen_Autobeschattung:WZ_Raumtemp
2 WZ_Rolladen_Autobeschattung:Tempdiff WZ_Rolladen_Autobeschattung:WZ_Raumtemp
all WZ_Rolladen_Autobeschattung:Tempdiff WZ_Rolladen_Autobeschattung:WZ_Raumtemp WZ_Rolladen_Autobeschattung:Rolladen
regexp:
0:
1:
2:
all:
state:
STATE:
trigger:
Attributes:
checkall all
cmdIcon Sonnig:fts_shutter_down@yellow Wolkig:fts_shutter_up@LightSteelBlue Ein:general_an@green Aus:general_aus@red initialize:Restart@redorange
devStateIcon Sonnig:weather_sun@yellow
Wolkig:weather_sunset@LightSteelBlue
Ein:fts_shutter_automatic@green
Aus:fts_shutter_manual@red
enabled:fts_shutter_automatic@green
disabled:fts_shutter_automatic@red
initialize:fts_shutter_automatic@redorange
do always
event-on-change-reading .*
event-on-update-reading .*
eventMap cmd_2:Sonnig cmd_3:Wolkig enable:Ein disable:Aus
group Rolladen_WZ_Steuerung
icon fts_shutter_automatic@white
room Rolladen
timerevent 1
timestamp-on-change-reading 1
userReadings WZ_Raumtemp { ReadingsVal("WZ_HZ_Wandregler","measured-temp",-99)},
Tempdiff { ReadingsVal("Temp_Diff_Sensor","T2_T1",-99)},
Tempout { ReadingsVal("HM_4322F1","temperature",-99)},
Rolladen { Value("WZ_Rolladen_Status")}
verbose 4
wait 300:600:600
webCmd Sonnig:Wolkig:Ein:Aus:initialize /code]
Was Du machst ist super-kompliziert.
- i.d.R. ist es besser "or" und "and" statt "||" und "&&" zu nutzen. Es sollte aber in dem Fall nicht das Problem sein.
- "timestamp-on-change-reading 1" ist nutzlos, da Du kein Reading "1" hast.
- warum ein anderes DOIF um das DOIF zu triggern? Was ist das Problem wenn er permanent aktiv ist?
- event-on-change-reading .* ist nutzlos, da Du schon event-on-update-reading .* hast
- warum userReadings und Abfrage durch $SELF anstatt direkt Abfrage von den anderen Device/Readings?
Zitat von: CommandREFStandardmäßig unterbindet das DOIF-Modul Selbsttriggerung. D. h. das Modul reagiert nicht auf Events, die es selbst direkt oder indirekt auslöst
M.A. wird er nie getriggert wenn ein Timer gesetzt wird oder abläuft. Was sagt die Log? Mit "do always" und "timerevent" und "checkall all" sollte er permanent triggern, und dann etwas in der Log schreiben, wenn er triggern würde. Kannst Du ein Extrakt von der Log posten, wenn er wieder aktive wird?
Die userReadings werden aber erst aktualisiert, wenn andere Readings vom DOIF aktualisiert werden... was eigentlich nicht passieren wird, wenn den Zustand sich nicht ändert. Vielleicht auch ein Grund, warum der DOIF stehen bleibt...
Das hätte übrigens wenig Sinn, so viel zu triggern (wenn das funktionieren würde) => du brauchst nicht jede 10mn das Befehl "Sonnenposition" auszulösen, oder? Was passiert, wenn Du aus irgendwelchem Grund die Jalousie manuell hoch fahren willst? 10mn später soll die wieder auf Sonneposition kommen?
So eine Kombination von allen Attribute vom DOIF habe ich noch nie gesehen, und wird schwierig zu debuggen. Gucken wir mal erstmal die Logs.
Interessant wäre auch eine Analyse des DOIFs durch https://fhem.de/commandref_DE.html#DOIFtools mit
get <name> DOIF_to_Log WZ_Rolladen_Autobeschattung
und
get <name> checkDOIF
Das der Rolladen evtl. nach 10 Min. wieder zugehen kann, ist ok. Bisher hatte ich eine Sonnensensorsteuerung (von Rollotron), die abhängig von der Sonneneinstrahlung die Rolläden auf- bzw. zugemacht hat. Diese funktionierte aber unzuverlässig. Ich kann ja, wenn ich das Öffnen durch das DOIF verhindern will, dieses DOIF auf disable setzen (habe ich bereits an andere Stelle bei der Rolladensteuerung vorgesehen).
Mir ist wichtig, dass alle 10 Min. geprüft wird, ob noch Sonneneinstrahlung da ist oder ob es stark bewölkt ist. An etlichen Tagen wechselt das tagsüber des Öfteren. Und bei entsprechender Bewölkung (=Dunkler) sollen die Rolläden wieder öffnen.
Die vielen Attribute (event, timer,...) sind durch meine vielen Versuche verursacht, um das DOIF zum Funktionieren zu bringen. Anfangs hatte ich diese nicht gesetzt.
UserReadings/$SELF: Anfangs hatte ich die Geräte direkt angesprochen. Aber der Check DOIF gab mir Empfehlungen, das zu ändern:
Ursprüngliches DOIF
([WZ_Rolladen_Status]ne "Zu" && [Temp_Diff_Sensor_T2_T1:temperature]>2 && [AZ_HM_Temp_ext:temperature]>20)
(set WZ_Rolladen_Alle Sonnenposition)
DOELSEIF ([Temp_Diff_Sensor_T2_T1:temperature]<2)
(set WZ_Rolladen Auf)
und hier die CHECK DOIF Meldungen dazu:
Empfehlung gefunden für:
WZ_Rolladen_Autobeschattung_o
DOELSEIF ohne DOELSE ist o.k., wenn der Status wechselt, bevor die selbe Bedingung wiederholt wahr wird,
WZ_Rolladen_Autobeschattung_o
Dummy-Geräte ( WZ_Rolladen_Status ) in der Bedingung von DOIF WZ_Rolladen_Autobeschattung_o können durch benutzerdefinierte Readings des DOIF ersetzt werden, wenn sie als Frontend-Elemente genutzt werden. (readingList, setList, webCmd)
Statt Dummys ( WZ_Rolladen_Alle ) zu setzen, könnte ggf. der Status des DOIF WZ_Rolladen_Autobeschattung_o zur Anzeige im Frontend genutzt werden. (DOIF-Status ersetzen)
Das habe ich so interpretiert, dass ich auf Userreadings umstellen soll....
Der CHECK des aktuellen DOIFs zeigt diese Meldung an:
WZ_Rolladen_Autobeschattung
Statt Dummys ( WZ_Rolladen_Alle ) zu setzen, könnte ggf. der Status des DOIF WZ_Rolladen_Autobeschattung zur Anzeige im Frontend genutzt werden. (DOIF-Status ersetzen)
Und hier die Auszüge aus dem DOIF Log:
Erstes manuelles Enable des DOIFs (Rolläden bleiben geöffnet, weil noch keine direkte Sonneneinstrahlung auf die Fenster vorhanden)
2017-07-08_10:28:23.803 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.2
2017-07-08_10:28:23.803 WZ_Rolladen_Autobeschattung Tempdiff: 0.6
2017-07-08_10:28:23.803 WZ_Rolladen_Autobeschattung Tempout: 24.6
2017-07-08_10:28:23.803 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_10:28:54.226 Temp_Diff_Sensor_T2_T1 T: 0.8
2017-07-08_10:28:54.226 Temp_Diff_Sensor_T2_T1 temperature: 0.8
2017-07-08_10:33:10.962 Temp_Diff_Sensor_T2_T1 T: 0.8
2017-07-08_10:33:10.962 Temp_Diff_Sensor_T2_T1 temperature: 0.8
2017-07-08_10:36:01.694 Temp_Diff_Sensor_T2_T1 T: 0.9
2017-07-08_10:36:01.694 Temp_Diff_Sensor_T2_T1 temperature: 0.9
2017-07-08_10:38:23.838 WZ_Rolladen_Autobeschattung wait_timer: no timer
2017-07-08_10:38:23.838 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.3
2017-07-08_10:38:23.838 WZ_Rolladen_Autobeschattung Tempdiff: 0.8
2017-07-08_10:38:23.838 WZ_Rolladen_Autobeschattung Tempout: 24.9
2017-07-08_10:38:23.838 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_10:38:23.851 WZ_Rolladen_Alle Auf
2017-07-08_10:38:23.933 DOIFtoolsLog <a name="list2"><a name="listing"></a><strong>[2] +++++ Listing <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:cmd: 3 +++++</strong>
<b>jump to: <a href="#list1">prev</a> <a href="#list3">next</a> Listing</b><br>DOIF-Version: 98_DOIF.pm 14555 2017-06-22 17:30:03Z Damian<br>Internals:
CFGFN ./configs/fhem_rolladen.cfg
DEF ([$SELF:Tempdiff]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:Rolladen]eq "Zu")
({Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " })
DOELSEIF ([$SELF:Rolladen]ne "Zu" && [$SELF:Tempdiff]>=3 && [$SELF:WZ_Raumtemp]>24)
(set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " })
DOELSEIF ([$SELF:Tempdiff]<3 || [$SELF:WZ_Raumtemp]<21)
(set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" })
INTRIGGER 1
NAME WZ_Rolladen_Autobeschattung
NR 265
NTFY_ORDER 50-WZ_Rolladen_Autobeschattung
NTFY_TRIGGERTIME 2017-07-08 10:38:23
STATE Wolkig
TYPE DOIF
CHANGED:
cmd_nr: 3
cmd: 3
cmd_event: WZ_Rolladen_Autobeschattung
Wolkig
WZ_Raumtemp: 27.3
Tempdiff: 0.8
Tempout: 24.9
Rolladen: Auf
CHANGEDWITHSTATE:
cmd_nr: 3
cmd: 3
cmd_event: WZ_Rolladen_Autobeschattung
state: cmd_3
WZ_Raumtemp: 27.3
Tempdiff: 0.8
Tempout: 24.9
Rolladen: Auf
READINGS:
2017-07-08 10:28:23 Device WZ_Rolladen_Autobeschattung
2017-07-08 10:38:23 Rolladen Auf
2017-07-08 10:38:23 Tempdiff 0.8
2017-07-08 10:38:23 Tempout 24.9
2017-07-08 10:38:23 WZ_Raumtemp 27.3
2017-07-08 10:38:23 cmd 3
2017-07-08 10:38:23 cmd_event WZ_Rolladen_Autobeschattung
2017-07-08 10:38:23 cmd_nr 3
2017-07-08 10:28:23 e_WZ_Rolladen_Autobeschattung_Rolladen Auf
2017-07-08 10:28:23 e_WZ_Rolladen_Autobeschattung_Tempdiff 0.6
2017-07-08 10:28:23 e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp 27.2
2017-07-08 10:28:23 mode enable
2017-07-08 10:38:23 state cmd_3
2017-07-08 10:38:23 wait_timer no timer
condition:
0 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')eq "Zu"
1 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')ne "Zu" && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')>=3 && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')>24
2 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')<3 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')<21
devices:
0 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
1 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
2 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
all <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
do:
0:
0 {Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " }
1:
0 set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " }
2:
0 set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" }
3:
helper:
cur_cmd_nr wait_timer
event mode: Ein,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf
globalinit 1
last_timer 0
sleepdevice WZ_Rolladen_Autobeschattung
sleepsubtimer -1
sleeptimer -1
timerdev WZ_Rolladen_Autobeschattung
timerevent mode: Ein,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.2,Tempdiff: 0.6,Tempout: 24.6,Rolladen: Auf
triggerDev WZ_Rolladen_Autobeschattung
timerevents:
mode: Ein
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
wait_timer: 08.07.2017 10:38:23 Wolkig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
timereventsState:
mode: Ein
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
wait_timer: 08.07.2017 10:38:23 Wolkig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
triggerEvents:
mode: Ein
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
wait_timer: 08.07.2017 10:38:23 Wolkig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
triggerEventsState:
mode: Ein
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 0.6
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.2
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
wait_timer: 08.07.2017 10:38:23 Wolkig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.2
Tempdiff: 0.6
Tempout: 24.6
Rolladen: Auf
internals:
itimer:
readings:
0 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen
1 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp
2 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp
all <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen
regexp:
0:
1:
2:
all:
state:
STATE:
trigger:
Attributes:
checkall all
cmdIcon Sonnig:fts_shutter_down@yellow Wolkig:fts_shutter_up@LightSteelBlue Ein:general_an@green Aus:general_aus@red initialize:Restart@redorange
devStateIcon Sonnig:weather_sun@yellow
Wolkig:weather_sunset@LightSteelBlue
Ein:fts_shutter_automatic@green
Aus:fts_shutter_manual@red
enabled:fts_shutter_automatic@green
disabled:fts_shutter_automatic@red
initialize:fts_shutter_automatic@redorange
do always
event-on-change-reading .*
event-on-update-reading .*
eventMap cmd_2:Sonnig cmd_3:Wolkig enable:Ein disable:Aus
group Rolladen_WZ_Steuerung
icon fts_shutter_automatic@white
room Rolladen
timerevent 1
timestamp-on-change-reading 1
userReadings WZ_Raumtemp { ReadingsVal("<a href="/fhem?detail=WZ_HZ_Wandregler">WZ_HZ_Wandregler</a>","measured-temp",-99)},
Tempdiff { ReadingsVal("<a href="/fhem?detail=Temp_Diff_Sensor">Temp_Diff_Sensor</a>","T2_T1",-99)},
Tempout { ReadingsVal("<a href="/fhem?detail=HM_4322F1">HM_4322F1</a>","temperature",-99)},
Rolladen { Value("<a href="/fhem?detail=WZ_Rolladen_Status">WZ_Rolladen_Status</a>")}
verbose 4
wait 300:600:600
webCmd Sonnig:Wolkig:Ein:Aus:initialize
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung cmd_nr: 3
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung cmd: 3
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung cmd_event: WZ_Rolladen_Autobeschattung
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung Wolkig
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.3
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung Tempdiff: 0.8
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung Tempout: 24.9
2017-07-08_10:38:23.943 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_10:38:33.938 WZ_Rolladen_Alle manuell
2017-07-08_10:38:37.966 Temp_Diff_Sensor_T2_T1 T: 1.1
2017-07-08_10:38:37.966 Temp_Diff_Sensor_T2_T1 temperature: 1.1
2017-07-08_10:40:33.963 WZ_Rolladen_Status Auf
2017-07-08_10:43:07.443 Temp_Diff_Sensor_T2_T1 T: 2.1
2017-07-08_10:43:07.443 Temp_Diff_Sensor_T2_T1 temperature: 2.1
2017-07-08_10:46:04.444 Temp_Diff_Sensor_T2_T1 T: 4.0
2017-07-08_10:46:04.444 Temp_Diff_Sensor_T2_T1 temperature: 4.0
2017-07-08_10:48:46.945 Temp_Diff_Sensor_T2_T1 T: 3.9
2017-07-08_10:48:46.945 Temp_Diff_Sensor_T2_T1 temperature: 3.9
2017-07-08_10:53:28.959 Temp_Diff_Sensor_T2_T1 T: 4.6
2017-07-08_10:53:28.959 Temp_Diff_Sensor_T2_T1 temperature: 4.6
2017-07-08_10:56:32.196 Temp_Diff_Sensor_T2_T1 T: 5.3
2017-07-08_10:56:32.196 Temp_Diff_Sensor_T2_T1 temperature: 5.3
Um 10:57 habe ich dann wieder manuell das DOIF enabled (Sonneneinstrahlung hoch = Rolläden auf Sonnenposition fahren)
2017-07-08_10:57:18.903 WZ_Rolladen_Autobeschattung mode: Ein
2017-07-08_10:57:18.903 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.3
2017-07-08_10:57:18.903 WZ_Rolladen_Autobeschattung Tempdiff: 4.6
2017-07-08_10:57:18.903 WZ_Rolladen_Autobeschattung Tempout: 25.4
2017-07-08_10:57:18.903 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_10:59:21.219 Temp_Diff_Sensor_T2_T1 T: 4.4
2017-07-08_10:59:21.219 Temp_Diff_Sensor_T2_T1 temperature: 4.4
2017-07-08_11:04:15.694 Temp_Diff_Sensor_T2_T1 T: 5.1
2017-07-08_11:04:15.694 Temp_Diff_Sensor_T2_T1 temperature: 5.1
2017-07-08_11:06:21.443 Temp_Diff_Sensor_T2_T1 T: 4.7
2017-07-08_11:06:21.443 Temp_Diff_Sensor_T2_T1 temperature: 4.7
2017-07-08_11:07:18.945 WZ_Rolladen_Autobeschattung wait_timer: no timer
2017-07-08_11:07:18.945 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.4
2017-07-08_11:07:18.945 WZ_Rolladen_Autobeschattung Tempdiff: 5.1
2017-07-08_11:07:18.945 WZ_Rolladen_Autobeschattung Tempout: 25.6
2017-07-08_11:07:18.945 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_11:07:18.958 WZ_Rolladen_Alle Sonnenposition
2017-07-08_11:07:19.036 DOIFtoolsLog <a name="list3"><a name="listing"></a><strong>[3] +++++ Listing <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:cmd: 2 +++++</strong>
<b>jump to: <a href="#list2">prev</a> <a href="#list4">next</a> Listing</b><br>DOIF-Version: 98_DOIF.pm 14555 2017-06-22 17:30:03Z Damian<br>Internals:
CFGFN ./configs/fhem_rolladen.cfg
DEF ([$SELF:Tempdiff]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:WZ_Raumtemp]eq -99 || [$SELF:Rolladen]eq "Zu")
({Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " })
DOELSEIF ([$SELF:Rolladen]ne "Zu" && [$SELF:Tempdiff]>=3 && [$SELF:WZ_Raumtemp]>24)
(set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " })
DOELSEIF ([$SELF:Tempdiff]<3 || [$SELF:WZ_Raumtemp]<21)
(set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" })
INTRIGGER 1
NAME WZ_Rolladen_Autobeschattung
NR 265
NTFY_ORDER 50-WZ_Rolladen_Autobeschattung
NTFY_TRIGGERTIME 2017-07-08 11:07:19
STATE Sonnig
TYPE DOIF
CHANGED:
cmd_nr: 2
cmd: 2
cmd_event: WZ_Rolladen_Autobeschattung
Sonnig
WZ_Raumtemp: 27.4
Tempdiff: 5.1
Tempout: 25.6
Rolladen: Auf
CHANGEDWITHSTATE:
cmd_nr: 2
cmd: 2
cmd_event: WZ_Rolladen_Autobeschattung
state: cmd_2
WZ_Raumtemp: 27.4
Tempdiff: 5.1
Tempout: 25.6
Rolladen: Auf
READINGS:
2017-07-08 10:57:18 Device WZ_Rolladen_Autobeschattung
2017-07-08 11:07:18 Rolladen Auf
2017-07-08 11:07:18 Tempdiff 5.1
2017-07-08 11:07:18 Tempout 25.6
2017-07-08 11:07:18 WZ_Raumtemp 27.4
2017-07-08 11:07:18 cmd 2
2017-07-08 11:07:18 cmd_event WZ_Rolladen_Autobeschattung
2017-07-08 11:07:18 cmd_nr 2
2017-07-08 10:57:18 e_WZ_Rolladen_Autobeschattung_Rolladen Auf
2017-07-08 10:57:18 e_WZ_Rolladen_Autobeschattung_Tempdiff 4.6
2017-07-08 10:57:18 e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp 27.3
2017-07-08 10:57:18 mode enable
2017-07-08 11:07:18 state cmd_2
2017-07-08 11:07:18 wait_timer no timer
condition:
0 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')eq -99 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')eq "Zu"
1 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Rolladen')ne "Zu" && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')>=3 && ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')>24
2 ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','Tempdiff')<3 || ReadingValDoIf($hash,'WZ_Rolladen_Autobeschattung','WZ_Raumtemp')<21
devices:
0 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
1 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
2 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
all <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>
do:
0:
0 {Log 3,"Autobeschattung:Abfragewerte nicht gesetzt bzw. Rolladenstatus: zu " }
1:
0 set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " }
2:
0 set <a href="/fhem?detail=WZ_Rolladen_Alle">WZ_Rolladen_Alle</a> Auf, {Log 3,"Autobeschattung:Sonne Ende -Rolladen auf" }
3:
helper:
cur_cmd_nr wait_timer
event mode: Ein,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf
globalinit 1
last_timer 0
sleepdevice WZ_Rolladen_Autobeschattung
sleepsubtimer -1
sleeptimer -1
timerdev WZ_Rolladen_Autobeschattung
timerevent mode: Ein,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,Device: WZ_Rolladen_Autobeschattung,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf,e_WZ_Rolladen_Autobeschattung_Rolladen: Auf,WZ_Raumtemp: 27.3,Tempdiff: 4.6,Tempout: 25.4,Rolladen: Auf
triggerDev WZ_Rolladen_Autobeschattung
timerevents:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
wait_timer: 08.07.2017 11:07:18 Sonnig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
timereventsState:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
wait_timer: 08.07.2017 11:07:18 Sonnig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
triggerEvents:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
wait_timer: 08.07.2017 11:07:18 Sonnig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
triggerEventsState:
mode: Ein
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
Device: WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Tempdiff: 4.6
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_WZ_Raumtemp: 27.3
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
e_WZ_Rolladen_Autobeschattung_Rolladen: Auf
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
wait_timer: 08.07.2017 11:07:18 Sonnig WZ_Rolladen_Autobeschattung
WZ_Raumtemp: 27.3
Tempdiff: 4.6
Tempout: 25.4
Rolladen: Auf
internals:
itimer:
readings:
0 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen
1 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp
2 <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp
all <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Tempdiff <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:WZ_Raumtemp <a href="/fhem?detail=WZ_Rolladen_Autobeschattung">WZ_Rolladen_Autobeschattung</a>:Rolladen
regexp:
0:
1:
2:
all:
state:
STATE:
trigger:
Attributes:
checkall all
cmdIcon Sonnig:fts_shutter_down@yellow Wolkig:fts_shutter_up@LightSteelBlue Ein:general_an@green Aus:general_aus@red initialize:Restart@redorange
devStateIcon Sonnig:weather_sun@yellow
Wolkig:weather_sunset@LightSteelBlue
Ein:fts_shutter_automatic@green
Aus:fts_shutter_manual@red
enabled:fts_shutter_automatic@green
disabled:fts_shutter_automatic@red
initialize:fts_shutter_automatic@redorange
do always
event-on-change-reading .*
event-on-update-reading .*
eventMap cmd_2:Sonnig cmd_3:Wolkig enable:Ein disable:Aus
group Rolladen_WZ_Steuerung
icon fts_shutter_automatic@white
room Rolladen
timerevent 1
timestamp-on-change-reading 1
userReadings WZ_Raumtemp { ReadingsVal("<a href="/fhem?detail=WZ_HZ_Wandregler">WZ_HZ_Wandregler</a>","measured-temp",-99)},
Tempdiff { ReadingsVal("<a href="/fhem?detail=Temp_Diff_Sensor">Temp_Diff_Sensor</a>","T2_T1",-99)},
Tempout { ReadingsVal("<a href="/fhem?detail=HM_4322F1">HM_4322F1</a>","temperature",-99)},
Rolladen { Value("<a href="/fhem?detail=WZ_Rolladen_Status">WZ_Rolladen_Status</a>")}
verbose 4
wait 300:600:600
webCmd Sonnig:Wolkig:Ein:Aus:initialize
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung cmd_nr: 2
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung cmd: 2
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung cmd_event: WZ_Rolladen_Autobeschattung
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung Sonnig
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung WZ_Raumtemp: 27.4
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung Tempdiff: 5.1
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung Tempout: 25.6
2017-07-08_11:07:19.045 WZ_Rolladen_Autobeschattung Rolladen: Auf
2017-07-08_11:07:24.039 WZ_Rolladen_Alle manuell
2017-07-08_11:07:24.047 WZ_Rolladen_Status Sonne
2017-07-08_11:09:16.692 Temp_Diff_Sensor_T2_T1 T: 4.9
2017-07-08_11:09:16.692 Temp_Diff_Sensor_T2_T1 temperature: 4.9
2017-07-08_11:11:57.446 Temp_Diff_Sensor_T2_T1 T: 5.6
2017-07-08_11:11:57.446 Temp_Diff_Sensor_T2_T1 temperature: 5.6
2017-07-08_11:14:23.942 Temp_Diff_Sensor_T2_T1 T: 5.7
2017-07-08_11:14:23.942 Temp_Diff_Sensor_T2_T1 temperature: 5.7
2017-07-08_11:16:35.960 Temp_Diff_Sensor_T2_T1 T: 5.3
2017-07-08_11:16:35.960 Temp_Diff_Sensor_T2_T1 temperature: 5.3
2017-07-08_11:19:37.448 Temp_Diff_Sensor_T2_T1 T: 6.1
2017-07-08_11:19:37.448 Temp_Diff_Sensor_T2_T1 temperature: 6.1
2017-07-08_11:22:24.450 Temp_Diff_Sensor_T2_T1 T: 5.1
2017-07-08_11:22:24.450 Temp_Diff_Sensor_T2_T1 temperature: 5.1
2017-07-08_11:24:57.196 Temp_Diff_Sensor_T2_T1 T: 5.5
2017-07-08_11:24:57.196 Temp_Diff_Sensor_T2_T1 temperature: 5.5
2017-07-08_11:27:15.444 Temp_Diff_Sensor_T2_T1 T: 4.9
2017-07-08_11:27:15.444 Temp_Diff_Sensor_T2_T1 temperature: 4.9
2017-07-08_11:29:19.226 Temp_Diff_Sensor_T2_T1 T: 2.8
2017-07-08_11:29:19.226 Temp_Diff_Sensor_T2_T1 temperature: 2.8
2017-07-08_11:32:12.722 Temp_Diff_Sensor_T2_T1 T: 1.9
2017-07-08_11:32:12.722 Temp_Diff_Sensor_T2_T1 temperature: 1.9
2017-07-08_11:34:51.693 Temp_Diff_Sensor_T2_T1 T: 1.7
2017-07-08_11:34:51.693 Temp_Diff_Sensor_T2_T1 temperature: 1.7
2017-07-08_11:37:16.195 Temp_Diff_Sensor_T2_T1 T: 1.2
2017-07-08_11:37:16.195 Temp_Diff_Sensor_T2_T1 temperature: 1.2
2017-07-08_11:39:26.515 Temp_Diff_Sensor_T2_T1 T: 1.1
2017-07-08_11:39:26.515 Temp_Diff_Sensor_T2_T1 temperature: 1.1
2017-07-08_11:42:26.227 Temp_Diff_Sensor_T2_T1 T: 1.7
2017-07-08_11:42:26.227 Temp_Diff_Sensor_T2_T1 temperature: 1.7
2017-07-08_11:45:11.527 Temp_Diff_Sensor_T2_T1 T: 2.4
2017-07-08_11:45:11.527 Temp_Diff_Sensor_T2_T1 temperature: 2.4
2017-07-08_11:47:42.445 Temp_Diff_Sensor_T2_T1 T: 6.6
2017-07-08_11:47:42.445 Temp_Diff_Sensor_T2_T1 temperature: 6.6
2017-07-08_11:50:43.224 Temp_Diff_Sensor_T2_T1 T: 3.5
2017-07-08_11:50:43.224 Temp_Diff_Sensor_T2_T1 temperature: 3.5
2017-07-08_11:53:29.724 Temp_Diff_Sensor_T2_T1 T: 5.9
2017-07-08_11:53:29.724 Temp_Diff_Sensor_T2_T1 temperature: 5.9
2017-07-08_11:56:01.696 Temp_Diff_Sensor_T2_T1 T: 3.2
2017-07-08_11:56:01.696 Temp_Diff_Sensor_T2_T1 temperature: 3.2
2017-07-08_11:58:19.222 Temp_Diff_Sensor_T2_T1 T: 1.1
2017-07-08_11:58:19.222 Temp_Diff_Sensor_T2_T1 temperature: 1.1
2017-07-08_12:00:22.446 Temp_Diff_Sensor_T2_T1 T: 1.0
2017-07-08_12:00:22.446 Temp_Diff_Sensor_T2_T1 temperature: 1.0
2017-07-08_12:03:15.200 Temp_Diff_Sensor_T2_T1 T: 0.9
2017-07-08_12:03:15.200 Temp_Diff_Sensor_T2_T1 temperature: 0.9
2017-07-08_12:05:53.447 Temp_Diff_Sensor_T2_T1 T: 1.2
2017-07-08_12:05:53.447 Temp_Diff_Sensor_T2_T1 temperature: 1.2
2017-07-08_12:08:17.447 Temp_Diff_Sensor_T2_T1 T: 2.0
2017-07-08_12:08:17.447 Temp_Diff_Sensor_T2_T1 temperature: 2.0
2017-07-08_12:10:26.952 Temp_Diff_Sensor_T2_T1 T: 8.4
2017-07-08_12:10:26.952 Temp_Diff_Sensor_T2_T1 temperature: 8.4
2017-07-08_12:13:25.948 Temp_Diff_Sensor_T2_T1 T: 8.0
2017-07-08_12:13:25.948 Temp_Diff_Sensor_T2_T1 temperature: 8.0
2017-07-08_12:16:10.464 Temp_Diff_Sensor_T2_T1 T: 3.0
2017-07-08_12:16:10.464 Temp_Diff_Sensor_T2_T1 temperature: 3.0
2017-07-08_12:18:40.697 Temp_Diff_Sensor_T2_T1 T: 1.9
2017-07-08_12:18:40.697 Temp_Diff_Sensor_T2_T1 temperature: 1.9
Eine kleine Anmerkung: die Beschreibungen in der Referenz sind für mich manchmal sehr kryptisch und nicht wirklich verständlich - aber das ist ja generell so mit Dokumentationen. Der, der schreibt und der, der liest verstehen und interpretieren das ganz unterschiedlich :)
Hi,
da ich gerade etwas beim Umstellen meiner Routinen bin und ich das hier lese, von mir ein Beispiel wie das bei mir seit langem läuft:
defmod di_Beschattung3 DOIF ([SensorSonne:scheint] eq "on" and [SensorAussen:temperature] > 22 and [12:00 - 19:00]) (set RolloAZLL 40,set RolloWZL 30) DOELSE ((set RolloWZL,RolloAZLL auf))
attr di_Beschattung3 room Haus
attr di_Beschattung3 wait 900:900
Ich habe die Bedingungen ähnlich wie Du, statt Außen willst du Innen nehmen.
Der wait_timer wird erst gesetzt wenn der Triggerfall eintritt! Also wenn (Sonne ein) und (Temperatur zu hoch) wahr oder falsch wird. In diesem Moment siehst Du den wait_timer.
Meinem Sonnensensor (Temperatur Diff) hat ein userreading
attr SensorSonne userReadings scheint {(ReadingsNum($name,"temperature",0) > 3.5) ? 'on' : 'off' }
Vielleicht hilft das etwas zum entwirren.
Gruß Otto
Hi Otto,
diese einfache Lösung von Dir scheint bei mir auch zu funktionieren. Anfangs hatte ich es auch mit einer einfachen Lösung versucht. Da das aber nicht funktionierte, habe ich es immer aufwendiger / komplexer gemacht. Immer ohne Erfolg. Erstmals vielen Dank für die Hilfe. Ich warte es mal die nächsten Tage ab.
Was bei mir im Einsatz ist:
([?Vito300:Temp-Aussen] > 22
and [?TL:elevation] > 25
and [TL:azimuth] > 0 and [TL:azimuth] < 180
and [?Wetter_Proplanta:weather] =~ "bedeckt|heiter|klar|sonnig"
and [?RolladenAutomatik] eq "on" )
(set ez_Rolladen position 60, set kz_Rolladen position 60)
DOELSEIF ([TL:azimuth] > 180
and [?RolladenAutomatik] eq "on" )
(set ez_Rolladen position 0, set kz_Rolladen position 0)
Kurz zur Erklärung:
ZitatDOELSEIF ohne DOELSE ist o.k., wenn der Status wechselt, bevor die selbe Bedingung wiederholt wahr wird,
Mit deinem ursprünglichen DOIF, heisst es, dass cmd2 nicht wiederholt wird, wenn inzwischen [Temp_Diff_Sensor_T2_T1:temperature] nicht wieder über 2 gekommen ist.
ZitatStatt Dummys ( WZ_Rolladen_Alle ) zu setzen, könnte ggf. der Status des DOIF WZ_Rolladen_Autobeschattung_o zur Anzeige im Frontend genutzt werden. (DOIF-Status ersetzen)
Es gilt nur für die Anzeige im Frontend: du brauchst nicht extra Dummys zu setzen, um ein Status zu zeigen. Du kannst einfach den Status cmdxx vom DOIF selbst nutzen und mit devStateIcon o.ä. interpretieren. In deinem Fall ist wahrscheinlich WZ_Rolladen_Alle aber kein Dummy zum Status, sondern ein echtes Steuerelement.
ZitatDummy-Geräte ( WZ_Rolladen_Status ) in der Bedingung von DOIF WZ_Rolladen_Autobeschattung_o können durch benutzerdefinierte Readings des DOIF ersetzt werden, wenn sie als Frontend-Elemente genutzt werden. (readingList, setList, webCmd)
Hier könntest Du dir ja evtl. ein Dummy sparen, und WZ_Rolladen_Status durch einen Reading im DOIF selbst definieren. Aber nur weil es ein Dummy ist. Das hat kein Sinn alle Bedingungen als benutzerdefinierte Readings umzuwandeln; lieber direkt die entsprechende Sensoren abfragen mit [gerät:reading].
In meisten Fälle sind timerevent und checkall nicht nötig. Mit DOELSE, do always oder do resetwait reicht es in 90% der Fälle. Wenn es nicht geht, hängt es eher an die Bedingungen selbst als an solche sonder Attribute.
So. Es funktioniert soweit ganz gut. Ich habe es eine Weile beobachtet (unterschiedliche Wetterverhältnisse & Temperaturen). Die Steuerung über den Differenz-Temperatursensor und die DOIFs klappt soweit. Nur manchmal, wenn ich abhängig vom Sonnenuntergang die Rollläden schließe und noch ein Timer im DOIF aktiv ist (für Rolladen auf, weil Temperatur-Differenz < 3) werden die Rollläden kurz nach dem Schließen wieder geöffnet, obwohl ich vorher das DOIF auf DISABLE setze. Da werde ich noch etwas rumprobieren müssen.
Vielen Dank für die Hilfen & Tipps
Super.
Wäre gut für die Nachwelt, wenn Du deine letzte Version hier posten würdest :)
hier meine aktuelle
define WZ_Rolladen_Autobeschattung DOIF ([WZ_Rolladen_Status]eq "Zu" or [WZ_Rolladen_Sonnenautomatik]eq "off") \
DOELSEIF ([Temp_Diff_Sensor:scheint] eq "on" and [WZ_HZ_Wandregler:measured-temp] >= 24 ) \
(set WZ_Rolladen_Alle Sonnenposition, {Log 3,"Autobeschattung:Rolladen Sonnenposition " }) \
DOELSEIF ([Temp_Diff_Sensor:scheint] eq "off" or [WZ_HZ_Wandregler:measured-temp] < 24) \
(set WZ_Rolladen_Alle Auf)
attr WZ_Rolladen_Autobeschattung checkall all
attr WZ_Rolladen_Autobeschattung cmdIcon Sonnig:fts_shutter_down@yellow Wolkig:fts_shutter_up@LightSteelBlue Ein:general_an@green Aus:general_aus@red initialize:Restart@redorange
attr WZ_Rolladen_Autobeschattung devStateIcon Sonnig:weather_sun@yellow \
Wolkig:weather_sunset@LightSteelBlue \
Ein:fts_shutter_automatic@green \
Aus:fts_shutter_manual@red \
enabled:fts_shutter_automatic@green \
disabled:fts_shutter_automatic@red \
initialize:fts_shutter_automatic@redorange
attr WZ_Rolladen_Autobeschattung do always
attr WZ_Rolladen_Autobeschattung eventMap cmd_3:Sonnig cmd_3:Wolkig enable:Ein disable:Aus
attr WZ_Rolladen_Autobeschattung group Rolladen_WZ_Steuerung
attr WZ_Rolladen_Autobeschattung icon fts_shutter_automatic@white
attr WZ_Rolladen_Autobeschattung room Rolladen
attr WZ_Rolladen_Autobeschattung timestamp-on-change-reading 0,1,2
attr WZ_Rolladen_Autobeschattung verbose 4
attr WZ_Rolladen_Autobeschattung wait 120:900:900
attr WZ_Rolladen_Autobeschattung webCmd Sonnig:Wolkig:Ein:Aus:initialize
Danke für die Hilfe