Inhaltverzeichnis
1. Vorwort
2. Installation
3. Beobachtungen an einem einzelnen Tag
4. Warnmeldungen
5. Auslesen der Temperaturwerte via HTTP-Request
1. Vorwort
Wir bemerken oft zu spät, wann unsere Wärmepumpenheizung einmal
ein Problem hat, nämlich erst, wenn es im Innern kalt wird.
Zudem stellten wir spätestens nach dem Einbau des Shelly 3EM im
Sicherungskasten fest,
dass die Heizung bei weitem der grösste Energieverbraucher bei uns ist
und es nahm mich wunder, wann genau und wie lange die Heizung aktiv ist.
Dazu wäre es notwendig, z.B. die Vorlauftemperaturen vs. die Zeit
zu kennen. Diese Daten sollen via WLAN abrufbar sein.
Während unseres Projektes mit der kleinen
Solaranlage
stiess ich auf Youtube auf einen Film zur
Heizungsüberwachung. Daher wollte ich eine ähnliche Überwachung
realisieren.
Rasch stellte ich fest, dass bei den gängigen Online-Portalen zur Zeit
(Februar 2023) nicht alle benötigten Produkte erhältlich sind.
Daher beschloss ich, über die Webseite von
Shelly zu bestellen, zumal die
Geräte dort verfügbar und auch noch preislich tiefer waren.
In der Nacht von Sonntag auf Montag bestellte ich daher
einen "Shelly Plus 1" sowie einen "Shelly Plus Addon" inklusive drei
Temperaturfühlern. Als Versandart wählte ich DHL und die Gesamtsumme
belief sich auf €52.67 .
Am Montag erhielt ich die Meldung, das Paket sei versandt und bereits am
Dienstag erhielt ich die Ware um 14 Uhr via DHL. Und dies aus Sofia in
Bulgarien!
2. Installation
Achtung: Arbeiten mit Elementen, die unter Netzspannung (230 V) stehen, sollten nur von Fachleuten ausgeführt werden - es besteht Lebensgefahr!
Der 'Shelly Plus Addon' wurde nun auf den 'Shelly Plus 1' geklickt, die beiden Devices gemäss Anleitung verdrahtet und in einer kleinen Abzweigdose eingebaut. Dabei wurden die eingeführten Kabel mittels Kabelbindern vor dem versehentlichen Herausreissen geschützt.
Der Shelly Plus 1 (mit dem WLAN-Interface) und die Sensoren wurden in der
Shelly Smart Control App
aktiviert und mittels Berührung mit Fingern (und Ablesung der
Temperaturen) konnten die Sensoren den einzelnen Kanälen zugeordnet werden.
Zu überwachen gilt es in diesem Projekt den Vorlauf, der von der
Wärmepumpe kommt und zu den Radiatoren im Unter- und Erdgeschoss geht, den
Vorlauf, der ins Obergeschoss (mit Bodenheizung) geht sowie die
Vorlauftemperaturen für den Boiler.
Die Sensoren wurden mittels Kabelbindern an den entsprechenden Heizungsrohren
befestigt; siehe Foto unten links.
![]() |
![]() |
Um die Sensoren vor der Umgebungstemperatur zu schützen, wurden diese mit im Keller gefundenen Restposten von blauen Polystyrol-Dämmplatten - die entsprechend zugesägt wurden - abgedeckt (oben rechts).
In der Shelly-App sieht das Hauptmenu dann wie folgt aus (unten links). Dass die drei Temperaturen im Shelly-Hauptmenu angezeigt werden, verdanke ich dem oben verlinkten Youtube-Video des Autors "Aber Einfach". Ein Klick auf den Bereich "Heizungstemperaturen" zeigt dann den "Shelly Plus 1 Heizung" (unten rechts):
![]() |
![]() |
3. Beobachtungen an einem einzelnen Tag
Ein Klick auf den Bereich "Shelly Plus 1 Heizung" ergibt dann den Überblick aller drei Temperatursensoren, die jeweils einzeln angewählt werden können, um den Verlauf der von der jeweiligen Sonde gemessenen Temperaturen graphisch darzustellen.
![]() |
![]() |
![]() |
Die Screenshots wurden am späten Abend des 25. Feb. 2023 gemacht.
In der Morgenstunden erfolgte ein Temperatursturz und oben links ist zu
erkennen,
dass die Heizung zwischen 4 und 6 Uhr morgens das Unter- und Ergeschoss
aufgeheizt hat. In der Mitte ist zu erkennen, dass bereits um ca. 2 Uhr
das Oberschoss geheizt wurde und dies den ganzen Tag sukzessive so blieb.
Rechts erkennt man, dass zwischen ca. 3 und 6 Uhr auch der Boiler mit
Warmwasser aufgeheizt wurde - anschliessend wurde der Boiler nicht mehr
aufgeheizt.
Die oben festgestelllten Vorlauf-Heiztemperaturen korrespondieren auch
gut mit dem Stromverbrauch für diesen Tag:
In den sehr frühen Morgenstunden wurde am meisten Gesamtenergie vom EW
bezogen (blaue Kurve), und zwar auf allen drei Phasen etwa gleichviel, denn
die Wämepumpe wird von drei Phasen gespiesen. Der erhöhte
Verbrauch abends ab ca. 17 Uhr (blaue Kurve) ist auf den Kochherd -
Phasen A (grün) und B (gelb) - zurückzuführen. Die letzte
Spitze der
blauen Kurve ist verursacht durch den Backofen (Phase B, gelb) und den
Geschirrspühler (Phase A, grün).
Und ja: An diesem Tag war die Sonne nicht zu sehen und daher wurde auch kaum
Strom durch die Panels erzeugt; somit keine Einspeisung von Strom ins Netz.
4. Warnmeldungen
Ganz oben steht, dass wir oft zu spät bemerken, dass die Heizung nicht
mehr funktioniert. Aus diesem Grund wurde nun für diesen Raum
(Heizungstemperaturen) in der Shelly-App eine Szene definiert, bei
der (vorerst nur via E-Mail) ein Alarm verschickt wird, falls alle drei
Vorlauftemperaturen gleichzeitig weniger als 25° C betragen; dies werde ich
nun in den nächsten Tagen verfolgen.
Klar ist, dass im Sommer diese Definition anders aussehen wird!
Nachdem in den letzten Tagen zwei Alarme wegen Unterschreiten aller drei Temperaturen unter 25° C erschienen sind, haben wir die Schwelle auf 23° C gesetzt.
5. Auslesen der Temperaturwerte via HTTP-Request
Da alle Shellys mittels HTTP-Requests ausgelesen werden können, tun wir
dies im Rahmen unseres SmartHome-Projektes ebenfalls.
Der hier benutzte "Shelly Plus 1" kann übrigens auch einen
Schaltvorgang auslösen, was wir hier nicht benötigen. Diesen Fakt
nutzen wir allerdings bei der
Überwachung der Garagetore.
Die Abfrage der Temperaturen, die mittels den drei Sensoren gemessen werden,
geschieht mittels einem Script getTemp.sh wie folgt:
Die Eingaben von#!/bin/bash # getTemp.sh # IPshellyplus1="192.168.XXX.YYY" # IP-Nummer des Shellys task="http://$IPshellyplus1/rpc/Shelly.GetStatus" curl --fail --silent --show-error --no-sessionid --request GET "$task" --output out.txt if test $? -eq 0 ; then out=`cat out.txt | tr -s "," " " | tr -s ":" " " | tr -d '"' | tr -d "}"` # search="ssid" np=`echo $out | grep -ob $search | cut -d":" -f 1` let np=$np+1 ssid=`echo $out | cut -c $np- | cut -d" " -f 2` # search="rssi" np=`echo $out | grep -ob $search | cut -d":" -f 1` let np=$np+1 rssi=`echo $out | cut -c $np- | cut -d" " -f 2` # # Die erste gemeldete Temperatur in $out ist dieTemperatur des Shellys!! # search="tC" np=`echo $out | grep -ob $search | head -n 2 | tail -n 1 | cut -d":" -f 1` let np=$np+1 Tsensor1=`echo $out | cut -c $np- | cut -d" " -f 2` # search="tC" np=`echo $out | grep -ob $search | head -n 3 | tail -n 1 | cut -d":" -f 1` let np=$np+1 Tsensor2=`echo $out | cut -c $np- | cut -d" " -f 2` # search="tC" np=`echo $out | grep -ob $search | head -n 4 | tail -n 1 | cut -d":" -f 1` let np=$np+1 Tsensor3=`echo $out | cut -c $np- | cut -d" " -f 2` # else ssid="ssid !NULL!" rssi="rssi 0" Tsensor1=0 Tsensor2=0 Tsensor3=0 fi echo "WLAN: SSID=$ssid RSSI=$rssi dBm" echo "Temperaturen der drei Sensoren: $Tsensor1 $Tsensor2 $Tsensor3" #
chmod u+x getTemp.sh ./getTemp.shergibt dann z.B. folgenden Output: