-
-
Notifications
You must be signed in to change notification settings - Fork 623
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 driver not able to complete the interview with a Heatit Z-TRM2 device #1128
Comments
|
What is up with all these devices sending invalid Please update to version 5.4.0. |
I did use at least 5.4.0, or rather the current master. I have built again from the most recent master at this moment. I added the logs as |
Ok let me check - I might have looked at the wrong log. If you attach them directly to your comments instead of a gist, it would probably be easier :) |
I thought the logs would be too big to past directly into here. There are more than 2000 lines of Node 009 in the log. |
I think he means to attach them to the comment :) |
@larstobi Ok the problem are the borked InfoReports the device sends. This is 100% an issue in the firmware. As soon as the driver asks for the parameter description, the device goes tits up and sends 256 (i guess) invalid info reports without any content. This causes the following queries to fail too. |
I see. Probably the certification process is a bit lacking... The device kinda works in OpenZwave, the only thing that doesn't work is setting the temperature via Home Assistant. It could be related to an issue which is confirmed present in Z-TRM3, but I couldn't say for certain. OpenZWave/open-zwave#2458 I also have bought a Z-TRM3 and will replace the Z-TRM2 with that one soon. Is this the sort of thing that will require device special handling to get stuff working? |
Yup. I would have to add a compatibility flag that can be used in config files telling the driver not to use the V3 command to query configuration info.
Might be. Make sure you install the custom firmware for that. Shame that there is no good and good-looking thermostat for electrical floor heaters... My MCOHome thermostats frequently lock up and continue heating well past the setpoint 😖 |
Having same issues with other heatIt products |
As I understood it there's that fixed precision number for setpoint that's causing the issue. |
Yup but that is fixed in the "unofficial" firmware which HeatIt provide on their "official" website. Since zwave-js supports firmware updates, this is what I'd recommend before I have to waste development time on supporting bugged versions. |
@larstobi Also please do it using zjs2m UI I mean send the frimware update, so you can tell me if it's working. If the device explodes it means it's not working 😆 |
I will try using zjs2m right now. I actually bought a cheap Windows laptop just for this purpose...but I guess I don't need it after all, haha... |
No guarantees 😬 node-zwave-js/packages/zwave-js/src/lib/node/Node.ts Lines 2278 to 2285 in 51f484a
|
Actually I don't allow to specify the update target so it will update the chip by default |
Okay. I have included the Z-TRM3 now, and it's actually completed the Interview, which is an improvement on the Z-TRM2. It's unknown, though. Now, trying to find the new firmware and will try the zw2m way first. |
I can't imagine how all those commercial Z-Wave gateways handle all these device quirks. They should test devices better on different platforms! |
Me and @AlCalzone think the same, I dunno why and how this could happen on 'certified' devices |
I have tried to use the setpoint feature of the unknown Z-TRM3 before firmware update. I changed the setpoint value to 21.0 in the UI and clicked send. The corresponding entries from the logs are:
What I find a bit weird is that it tries to update with the current setpoint rather than the new one that I typed into the box. |
That is the value update which happens after the report from the device. If you |
Good tip about LOG_NODES! Also, firmware update didn't pan out.
|
That is a report by the node, I'm assuming that is not the correct firmware or it has the wrong format (some need to be converted first). @robertsLando how do you handle the firmware files? For reference: This works with Aeotec devices: and https://github.com/AlCalzone/ioBroker.zwave2/blob/master/src/lib/firmwareUpdate.ts |
I read the file as a binary buffer and I send it to the backend https://github.com/zwave-js/zwavejs2mqtt/blob/master/src/components/ControlPanel.vue#L1229 https://github.com/zwave-js/zwavejs2mqtt/blob/master/src/App.vue#L144 https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L1654 Is there something wrong? @AlCalzone |
The file I used is this one: https://drive.google.com/file/d/16RaxbnKDC9Mlqs2C6bUDNo9JDnm9cd75/view It has a |
It eventually got Complete, and I have now started FW update. Currently "Sending firmware fragment 641 / 2362" |
|
And setpoint actually works, with a caveat. If I try to set "23.5" it gets converted to "23", and then the thermostat shows "23.0". The thermostat supports setting half degrees C from the arrow buttons. |
Could you show me that part in a log? Just to make sure that it is not a bug on my end. |
|
And the same zwavejs2mqtt log:
|
When I type 23.5 into the user parameter field called "undefined (55-67-1-setpoint-1)" and press the send arrow, it gets converted to an integer at once in the form field. |
@larstobi Fixed in master |
oh, so it was a bug in z2m? |
For the reference: I usually need the log without filtered lines :) These two just tell me that some command was sent. |
Yep no worries it's already fixed. I have used a |
There is no advantages to use parseFloat in this situation as the input type for |
As author of OpenZWave/open-zwave#2458 I'd like to point out that the whole goal of that pull request is to fix the Z-trm3 setpoint command without flashing firmware first. If that PR would be included any Z-TRM3 would just work out of the box. I'm not sure if that fix would also be applicable to the Z-TRM2 but since its relying on a compat flag in the device xml it should be easy to test for someone with that device. |
I've thought about it too. But since That being said, the above issue with Z-TRM2 should be fixed with a compat flag. And if anyone wants to fix the Z-TRM3 issue here with a compat flag too, feel free to open a PR. |
@robertsLando I can confirm that your fix made it possible to set half degrees on the Z-TRM3. Thanks! :-) |
@AlCalzone A bit unsure reading the comments in this thread, did this ever get solved? I have https://github.com/zwave-js/zwavejs2mqtt/issues/160 (probably in the wrong place now I see - want me to move it?) The z-trm2fx is "gen 2" of z-trm2 - and possibly with the same faults regarding the interview process? I'm running them with the very latest FW available (3.06). |
I think you're right. We got a bit off track with the firmware update for the ztrm3. |
Let me know if you need anything! I'm gonna provide you with a fresh pair of debug logs of the inclusion process for one of these sometime today (just gota figure out how to enable debug in zwavejs2mqtt Docker - setting it in the UI doesn't seem to work 😄) |
What? |
@robertsLando I tried to enable debug in the UI (in the zwavejs2mqtt Docker) for both Zwave and Gateway, however STDOUT only showed me INFO? |
I returned my own Z-TRM2, in exchange for a Z-TRM3, so I can't help further, unfortunately. |
@jkaberg Because actually I have no debug level logs. I have switched to winston logger recently and I still have to add verbose/debug logging |
Describe the bug
Node 009 is not able to complete the Interview. I can see that Node 009 is having a hard time being Interviewed. It's a Heatit Z-TRM2 device.
To Reproduce
Steps to reproduce the behavior:
Device information
Which device(s) is/are affected? HeatIt Z-TRM2
What are the node IDs?
9
Logfile:
I added the debug log in https://gist.github.com/larstobi/a644872f2cfb2b96f5a0fb2c1a0d9e5d
as
zwave-4.log
The text was updated successfully, but these errors were encountered: