Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:channels:heating_control:gastherme_buderus

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:channels:heating_control:gastherme_buderus [2025/12/08 16:58] – Überschriften eingefügt trabanthardware:channels:heating_control:gastherme_buderus [2025/12/09 10:59] (aktuell) – [Anbindung an den Volkszähler] trabant
Zeile 31: Zeile 31:
 from time import ctime,sleep from time import ctime,sleep
    
-print("Starting up ht3logger V2 on "+ctime()+print("Starting up ht3logger V2.1 on "+ctime())
-  +
-tabellen = ('heizgeraet','warmwasser')+
    
 +tabellen = {'heizgeraet','warmwasser'}
 +
 heizgeraet = { heizgeraet = {
-        'T_aussen'         : '80089ae0-fa81-11e9-bdc6-b99d5fa0fe8b', +    'T_aussen'         : '80089ae0-fa81-11e9-bdc6-b99d5fa0fe8b', 
-        'T_vorlauf_soll'   : 'af1863e0-fa81-11e9-8d30-337b7499db8e', +    'T_vorlauf_soll'   : 'af1863e0-fa81-11e9-8d30-337b7499db8e', 
-        'T_vorlauf_ist'    : 'cbf99f10-fa81-11e9-9709-d55e7ad0883e', +    'T_vorlauf_ist'    : 'cbf99f10-fa81-11e9-9709-d55e7ad0883e', 
-        'T_mischer'        : '521a0ca0-fa8d-11e9-970f-752aababd342', +    'T_mischer'        : '521a0ca0-fa8d-11e9-970f-752aababd342', 
-        'V_heizungs_pumpe' : 'a5958bf0-fa8f-11e9-bf34-4f7c2163b201', +    'V_heizungs_pumpe' : 'a5958bf0-fa8f-11e9-bf34-4f7c2163b201', 
-        'V_brenner_flamme' : '5ec31d30-fa90-11e9-98b7-3b9f4a33ba29', +    'V_brenner_flamme' : '5ec31d30-fa90-11e9-98b7-3b9f4a33ba29', 
-        'V_leistung'       : '81f3ed90-7f7b-11ed-90c6-b747fd43b61f', +    'V_leistung'       : '81f3ed90-7f7b-11ed-90c6-b747fd43b61f', 
-        'C_brenner_gesamt' : '9bbd1c20-a8ee-11e5-82ab-079b3d8ffc8e'+    'C_brenner_gesamt' : '9bbd1c20-a8ee-11e5-82ab-079b3d8ffc8e'
 } }
    
 warmwasser = { warmwasser = {
-        't_soll'           : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', +    't_soll'           : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
-        't_ist'            : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', +    't_ist'            : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 
-        't_speicher'       : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'+    't_speicher'       : 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
 } }
    
 while True: while True:
- for table in tabellen: +    for table in tabellen: 
- try: +        try: 
- db = sqlite3.connect('file:/home/pi/HT3/sw/var/databases/HT3_db.sqlite?mode=ro', uri=True) +            db = sqlite3.connect('file:/home/pi/HT3/sw/var/databases/HT3_db.sqlite?mode=ro', uri=True) 
- db.row_factory = sqlite3.Row +            db.row_factory = sqlite3.Row 
- cursor = db.execute('SELECT * FROM '+table+' ORDER BY utc DESC LIMIT 1') +            cursor = db.execute('SELECT * FROM '+table+' ORDER BY utc DESC LIMIT 1') 
- except: +        except: 
- print("Error accessing Sqlite database."+            print("Error accessing Sqlite database."
- raise SystemExit(2) +            raise SystemExit(2) 
- for dbvalue in cursor: +        for dbvalue in cursor: 
- timestamp = int(dbvalue['UTC'] * 1000) +            timestamp = int(dbvalue['UTC'] * 1000) 
- for key,uuid in eval(table).items(): +            for key,uuid in eval(table).items(): 
- try: +                try: 
- #print(key, timestamp, uuid, dbvalue[key]) +                    #print(key, timestamp, uuid, dbvalue[key]) 
- post('http://localhost/middleware/data.json',data='uuid':uuid,'ts':timestamp,'value':dbvalue[key]}) +                    post('http://localhost/middleware/data.json', data={'uuid':uuid,'ts':timestamp,'value':dbvalue[key]}) 
- except: +                except: 
- print("Couldn't post to VZ Middleware.")  +                    print("Couldn't post to VZ Middleware.")  
- db.close() +        db.close() 
- sleep(10)+    sleep(10) 
 +    
 </code> </code>
 Das Skript benötigt das Modul ''requests''. Sollte es nicht schon vorhanden sein, lässt es sich mittels ''apt-get install python3-requests'' nachinstallieren. Das Skript benötigt das Modul ''requests''. Sollte es nicht schon vorhanden sein, lässt es sich mittels ''apt-get install python3-requests'' nachinstallieren.
  
-<note important>Die zu importierenden Tabellen sowie die Kanallisten müssen im Skript 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>+<note important>Die zu importierenden Tabellen sowie die Kanallisten müssen im Skript 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>
  
 ==== Daten ==== ==== Daten ====
  
-Die genannten Werte sind Beispiele. Ein Blick in die SQLite DB genügt, um herauszufinden, welche Daten man selbst gerne hätte. In diesem Beispiel einer Kombitherme findet man unter ''T_mischer'' im übrigen die DL-Warmwassertemperatur.+Die genannten Werte sind Beispiele. Ein Blick in die SQLite DB lohnt, um herauszufinden, welche Daten man selbst gerne hätte. In diesem Beispiel einer Kombitherme findet man unter ''T_mischer'' im Übrigen die DL-Warmwassertemperatur.
  
 In der SQLite Datenbank gibt es neben der Tabelle ''heizgeraet'' noch weitere, für den Fall dass separate Heizkreise, Solarthermie oder ein Warmwasserspeicher existieren. Das Skript lässt sich entsprechend anpassen, beispielhaft ist hier neben ''heizgeraet'' noch ''warmwasser'' aufgeführt. In der SQLite Datenbank gibt es neben der Tabelle ''heizgeraet'' noch weitere, für den Fall dass separate Heizkreise, Solarthermie oder ein Warmwasserspeicher existieren. Das Skript lässt sich entsprechend anpassen, beispielhaft ist hier neben ''heizgeraet'' noch ''warmwasser'' aufgeführt.
hardware/channels/heating_control/gastherme_buderus.1765209523.txt.gz · Zuletzt geändert: von trabant