-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Adding support for changing profiles #27
Comments
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? |
You can try Node-RED for that. It can talk to home-assistant and achieve a fairly powerful automations. |
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 |
I think i'm on the right track with something like this:
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:
|
Any updates? |
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. |
@richhalliwell is there any progress in this idea? |
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. |
I've been experimenting with this. So far I have a select entity that shows all the current profile and allows changing to other available profiles: The list of profiles is different for a Timer. I would like to also add sensors for:
I also need to investigate Profile 0 which is assigned when a thermostat is not using a profile but it is programmed directly on the thermostat. Managing the profile definitions is out of scope. That would still be done via the Heatmiser App. |
This looks very interesting. Could I suggest that we also include Last Profile sensor? My current test case is what to do with my Heatmiser Controls when the Octopus Agile price is 0p or below 0p? If this occurs in winter getting a bit of free electric heating in the building (even in unused rooms) displaces some gas heating so it's worth doing even at 0p. Below that I'm getting paid! The latest NeoStat HW controls are great as you can turn them on even in standby, but it's much harder with the general room stats. My approach so far has been based on remembering the current temperature, setting the temperature to 35C, re-setting the temperature to previous value. However having a ZeroP profile that could be switched in and then revering to the previous profile would make life simple. |
Hi @PhillyGilly
Just ask if any of that didn't make sense. |
Thanks @ocrease. |
Or??
|
@PhillyGilly how do you currently switch between Standby/Normal/Constant? I assume manually in the heatmiser app? And how do you decide between Normal and Constant? I would suggest this:
So far you probably don't need an automation. Now to make use of the cheap electricity rate create an automation (I would create a blueprint instead and create multiple automations based on the blueprint) that does the following:
This automation will only take effect if the thermostat is not on standby (eg the bathroom is meant to be heated). It will boost for 30 minutes at a time. If the rate stops being beneficial it will cancel the boost. If the rate is still beneficial when the initial boost finishes, then it will start another boost period. It looks like you have a towel rail and underfloor heating on each bathroom. The blueprint could control both (maybe towel rail is optional so you can do the garden room) With this approach you only need 2 profiles and no helpers etc. You don't even need to wait for the feature in this ticket. If you want feedback on your existing automation:
|
Also you mention the floor limit, how does that come into it? I thought that's mainly a safety feature so you don't overheat the floor. |
Hi @ocrease, thanks again.
BTW I'm impressed with the progress. My pre-occupation over the last 24hr has been being ready for a power-cut, so you must have less wind where you are... |
@PhillyGilly I made an attempt at creating a blueprint you can use. You can find it here: https://gist.github.com/ocrease/a290908fe6f2979fb38b2959bb1559ee You should be able to import it directly from the Home Assistant UI. You'll probably have to make some small changes, but it should get you most of the way there. |
That will be really helpful. I struggled a bit with on-line tutorials as the examples were trivial. Thanks. |
This is now available in the latest pre release version. @PhillyGilly how did you get on with the blueprint? |
I commented on beta7 on issue #196 |
@ocrease We had three free 30 minute slots last night. I haven't had a chance to work on the automation or blueprint, but I ran the automation (as above) it any case. At the time when I ran it Bathrooms 1 and 3 were unoccupied and in stand-by. All towel rails including the ones in stand-by came on but the results for the underfloor heating were not what I expected. |
@PhillyGilly There are several points to make:
|
@ocrease regarding profile controls. I'd suggest maybe doing a check for devices where profile numbers > 1 and enable profile controls based on this, I hand off all intelligence in the heating system to Home Assistant and as result these controls are effectively redundant for me. Not sure how many more would be in the same boat. |
@MindrustUK profile 0 is a valid profile, it just means that the profile is managed directly on the thermostat. However in your case, you have the format set to non programmable, so we can skip the calculation of the entity values in this case. I will make a change later. The entities will still be created though, a user could change the format from non programmable to one of the other options. If the entities don't provide any value for your use case, you can easily disable them and you won't see them anymore. The other alternative is to have them disabled by default, but it will be harder to explain to a novice how to enable them rather than to explain to and advanced user how to disable them. A better approach would be to dynamically change the disabled property based on the format, but this will require more investigation. |
This is what I intended to articulate. A thought occurs, this maybe a nice configuration option. I keep meaning to carve out some time to at least list the content of the setup and configuration flow. This maybe a good candidate for that, similar behavior for the 'disabled by default' underfloor temperature might be a win. |
@MindrustUK PR #226 makes a change so that profile entities are disabled by default if the hub is in non programmable mode. They should still be created though, a user could change their configuration to start using profiles. If they go from non-programmable to one of the other options, they would need to re-enable these entities manually if they are interested. Equally, if they switch to non-programmable, the entities will still be there so if they don't want to see them, they need to manually disable them. This is easy to do in Settings -> Devices & Services -> Entities and making use of the filters and bulk select When I said "dynamic" I mean automatically change the enabled flag if the format changes, but that would very much be in nice to have territory. There is no need to have a config flow for this Also, you refer to the underfloor temperature. This should already be intelligently added or not. Do you have an example where you see it and you don't expect it? |
Hi @ocrease Merged, seems to have addressed my concern with profiles. RE: Underfloor temperature, both the bathroom and kitchen report this by default, they are electric underfloor mats with external temperature probes. By default they appear as follows which is fine: The default behavior is configured as follows: This is also not any sort of a problem as I can manually enable current temperature and floor temperature sensors. However having a user specified configuration flag to enable these out of the box would be a nice thing to have so on a fresh install so I don't have to go and enable them. There could be a few options we wish to hand over to user preference but this is probably a conversation for another thread... |
@MindrustUK the reason current temperature and floor temperature are disabled by default is because these were existing attributes on the climate entity, so I didn't want to add duplicate data by default. But I can easily change the default if you prefer. Though of course its very easy to change the enabled flag in bulk with the method I described in my previous post. While we are on the topic, are there any other entities you should be enabled/disabled by default? And do you want to move any to a different category (Sensors/Configuration/Diagnostic)? |
@ocrease understood that we can toggle things en masse, what I'm getting at is configuration options exist and we can use them (if they make sense of course). I think everything is fine as is IMO. As before, maybe for another thread if we want to maybe gather some feedback. I can't see anything that 'jumps out' at me so far, everything looks good. |
The thread is racing ahead and I trying to find time to address the earlier points :-)
I've switched Bathroom 2 from Bathrooms-Agile (set 16C) to Stand-by(set 7C) just after 13:50 the target temperature drops and the stand-by status changes.
|
@PhillyGilly Thanks for the feedback, I also observed this behavior on a NeoStat V1 (Non E model) too so I think the hardware / firmware combination is probably the key to this (V1 vs V2). |
@MindrustUK that sounds very likely. In any case I think the integration provides all the tools to do whatever you want, so I don't think we need to make any changes. @PhillyGilly let us know if you need anything else. Do we think this ticket can be closed now? |
@MindrustUK did you miss my previous comment on this thread? I think it can be closed now? |
I'm happy 😌 Thank you. |
@ocrease think it just got lost in the inbox. Closing complete. |
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
The text was updated successfully, but these errors were encountered: