Temperatur Messung Zentralheizung
=== Datenquelle Schicht 1 Temperaturmessung ===Für eine Heizung werden im allgemeinen vier Temperatur Kanäle benötigt.
• Vorlauf • Rücklauf • Warmwasser • Außen
Zusätzlich ist auch der Stromverbrauch dazu von Interesse, welcher dann in einem eigenen Artikel E-Monitor vorgestellt wird.
Funktionalität: Schicht #1 Temperaturmessung
Input: Temperatur Messwerte (Bereich -30..70°C für Vorlauf, Rücklauf, Warmwasser und Außen)
Output: je eine Datei in Ramdisk pro Messwert (vl, rl, ww, aussen) Inhalt: eine Zeile mit Timestamp, Messwert (keine Unit) wird laufend überschrieben.
zB: die Datei /media/ramdisk/vl enthält eine Zeile: 2026-02-23 08:36:03,37.8
Ansicht Live Daten:
=== Temperaturmessung + Vorgriff auf Schichten 3 (Darstellung am Webserver) Schicht 2 Verbrauchsrechnung und Schicht 1 Stromverbrauch ===
Hier werden im Minutentakt Messwerte gesammelt und auf einem Webserver grafisch dargestellt.
Drei unterschiedliche Datenquellen, Temperaturmessungen, Stromverbrauch, CPU Temperatur
Am Echtsystem kann jede Grafik per Klick größer dargestellt werden - (nicht hier auf der Seite)

Motivation:
Meine alte Lösung von 2009 ist für eine Neue Anlage (Heizung beim Sohn) nicht mehr zweckmäßig, daher Neuentwicklung.
Die damalige Etherbox2 als 8 Kanal Analog Digital Wandler war teuer, Produktion ist mittlerweile eingestellt - daher ist neuer A/D Wandler notwendig.
PT1000 Sensoren sind genau, keine Ausfälle seit 2009. Das wird auch in der Industrie verwendet. Also neuer A/D Wandler mit PT1000 Sensor und Speicherung der Messwerte. Darstellung auf Webserver.
Die Verwendung fertiger Heim Automatisation Software sehe ich für mich nicht gegeben, da meistens schlecht Dokumentiert und Monolithischer Ansatz. Ich habe keine Lust mich mit den Produkten auseinander zu setzen. Daher eigene Entwicklung und Schicht-basierender Aufbau. Ich kaufe nur Komponenten, die gut Dokumentiert und deren Daten problemlos von der Betriebssystem Ebene aus abgefragt werden können. Hardware, die nur per Cloud oder Smartphone zu bedienen ist, wird nicht gekauft.
Nachbau
Das Projekt kann gerne privat nachgebaut werden. Die Verwendung in kommerziellen Projekten ist nicht gestattet
Die Python Skripte habe ich, teilweise auch mit Hilfe von ChatGPT erstellt.
Platinen können vom Autor bezogen werden.
Aufbau Temperatur Sensor + Hardware
•4 bis 16 Kanäle - Temperatur Sensoren PT1000
•PT1000 Messumformer pro Kanal erforderlich
•Analog Digitalwandler
•Speicherung der Daten und Darstellung auf Webserver. Plattform Linux, Raspberry P4B mit SSD
•Vernünftiges Industrienetzteil
•Montage in einem Verteilerkasten
Schaltung:

Eine Platine kann 4 Kanäle messen. Es können insgesamt bis zu 4 Platinen an einem I2C Bus betrieben werden. Der A/D Wandler wird mit 5V betrieben. Raspberry PI verwendet 3.3V Logik. Zur Logikanpassung 5V-3.3V bidirektional ist ein Levelshifter eingebaut. Die I2C Leitungen SDA und SCL werden darüber zum Raspberry Pi geführt. Die Hilfsspannung von 15V für die Messumformer wird aus 5V mittels Step UP Regler erzeugt. Am Print mit +24V bezeichnet, aber +15V sind OK.
Platine:
Auf der Platine ist ein AD1115AD Wandler und Vier Messwandler -30 70 Grad aufgelötet, dazu Levelshifter in SMD, Kontroll LEDs für die Spannungen, 3 Stufiger Anschl. für CPU Lüfter. Vom Netzteil gehen 5V direkt via USB-C Stecker zum Raspberry PI. Von dort wird über die 6 polige Flachbandleitung GND,5v,3.3V,SDA und SCL die Platine versorgt. Via Daisy Chain Kabel können weitere Platinen versorgt werden.

