node-zwave-js
node-zwave-js copied to clipboard
Device (Heatit thermostat) doesn't report binary switch as it should with updated firmware
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 ZWaveJS2MQTT?
YES, BUT a ZWaveJS2MQTT developer has told me to come here
Checklist
-
[X] I have checked the troubleshooting section and my problem is not described there.
-
[X] I have read the changelog and my problem was not mentioned there.
Describe the bug
What causes the bug? Unclear. Maybe the device was set up using documentation of a previous firmware version of the device that didn't support the binary switch?
What do you observe? The thermostat reports setpoints as expected, but the new firmware is also capable of reporting wether or not the relay is open which is the feature I want.
What did you expect to happen? That binary switch for heating status is correctly reported
Steps to reproduce the behavior: I've tried re-interviewing the nodes multiple time. I've got two identical thermostats. They reported correctly using Homeseers implementation so I know it's actually possible.
I turn up the setpoint above current temperature, see the red LED-indicator light up, and look for changes in the events tab, but all I get is the new setpoint.
I have attached the documentation of this firmware version if that could be of any use.
Device information
Manufacturer: HeatIt Model name: Z-trm2fx Firmware: 1.92 Node ID in your network: 96
It's added as "Thermofloor Thermostat TF016 / TF021" in Zwavejs2mqtt
How are you using node-zwave-js
?
- [X]
zwavejs2mqtt
Docker image (latest) - [ ]
zwavejs2mqtt
Docker image (dev) - [ ]
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:
node-zwave-js
branch:
zwavejs2mqtt
branch:
Did you change anything?
no
If yes, what did you change?
No response
Did this work before?
No, it never worked anywhere
If yes, where did it work?
It worked in Homeseer before I migrated to zwavejs2mqtt and Homeassistant
Attach Driver Logfile
It seems to actually report correctly when using the "Refresh" button in zwavejs2mqtt. I'm puzzled by why it wouldn't update automatically?
Are my groups/associations off?
If the new firmware changed capabilities, you might need to exclude and re-include the device.
I won't be able to look at this before Monday, so please make sure to capture the inclusion and/or an interview in the driver log. I'm on mobile so I Can't verify that the posted log is sufficient right now.
If the new firmware changed capabilities, you might need to exclude and re-include the device.
I won't be able to look at this before Monday, so please make sure to capture the inclusion and/or an interview in the driver log. I'm on mobile so I Can't verify that the posted log is sufficient right now.
Thanks, but it was always at 1.92 when I added it to zwavejs
It seems like configuration (parameters) introduced in this firmware isn't supported either. Parameter 14-18 in the documentation linked in OP
It seems like configuration (parameters) introduced in this firmware isn't supported either. Parameter 14-18 in the documentation linked in OP
As for this issue I think the solution should be fairly simple. I've forked and created a commit here. I do need some guidance on how I can test it though? How can I move that device-json into my zwavejs2mqtt container to give it a go?
EDIT: I've manually moved it into the container and it seems to work as expected. Will test a bit more and create a pr for this.
This doesn't solve my other problem though. It seems related to this issue with related fix, that user ran with fw 1.8
There is documentation on testing device files in the zwavejs2mqtt repo.
There is documentation on testing device files in the zwavejs2mqtt repo.
Yea I just found it and that makes testing significantly easier :) I imagine with FW >= 1.9 it's possible to drop disableBasicMapping
.
I'm still unable to get it to update the binary switch current value by itself, I have to manually trigger the refresh and then I get the correct information immediately. Any ideas about this?
Attached is a log file in which I at 2022-06-04T18:56:33
set a new lower setpoint which turns the relay off and then at 2022-06-04T18:56:51
I guery the basic switch and see that it's turned off.
zwavejs_2022-06-04 (1).log
Is there an assiciation group or endpoint I'm missing? If so, where would I start to look for it?
2022-06-04T18:56:38.043Z DRIVER Dropping message because it could not be deserialized: BinarySwitchCCSet: dese
rialization not implemented (ZW0320)
The thermostat is using a BinarySwitchCCSet
which is meant to control a binary switch and not to report status. See manual:
According to the manual, there is another association group on Endpoint 1, which uses Basic Report commands to do the same. This sounds like a better fit:
I'm not sure how this one is labeled though, since we don't have any associations defined for the endpoints in the config file.
You do seem to have a few duplicated associations though. The controller doesn't have any endpoints, so specifying a different target endpoint than "None" (or 0 for some lifelines) just results in duplicate reports.
Thanks so much for getting back to me @AlCalzone !
I cleaned up my associations:
I started a new log and did the following:
- Changed to high setpoint
- Changed to low setpoint
- Refreshed basic v0
- Refreshed binary switch v1
- Changed to high setpoint
- Refreshed basic v0 (might have double clicked this)
- Refreshed binary switch v1
I still have to manually refresh to get the new values. Note that this is without disableBasicMapping
Any way I can get this to automatically report? Thanks!
I'm still not seeing any unsolicited Basic reports from the thermostat, only the Binary Switch Set commands.
You'll have to ask the Heat It support how the thermostat needs to be configured so it sends the Basic Reports mentioned in the device manual. They should be able to tell you.
This issue has not seen any recent activity and was marked as "stale 💤". Closing for housekeeping purposes... 🧹
Feel free to reopen if the issue persists.