hardware:channels:heating_control:gastherme_buderus
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
| hardware:channels:heating_control:gastherme_buderus [2025/11/23 18:20] – trabant | hardware:channels:heating_control:gastherme_buderus [2025/12/26 17:36] (aktuell) – Seite umbenannt trabant | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ===== Gastherme Buderus/ | + | #REDIRECT |
| - | Hier geht es um die Anbindung zu einer Gastherme mit '' | + | |
| - | + | ||
| - | Nicht passend ist diese Lösung für ältere Thermen mit '' | + | |
| - | + | ||
| - | Im Mikrocontroller Forum [[https:// | + | |
| - | + | ||
| - | Passend zu diesen Boards gibt es eine eigene Software, die die Dekodierung übernimmt: [[https:// | + | |
| - | + | ||
| - | Jetzt geht es an die Anbindung an der Volkszähler: | + | |
| - | + | ||
| - | Dieses Perl Skript löscht die vorhandenen Daten aus den betreffenden Volkszähler-Kanälen und überträgt die Werte aus der obengenannten SQLite DB in einem Rutsch. | + | |
| - | + | ||
| - | Alternativ kann man das Skript auch ein bisschen anpassen, so dass es im Hintergrund läuft und in einem festgesetzten Abstand die aktuellen Daten abfragt und den VZ auf dem aktuellen Stand hält. Das sieht dann in etwa so aus: | + | |
| - | + | ||
| - | + | ||
| - | <code perl ht3logger.pl> | + | |
| - | # | + | |
| - | + | ||
| - | print " | + | |
| - | + | ||
| - | use DBI; | + | |
| - | + | ||
| - | $dsn = " | + | |
| - | $dbh2 = DBI-> | + | |
| - | + | ||
| - | + | ||
| - | while (1) { | + | |
| - | #print `date` | + | |
| - | $dbh = DBI-> | + | |
| - | + | ||
| - | my $sth = $dbh-> | + | |
| - | + | ||
| - | $sth-> | + | |
| - | + | ||
| - | $ref = $sth-> | + | |
| - | #print $ref; | + | |
| - | $utc = $ref-> | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql[$z++] = " | + | |
| - | $sql2 = ""; | + | |
| - | $z=0; | + | |
| - | foreach my $do (@sql) | + | |
| - | $sql2 .= $do; | + | |
| - | $z++; | + | |
| - | $sql2 = " | + | |
| - | chop($sql2); | + | |
| - | chop($sql2); | + | |
| - | #print $sql2; | + | |
| - | print $dbh2-> | + | |
| - | $sql2 = ""; | + | |
| - | $z=0; | + | |
| - | } | + | |
| - | $utcold = $utc; | + | |
| - | $sth-> | + | |
| - | $dbh-> | + | |
| - | + | ||
| - | sleep 10; | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | Die genannten Werte sind nur Beispiele, ein Blick in die SQLite DB genügt um herauszufinden, | + | |
| - | + | ||
| - | <note important> | + | |
| - | + | ||
| - | So in etwa sieht dann der Erfolg im Frondend aus: | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
hardware/channels/heating_control/gastherme_buderus.1763918442.txt.gz · Zuletzt geändert: von trabant