Ein Step UP Regler erzeugt aus 5V die extra 15V Spannung für die Messwandler. Sensoren: Es erfolgt kein Eingriff die Heizungsanlage, alle Fühler werden nur Passiv an die Rohroberflächen gebunden.

Das Cu Rohr mit Sensor wird nachher wieder mit Schaumstoff Isolation umhüllt. Bei dem Warmwasserbehälter wird der Sensor zu dem schon eingebauten Sensor dazu gesteckt. Hier ist meistens ein kleine Klappe im Isolier Schaumstoff vorgesehen.
Messumformer:

Der Messumformer gibt 0-10V für Temperatur -30V .. +70V aus
DieseModule sind bei B+B Thermo-Technik GmbH, Conrad und anderen Distributoren erhältlich.
PT1000 mit Messumformer ist sind Industriestandard und genau. Verkabelung ist unkritisch.
A/D Wandler:

Der A/D Wandler ist bei AzDelivery erhältlich.
Über einen Spannungsteiler 15K, 10K wird die Ausgangs Spannung zu A/D Wandler Eingang geleitet - 0..4.096V 16bit
Levelshifter:

Der Levelshifter ist auf derPlatine in SMD realisiert. Der BSS138 ist in SMS erhältlich (Reichelt)
Dazu SMD 10K Widerstände in der Größe 0805

