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

Heatit Thermostat Z-TRM3 lost Multilevel Sensor capability #6215

Closed
3 of 11 tasks
sjarvela opened this issue Aug 25, 2023 · 17 comments · Fixed by #6222
Closed
3 of 11 tasks

Heatit Thermostat Z-TRM3 lost Multilevel Sensor capability #6215

sjarvela opened this issue Aug 25, 2023 · 17 comments · Fixed by #6222
Labels
bug Something isn't working

Comments

@sjarvela
Copy link

Is your problem within Home Assistant (Core or Z-Wave JS Integration)?

NO, my problem is NOT within Home Assistant or the ZWave JS integration

Is your problem within Z-Wave JS UI (formerly ZwaveJS2MQTT)?

NO, my problem is NOT within Z-Wave JS UI

Checklist

Describe the bug

Since updating to latest version (11.13.0), all my Heatit Z-TRM3 thermostats stopped reporting multilevel sensor values, ie thermostat floor and air temperatures. Log is showing "[Node nnn] does not support CC Multilevel Sensor - discarding received command", which seems to relate to change #6178.

All thermostats had multilevel sensor shown in node, they were just not updating due to this change. Now that I re-interviewed two of these thermostats, multilevel sensor is lost in UI as well.

What might be the reason zwave-js now thinks these devices don't support this? Attached driver log has interview of node 024, and for me it seems to say it does, for example

2023-08-25T07:42:48.693Z DRIVER « [Node 024] [REQ] [ApplicationCommand]
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 81
                                    │ security class:  S2_Authenticated
                                    └─[VersionCCCommandClassReport]
                                        CC:      Multilevel Sensor
                                        version: 5
2023-08-25T07:42:48.694Z CNTRLR   [Node 024]   supports CC Multilevel Sensor (0x31) in version 5    [Endpoint 2]

In version 11.6.0 there was no problems, and with another zwave-js instance running with older version, Z-TRM3 still operates without problems.

Device information

Manufacturer:
Model name:
Node ID in your network:

How are you using node-zwave-js?

  • zwave-js-ui (formerly zwavejs2mqtt) Docker image (latest)
  • zwave-js-ui (formerly zwavejs2mqtt) Docker image (dev)
  • zwave-js-ui (formerly zwavejs2mqtt) Docker manually built (please specify branches)
  • ioBroker.zwave2 adapter (please specify version)
  • HomeAssistant zwave_js integration (please specify version)
  • pkg
  • node-red-contrib-zwave-js (please specify version, double click node to find out)
  • Manually built from GitHub (please specify branch)
  • Other (please describe)

Which branches or versions?

version: 11.13.0

Did you change anything?

yes (please describe)

If yes, what did you change?

No response

Did this work before?

Yes (please describe)

If yes, where did it work?

In earlier version 11.6.0

Attach Driver Logfile

zwave-driver.log

@zwave-js-bot
Copy link
Collaborator

👋 Hey @sjarvela!

It looks like you attached a logfile, but its filename doesn't look like it a driver log that came from Z-Wave JS. Please make sure you upload the correct one.

@AlCalzone
Copy link
Member

AlCalzone commented Aug 25, 2023

The endpoint that sends the reports does support Multilevel Sensor CC, but the check only considers the node's capabilities:

2023-08-25T07:42:48.621Z CNTRLR « [Node 024] received secure commands (S2_Authenticated)            [Endpoint 2]
                                  supported CCs:
                                  · Association
                                  · Association Group Information
                                  · Multi Channel Association
                                  · Multilevel Sensor

...

2023-08-25T07:42:48.841Z CNTRLR   [Node 024] does not support CC Multilevel Sensor - discarding received command...
2023-08-25T07:42:48.843Z DRIVER « [Node 024] [REQ] [ApplicationCommand]                              [discarded]
                                  └─[Security2CCMessageEncapsulation]
                                    │ sequence number: 83
                                    │ security class:  S2_Authenticated
                                    └─[MultiChannelCCCommandEncapsulation]
                                      │ source:      2
                                      │ destination: 0
                                      └─[MultilevelSensorCCSupportedSensorReport]
                                          supported sensor types:
                                          · Air temperature

@AlCalzone AlCalzone added the bug Something isn't working label Aug 25, 2023
@markpetrie1980
Copy link

