| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |
| hardware:channels:heating_control:gastherme_buderus [2025/11/29 20:43] – Skript auf UUIDs und Middleware umgestellt, Startup und Konfigurationen eingefügt trabant | hardware:channels:heating_control:gastherme_buderus [2025/11/29 22:03] (aktuell) – trabant |
|---|
| ===== Gastherme Buderus/Bosch/Junkers mit Heatronic 3===== | ===== Gastherme Buderus/Bosch/Junkers mit Heatronic 3===== |
| Hier geht es um die Anbindung zu einer Gastherme mit //Heatronic 3//, diese gibt es unter den Namen //Buderus//, //Junkers// sowie seit wenigen Jahren auch Bosch selbst. Die Regelungen sind sehr ähnlich, da alle aus dem Hause Bosch kommen. | Hier geht es um die Anbindung einer Gastherme mit //Heatronic 3//, diese gibt es unter den Namen //Buderus//, //Junkers// sowie seit wenigen Jahren auch //Bosch// selbst. Die Regelungen sind sehr ähnlich, da alle aus dem Hause Bosch kommen. |
| |
| Nicht passend ist diese Lösung für ältere Thermen mit //Heatronic 2//, die jedoch auch mit einem busfähigen Regler ausgestattet werden können. Siehe hierzu [[gastherme_junkers_can_bus|Junkers Gastherme mit Heatronic 2 und Can-Bus-Regler]]. | Nicht passend ist diese Lösung für ältere Thermen mit //Heatronic 2//, die jedoch auch mit einem busfähigen Regler ausgestattet werden können. Siehe hierzu [[gastherme_junkers_can_bus|Junkers Gastherme mit Heatronic 2 und Can-Bus-Regler]]. |
| Passend zu diesen Boards gibt es eine eigene Software, die die Dekodierung übernimmt: [[https://github.com/norberts1/hometop_HT3.git]], auch dazu gibt es einen Thread im genannten Forum [[https://mikrocontroller.net/topic/324673]]. Diese Software ist wirklich herstellerspezifisch und würde bei Geräten anderer Hersteller mit EMS-Bus nicht so einfach funktionieren. | Passend zu diesen Boards gibt es eine eigene Software, die die Dekodierung übernimmt: [[https://github.com/norberts1/hometop_HT3.git]], auch dazu gibt es einen Thread im genannten Forum [[https://mikrocontroller.net/topic/324673]]. Diese Software ist wirklich herstellerspezifisch und würde bei Geräten anderer Hersteller mit EMS-Bus nicht so einfach funktionieren. |
| |
| Die //hometop-HT3// Software kann die dekodierten Daten wahlweise als RRD Dateien speichern und damit einen eigenen Webserver füttern, oder aber auch als Sqlite Datenbank. Für das Logging in den Volkszähler wählen wir die zweite Methode. In der Konfigurationsdatei ''HT3/sw/config/HT3_db_cfg.xml'' setzen wir in der Sektion ''<sql-db>'' den Parameter ''<enable>'' auf ''on'' und wählen die automatische Löschung von alten Daten (''<autoerase_olddata>1''). Darunter kann unter ''<rrdtool-db>'' die Erstellung der RRD Daten ausgeschaltet werden - muss aber nicht. Diese Anpassungen sollten am Besten vor dem Lauf des Programmes ''create_databases.py'' vergenommen werden. | Die //hometop-HT3// Software kann die dekodierten Daten wahlweise als RRD Dateien speichern und damit einen eigenen Webserver füttern, oder aber auch als Sqlite Datenbank. Für das Logging in den [[:volkszaehler|Volkszähler]] wählen wir die zweite Methode. In der Konfigurationsdatei ''HT3/sw/config/HT3_db_cfg.xml'' setzen wir in der Sektion ''<sql-db>'' den Parameter ''<enable>'' auf ''on'' und setzen die automatische Löschung von alten Daten (''<autoerase_olddata>'') auf einen Tag (''1''). Darunter kann unter ''<rrdtool-db>'' die Erstellung der RRD Daten ausgeschaltet werden (''off'', wer die RRD Daten gerne haben möchte kann diese auch parallel erstellen lassen). |
| |
| Für die Anbindung an den Volkszähler ist es wichtig, dass die Dienste ''ht_proxy.py'' und ''ht_collgate.py'' laufen und die Sqlite Datenbank ''HT3_db.sqlite'' auch aktualisiert wird. | Diese Anpassungen sollten am Besten vor dem ersten Lauf des Programmes ''create_databases.py'' vergenommen werden, Sind die Datenbanken im Rahmen des Installationsprozesses von //hometop-HT3// bereits erstellt worden, und es gibt keine Sqlite Datei unter ''HT3/sw/var/databases/HT3_db.sqlite'', dann lässt man ''create_databases.py'' noch einmal laufen. |
| |
| Folgendes Skript kann dann verwendet werden um in einem festgesetzten Abstand (voreingestellt sind 10s) die aktuellen Daten abzufragen und via Middleware an den Volkszähler zu übermitteln: | Für die Anbindung an den Volkszähler ist es wichtig, dass die Dienste ''ht_proxy.py'' und ''ht_collgate.py'' laufen und die Sqlite Datenbank ''HT3_db.sqlite'' auch aktualisiert wird. |
| |
| | Mit dem folgenden Skript können dann die Daten in einem festgesetzten Abstand (voreingestellt sind 10s) abgefragt und via [[software:middleware:einrichtung|Middleware]] an die [[software:middleware:datenbank|Volkszähler-DB]] übermittelt werden: |
| | |
| <code python ht3logger.py> | <code python ht3logger.py> |
| #!/usr/bin/python3 | #!/usr/bin/python3 |
| </code> | </code> |
| |
| <note important>Die ''channel_list'' im Skript muss händisch angepasst werden. An erster Stelle stehen die Spaltennamen aus der //hometop// Sqlite-DB, an zweiter Stelle die ''UUID'' eines bestehenden VZ-Kanals. Der Name (z.B. //T_vorlauf_ist// kann, muss aber nicht mit der Benennung des entsprechenden Kanals im VZ übereinstimmen.</note> | <note important>Die ''channel_list'' im Skript muss manuell angepasst werden. An erster Stelle stehen die Spaltennamen aus der //hometop// Sqlite-DB, an zweiter Stelle die ''UUID'' eines bestehenden VZ-Kanals. Der Name (z.B. //T_vorlauf_ist//, kann, muss aber nicht mit der Benennung des entsprechenden [[software:middleware:einrichtung|Kanals]] im VZ übereinstimmen.</note> |
| |
| Die genannten Werte sind nur Beispiele, ein Blick in die SQLite DB genügt um herauszufinden, was man selbst gerne hätte. In diesem Beispiel einer Kombitherme findet man unter ''T_mischer'' im übrigen die DL-Warmwassertemperatur. | Die genannten Werte sind nur Beispiele, ein Blick in die SQLite DB genügt um herauszufinden, was man selbst gerne hätte. In diesem Beispiel einer Kombitherme findet man unter ''T_mischer'' im übrigen die DL-Warmwassertemperatur. |
| [Unit] | [Unit] |
| Description=Logging data from hometop HT3 database to VZ Middleware | Description=Logging data from hometop HT3 database to VZ Middleware |
| After=mysql.service middleware.service nginx.service ht_proxy.service ht_collgate.service | After=ht_proxy.service ht_collgate.service |
| |
| [Service] | [Service] |
| {{ :hardware:channels:heating_control:can-vz.png | Frontend}} | {{ :hardware:channels:heating_control:can-vz.png | Frontend}} |
| |
| <note tip>In diesem Fall muss für den Kanaltyp der Brennerstarts nicht der "Allgemeine Impulszähler", sondern "Bestriebsstundenzähler (Zählerstand)" verwendet werden. Der Grund hierfür ist, dass vom Skript nicht die einzelnen Starts geloggt werden, sondern die Therme selbst die Starts aufaddiert und auf den Bus schreibt.</note> | <note tip>In diesem Fall muss für den Kanaltyp der Brennerstarts nicht der "Allgemeine Impulszähler", sondern "Betriebsstundenzähler (Zählerstand)" verwendet werden. Der Grund hierfür ist, dass vom Skript nicht die einzelnen Starts geloggt werden, sondern die Therme selbst die Starts aufaddiert und auf den Bus schreibt.</note> |