Der Raspberry PI arbeitet mit 3.3V Logikspannung. Der ADS1115 könnte auch mit 3.3V arbeiten, dann darf aber auch der Eingang nicht 3.3V überschreiten. Das würde die Genauigkeit vermindern, daher Betrieb mit 5V und einem Logik Levelshifter zu 3.3V. Die Schaltung mit BSS138 ist bewährt, habe ich in Verbindung mit Arduino und Raspberry PI schon oft verwendet.
Test der Platine mit I2Cdetect I2Cdetect ist am Raspberry PI vorhanden.
Aus der Shell wird der I2CBus angesprochen, und die erkannten Geräte angezeigt.
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- 48 49 -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- Der A/D Wandler kommuniziert via Levelshifter mit dem Raspberry PI
Software Skripte: In diesem Artikel geht es um Punkt 1.0 Datenquelle Temperaturen. Die vier Messwerte werden fortlaufend in vier Files in der Ramdisk abgespeichert.
Dateinamen: vl, rl, ww, aussen.
Datei Inhalt: timestamp:Messwert.---- zB. 2026-02-18 16:17:05,40.9
Schicht #1 , ein Skript zur Abfrage der Temperatur Sensoren, A/D Wandlung und Daten schreiben in die Ramdisk. Eine kleine Anfrage zu ChatGPT hat ein Skript dazu bereitgestellt..
Test Script
Mit diesem Testscript kann die Funktion der Platine mit Sensoren sofort überprüft werden. ads1115_test.py - Python Skript
Einsatz Skript Aufruf aus Shell:
python3 ads1115_test.py Adresse Kanal Gain
Adresse ist 0x48 (siehe Lötbrücke auf Platine) Kanal ist 0 - 3, Gain ist immer 1
Es wird Digital Rohwert, Spannung am AD Eingang, Spannung Ausgang Messumformer (zurückgerechnet lt. Spannungsteiler), Temperaturwert ausgegeben
python3 ads1115_test.py 0x48 0 1 2026-02-22 10:16:29, raw=22337, vadc=2.792V, vin=6.981V, temp=39.81
Einsatz Skript
Aufruf per Shellscript. Hier erfolgt Zuordnung A/D Adresse und Kanalnummer zu Dateinamen in der Ramdisk.
./t-messung.sh
Aufruf Einsatz Skript per System Python3 mit Parameter I2C Adresse Kanalnummer und Ausgabedatei. Alles mit absoluten Pfaden.
Voraussetzung für das Python Skript, es muss eine Ramdisk vorhanden sein.
Beschreibung im Artikel Schicht #0 (Installation Linux, Samba, Ramdisk, Webserver, Cron, Systemd Service) erfolgt noch.
Es werden die Messwerte permanent mit Timestamps in die Ramdisk geschrieben.
Je ein File mit VL, RL, Aussen, WW. Nur einen Zeile Timestamp, Messwert.
Die Files werden immer überschrieben.
ads1115_read.py - Python Skript
Alle drei Skripte (ads1115_test.py, t-messung.sh und ads1115.py können hier aus dem grauen Code Fenster mit(CTL-A) und (CTL_C) heraus in die Zwischenablage kopiert werden.
Einbau:
Eigene Anlage mit 8 Kanälen. Die Messumformer habe ich von meiner alten 2009er Lösung übernommen.
Raspberry PI4B 4GB + Sata SSD 250GB, Industrie Netzteil, Step Up Regler, 1A Leitungsschutzschalter.

Bezugsquellen:
Messumformer -30..70Grad 0-10V Messumformer shop.bb-sensors.com , Messumformer Conrad
ADS1115 A/D Wandler ADS1115 AZ Delivery
schade das AzDelivery im Herbst 2026 aufhört aber den ADS1115 gibts auch hier oder ADS1115 Amazon
Industrie Netzteil Meanwell 5V 3A Netzteil Pollin oder Netzteil Reichelt
Step UP Modul 5V-15V StepUp Amazon
Widerstände 0.1% Toleranz 10k und 15k für die Spannungsteiler 15K Reichelt und 10K Reichelt
Pfostenbuchsen 40 und 6 polig für Verbindungskabel Rasperry GPIO zur Platine PFL 40 Reichelt und PFL 6 Reichelt
Raspberry Pi:
Ich verwende Raspberry PI 4/B 2GB oder 4GB, die sind völlig ausreichend. Betrieb ohne Speicherkarte mit USB-SATA 256-512GB SSD.
Betrieb ohne SSD nur mit SD Speicherkarte ist sinnlos, da die SD Karten hier nicht lange durchhalten..
Raspberry PI 5 wird zu heiss. USB zu Nvme M2 SSD ist nett, aber auch zu teuer und bringt hier nichts.
USB-C Stecker Amazon
Raspi 4/B Kühlkörper
ANVISION 2er-Pack 40 mm x 10 mm DC 5V Brushless Fan
Ugreen USB - Sata
GPIO Stecker Verlängerung HARWIN M20-6102045
Manche USB - Sata Adapter booten nicht mit dem RAspberry. Der Ugreen funktioniert.
Den Raspberry PI kann man im 365x24 Betrieb nicht ohne Kühlkörper mit Lüfter betreiben! Der hier gelistete Kühlkörper ist solide aus Alu und muss mit 2 Sacklöchern und M3 Gewinde versehen werden, dann kann der Lüfter darauf montiert werden. Die Pfostenbuchse 40pol.kann ohne Buchsenverlängerung nicht durch den Kühlkörper gesteckt werde. Hier muss eine HARWIN M20-6102045 Verlängerung besorgt werden. Die China Ware welche meistens billig angeboten wird ist hier unbrauchbar, da die Pins zu dünn sind und Kontaktfehler verursachen. Nur die HARWIN hat die richtige Pin Dicke.
Nachbau
Das Projekt kann gerne privat nachgebaut werden. Die Verwendung in kommerziellen Projekten ist nicht gestattet
Die Python Skripte habe ich, teilweise auch mit Hilfe von ChatGPT erstellt.
Platinen können vom Autor bezogen werden. HARWIN Buchse bitte anfragen.
Dateidatum: 15.08.2026
