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

Horstmann SRT321 ZWave Thermostat setpoint not being recognised #38455

Closed
garethhowell opened this issue Aug 1, 2020 · 5 comments · Fixed by #40799
Closed

Horstmann SRT321 ZWave Thermostat setpoint not being recognised #38455

garethhowell opened this issue Aug 1, 2020 · 5 comments · Fixed by #40799
Assignees

Comments

@garethhowell
Copy link

garethhowell commented Aug 1, 2020

The problem

The setpoint on the Horstmann Secure SRT321 Zwave Stat is not being recognised by the new Zwave integration. It is recognised by the OpenZWave addon and MQTT datastream is there. The battery level and room temp sensors are recognised.

Environment

HA 0.113.2
Addon 0.5.2

  • Home Assistant Core release with the issue: 0.113.2
  • Last working Home Assistant Core release (if known):
  • Operating environment (OS/Container/Supervised/Core): Docker container running on Raspberry Pi
  • Integration causing this issue: OpenZWave (Beta)
  • Link to integration documentation on our website:

Problem-relevant configuration.yaml

None (UI configured)

MQTT Dump

mqtt_dump.txt

Additional information

Missing stat is node 17

@garethhowell garethhowell changed the title Horstmann SRT321 ZWave Thermostat not being recognised Horstmann SRT321 ZWave Thermostat setpoint not being recognised Aug 1, 2020
@probot-home-assistant
Copy link

ozw documentation
ozw source
(message by IssueLinks)

@garethhowell
Copy link
Author

I appreciate that this may be considered a small deficiency, but tempus fugit and it's starting to get colder. I'd really like this thermostat to be working before winter arrives :-)

@garethhowell
Copy link
Author

Bump.

@kpine
Copy link
Contributor

kpine commented Sep 29, 2020

I think your problem has to do with the discovery schema. Your thermostat reports the following (with a bunch of stuff removed):

{
  "NodeGenericString": "Thermostat",
  "NodeGeneric": 8,
  "NodeSpecificString": "Thermostat",
  "NodeSpecific": 0
}

Based on the open-zwave source code, it looks like the NodeSpecificString is set to the Generic string if the specific type is "unused" (it is not invalid for non-zwave plus thermostat to report a specific type of unused (0), just pointing out why the string is that way).

The discovery schema for a setpoint thermostat (not mode) uses the following:

    {  # Z-Wave Thermostat device without mode support
        const.DISC_COMPONENT: "climate",
        const.DISC_GENERIC_DEVICE_CLASS: (const_ozw.GENERIC_TYPE_THERMOSTAT,),
        const.DISC_SPECIFIC_DEVICE_CLASS: (
            const_ozw.SPECIFIC_TYPE_SETPOINT_THERMOSTAT,
        ),

Notice it only matches Generic Type Thermostat (8) and Specific Type Setpoint Thermostat (4). Compare to the old integration which matches much more:

        const.DISC_COMPONENT: "climate",  # thermostat without COMMAND_CLASS_THERMOSTAT_MODE
        const.DISC_GENERIC_DEVICE_CLASS: [
            const.GENERIC_TYPE_THERMOSTAT,
            const.GENERIC_TYPE_SENSOR_MULTILEVEL,
        ],
        const.DISC_SPECIFIC_DEVICE_CLASS: [
            const.SPECIFIC_TYPE_THERMOSTAT_HEATING,
            const.SPECIFIC_TYPE_SETPOINT_THERMOSTAT,
            const.SPECIFIC_TYPE_NOT_USED,
        ],

For your thermostat, adding const_ozw.SPECIFIC_TYPE_NOT_USED to the list of const.DISC_SPECIFIC_DEVICE_CLASS should do the trick. Based on the old zwave implementation there are probably other thermostats not working as well.

Now discovery code:

    {  # Z-Wave Thermostat device without mode support
        const.DISC_COMPONENT: "climate",
        const.DISC_GENERIC_DEVICE_CLASS: (const_ozw.GENERIC_TYPE_THERMOSTAT,),
        const.DISC_SPECIFIC_DEVICE_CLASS: (
            const_ozw.SPECIFIC_TYPE_SETPOINT_THERMOSTAT,
            const_ozw.SPECIFIC_TYPE_NOT_USED,
        ),

@melyux
Copy link
Contributor

melyux commented Nov 30, 2020

I see a similar issue with my Z-Wave Thermostat, but a different one (a CT101). Does a code change need to be made for each thermostat whose Heat setpoint is now not working with the new OZW integration? (Seeing an "Unused 3" instead, set to 0°C)

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

Successfully merging a pull request may close this issue.

6 participants