danielperna84 / hahomematic

Python 3 Interface for Home Assistant to interact with HomeMatic devices
MIT License
130 stars 22 forks source link

TEMPERATURE_OFFSET in climate entities #143

Closed Lemocin closed 2 years ago

Lemocin commented 2 years ago

Is your feature request related to a problem? Please describe. I had a "Schnapsidee" tonight. I wanted to use my WiFi or Zigbee Temperature-Sensors which i have in HA as the actual temperature in my Heating group. I realized that the temperature is read-only but you can set a Temperature Offset. To adjust the Offset, i would have to keep track of the current offset, since it will be calculated in the actual temperature.

Describe the solution you'd like A adjustable number entity or slider(because offset is settable only from -3.5 to +3.5 with 0.5 °C steps.) Then i would use a automation to set the offset. The input_number helper entity looks exactly what i mean.

Describe alternatives you've considered Because it's totally optional i did not consider any alternatives besides just keep it as it is or buy HmIP Thermometers. If it's not an interesting thing for at least some people to set the offset, then we can just keep it as it is now.

Additional context From one end of my room to the other are often 3°C difference, so it would come handy if it was an option. I know i should be able to use the .put_paramset service but then i can't get the current offset with this.

danielperna84 commented 2 years ago

Such settings reside in the MASTER paramset. We don't generate entities for these, as they are usually not required. That being said, do you really have to know the current value? If you set it manually anyways you already know what it is. It will always have the value you have set last time.

Lemocin commented 2 years ago

Such settings reside in the MASTER paramset. We don't generate entities for these,

Okay, thats understandable.

That being said, do you really have to know the current value? If you set it manually anyways you already know what it is.

I could create a input_number entity and save the last set offset. I just thought an entity which holds the current offset and is writeable is safer.

Also, because Home Assistant has so many integrations and possible sensors i thought, it could also be interesting for other users but i don't know. Maybe it's too advanced.

danielperna84 commented 2 years ago

The thing is: how often is the difference between the one side of the room and the other side not 3°C? And under which circumstances would this change? Typically it warmer near the radiator and colder on the other side of the room. But as long as you don't introduce another device which heats up the room, why should alter the typical difference of 3°C? It's a hard setting within the device for a reason I guess, because under normal circumstances the offset should never really change. 🤔

Lemocin commented 2 years ago

Kurze Erklärung: Bei uns ist das ganze relativ dynamisch. Wir wohnen im Reihenmittelhaus. Die Heizung ist an einer Außenwand und die Haustür direkt nebenan. Wenn es dort 17°C sind dann sind es in der Mitte des Raumes eher 18,5-20°C. Aktuell ist die Differenz um die 2°C kälter am Heizkörper aber das wechselt auch je nach Außentemperatur stärker.

In den Foren hab ich das ganze auch ein paar Mal gelesen und auch schon fertige Skripte für ioBroker gesehen, also bin ich zumindest nicht der erste der diesen Use-Case hat. Aber wahrscheinlich die große Minderheit

Lemocin commented 2 years ago

Nachtrag: grafik

So sehen bei uns die vom Thermostat gemessenen Temperaturen im Gegensatz zu den realen aus. Da die Schwankungen schon relativ stark sind, kam mir eben die Idee mit dem Offset. Das mit den verschiedenen Paramsets, wie du sagtest, war mir allerdings nicht klar. Generell kenne ich mich mit der API nur bedingt aus.

Kann mir aber auch vorstellen das meine Idee hier, auch der Einfachheit halber, hier keinen Platz im Projekt findet. das wäre dann natürlich auch kein Weltuntergang.

danielperna84 commented 2 years ago

Um das Thema nochmal aufzugreifen: ich habe vergessen einen wesentlichen Punkt zu erwähnen der hierbei wichtig ist. Wie schon zuvor gesagt geht es hier um einen Parameter der im MASTER Paramset ist. Die CCU schickt allerdings nur Updates für Parameter aus dem VALUES Paramset. Und die ganze Integration basiert darauf, dass wir die Werte die die Entities bekommen von der CCU geschickt bekommen. Die Ausnahme bilden hierbei die Systemvariablen, welche periodisch abgefragt werden.

Es ist also nicht so, dass wir die MASTER Parameter nicht unterstützen wollen. Wenn dieses Problem in der Integration gelöst werden soll, dann würde das nicht auf dem normalen Weg gehen wie das bei den bisherigen Parameter-Entities ist.

Lemocin commented 2 years ago

Danke für die Info, das ändert die ganze Idee natürlich etwas. Hier war ja auch ein interessanter Vorschlag über das MASTER Paramset. Beide Use-Cases betreffen aber wohl nur einen Bruchteil der User. Ich schließe das hier erstmal. Wenn es nochmal interessant wird, oder es noch weitere Use-Cases gibt etwas mit dem MASTER-Set anzufangen, könnte man das hier ja nochmal aufgreifen.