Heizungssteuerung mit Prioritäten

Begonnen von drdownload, 03 Dezember 2013, 07:12:14

Vorheriges Thema - Nächstes Thema

drdownload

Ich überlege gerade wie man am besten ein komplexeres Heizungssteuerungssystem realisieren könnte, derzeit überlege ich auf eine wie auch immer geartete Weise mit Prioräten zu arbeiten. Wahrscheinlich überlege ich auch zu viel für 5 Räume und 7 Heizkörper, aber uU hilft es ja auch jemanden mit größeren Installationen. Ziel ist es die Temperaturen für alle Räume in einer Mischung aus Automatisierung und Flexibilität zu steuern.

Global sollte es einen Sommer/Winter oder On/Off Schalter geben. Bei Heizung off gibt es nur Frostschutz.

Einen Wochenplan den man vorgibt mit typischen Beginnezeiten und Zieltemperaturen, die als Events in Google Calendar hinterlegt sind. Einträge mit dem Betreff Urlaub sollten auf Abwesend stellen und automatisch einen Tag vor Ende wieder auf Normal zurückstellen.

Dann noch manuelle Overrides ;) Wie zB einen Boost für das Büro (wenn meine Frau drinnen arbeiten will) oder das Badezimmer die höhere Priorität haben als automatische Zielwerte. Aber auch sowas wie manuelles Heizungsprogramm auf "Warm" lassen für die ganze Wohung obwohl der Kalender eigentlich etwas anderes hinterlegt hat.

edit: nett wäre natürlich dass dann ein fensterkontakt mit hoher priorität die temperatur absenkt.

Anbei ein Bild aus dem Kalender zur Illustration
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Dietmar63

ZitatEinen Wochenplan den man vorgibt mit typischen Beginnezeiten und Zieltemperaturen, die als Events in Google Calendar hinterlegt sind. Einträge mit dem Betreff Urlaub sollten auf Abwesend stellen und automatisch einen Tag vor Ende wieder auf Normal zurückstellen

Heating_Control ist die Lösung für das Wochenprogramm.
per Google Calendar oder per dummy kannst du von Sommer- auf Winter- oder Übergangszeit umstellen und mehrere Profile anlegen.

Hast du schon Hardware: fs20 oder HM?

Notify auf Ereignisse von holiday können Feiertage bzw. Urlaub erkennen und den Modus des Heizungsdummys verändern. Ich schalte nicht automatisch sondern per Weboberfläche um. Wochenenden($we) werden automatisch erkannt.

Such mal nach Heating_Control - du wirst viele Treffer und Beispiele finden. Am Besten immer ans Ende des jeweiligen Thread springen. Dann hast du aktuellste Beispiele
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

drdownload

Ich habe eine FS20/FHT basierende Heizung (7 Stellantriebe) die über PID gesteuert werden. Heating Control kenne ich, aber um zB einen Raum zu "boosten" müsste ich ja über modify die hc definition überschreiben, was mir nicht sehr praktisch erscheint.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Dietmar63

Zitat von: drdownload am 03 Dezember 2013, 12:29:51
Ich habe eine FS20/FHT basierende Heizung (7 Stellantriebe) die über PID gesteuert werden. Heating Control kenne ich, aber um zB einen Raum zu "boosten" müsste ich ja über modify die hc definition überschreiben, was mir nicht sehr praktisch erscheint.

Oder direkt die Erhöhung dem Pid, Threshold oder fht übergeben. Vielleicht per Boost Funktion. Wird hier im Thread diskutiert.
Gruß Dietmar
FB7390, CUL, 2 FHT, FS20
modules: 98_WOL.pm, 98_Heating_Control.pm,   98_WeekdayTimer.pm, 98_RandomTimer.pm, 59_Twilight.pm

drdownload

Je mehr ich drüber nachdenke desto eher denke ich dass es quasi bei jedem "set" die möglichkeit geben sollte und dass die übergebenen parameter eine prio haben die gegen die prio des readings gecheckt wird, wenn man über die heizung hinhausdenkt, aber das würde zu weit führen ;)
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

