Solarsteuerung auf Basis von Heizungswerten

Begonnen von Lythie, 14 Februar 2023, 21:10:17

Vorheriges Thema - Nächstes Thema

Lythie

Hallo,

ich habe eine Anfängerfrage zu DOIF weil ich leider mit der Doku nicht weiter komme. Ich habe eine Heizung inkl. Solarkollektoren. Wenn keine Wärme vom Dach kommt pumpt die Heizung trotzdem unnötig und verursacht indirekt dann ein Takten des Verdichters (andere Geschichte, s. https://forum.fhem.de/index.php/topic,33452.msg1262856.html#msg1262856). Das möchte ich gern verhindern, indem temperaturabhängig der Solarbetrieb ein bzw. aus geschaltet wird.  Folgendes versuche ich momentan:

(
   [+:15] and ## Alle 15 Minuten prüfen ...
   [Mythz:KollektorTemp:avg5] > [Mythz:RuecklaufTemp]  and ## ... ob von der Sonne Wärme kommt ...
   [Mythz:p80EnableSolar] == 0 ## ... und wenn Solar ausgeschaltet ist ...
)   (set Mythz p80EnableSolar 1) ## ... dann Solarbetrieb einschalten.
DOELSEIF (
   [Mythz:sHC1] =~ /seasonMode: winter/ and   ## Falls es Winter ist = geheizt werden soll ...
   [Mythz:KollektorTemp:avg5] < [Mythz:RuecklaufTemp] and  ## ... und von der Sonne keine Wärme kommt ...
   [Mythz:p80EnableSolar] == 1 ## ... die Heizung aber versucht, Wärme vom Dach zu holen ...
) (set Mythz p80EnableSolar 0) ## ... dann (unnötigen) Solarbetrieb ausschalten.


Leider ist im fhem.log nichts zu sehen. In früheren Versionen hatte ich mal folgende Meldung, aber selbst die erscheint nun nicht mehr.

2023.02.14 19:00:38 4: SolarTagsueber: condition c02: Unrecognized character \xE2; marked by <-- HERE after sHC1') =~ <-- HERE near column 48, line 1.

Any idea?

Hier die Einstellungen des DOIF:
verbose 5
loglevel 6

mode enabled
state initialize
timer_01_c01 14.02.2023 21:03:00
Device Mythz
e_Mythz_RuecklaufTemp 24.1
e_Mythz_sHC1 outsideTemp: 5.4 x08: 30.1 returnTemp: 24 integralHeat: -148 flowTemp: 24.1 heatSetTemp: 23.3 heatTemp: 24 seasonMode: winter integralSwitch: 400 hcOpMode: setback roomSetTemp: 19 x60: 0 x64: 563.2 insideTempRC: 19 x72: 51.2 x76: 2.2 onHysteresisNo: 0 offHysteresisNo: 1 hcBoosterStage: 1

Das einfache, zeitgesteuerte ein/ausschalten funktioniert (s. Link oben).
Rasbpi 4 mit Originalnetzteil, fhem zur Heizungsanbindung, vzlogger für Stromzähler, httpmod für Tibber-Bridge, influxDB und Grafana, PV S/O mit 23kWp ÜE, THZ403Sol inkl. 2 Kollektoren, ohne Zirkulationspumpe, Bau aus 2011 als KfW70/EnEV2009 mit 255qm Fläche, Jahresheizwärmebedarf 12.500 kWh/a

Damian

Liefern deine Readings keine Events?

Normalerweise muss man nichts tun, wenn sich nichts ändert. DOIF arbeitet, wie viele Sachen in FHEM, ereignisgesteuert, daher sind zeitlich wiederholende Abfragen nicht nötig. Sollte sich dagegen irgendeine Information ändert, so bekommt das Device das mit und tut das, was du definiert hast - ohne zeitliche Trigger.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Lythie

Es scheint doch zu funktionieren, zumindest sehe ich manchmal etwas im log. Bei dem loglevel hätte ich allerdings jede Prüfung dort erwartet und hatte daher nachgefragt.

Events weiß ich nicht genau. Es sind userReadings. Aber ich will ja auch, dass maximal alle 15min geprüft wird.
Rasbpi 4 mit Originalnetzteil, fhem zur Heizungsanbindung, vzlogger für Stromzähler, httpmod für Tibber-Bridge, influxDB und Grafana, PV S/O mit 23kWp ÜE, THZ403Sol inkl. 2 Kollektoren, ohne Zirkulationspumpe, Bau aus 2011 als KfW70/EnEV2009 mit 255qm Fläche, Jahresheizwärmebedarf 12.500 kWh/a

Damian

Zitat von: Lythie am 18 Februar 2023, 14:18:03
Events weiß ich nicht genau. Es sind userReadings. Aber ich will ja auch, dass maximal alle 15min geprüft wird.

Es wird aber nicht maximal alle 15 Minuten geprüft, sondern auch bei jedem Event von deinen angegebenen UserReadings.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Lythie

Okay aber dafür habe ich ja die Bedingung mit der Uhrzeit, die schränkt doch ein, dass nur alle 15min die komplette und-Verknüpfung wahr wird oder?

Allerdings hieße das wahrscheinlich, dass avg5 die letzten 5 Events des Reading aggregiert und nicht die Reading-Werte der letzten fünf Zeitpunkte bei denen die 15-Minuten-Bedingung wahr war, oder?
Rasbpi 4 mit Originalnetzteil, fhem zur Heizungsanbindung, vzlogger für Stromzähler, httpmod für Tibber-Bridge, influxDB und Grafana, PV S/O mit 23kWp ÜE, THZ403Sol inkl. 2 Kollektoren, ohne Zirkulationspumpe, Bau aus 2011 als KfW70/EnEV2009 mit 255qm Fläche, Jahresheizwärmebedarf 12.500 kWh/a

Damian

Zitat von: Lythie am 18 Februar 2023, 15:55:14
Okay aber dafür habe ich ja die Bedingung mit der Uhrzeit, die schränkt doch ein, dass nur alle 15min die komplette und-Verknüpfung wahr wird oder?

Allerdings hieße das wahrscheinlich, dass avg5 die letzten 5 Events des Reading aggregiert und nicht die Reading-Werte der letzten fünf Zeitpunkte bei denen die 15-Minuten-Bedingung wahr war, oder?

Du kannst auch alle Trigger entfernen, weil sie zwar das DOIF-Modul triggern, aber durch deine Zeitbedingung zu keiner Ausführung führen:

   [+:15] and ## Alle 15 Minuten prüfen ...
   [?Mythz:KollektorTemp:avg5] > [?Mythz:RuecklaufTemp]  and ## ... ob von der Sonne Wärme kommt ...
   [?Mythz:p80EnableSolar] == 0

usw.

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

Lythie

Ah ok. Aber wenn die Readings jede Minute Events feuern und ich den Mittelwert der letzten Stunde haben will müsste ich dann avg60 verwenden?
Rasbpi 4 mit Originalnetzteil, fhem zur Heizungsanbindung, vzlogger für Stromzähler, httpmod für Tibber-Bridge, influxDB und Grafana, PV S/O mit 23kWp ÜE, THZ403Sol inkl. 2 Kollektoren, ohne Zirkulationspumpe, Bau aus 2011 als KfW70/EnEV2009 mit 255qm Fläche, Jahresheizwärmebedarf 12.500 kWh/a

Damian

Zitat von: Lythie am 18 Februar 2023, 16:42:52
Ah ok. Aber wenn die Readings jede Minute Events feuern und ich den Mittelwert der letzten Stunde haben will müsste ich dann avg60 verwenden?

avgX bedeutet nicht, dass es seltener triggert. Es triggert im gleichen Takt, nur wird nicht der Wert geliefert, sondern der Mittelwert der letzten X Werte.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Lythie

Rasbpi 4 mit Originalnetzteil, fhem zur Heizungsanbindung, vzlogger für Stromzähler, httpmod für Tibber-Bridge, influxDB und Grafana, PV S/O mit 23kWp ÜE, THZ403Sol inkl. 2 Kollektoren, ohne Zirkulationspumpe, Bau aus 2011 als KfW70/EnEV2009 mit 255qm Fläche, Jahresheizwärmebedarf 12.500 kWh/a