DOIF Helligkeitsschwankungen glätten

Begonnen von MichaelO, 25 Oktober 2015, 17:38:06

Vorheriges Thema - Nächstes Thema

MichaelO

Moin,

ich hatte bis heute ein DOIF laufen, bei welchem ich die "twilight_weather" Werte per wait gedämpft hatte, so dass um den programmierten Lichtwert herum nicht wild geschaltet wird. Nun habe ich mit dem Presence-Modul gespielt und eine recht gut funktionierende Anwesenheitserkennung hin bekommen. Daraufhin hab ich den Presence-Status mit ins DOIF genommen.

Nun hab ich irgendwie einen Knoten im Hirn, denn durch das wait wird jetzt ja auch meine An-/Abwesenheit gedämpft, so dass erst geschaltet wird, wenn ich nach Ablauf der Wartezeit immer noch "home" bin. Ich bräuchte bitte einen Hinweis, wie ich das Schalten bei Schwankungen um den Lichtwert unterdrücke, aber bei Ankunft/Abfahrt aber sofort schalte, wenn die Reste- Bedingungen zutreffen.

## abends einschalten Fr/Sa oder wenn am nächsten Tag Feiertag von
## 16:00 Uhr bis 23:30 Uhr oder sonst bis 21:00
## morgens Mo-Fr von 05:20 Uhr bis 07:30 Uhr
## aber nur, wenn es dunkel genug ist und jemand zu Hause ist
(([?15:00-23:30|56] or [?15:00-23:30] and [?BRB_Feiertag:tomorrow] ne "none" or [?16:00-21:00|01234] and [?BRB_Feiertag:tomorrow] eq "none" or [?05:20-07:30|8]) and [LichtWetter:twilight_weather] <40 and [Mittelstr] eq "home")
     (set AZ_ZS_Fenster on)
## sonst ausschalten
DOELSE
     (set AZ_ZS_Fenster off)


Danke
Michael

cwagner

Was hälst Du denn davon, über event-aggregator die Messwerte des Lichtsensors zu glätten und nicht mit wait zu arbeiten? Wait fügt ja feste Wartezeiten ein, mit denen die von Dir beschriebene Trägheit entsteht.

Im Modul Lichtwetter kannst Du das interaktiv machen, indem Du das Attribut event-aggregator auswählst und da zum Beispiel eingibst:

twilight_weather:600:linear:mean

Es werden dann nur alle 600 Sekunden ein artihm. Mittelwert gebildet und ausgegeben.

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

MichaelO

#2
Zitat von: cwagner am 25 Oktober 2015, 18:05:36
Was hälst Du denn davon, über event-aggregator die Messwerte des Lichtsensors zu glätten und nicht mit wait zu arbeiten? Wait fügt ja feste Wartezeiten ein, mit denen die von Dir beschriebene Trägheit entsteht.

Im Modul Lichtwetter kannst Du das interaktiv machen, indem Du das Attribut event-aggregator auswählst und da zum Beispiel eingibst:

twilight_weather:600:linear:mean

Es werden dann nur alle 600 Sekunden ein artihm. Mittelwert gebildet und ausgegeben.

Christian

Tausend Dank, es gibt einfach zu viele Parameter, an denen man drehen und die man übersehen kann! Leider gibt es Probleme mit dem Syntax, wenn ich das versuche:

## abends einschalten Fr/Sa oder wenn am nächsten Tag Feiertag von
## 16:00 Uhr bis 23:30 Uhr oder sonst bis 21:00
## morgens Mo-Fr von 05:20 Uhr bis 07:30 Uhr
## aber nur, wenn es dunkel genug ist und jemand zu Hause ist
(([?15:00-23:30|56] or [?15:00-23:30] and [?BRB_Feiertag:tomorrow] ne "none" or [?16:00-21:00|01234] and [?BRB_Feiertag:tomorrow] eq "none" or [?05:20-07:30|8]) and [LichtWetter:twilight_weather:600:linear:mean] <40 and [Mittelstr] eq "home")
     (set AZ_ZS_Fenster on)
## sonst ausschalten
DOELSE
     (set AZ_ZS_Fenster off)


sagt Fhem das
AZ_DekobeleuchtungAutomatik DOIF: unknown expression format: 600

Gruß
Michael

cwagner

Der Aufruf des Readings im DOIF ändert sich nicht!

Im Device wird der event-aggregator eingesetzt - entweder interaktiv durch Auswahl des Attributes oder so

attr LichtWetter event-aggregator twilight_weather:600:linear:mean

Es werden also über eine Zeitspanne (hier 5 Minuten) die Readings gemittelt und am Ende dieser Zeit (FHEM nennt es black-out-Zeit) dann ein Reading mit dem Mittelwert als EVENT ausgesandt.

DOIF lauscht ja auf EVENTs und wird do nicht von den Schwankungen immer hin- und hergeschaltet.

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

MichaelO

Vielen Dank für die Erklärung, da gibt es noch viel zu lernen. Ich habe jetzt das wait aus dem DOIF raus genommen und werde mal testen, ob alles klappt.

Gruß
Michael