justme1968

ich habe hier: http://forum.fhem.de/index.php/topic,17074.0.html einen patch gepostet mit dem man jedem set eine bedingung mit geben kann. darüber könnte man auch die prioritäten steuerung lösen denke ich.

eine andere idee zu prioritäten die mir schon eine weile vorschwebt ist etwas das in etwa wie die virtuellen kanäle bei den homematic dimmern funktioniert: http://www.elv.de/controller.aspx?cid=758&detail=10&detail2=93. aber als modul ähnlich wie structure um so mehrere eingänge zu einem ausgang zu verknüpfen.

so eine allgemeine verküpfungs und priorisierung könnte man dann mit dem patch von oben gemeinsam verwenden um das zu erreichen was du dir vorstellst.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fritz

Zitat von: drdownload am 04 Dezember 2013, 15:07:16Je mehr ich drüber nachdenke desto eher denke ich ... dass die übergebenen parameter eine prio haben die gegen die prio des readings gecheckt wird,...., aber das würde zu weit führen ;)

Ich habe zum einen elektrische Direktheizungen, die sich natürlich sehr einfach per FHEM schalten lassen. Zum anderen war mir die Heating_Control nicht komfortabel genug (Stichwort: boost). Ich habe das nun so gelöst, dass das Heating_Control-Objekt lediglich den Wert eines dummys verändert, der dann als Zielwert für die Heizungssteuerung dient. Das erlaubte mir zum Beispiel folgende Logik: Heating_Control gibt z.B. 18 Grad vor, nächster Umschaltwert wäre 22 Grad. Heizung ist aktuell aus. Frau/Kind/ich kommt ins Zimmer, empfindet die Temperatur als zu niedrig und betätigt Heizungstaster (am Schalter). FHEM bekommt mit, dass trotz erfüllter Soll-Ist-Bedingung die Heizung eingeschaltet wird und sieht im aktuell gültigen Heating_Control-Bereich nach, was aktuell und was nächster Wert ist. Da der nächste Wert höher ist als der aktuelle und die Heizung manuell eingeschaltet wurde, erhält der Zielwert nun den nächsten Heating-Control-Wert, also die 22 Grad.
Analog wird es beim Ausschalten heruntergeregelt.
Dann gibt es noch den Fall: höhere Temperatur ist bereits eingestellt und erreicht, aber wir wünschen dennoch mehr Wärme. In diesem Fall erhält der Zielwert einen um 2 Grad höheren Wert... Naja - und per Smartphone lässt er sich natürlich auch setzen ohne dass der "normale" Heating-Control-Ablauf umdefiniert werden müsste. Lange Rede - kurzer Sinn, der Zauberspruch lautet: Trennung von Vorgabe und Steuerung.
Nebenbei: Fensterkontakte und weitere Bedingungen lassen sich so sehr einfach ergänzen...

Etwas störte mich dann aber doch noch: die Heizung heizte so lange, bis Ist = Soll. Dann aber war der Heizkörper richtig schön aufgeheizt und hat noch 'ne ganze Weile nachgeglüht, so dass die Temperatur in der Regel ein bis zwei Grad über den Sollwert hinausschoss. Das vermeide ich jetzt so, dass ich mir für die letzten 10(10)60 Minuten die gemessenen Temperaturwerte speichere und sie zum Soll-Ist-Vergleich heranziehe. Nach einigem Experimentieren bin ich jetzt dazu gekommen, die Heizung zu schalten wenn Soll <> Ist+3*delta_10 ist, wobei delta_10 die Differenz zur Temperatur von vor 10 Minuten ist ( delta_10 > 0 - wird wärmer, delta_10 < 0 - wird kälter). Seitdem merkt nur noch der Sensor die Temperaturschwankungen.

Allen ein frohes erfolgreiches FHEM-Jahr

<F>