Hauptmenü

Tageslänge mit DOIF ermitteln

Begonnen von cwagner, 03 Oktober 2018, 19:43:48

Vorheriges Thema - Nächstes Thema

cwagner

Ja, ich weiß, es gibt eine Lösung mit 2 Dummys und zwei AT. Aber da hatte ich mir doch heute in den Kopf gesetzt, dass als Zweig eines zentralen DOIFs zu lösen - und den Einheitstag damit verbraucht, vergeblich:

DOELSEIF ([0:01]) (setReading Zeitschalter Tageslaenge [([{sunrise()}]-[{sunset()}])])  ## Tageslänge


schreibt mir nur [([{sunrise()}]-[{sunset()}])] in das Reading. Natürlich habe ich eine Menge anderer Ideen ausprobiert, auch mit Aufruf von FHEM im Ausführungszweig. Ich raff's nicht, weshalb?

Hat jemand eine Idee?

Christian
PI 2B+/3B+ 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

jkriegl

schau mal dort https://forum.fhem.de/index.php/topic,21971.msg566413.html#msg566413

Enfacher geht es mit Astro. Liefert Readings SunRise 07:16 und SunSet 18:46
Da musst Du nur noch die Differenz bilden.
Rpi 3, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

Zitat von: cwagner am 03 Oktober 2018, 19:43:48
Ja, ich weiß, es gibt eine Lösung mit 2 Dummys und zwei AT. Aber da hatte ich mir doch heute in den Kopf gesetzt, dass als Zweig eines zentralen DOIFs zu lösen - und den Einheitstag damit verbraucht, vergeblich:

DOELSEIF ([0:01]) (setReading Zeitschalter Tageslaenge [([{sunrise()}]-[{sunset()}])])  ## Tageslänge


schreibt mir nur [([{sunrise()}]-[{sunset()}])] in das Reading. Natürlich habe ich eine Menge anderer Ideen ausprobiert, auch mit Aufruf von FHEM im Ausführungszweig. Ich raff's nicht, weshalb?

Hat jemand eine Idee?

Christian

Um es kurz zu machen, Rechnen mit Zeiten funktioniert bei der Bestimmung von Zeittriggern in der Bedingung. Im Ausführungsteil greifen die Algorithmen leider nicht.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF


cwagner

@Ellert, @Damian, @jkriegl: Vielen Dank für Eure schnellen und konstruktiven Antworten. Wenn ich mir auch DOIF für diesen einen Fall aus dem Kopf schlagen muss, habe ich doch so auf jeden Fall wieder was gelernt und einen guten Ansatz für die Lösung.

Christian
PI 2B+/3B+ 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

Frank_Huber

Nur Interesse halber,
Wofür benötigt man die Tageslänge?

Gesendet von meinem Doogee S60 mit Tapatalk


cwagner

#6
Zitat von: Frank_Huber am 04 Oktober 2018, 18:11:39
Nur Interesse halber,
Wofür benötigt man die Tageslänge?

Zunächst ist es Statistikfimmel - darüber hinaus will ich die Tageslänge bzw. das Gegenstück Nachtlänge für die Normalisierung von Energieeinsparungsmaßnahmen im Jahresverlauf benutzen. Beispiel: Wenn die Tage länger werden, wird man weniger Lampenlicht brauchen, eine Reduktion des Strom-Verbrauchs relativiert sich dann, wenn man beides gemeinsam betrachtet.

Und bei Proplanta kann ich die Sonnenscheindauer in Stunden aus der Duration, die in Prozent angegeben wird, errechnen.

Herzliche Grüße

Christian
PI 2B+/3B+ 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

Damian

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