MindrustUK / Heatmiser-for-home-assistant

Heatmiser Neo-Hub / Neostat support for home-assistant.io
88 stars 33 forks source link

Feature: Adding support for changing profiles #27

Open richhalliwell opened 4 years ago

richhalliwell commented 4 years ago

It would be a huge help to be able to change the profile a stat is currently reading. Editing the profiles is okay still in the native app, but to be able to create an automation for stat to switch between 'working from home mode' and 'i'm out the house' mode the day before would be helpful. this is much more powerful than setting a 'hold' as i can create automations that reset after 24 hours new docs show profiles are accessible

MindrustUK commented 4 years ago

What sort of thing did you have in mind? The profiles look available in the API as you've suggested. I'm not sure I could surface anything immediately useful in the HASS UI, I should be able to expose an attribute you could then manipulate as you see fit?

andriuss-amd commented 4 years ago

It would be a huge help to be able to change the profile a stat is currently reading. Editing the profiles is okay still in the native app, but to be able to create an automation for stat to switch between 'working from home mode' and 'i'm out the house' mode the day before would be helpful. this is much more powerful than setting a 'hold' as i can create automations that reset after 24 hours new docs show profiles are accessible

You can try Node-RED for that. It can talk to home-assistant and achieve a fairly powerful automations.

richhalliwell commented 4 years ago

What sort of thing did you have in mind? The profiles look available in the API as you've suggested. I'm not sure I could surface anything immediately useful in the HASS UI, I should be able to expose an attribute you could then manipulate as you see fit?

Yes that world be great. To be able to read and update the active profile on a star using its ID via an attribute. Do you think this is easy to implement? Trying to get my system setup for winter and I'd like to be able to make Alexa commands like 'I'm working in the living room tomorrow' and it would replace a profile that only heats it in the evening to one for the whole day then roll back after 24 hours. I can do the other bits but the only option for Neo is to create a delay script to simulate a profile with delay timers. It is much neater to change a profile from evening only to all day then back 24 hours later

richhalliwell commented 4 years ago

I think i'm on the right track with something like this: ` @property def profile_id(self): """Return preset modes.""" return self._profile_id

def set_profile_id(self, **profile_id):
    """Set preset mode."""
    if profile_id == self.profile_id:
        return
    else:
        self._profile_id = profile_id
        self.json_request({"RUN_PROFILE_ID":[int(kwargs.get(ATTR_PROFILE_ID)), self._name]})`

What i can't work out is 1) is this close to right 2) how do i add new custom attributes that are outside of the climate standard attribute sets. Also not sure if i'm using kwargs in the right way. From the API docs the call i need to make is something like:

{“RUN_PROFILE_ID”:[25,"Kitchen"]} where '25' is a number between 1 and 100 - and 0 is reserved - it may set it back in comfort control mode setting to 0.

richhalliwell commented 3 years ago

Any updates?

PhillyGilly commented 2 years ago

I have a different but similar challenge. My hot water is heated by Solar thermal with gas back-up. The solar thermal heats the full tank but the gas only heats the top part of the tank. In the winter I heat the water in the morning and evening using gas. In the summer I only use gas in the evening. As the tank is heated by solar thermal in the day, this basically reduces the amount of gas needed to in the evening, and reduces it to zero on any sunny days. I have "HW winter" and "HW summer" profiles set up in my neostat HW clock timer. It works fine in the winter and in the summer, but of course in spring/autumn I end up using gas to heat water when I could use solar, because nobody wants to have a cold shower. I am currently testing the HA Home forecast.solar integration and I think that is accurate enough to be useful. So what I would like to do would be to select a profile to run in my neostat depending on the forecast solar. If this isn't possible another option would be to run permanently on winter profile and get HA to switch the neostat HW off in the morning if the solar forecast exceeds a threshold. However that would go against my (well actually my wife's !!) fundamental principle that key services (e.g. hot water) have to work even if HA stops working. So setting a profile to run in a neo-stat is preferred to having HA running a profile.

PhillyGilly commented 2 years ago

@richhalliwell is there any progress in this idea?

MindrustUK commented 1 month ago

Switching profiles, can use a select entity to present these in the UI, not sure how to setup or surface a duration in a nice way. Maybe another good candidate for a custom service and surface a sensor / current profile mode as a sensor in the dashboard / UI.