I'm having the same issue with Z-Wave JS UI and a Fibaro Universal Binary Sensor

CNTRLR does not support CC Multilevel Sensor - discarding received command

@tefteulf
Copy link

Same problem as described above with 2 Fibaro universal binary sensor (2 ch on/off + 1 temp) in Z-Wave JS UI v1.15.7
Downgrade to Z-Wave JS UI v1.15.6 solves the problem.

@bubbzy
Copy link

bubbzy commented Aug 27, 2023

+1

Same problem with heatit trm3 and some fibaro units.

@ScratMan
Copy link
Contributor

I updated to ZWave JS UI 8.23.2 to get the fix, but my temperature sensor on the FGK101 immediately stopped updating.
I reverted to 8.23.0 and the temperature has been updated, I'll monitor it to see if it reports correctly.

@AlCalzone
Copy link
Member

8.23.2 doesn't include the fix yet: https://zwave-js.github.io/which-version/

Latest version:
v8.23.2
Driver version:
v11.13.0

That is in v11.13.1

@ScratMan
Copy link
Contributor

Oh ! My mistake. I saw a node release before an UI release and thought it was included 😂

@quadhammer
Copy link

quadhammer commented Sep 26, 2023

I'm getting the same with a Fibaro FGS221.

Logs are being spammed with:

CNTRLR [Node 054] does not support CC Meter - discarding received command...

Here are the logs on an include:

