I have a couple of Eurotronic Sprit thermostats, which allow for a setting of 8 to 28 degrees Celsius. The thermostat card allows for a setting between 7 and 35 though, is there any way to change that to 8 and 28 ?
what component/integration are you using?
Iâm not sure what you are asking for, Iâm using the standard zwave integration to add the thermostat to my zwave network, and that automatically creates a climate component that I can add a lovelace card in the UI for. Is there anything specific you need?
Iâm using HA 102.3
If itâs coming from zwave, the only way to limit it is to create a generic thermostat using all the elements of your zwave thermostat.
Also, there may be configuration settings in the device itself in the zwave panel that do that. That would typically be covered in the manual of the device. But that purely depends on the device.
I think both of those options are not really a solution.
- Creating a generic thermostat will pull the on/off logic into HA, instead of it being in the physical knob. Note that the knob itself is âsmartâ in a way that it will limit flow based on the current temperature. It is not merily a open/close valve thing, which it will become if I pull the on/off logic into HA.
- There is no setting in the zwave API of the knob to change the min/max temp.
All in all, I really need the card to reflect the actual situation. I need to overwrite the default min and max values, but I cannot find how. It sounds to dumb and simple to not be supported, I mean, how many thermostats will actually go from 7-35 and not something else?
This makes no sense. Youâre creating a thermostat entity using your thermostat entity. In the end of the day, it will be the same thing. And if the knob limits it, why do you even care? This is the way youâd limit your range, to the user it would make no difference.
The settings are coming from your hardware. So your hardware through zwave is giving those values. This is why itâs not implemented for zwave. Thereâs no reason to implement it if the hardware reports the correct values.
Anyways, you can attempt to create a custom card in lovelace that limits the temperature to the range you want. Thatâs about the best you can do seeing that youâre unwilling to use the tools at hand that limit it in the backend.
As another potential option, you may be able to limit the temperatures in the ozwave config file in your config folder. Youâd have to find the zwave object in xml and adjust it but there is no guarantee that it will work.
This makes no sense. Youâre creating a thermostat entity using your thermostat entity. In the end of the day, it will be the same thing. And if the knob limits it, why do you even care? This is the way youâd limit your range, to the user it would make no difference.
Are you sure? The generic thermostat documentation tells me the heater needs to be a toggle device, and explains that HA will decide to turn it on if setpoint smaller than current temp, and vice versa. I am not sure how I would configure this component with my knobs that take a setpoint as input instead of a on/off.
Are you suggesting I make a dummy switch that sends âsetpoint 28 degreesâ when turned on, and âsetpoint 8 degreesâ when turned off, and use that as the heater in the generic thermostat?
Furthermore, the knob doesnât âlimit itâ, as it will simply ignore a âsetpoint 35â command send by HA, instead of interpreting that as âsetpoint 28â which is the max for the knob.
The settings are coming from your hardware. So your hardware through zwave is giving those values. This is why itâs not implemented for zwave. Thereâs no reason to implement it if the hardware reports the correct values.
That is not what I am interpretting from the config, below is what is in my (unaltered) zwave config xml, you can see that the knob correctly reports min/max values. My issue is that home assistant seems to ignore these and creates a thermostat with a range of 7-35, and pulling the thermostat up to e.g. 32 doesnât do anything as the knob ignores the command.
<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" version="1" request_flags="4" innif="true" base="0">
<Value type="decimal" genre="user" instance="1" index="1" label="Heat" units="C" read_only="false" write_only="false" verify_changes="false" poll_intensity="0" min="8" max="28" value="10.0" />
Thatâs about the best you can do seeing that youâre unwilling to use the tools at hand that limit it in the backend.
I am not unwilling, I just donât see how. What you are saying sounds logical, but I donât seem to understand how to put that to action as the documentation seems to contradict parts of your statements.
I appreciate your help, and would love for you to explain in a bit more detail.
Have you tried setting the min_temp and max_temp attributes via customize.yaml?
That would be a bug then. Iâd write up an issue against the zwave climate component. It should take into account the min and max temperature range.
Looking at the zwave climate integration, that doesnât look like it will work on the backend. I.E. A user who uses a service will be able to set the temperature beyond the range with a service call. But⌠Looking at the lovelace code, that does look like it will work for the UI. The code specifically looks for attributes âmin_tempâ and âmax_tempâ. Adding those to the customize section will create them as attributes on the climate device.
[edit: I had to hard refresh the UIâŚ]
Yes that works! thanks.
It would only show up on lovelace and youâd need to restart home assistant unless you add them through the UI.
Hey there, new to Home Assistant and was experiencing the same issue. I know this thread is old but I thought I would put my solution here since I didnât find it anywhere else. I will also post to the issue thread in GitHub, if I can.
There is a init.py file in the core/components/climate folder that defines the max temp on the Home Assistant side, not the device side. I found mine here:
/usr/local/share/homeassistant/lib/python3.8/site-packages/homeassistant/components/climate/__init__.py
Find the appropriate line:
DEFAULT_MIN_TEMP = 7
DEFAULT_MAX_TEMP = 35
Define it as you wish (in Celsius, obviously), restart, and the thermostat card should now use the defined max.
UPDATE: Also can be done on an entity basis through the UI, much easier:
Configuration > Customization > Select Entity and change min and/or max temp value.
Iâm sure thereâs a way to do this through YAML too but these both work for me.
This is related to this issue: https://github.com/home-assistant/core/issues/29838
You can set a maximum/minimum temperature on the climate entity using YAML in the following way. The lovelace thermostat card of that entity displays these limits.
/config/configuration.yaml
homeassistant:
customize: !include customize.yaml
/config/customize.yaml
climate.entity_id:
max_temp: 28
min_temp: 8
Restart the Home Assistant Server for the changes to take effect.