Skip to content
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

Z-wave thermostat setpoint #299

Open
kerrylarson opened this issue Nov 27, 2024 · 9 comments
Open

Z-wave thermostat setpoint #299

kerrylarson opened this issue Nov 27, 2024 · 9 comments

Comments

@kerrylarson
Copy link

I am trying to set a Z-wave thermostat to a low heat setpoint (i.e. 40F to prevent a room from freezing). HASS, apparently from the Hubitat integration, prevents setting a value below 45. I have to go back to Hubitat set set a target temperature below 45. This is not a limitation in the thermostat itself (Radio Thermostat CT101). Is there a simple way to resolve this?

I tried to customize an Actions YAML, but since I don't know what I'm doing, I got a syntax error:
action:

  • service: sensor.shop_thermostat_thermostat_setpoint
    target:
    entity_id: climate.shop_thermostat
    data:
    target_temp_high: 75
    target_temp_low: 35
    hvac_mode: heat_cool

To Reproduce

Go to thermostat device. Set a heat setpoint above 45F. Try to set a new heat setpoint of 40F - no go.

Environment
Core 2024.11.3
Supervisor 2024.11.4
Operating System 13.2
Frontend 20241106.2

@jason0x43
Copy link
Owner

Currently the integration is using HA's default min and max temperatures, but it looks like we could provide different ones. I should be able to just lower the min temperature for the integration down to 40°F.

@kerrylarson
Copy link
Author

"Currently the integration is using HA's default min and max temperatures" Oh, I read an old thread on the topic that pointed to a Z-wave device issue, so I mistakenly assumed that was it. I just tried with a WIFI thermostat and see that you're completely right, it's also limited to 45F, so coming from HA. Can that be adjusted in the configuration.yaml?

@jason0x43
Copy link
Owner

I just tried customizing an entity through configuration.yaml, and while it changes the range for the UI control, HA won't accept numbers outside the 7/35°C range. Updating the min temperature in the integration's climate entity works, though. I'll try to post an update with that later today.

@jason0x43
Copy link
Owner

v0.9.38 has been updated to support a minimum thermostat temperature of 40°F. Give that a try.

@kerrylarson
Copy link
Author

It works! Thanks so much Jason for helping me out. At least for this thermostat, it appears that the lower limit is 35°F.

@jason0x43
Copy link
Owner

If you have a chance, could you post the capabilites for your thermostat device? I'm wondering if the device indicates its min and max temperatures.

@kerrylarson
Copy link
Author

kerrylarson commented Nov 28, 2024

[
    {
        "capabilities": [
            "RelativeHumidityMeasurement",
            {
                "attributes": [
                    {
                        "name": "humidity",
                        "currentValue": "41",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "ThermostatFanMode",
            {
                "attributes": [
                    {
                        "name": "thermostatFanMode",
                        "currentValue": "fanAuto",
                        "dataType": "ENUM",
                        "values": [
                            "on",
                            "circulate",
                            "auto"
                        ]
                    }
                ]
            },
            "PowerSource",
            {
                "attributes": [
                    {
                        "name": "powerSource",
                        "currentValue": "mains",
                        "dataType": "ENUM",
                        "values": [
                            "battery",
                            "dc",
                            "mains",
                            "unknown"
                        ]
                    }
                ]
            },
            "Refresh",
            "Battery",
            {
                "attributes": [
                    {
                        "name": "battery",
                        "currentValue": "100",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "ThermostatHeatingSetpoint",
            {
                "attributes": [
                    {
                        "name": "heatingSetpoint",
                        "currentValue": "40",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "ThermostatCoolingSetpoint",
            {
                "attributes": [
                    {
                        "name": "coolingSetpoint",
                        "currentValue": "78",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "ThermostatSetpoint",
            {
                "attributes": [
                    {
                        "name": "thermostatSetpoint",
                        "currentValue": "40",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "ThermostatOperatingState",
            {
                "attributes": [
                    {
                        "name": "thermostatOperatingState",
                        "currentValue": "idle",
                        "dataType": "ENUM",
                        "values": [
                            "heating",
                            "pending cool",
                            "pending heat",
                            "vent economizer",
                            "idle",
                            "cooling",
                            "fan only"
                        ]
                    }
                ]
            },
            "HealthCheck",
            {
                "attributes": [
                    {
                        "name": "checkInterval",
                        "currentValue": null,
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "Configuration",
            "Actuator",
            "Polling",
            "ThermostatMode",
            {
                "attributes": [
                    {
                        "name": "thermostatMode",
                        "currentValue": "heat",
                        "dataType": "ENUM",
                        "values": [
                            "auto",
                            "off",
                            "heat",
                            "emergency heat",
                            "cool"
                        ]
                    }
                ]
            },
            "TemperatureMeasurement",
            {
                "attributes": [
                    {
                        "name": "temperature",
                        "currentValue": "44.5",
                        "dataType": "NUMBER",
                        "values": null
                    }
                ]
            },
            "Thermostat",
            {
                "attributes": [
                    {
                        "name": "temperature",
                        "currentValue": "44.5",
                        "dataType": "NUMBER",
                        "values": null
                    },
                    {
                        "name": "heatingSetpoint",
                        "currentValue": "40",
                        "dataType": "NUMBER",
                        "values": null
                    },
                    {
                        "name": "coolingSetpoint",
                        "currentValue": "78",
                        "dataType": "NUMBER",
                        "values": null
                    },
                    {
                        "name": "thermostatSetpoint",
                        "currentValue": "40",
                        "dataType": "NUMBER",
                        "values": null
                    },
                    {
                        "name": "thermostatMode",
                        "currentValue": "heat",
                        "dataType": "ENUM",
                        "values": [
                            "auto",
                            "off",
                            "heat",
                            "emergency heat",
                            "cool"
                        ]
                    },
                    {
                        "name": "thermostatFanMode",
                        "currentValue": "fanAuto",
                        "dataType": "ENUM",
                        "values": [
                            "on",
                            "circulate",
                            "auto"
                        ]
                    },
                    {
                        "name": "thermostatOperatingState",
                        "currentValue": "idle",
                        "dataType": "ENUM",
                        "values": [
                            "heating",
                            "pending cool",
                            "pending heat",
                            "vent economizer",
                            "idle",
                            "cooling",
                            "fan only"
                        ]
                    },
                    {
                        "name": "supportedThermostatModes",
                        "currentValue": "[\"heat\",\"cool\",\"off\",\"auto\"]",
                        "dataType": "JSON_OBJECT",
                        "values": null
                    },
                    {
                        "name": "supportedThermostatFanModes",
                        "currentValue": "[\"auto\",\"on\"]",
                        "dataType": "JSON_OBJECT",
                        "values": null
                    }
                ]
            },
            "Sensor"
        ]
    }
]

@kerrylarson
Copy link
Author

Sorry, I didn't get it formatted correctly.

@jason0x43
Copy link
Owner

No problem, it just needed more back ticks 🙂

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants