home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.56k stars 30.73k forks source link

zwave_js doesn't add my thermostat (CT100) as a climate entity #46946

Closed mew1033 closed 3 years ago

mew1033 commented 3 years ago

The problem

I just migrated over from ozw to zwave_js. As far as I can tell, the only bug I've seen so far is that my thermostat (a radio thermostat CT100) doesn't show up as a climate device in HA. I can control all the setpoints and such from the ZwaveJS2MQTT control panel though.

I added the relevant node's debug dump, but if there are any other logs I can include, let me know.

Thanks!

What is version of Home Assistant Core has the issue?

core-2021.2.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

No response

Link to integration documentation on our website

No response

Example YAML snippet

# Put your YAML below this line

Anything in the logs that might be useful for us?

# Put your logs below this line
{
    "nodeId": 2,
    "index": 0,
    "status": 4,
    "ready": true,
    "deviceClass": {
        "basic": "Routing Slave",
        "generic": "Thermostat",
        "specific": "General Thermostat V2",
        "mandatorySupportedCCs": [
            "Basic",
            "Manufacturer Specific",
            "Thermostat Mode",
            "Thermostat Setpoint",
            "Version"
        ],
        "mandatoryControlCCs": []
    },
    "isListening": true,
    "isFrequentListening": false,
    "isRouting": true,
    "maxBaudRate": 40000,
    "isSecure": false,
    "version": 3,
    "isBeaming": true,
    "manufacturerId": 152,
    "productId": 262,
    "productType": 25601,
    "firmwareVersion": "9.0",
    "deviceConfig": {
        "manufacturerId": 152,
        "manufacturer": "Radio Thermostat Company of America (RTC)",
        "label": "CT100",
        "description": "Z-Wave Thermostat",
        "devices": [
            {
                "productType": "0x6401",
                "productId": "0x0015"
            },
            {
                "productType": "0x6401",
                "productId": "0x0103"
            },
            {
                "productType": "0x6401",
                "productId": "0x0105"
            },
            {
                "productType": "0x6401",
                "productId": "0x0106"
            },
            {
                "productType": "0x6401",
                "productId": "0x0107"
            },
            {
                "productType": "0x6401",
                "productId": "0x01fd"
            }
        ],
        "firmwareVersion": {
            "min": "0.0",
            "max": "255.255"
        },
        "associations": {}
    },
    "label": "CT100",
    "neighbors": [
        1,
        4,
        5,
        6,
        7,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18,
        19,
        23,
        24,
        25,
        26
    ],
    "endpointCountIsDynamic": false,
    "endpointsHaveIdenticalCapabilities": true,
    "individualEndpointCount": 2,
    "interviewAttempts": 1,
    "interviewStage": 7,
    "endpoints": [
        {
            "nodeId": 2,
            "index": 0
        },
        {
            "nodeId": 2,
            "index": 1
        },
        {
            "nodeId": 2,
            "index": 2
        }
    ],
    "values": [
        {
            "endpoint": 0,
            "commandClass": 114,
            "commandClassName": "Manufacturer Specific",
            "property": "manufacturerId",
            "propertyName": "manufacturerId",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "min": 0,
                "max": 65535,
                "label": "Manufacturer ID"
            },
            "value": 152
        },
        {
            "endpoint": 0,
            "commandClass": 114,
            "commandClassName": "Manufacturer Specific",
            "property": "productType",
            "propertyName": "productType",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "min": 0,
                "max": 65535,
                "label": "Product type"
            },
            "value": 25601
        },
        {
            "endpoint": 0,
            "commandClass": 114,
            "commandClassName": "Manufacturer Specific",
            "property": "productId",
            "propertyName": "productId",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "min": 0,
                "max": 65535,
                "label": "Product ID"
            },
            "value": 262
        },
        {
            "endpoint": 0,
            "commandClass": 64,
            "commandClassName": "Thermostat Mode",
            "property": "mode",
            "propertyName": "mode",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "min": 0,
                "max": 255,
                "states": {
                    "0": "Off",
                    "1": "Heat",
                    "2": "Cool",
                    "3": "Auto"
                },
                "label": "Thermostat mode"
            },
            "value": 1
        },
        {
            "endpoint": 0,
            "commandClass": 64,
            "commandClassName": "Thermostat Mode",
            "property": "manufacturerData",
            "propertyName": "manufacturerData",
            "ccVersion": 2,
            "metadata": {
                "type": "any",
                "readable": true,
                "writeable": true
            }
        },
        {
            "endpoint": 0,
            "commandClass": 67,
            "commandClassName": "Thermostat Setpoint",
            "property": "setpoint",
            "propertyKey": 1,
            "propertyName": "setpoint",
            "propertyKeyName": "Heating",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "unit": "\u00b0F",
                "ccSpecific": {
                    "setpointType": 1
                }
            },
            "value": 71
        },
        {
            "endpoint": 0,
            "commandClass": 67,
            "commandClassName": "Thermostat Setpoint",
            "property": "setpoint",
            "propertyKey": 2,
            "propertyName": "setpoint",
            "propertyKeyName": "Cooling",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "unit": "\u00b0F",
                "ccSpecific": {
                    "setpointType": 2
                }
            },
            "value": 72
        },
        {
            "endpoint": 0,
            "commandClass": 134,
            "commandClassName": "Version",
            "property": "libraryType",
            "propertyName": "libraryType",
            "ccVersion": 1,
            "metadata": {
                "type": "any",
                "readable": true,
                "writeable": false,
                "label": "Library type"
            },
            "value": 3
        },
        {
            "endpoint": 0,
            "commandClass": 134,
            "commandClassName": "Version",
            "property": "protocolVersion",
            "propertyName": "protocolVersion",
            "ccVersion": 1,
            "metadata": {
                "type": "any",
                "readable": true,
                "writeable": false,
                "label": "Z-Wave protocol version"
            },
            "value": "3.28"
        },
        {
            "endpoint": 0,
            "commandClass": 134,
            "commandClassName": "Version",
            "property": "firmwareVersions",
            "propertyName": "firmwareVersions",
            "ccVersion": 1,
            "metadata": {
                "type": "any",
                "readable": true,
                "writeable": false,
                "label": "Z-Wave chip firmware versions"
            },
            "value": [
                "9.0"
            ]
        },
        {
            "endpoint": 0,
            "commandClass": 135,
            "commandClassName": "Indicator",
            "property": "value",
            "propertyName": "value",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "min": 0,
                "max": 255,
                "label": "Indicator value",
                "ccSpecific": {
                    "indicatorId": 0
                }
            },
            "value": 0
        },
        {
            "endpoint": 0,
            "commandClass": 66,
            "commandClassName": "Thermostat Operating State",
            "property": "state",
            "propertyName": "state",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "min": 0,
                "max": 255,
                "label": "Operating state",
                "states": {
                    "0": "Idle",
                    "1": "Heating",
                    "2": "Cooling",
                    "3": "Fan Only",
                    "4": "Pending Heat",
                    "5": "Pending Cool",
                    "6": "Vent/Economizer",
                    "7": "Aux Heating",
                    "8": "2nd Stage Heating",
                    "9": "2nd Stage Cooling",
                    "10": "2nd Stage Aux Heat",
                    "11": "3rd Stage Aux Heat"
                }
            },
            "value": 0
        },
        {
            "endpoint": 0,
            "commandClass": 68,
            "commandClassName": "Thermostat Fan Mode",
            "property": "mode",
            "propertyName": "mode",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "min": 0,
                "max": 255,
                "states": {
                    "0": "Auto low",
                    "1": "Low"
                },
                "label": "Thermostat fan mode"
            },
            "value": 0
        },
        {
            "endpoint": 0,
            "commandClass": 69,
            "commandClassName": "Thermostat Fan State",
            "property": "state",
            "propertyName": "state",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": true,
                "min": 0,
                "max": 255,
                "states": {
                    "0": "Idle / off",
                    "1": "Running / running low",
                    "2": "Running high",
                    "3": "Running medium",
                    "4": "Circulation mode",
                    "5": "Humidity circulation mode",
                    "6": "Right - left circulation mode",
                    "7": "Up - down circulation mode",
                    "8": "Quiet circulation mode"
                },
                "label": "Thermostat fan state"
            },
            "value": 0
        },
        {
            "endpoint": 0,
            "commandClass": 128,
            "commandClassName": "Battery",
            "property": "level",
            "propertyName": "level",
            "ccVersion": 1,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "min": 0,
                "max": 100,
                "unit": "%",
                "label": "Battery level"
            },
            "value": 64
        },
        {
            "endpoint": 0,
            "commandClass": 128,
            "commandClassName": "Battery",
            "property": "isLow",
            "propertyName": "isLow",
            "ccVersion": 1,
            "metadata": {
                "type": "boolean",
                "readable": true,
                "writeable": false,
                "label": "Low battery level"
            },
            "value": false
        },
        {
            "endpoint": 1,
            "commandClass": 49,
            "commandClassName": "Multilevel Sensor",
            "property": "Air temperature",
            "propertyName": "Air temperature",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "unit": "\u00b0F",
                "label": "Air temperature",
                "ccSpecific": {
                    "sensorType": 1,
                    "scale": 1
                }
            },
            "value": 70.5
        },
        {
            "endpoint": 2,
            "commandClass": 49,
            "commandClassName": "Multilevel Sensor",
            "property": "Humidity",
            "propertyName": "Humidity",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "unit": "%",
                "label": "Humidity",
                "ccSpecific": {
                    "sensorType": 5,
                    "scale": 0
                }
            },
            "value": 20
        },
        {
            "endpoint": 2,
            "commandClass": 49,
            "commandClassName": "Multilevel Sensor",
            "property": "Air temperature",
            "propertyName": "Air temperature",
            "ccVersion": 2,
            "metadata": {
                "type": "number",
                "readable": true,
                "writeable": false,
                "unit": "\u00b0F",
                "label": "Air temperature",
                "ccSpecific": {
                    "sensorType": 1,
                    "scale": 1
                }
            },
            "value": 70.5
        }
    ]
}
probot-home-assistant[bot] commented 3 years ago

Hey there @home-assistant/z-wave, mind taking a look at this issue as its been labeled with an integration (zwave_js) you are listed as a codeowner for? Thanks! (message by CodeOwnersMention)

MartinHjelmare commented 3 years ago

Which version of zwavejs2mqtt or Z-Wave JS driver are you running?

mew1033 commented 3 years ago

Which version of zwavejs2mqtt or Z-Wave JS driver are you running?

Currently running the latest docker release. From what I can tell by looking at my container, it's 1.2.3.

MartinHjelmare commented 3 years ago

If you have the opportunity to run Home Assistant core dev branch, you could try this and see if this changes anything for your device discovery. There was a change for thermostats in one of the later Z-Wave JS releases that impacted us as a breaking change, and we've handled this on dev branch.

mew1033 commented 3 years ago

Yup, that fixed it. Thank you!

It also messed up all my zwave entities again, but oh well. :-)

eddriesen commented 3 years ago

Impacted as well on HA core-2021.2.3 , hassoss 5.12, hv zwave js addon 0.1.10 with my eurotronic spirit zwave trv's

Added them a few days ago on uzb zwave.me stick ok, but that thing was so quirky that i upgraded to aeotech gen 5+ stick (wow!)

But , no climate entity for me :-<

If you have the opportunity to run Home Assistant core dev branch, you could try this and see if this changes anything for your device discovery. There was a change for thermostats in one of the later Z-Wave JS releases that impacted us as a breaking change, and we've handled this on dev branch.

@MartinHjelmare Can I return to stable branch easy once it's sorted out?

MartinHjelmare commented 3 years ago

You can try activate the beta channel and upgrade to the latest beta (b2).

Make sure to do a snapshot before upgrading.

When the regular release is released and you have upgraded you can turn off the beta channel.

eddriesen commented 3 years ago

@MartinHjelmare Way ahead of you! It's alive! Even pure valve opening based steering. Now I have to find a way to get https://github.com/jmarsik/ad-eurotronic-trv-valvepos working on zwave js (best before winter ;) ) and I'm home free! I'm impressed by the stability and progress of zwave js so far!