Uponor Radio24@home in Grafana
Auch die älteren Uponor-Steuerungen lassen sich mit Grafana visualisieren:
Zu jedem Raum ist die Heizleistung und die Fläche hinterlegt. Ein Python Script liest das JSON-Protokoll von Uponor Radio24 ein, analysiert es und schreibt alle 3 Minuten eine Datensatz in die Influx-Datenbank. Dazu werden die gerade beheizten Flächen und die Heizleistung mitgeschrieben. Aus der Ökofen Pellematic Smart hole ich mir zur Info noch die Vorlauftemperatur für den Fussboden-Heizkreis.
Bei 13 Räumen mit Einzelraumregelung hätte ich in der Original-Uponor-Oberfläche viel zu klicken um mir einen Überblick zu verschaffen.
Durch Farbcodierungen sehe ich schnell ob Heizbedarf besteht und ob eventuell wieder jemand vergessen hat im Bad das Fenster zu schliessen.
Der eingebettete Graph mit der Vorlauftemperatur zeigt mir dann auch, ob in Kürze ein Erreichen der Zieltemperatur eintreten kann, oder nicht.
Hier ein Stück Python-Code für die Abfrage der Werte:
#mein Uponor @home Gerät
url = 'http://192.168.22.206:80/api'
#Uponor @home abfragen
r = requests.post(url, data=json.dumps(data), headers=headers)
json_string = json.dumps(r.json())
parsed_json = json.loads(json_string)
#Json auswerten
akt_temp = (parsed_json["result"]["objects"][1]["properties"]["85"]["value"])
soll_temp = (parsed_json["result"]["objects"][2]["properties"]["85"]["value"])
heizt = int((parsed_json["result"]["objects"][3]["properties"]["85"]["value"]))
Ihr seht, das JSON ist gewöhnungsbedürftig. Den Abfragestring muss man selbst zusammenbauen und in der selben Reihenfolge dann auch auswerten:
print("\nRaspberry Pi fragt Uponor U@Home direkt ab")
#Alle Räume bearbeiten
i = 0
while i < 13:
#Abfrage-String zusammenbasteln
data = {
"id": 1,
"jsonrpc": "2.0",
"method": "read",
"params": {
"objects": [
{
"id": "1",
"properties": {
"85": {}
}
},
{
"id": Raum_N[i],
"properties": {
"85": {}
}
},
{
"id": Raum_N[i]+1,
"properties": {
"85": {}
}
und so weiter.
Welche ID für welchen Wert steht habe ich mit den Firefox-Entwicklertools nachgeschaut.
#arrays anlegen mit meinen Raumbezeichnungen
# 0 1 2 3 4 5 6 7 8 9 10 11 12
Raum_T = ["UG-Gaestebad","UG-Wohnzimmer","UG-Stiefelraum","UG-Gaestekammer","UG-Diele","EG-Wohnzimmer","EG-Ankleide","EG-Schlafzimmer","EG-Kueche","EG-Elternbad","DG-Seeblick","DG-Diele","DG-Wellness"]
#diese Raumnummern aus der Weboberfläche heraus mitgeschnitten
Raum_N = [139,149,159,169,179,19,29,39,49,59,259,269,279]
#Parameter der die Web-Soll-Temperatur angibt. Value=255 übergibt wieder an Thermostat
Raum_S = [2538,2540,2542,2544,2546,2512,2514,2516,2518,2520,2560,2562,2564]
#Raum_N = Aktuelle Temperatur
#Raum_N + 1 = Soll Temperatur am Thermostat
#Raum_N + 4 = Heizen 0/1
Interessiert ? Gerne unterstütze ich euch bei der Installation eines solchen Monitorings für eure Uponor Fussbodenheizung. Was es an Grundvoraussetzung braucht konntet ihr weiter oben ja schon lesen.
Hier steht alles auf gitlab: https://gitlab.com/p3605/uponor-smatrix-spy
Oder Ihr schickt mir ein neues Raspberry Pi Bundle mit der Textatei der JSON-Ausgabe zu. Ich installiere es, mach die Voreinstellungen und schicks euch zurück. Die Aufwandsentschädigung hierfür handeln wir aus.
hi, your oekofenspy is fantastic, I ask you if it is possible to install your package on homeassistant with influx and grafana already installed, I could not find any information about it
Hi Luca,
you are right, there is no information about homeassistant. This is, because i do have exactly zero experience with homeassitant.
Peter