2023-09-26T03:46:30.337Z CNTRLR [Node 054] new node, doing a full interview...
2023-09-26 13:46:30.338 INFO Z-WAVE: [Node 054] Interview started
2023-09-26T03:46:30.338Z CNTRLR » [Node 054] querying protocol info...
2023-09-26T03:46:30.372Z CNTRLR « [Node 054] received response for protocol info:
basic device class: Routing Slave
generic device class: Binary Switch
specific device class: Binary Power Switch
node type: End Node
is always listening: true
is frequent listening: false
can route messages: true
supports security: false
supports beaming: true
maximum data rate: 40000 kbps
protocol version: 3
2023-09-26 13:46:30.373 INFO Z-WAVE: [Node 054] Interview stage PROTOCOLINFO completed
2023-09-26T03:46:30.374Z CNTRLR [Node 054] Interview stage completed: ProtocolInfo
2023-09-26T03:46:30.375Z CNTRLR » [Node 054] querying node info...
2023-09-26T03:46:30.530Z CNTRLR « [Node 054] node info received
supported CCs:
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
2023-09-26T03:46:30.531Z CNTRLR « [Node 054] node info received
supported CCs:
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
2023-09-26 13:46:30.532 INFO Z-WAVE: [Node 054] Interview stage NODEINFO completed
2023-09-26T03:46:30.532Z CNTRLR [Node 054] Interview stage completed: NodeInfo
2023-09-26T03:46:30.533Z CNTRLR [Node 054] Interviewing Binary Switch...
2023-09-26T03:46:30.533Z CNTRLR » [Node 054] querying Binary Switch state...
2023-09-26 13:46:30.729 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-currentValue
2023-09-26 13:46:30.731 INFO Z-WAVE: [Node 054] Value added: 37-0-currentValue => false
2023-09-26 13:46:30.731 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-targetValue
2023-09-26 13:46:30.732 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-duration
2023-09-26T03:46:30.732Z CNTRLR « [Node 054] received Binary Switch state:
current value: false
2023-09-26 13:46:30.732 INFO Z-WAVE: [Node 054] Interview stage COMMANDCLASSES completed
2023-09-26T03:46:30.733Z CNTRLR [Node 054] Interview stage completed: CommandClasses
2023-09-26 13:46:30.733 INFO Z-WAVE: [Node 054] Interview stage OVERWRITECONFIG completed
2023-09-26T03:46:30.733Z CNTRLR [Node 054] Interview stage completed: OverwriteConfig
2023-09-26 13:46:30.733 INFO Z-WAVE: [Node 054] Interview stage COMPLETE completed
2023-09-26T03:46:30.734Z CNTRLR [Node 054] Interview completed
2023-09-26 13:46:30.734 INFO Z-WAVE: [Node 054] Value added 54-37-0-currentValue => false
2023-09-26 13:46:30.735 INFO Z-WAVE: [Node 054] Value added 54-37-0-targetValue => undefined
2023-09-26 13:46:30.735 INFO Z-WAVE: [Node 054] Value added 54-37-0-duration => NaNs
2023-09-26 13:46:30.735 INFO Z-WAVE: [Node 054] Ready: Unknown manufacturer 0xXXXX - Unknown product 0xXXXX (0xXXXX)
2023-09-26T03:46:30.737Z CNTRLR [Node 054] The node is ready to be used
2023-09-26 13:46:30.739 INFO Z-WAVE: [Node 054] Interview COMPLETED, all values are updated
2023-09-26 13:47:04.244 INFO Z-WAVE: [Node 054] Value added: 119-0-name => Bedroom TV
2023-09-26 13:47:04.244 INFO Z-WAVE: [Node 054] Value added: 119-0-location => Bedroom
2023-09-26T03:47:04.245Z CNTRLR [Node 054] Beginning interview - last completed stage: None
2023-09-26T03:47:04.245Z CNTRLR [Node 054] new node, doing a full interview...
2023-09-26 13:47:04.245 INFO Z-WAVE: [Node 054] Interview started
2023-09-26T03:47:04.245Z CNTRLR » [Node 054] querying protocol info...
2023-09-26T03:47:04.261Z CNTRLR « [Node 054] received response for protocol info:
basic device class: Routing Slave
generic device class: Binary Switch
specific device class: Binary Power Switch
node type: End Node
is always listening: true
is frequent listening: false
can route messages: true
supports security: false
supports beaming: true
maximum data rate: 40000 kbps
protocol version: 3
2023-09-26 13:47:04.261 INFO Z-WAVE: [Node 054] Interview stage PROTOCOLINFO completed
2023-09-26T03:47:04.262Z CNTRLR [Node 054] Interview stage completed: ProtocolInfo
2023-09-26T03:47:04.262Z CNTRLR » [Node 054] querying node info...
2023-09-26T03:47:04.388Z CNTRLR « [Node 054] node info received
supported CCs:
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
2023-09-26T03:47:04.388Z CNTRLR « [Node 054] node info received
supported CCs:
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· No Operation
· Z-Wave Protocol
· No Operation
· No Operation
2023-09-26 13:47:04.389 INFO Z-WAVE: [Node 054] Interview stage NODEINFO completed
2023-09-26T03:47:04.391Z CNTRLR [Node 054] Interview stage completed: NodeInfo
2023-09-26T03:47:04.392Z CNTRLR [Node 054] Interviewing Binary Switch...
2023-09-26T03:47:04.393Z CNTRLR » [Node 054] querying Binary Switch state...
2023-09-26 13:47:04.557 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-currentValue
2023-09-26 13:47:04.559 INFO Z-WAVE: [Node 054] Value added: 37-0-currentValue => false
2023-09-26 13:47:04.560 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-targetValue
2023-09-26 13:47:04.560 INFO Z-WAVE: [Node 054] Metadata updated: 37-0-duration
2023-09-26T03:47:04.561Z CNTRLR « [Node 054] received Binary Switch state:
current value: false
2023-09-26 13:47:04.561 INFO Z-WAVE: [Node 054] Interview stage COMMANDCLASSES completed
2023-09-26T03:47:04.562Z CNTRLR [Node 054] Interview stage completed: CommandClasses
2023-09-26 13:47:04.562 INFO Z-WAVE: [Node 054] Interview stage OVERWRITECONFIG completed
2023-09-26T03:47:04.563Z CNTRLR [Node 054] Interview stage completed: OverwriteConfig
2023-09-26 13:47:04.563 INFO Z-WAVE: [Node 054] Interview stage COMPLETE completed
2023-09-26T03:47:04.564Z CNTRLR [Node 054] Interview completed
2023-09-26 13:47:04.565 INFO Z-WAVE: [Node 054] Value added 54-37-0-currentValue => false
2023-09-26 13:47:04.565 INFO Z-WAVE: [Node 054] Value added 54-37-0-targetValue => undefined
2023-09-26 13:47:04.565 INFO Z-WAVE: [Node 054] Value added 54-37-0-duration => NaNs
2023-09-26 13:47:04.565 INFO Z-WAVE: [Node 054] Ready: Unknown manufacturer 0xXXXX - Unknown product 0xXXXX (0xXXXX)
2023-09-26T03:47:04.568Z CNTRLR [Node 054] The node is ready to be used
2023-09-26 13:47:04.571 INFO Z-WAVE: [Node 054] Interview COMPLETED, all values are update```

@AlCalzone
Copy link
Member

Please make a driver log, loglevel debug and attach it here as a file (drag & drop into the text field).

That log should include a re-interview.

@quadhammer
Copy link

I turned the driver log to log level 'debug' before I did my re-interview with the debug log open, but as I am using the built in Z-Wave JS in home assistant, I can't find where the actual logs are.

@AlCalzone
Copy link
Member

The log you posted above looks a lot like Z-Wave JS UI though? The link I posted also explains how to retrieve the files at the bottom. Make sure to put the driver log on debug, the snippet above isn't.

If you're really not using Z-Wave JS UI, check https://www.home-assistant.io/integrations/zwave_js#how-to-access-the-z-wave-logs

@quadhammer
Copy link

If you're really not using Z-Wave JS UI, check https://www.home-assistant.io/integrations/zwave_js#how-to-access-the-z-wave-logs

Thank you, that's were it was. :)

zwave_js(1).log

@quadhammer
Copy link

I found another debug log that hopefully is of use as well:


{
  "id": 54,
  "name": "Bedroom TV",
  "loc": "Bedroom",
  "values": [
    {
      "id": "54-37-0-currentValue",
      "nodeId": 54,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "currentValue",
      "propertyName": "currentValue",
      "type": "boolean",
      "readable": true,
      "writeable": false,
      "label": "Current value",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": false,
      "isCurrentValue": true,
      "targetValue": "37-0-targetValue",
      "lastUpdate": 1695878944331,
      "newValue": false
    },
    {
      "id": "54-37-0-duration",
      "nodeId": 54,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "duration",
      "propertyName": "duration",
      "type": "duration",
      "readable": true,
      "writeable": false,
      "label": "Remaining duration",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "value": {
        "value": 41,
        "unit": "minutes"
      },
      "lastUpdate": 1695878944136,
      "newValue": {
        "value": 41,
        "unit": "minutes"
      }
    },
    {
      "id": "54-37-0-targetValue",
      "nodeId": 54,
      "toUpdate": false,
      "commandClass": 37,
      "commandClassName": "Binary Switch",
      "endpoint": 0,
      "property": "targetValue",
      "propertyName": "targetValue",
      "type": "boolean",
      "readable": true,
      "writeable": true,
      "label": "Target value",
      "stateless": false,
      "commandClassVersion": 2,
      "list": false,
      "lastUpdate": 1695878944143
    }
  ],
  "groups": [],
  "neighbors": [],
  "ready": true,
  "available": true,
  "hassDevices": {},
  "failed": false,
  "inited": true,
  "eventsQueue": [
    {
      "time": "2023-09-28T05:17:26.873Z",
      "event": "alive",
      "args": [
        0
      ]
    },
    {
      "time": "2023-09-28T05:17:26.876Z",
      "event": "ready",
      "args": []
    },
    {
      "time": "2023-09-28T05:29:00.030Z",
      "event": "value added",
      "args": [
        {
          "commandClassName": "Node Naming and Location",
          "commandClass": 119,
          "property": "name",
          "newValue": "Bedroom TV",
          "propertyName": "name"
        }
      ]
    },
    {
      "time": "2023-09-28T05:29:00.031Z",
      "event": "value added",
      "args": [
        {
          "commandClassName": "Node Naming and Location",
          "commandClass": 119,
          "property": "location",
          "newValue": "Bedroom",
          "propertyName": "location"
        }
      ]
    },
    {
      "time": "2023-09-28T05:29:00.032Z",
      "event": "interview started",
      "args": []
    },
    {
      "time": "2023-09-28T05:29:00.052Z",
      "event": "interview stage completed",
      "args": [
        "ProtocolInfo"
      ]
    },
    {
      "time": "2023-09-28T05:29:03.895Z",
      "event": "interview stage completed",
      "args": [
        "NodeInfo"
      ]
    },
    {
      "time": "2023-09-28T05:29:04.136Z",
      "event": "value added",
      "args": [
        {
          "commandClassName": "Binary Switch",
          "commandClass": 37,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": false,
          "propertyName": "currentValue"
        }
      ]
    },
    {
      "time": "2023-09-28T05:29:04.137Z",
      "event": "value added",
      "args": [
        {
          "commandClassName": "Binary Switch",
          "commandClass": 37,
          "property": "duration",
          "endpoint": 0,
          "newValue": {
            "value": 41,
            "unit": "minutes"
          },
          "propertyName": "duration"
        }
      ]
    },
    {
      "time": "2023-09-28T05:29:04.138Z",
      "event": "interview stage completed",
      "args": [
        "CommandClasses"
      ]
    },
    {
      "time": "2023-09-28T05:29:04.139Z",
      "event": "interview stage completed",
      "args": [
        "OverwriteConfig"
      ]
    },
    {
      "time": "2023-09-28T05:29:04.140Z",
      "event": "interview stage completed",
      "args": [
        "Complete"
      ]
    },
    {
      "time": "2023-09-28T05:29:04.145Z",
      "event": "ready",
      "args": []
    },
    {
      "time": "2023-09-28T05:29:04.152Z",
      "event": "interview completed",
      "args": []
    },
    {
      "time": "2023-09-28T05:29:04.332Z",
      "event": "value updated",
      "args": [
        {
          "commandClassName": "Binary Switch",
          "commandClass": 37,
          "property": "currentValue",
          "endpoint": 0,
          "newValue": false,
          "prevValue": false,
          "propertyName": "currentValue"
        }
      ]
    }
  ],
  "status": "Alive",
  "interviewStage": "Complete",
  "priorityReturnRoute": {},
  "customReturnRoute": {},
  "prioritySUCReturnRoute": false,
  "customSUCReturnRoutes": [],
  "hexId": "0xXXXX-0xXXXX-0xXXXX",
  "dbLink": "https://devices.zwave-js.io/?jumpTo=0xXXXX:0xXXXX:0xXXXX:0.0",
  "productLabel": "Unknown product 0xXXXX",
  "productDescription": "0xXXXX",
  "manufacturer": "Unknown manufacturer 0xXXXX",
  "protocolVersion": 3,
  "nodeType": 1,
  "endpointsCount": 0,
  "endpoints": [
    {
      "index": 0,
      "label": "Root Endpoint"
    }
  ],
  "isSecure": false,
  "security": "None",
  "supportsSecurity": false,
  "supportsBeaming": true,
  "isControllerNode": false,
  "isListening": true,
  "isFrequentListening": false,
  "isRouting": true,
  "keepAwake": false,
  "maxDataRate": 40000,
  "deviceClass": {
    "basic": 4,
    "generic": 16,
    "specific": 1
  },
  "lastActive": 1695879223021,
  "firmwareCapabilities": {
    "firmwareUpgradable": false
  },
  "deviceId": "undefined-undefined-undefined",
  "hasDeviceConfigChanged": false,
  "statistics": {
    "commandsTX": 2,
    "commandsRX": 385,
    "commandsDroppedRX": 0,
    "commandsDroppedTX": 0,
    "timeoutResponse": 0,
    "rtt": 451.3,
    "lastSeen": "2023-09-28T05:33:43.021Z",
    "rssi": -70,
    "lwr": {
      "protocolDataRate": 2,
      "repeaters": [],
      "rssi": -72,
      "repeaterRSSI": []
    }
  },
  "supportsTime": false,
  "_name": "Bedroom TV (Bedroom)",
  "applicationRoute": false,
  "lastReceive": 1695879223021,
  "errorReceive": false,
  "errorTransmit": false
}

@AlCalzone
Copy link
Member

The communication from the device seems completely off - like the capability reports don't make any sense whatsoever.

I'd start by power cycling the thermostat, if that doesn't work power cycle the stick (pull out, put back),
If that doesn't work either, exclude the thermostat, factory reset it, include it again.

@quadhammer
Copy link

sorry, I think I've given you a misdirection. I found this error by googling the same error message, but it's not the same device. It's actually a Fibaro binary switch, but I'm not sure of the model, because it's in the wall, and it no longer identifies properly: it just gives "unknown device".

Should I open a new issue, despite the same error?

@AlCalzone
Copy link
Member

Doesn't matter which device it is, the troubleshooting steps from my previous post still apply

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
8 participants