plugwise / python-plugwise

Plugwise python module for Smiles (Anna, Adam, P1) and Stretch

Home Page:https://pypi.org/project/plugwise

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[FEATURE] Make it possible to update presets

libre-man opened this issue · comments

Is your feature request related to a problem? Please describe.
I really like plugwise thermostat I have, but I really dislike the web interface it has, so when I'm always a bit frustrated when I have to use it to change the temperature value of a preset I have.

Describe the solution you'd like
I would really like to be able to update presets using this library (and hopefully in the future also from home assistant).

Describe alternatives you've considered
I could probably also simply stop using the presets all together, but that would make operating the Anna I have a bit more complicated, and would require quite some changes to my home assistant configuration (although that is probably less work then adding the updating of presets to the library 🙂)

Home Assistant (please complete the following information):

  • Version: 2021.1.4
  • Deployment: virtualenv
  • Installed plugwise version: HA-core

Plugwise product and setup (please complete the following information):

  • Type: Anna

Additional context
I just want to say that I really appreciate the extensive library that you guys make as a company. Really awesome to see!

commented

Thanks for your feature request and kinds words, do note that the 3 of us are not affiliated with Plugwise as a company in any way (other than, like yourself, owning the hardware). (we're just happily volunteering our time for the community).

Oh sorry, in that case thanks a lot for your volunteering work!

I looked into the format of the request send when using the web interface, which looked like this:

<rules>
  <rule id="4582ecb43fd54945a8db0dbb44ff1627">
    <template id="09d3f744acb24c8d9fd94e9babc0cc86"/>
    <active>true</active>
    <directives>
      <when preset="home">
        <then heating_setpoint="21.5" cooling_setpoint="22"/>
      </when>
      <when preset="away">
        <then heating_setpoint="15" cooling_setpoint="25"/>
      </when>
      <when preset="vacation">
        <then heating_setpoint="15" cooling_setpoint="28"/>
      </when>
      <when preset="no_frost">
        <then heating_setpoint="10" cooling_setpoint="30"/>
      </when>
      <when preset="asleep">
        <then heating_setpoint="15" cooling_setpoint="24"/>
      </when>
    </directives>
  </rule>
</rules>

With the presets set to 21.5, 15, 15, 15, and 10 for respectively Home, Away, Night, Vacation and Frost protection. So the mapping and heating_setpoint seems quite straightforward. What is less clear to me is the value of cooling_setpoint. I guess they probably are default values which you can set if you have a cooling system attached?

Yes cooling_setpoint is meant for the cooling side of things. For when there is, for instance, a heat-pump with cooling capabilities installed.

And, thanks for the pointer.

@libre-man What is your expectation w.r.t. the implementation of this in HA?
I mean, HA does not have a GUI for changing the preset value. If we are going to implement this, it will become a service with which you can change one (pair of) preset-value(s) at the time.

Practically thinking, the Service Data for this service will be something like: Thermostat name (needed for when there are more thermostats in the Adam-case), Preset name, new heating_setpoint value and maybe also the cooling_setpoint value.

@libre-man I've made a test-version available: plugwise-beta version 0.14.1a1.
You can change the setpoint value via Developer Tools --> Services.
Select the service plugwise.set_preset_setpoint and enter, for instance, in Service data:

loc_name: Living room
pr_name: asleep
sp_type: heating
sp_value: 17.5

loc_name is the name of the location of the thermostat, it must be exactly the same name as used in the Plugwise app.
pr_name is the preset name: home / away / vacation / asleep / no_frost
sp_type is the setpoint type: heating / cooling
sp_value is the new value for the setpoint, can be a value with 1 decimal or no decimal.

@bouwew Thanks! I will look into it tomorrow hopefully!

@libre-man Did you find some time to test?
What is your opinion? Does the added service meet your requirements?

No response from the requester, let's close.