plugwise / python-plugwise

Plugwise python module for Smiles (Anna, Adam, P1) and Stretch
https://pypi.org/project/plugwise
MIT License
10 stars 9 forks source link

[FEATURE]: Custom climate control #160

Closed sophof closed 2 years ago

sophof commented 2 years ago

Describe the solution you are looking for

Buying the adam I was under the impression that I would be able to control my heater directly. Currently I can only control it through my Lisa though. I'd like to be able to set the requested temperature for my heater directly, mostly to improve my floor heating. I've been unable to find any way to do it. In the end I would love to have a service call in home assistant that I could use to change the opentherm intended temperature of my heater.

It is unclear to me if the heating logic is inside the Lisa or the Adam, but I assume it is in the Lisa. In this case it shouldn't be a problem to add my own 'zone' that tries to control the heater as well.

Is your feature request related to a problem? (optional)

No response

Describe alternatives you've considered

I've checked if there's any way to create a 'custom' climate device in home assistant that I would be able to control.

What type of installation are you running?

Home Assistant Container

How did you install python-plugwise (or plugwise) for short

Home Assistant Core

What kind of Plugwise device is having issues?

Smile: Adam (including Lisa, Tom, Floor)

What firmware version is your Plugwise product at?

Firmware: 3.2.8

Your setup

Lisa, Adam and an aqara plug. I have a standard CV with floor heating and radiators.

Additional context

No response

bouwew commented 2 years ago

I have a similar system as you have. But I don't understand what you want to achieve? The Lisa functions as a temperature sensor for the heating algorithm that runs on the processor in the Adam. Why would you want to bypass the Lisa?

sophof commented 2 years ago

I don't want to bypass the Lisa really, I just need more control. Ideally I'd keep the Lisa but just add an extra 'template' thermostat as a zone. My floor heating would be it's own zone and the Lisa basically controls the extra heat needed from the radiators.

My house heats up a lot due to sunlight (a good thing) but the Lisa can't consider this. With the weather here the last few days (cold with lots of sun) it results in a lot of unnecessary heating at the start of the day and large swings in the evening once the sun is under and a very cold floor. Also, since my radiators are 'dumb' (I don't have thermostatic valves), there's a large difference in the temperature needed from my heater depending on if only the floor heating is used or I also want to use my radiators. Due to all this the Lisa tends to ask too much from my heater when it is not necessary, probably since it expects the radiators to always be open. On days like these all I need is for the floor to be at a certain constant temperature throughout the day.

And frankly, I just want to experiment, I think I will in the end be able to make better. I like the Lisa's interface, but so far I'm not too impressed with the logic. I can somewhat control it by changing the setpoint on the Lisa, but it doesn't really provide me what I need and doesn't enable me to use the information I have effectively.

To put it in a different perspective, I believe you should be able to control your heating without any physical thermostat at all. It seems a bit weird to me that it is required and not a nice to have. I have to admit I seem to have a different mental model with respect to heating than appears to be the norm. Hopefully I managed to explain it a little?

bouwew commented 2 years ago

Are you aware of the schedule function available in the Plugwise App or on the website of your Adam?

image

What that function you can create an addition template for the heating operation.

sophof commented 2 years ago

I see you found my feature request on the home assistant forum, so yes I am aware :). It is indeed one of the work arounds I was thinking of, although I still wish it would be possible to set a custom intended temperature (which can be overwritten by any other thermostat, that's the way it already works I assume if you have multiple zones?).

bouwew commented 2 years ago

Yes, that's already possible, you can change the setpoint of any thermostat connected to the Adam at any time. You can do this via the Climate: Set temperature service.

bouwew commented 2 years ago

@sophof Are the updates we've implemented, helping you? If yes, please close this issue, thanks.

sophof commented 2 years ago

Well, I still have this as a generic wish. The new updates are certainly helping me in practice, but I still would love to see this feature.

bouwew commented 2 years ago

Ok clear. Unfortunately there is nothing we can do. We, our code, cannot add additional zones. Or, in other words, our code cannot implement the custom control you are looking for. Our code basically implements a subset of what's possible in the Plugwise App. If it's possible in the Plugwise App, we might be able to reproduce it.

If you want an extra zone, you will need an extra temperature sensor. I'm thinking of a Jip https://www.plugwise.com/product/jip/ as a simple option. You could place it directly on the floor so that it measures how warm the floor gets. And you should also place your Lisa at a strategic spot to get the behavior that you want.

You could also talk to the Plugwise Helpdesk, they might be able to help you much better than we can.

sophof commented 2 years ago

In essence I was expecting the adam to work more like an opentherm gateway. I mean, it has to control the setpoint itself at least. A custom thermostat is trivial to create from that point on (without depending on plugwise). But from this I understand this is not exposed in the API? Is there somewhere I can find the endpoints?

bouwew commented 2 years ago

No, it's not exposed in the API like you mean. It's only exposed for a connected thermostat. Have a look at http://<ip of your Adam>/core/locations that's where the plugwise code changes the setpoint for a thermostat in a location. Look in /core/appliances for other details.

bouwew commented 2 years ago

Let's close this request: the requested functionality cannot be provided.