{"id":855,"date":"2023-07-04T10:06:00","date_gmt":"2023-07-04T08:06:00","guid":{"rendered":"https:\/\/www.iot-embedded.de\/iot-2023\/?p=855"},"modified":"2023-07-03T18:27:31","modified_gmt":"2023-07-03T16:27:31","slug":"das-herzstueck-unseres-projekts-der-heizungsalgorithmus","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2023\/2023\/07\/04\/das-herzstueck-unseres-projekts-der-heizungsalgorithmus\/","title":{"rendered":"Das Herzst\u00fcck unseres Projekts: Der Heizungsalgorithmus"},"content":{"rendered":"\n<p>Der Heizungsalgorithmus spielt eine zentrale Rolle im Projekt und trifft Entscheidungen dar\u00fcber, ob das Heizen erforderlich ist. Um zu verhindern, dass jeder Raum eine eigene Raumtemperatur besitzt, sind globale Temperaturen definiert, die der Administrator anpassen kann (Mindesttemperatur, Eco-Temperatur und Soll-Temperatur). Zus\u00e4tzlich besteht f\u00fcr jeden die M\u00f6glichkeit, die Soll-Temperatur lokal in jedem Raum vor\u00fcbergehend anzupassen.<\/p>\n\n\n\n<p>Zu Beginn wird die ID des Aktors aus der Datenbank ausgelesen und in einer Flow-Variablen gespeichert. Weitere Daten werden dem Algorithmus aus anderen Node-Red-Flows zugef\u00fchrt (Rapla und UI). Dies erfolgt \u00fcber Links, die die Nachrichten aus anderen Flows in den Heizungsalgorithmus-Flow \u00fcbertragen. Des Weiteren wird die aktuelle Temperatur periodisch aus der Influx-Datenbank ausgelesen.<\/p>\n\n\n\n<p style=\"font-size:16px\">Zus\u00e4tzlich \u00fcberwacht der Algorithmus, ob ein Fenster ge\u00f6ffnet ist, um in diesem Fall den Heizvorgang vor\u00fcbergehend zu unterbrechen. Dabei vergleicht der Algorithmus die Temperaturen des Wand-Temperatursensors und des Fenster-Temperatursensors und ber\u00fccksichtigt eine einstellbare Toleranz. Sobald sich die Raumtemperatur wieder stabilisiert hat, wird die Heizung ggf. erneut aktiviert.<\/p>\n\n\n\n<p style=\"font-size:16px\">Der Heizungsalgorithmus pr\u00fcft periodisch, ob die Bedingungen f\u00fcr das Heizen gegeben sind und sendet ggf. ein Befehl zum \u00d6ffnen des Ventils an den MQTT. Anderenfalls erfolgt der Schlie\u00dfbefehl.<\/p>\n\n\n\n<p>Das Heizen eines Raums kann in drei Szenarien erforderlich sein:<\/p>\n\n\n\n<ol type=\"1\">\n<li style=\"font-size:16px\">Unterschreitung der Minimaltemperatur: Wenn die Temperatur unter 15\u00b0C f\u00e4llt, steigt das Risiko von Schimmelbildung erheblich. Daher ist es erforderlich, die Temperatur jederzeit auf mindestens 15\u00b0C zu halten, auch wenn der Raum nicht genutzt wird. Neben der Eco-Temperatur dient diese Temperatur als unterste Grenze und kann in Zukunft daf\u00fcr genutzt werden, wenn R\u00e4ume l\u00e4ngere Zeit nicht belegt sind. Dann kann die gew\u00fcnschte Raumtemperatur auf die Minimaltemperatur gesetzt werden.<\/li>\n\n\n\n<li style=\"font-size:16px\">Unterschreiten der Eco-Temperatur: Um zu verhindern, dass der Raum stark abk\u00fchlt und ein erneutes Aufheizen somit ineffizienter wird, haben wir die Eco-Temperatur definiert. F\u00e4llt die Temperatur unter diesen Wert, so wird geheizt.<\/li>\n\n\n\n<li style=\"font-size:16px\">&nbsp;Geplante Veranstaltung im Raum: 30 Minuten vor Beginn einer Veranstaltung, wird gew\u00fcnschte Raumtemperatur auf die globale Soll-Temperatur gesetzt. Der Algorithmus pr\u00fcft, ob die Temperatur unterschritten ist und heizt bei Bedarf. 30 Minuten vor Ende der Veranstaltung endet der Heizvorgang und die gew\u00fcnschte Raumtemperatur wird auf die Eco-Temperatur gesetzt.<\/li>\n\n\n\n<li style=\"font-size:16px\">&nbsp;Manueller Heiz-Befehl: Dr\u00fcckt ein User im Frontend den &#8222;Jetzt Heizen&#8220;-Knopf, so wird wie bei der geplanten Veranstaltung die gew\u00fcnschte Raumtemperatur auf die globale Soll-Temperatur gesetzt. Nach 30 Minuten wird diese dann wieder auf die Eco-Temperatur heruntergesetzt.<\/li>\n<\/ol>\n\n\n\n<p>Bisher erfolgt die Pr\u00fcfung, ob und wann geheizt wird, mit Festwerten. In Zukunft ist es aber durchaus denkbar, weitere Effizienzsteigerungen mittels Machine Learning zu erreichen. Dazu aber mehr im n\u00e4chsten Blogbeitrag.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Der Heizungsalgorithmus wurde in Zusammenarbeit mit Leon Emmerich entwickelt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Der Heizungsalgorithmus spielt eine zentrale Rolle im Projekt und trifft Entscheidungen dar\u00fcber, ob das Heizen erforderlich ist. Um zu verhindern, dass jeder Raum eine eigene Raumtemperatur besitzt, sind globale Temperaturen definiert, die der Administrator anpassen kann (Mindesttemperatur, Eco-Temperatur und Soll-Temperatur).<\/p>\n","protected":false},"author":24,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7],"tags":[12],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/855"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/comments?post=855"}],"version-history":[{"count":4,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/855\/revisions"}],"predecessor-version":[{"id":859,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/posts\/855\/revisions\/859"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/media?parent=855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/categories?post=855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2023\/wp-json\/wp\/v2\/tags?post=855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}