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
Discard all pending transactions when starting OTW update, do additional checks not to communicate with the controller #5360
Comments
What firmware did you use? There's one for zooz and one for aeotec. |
I used: zwave_ncp_serial_api_controller_BRD4206A.gbl version 7.19.0 |
@Daniel-dev22 Is there any tool that I can use to flash the stick that doesn't expect to find a zwave controller? Zwave PC Controller won't let me even try and the same goes with ZWave JS UI. I searched Simplicity Studio but did not see anything... but I am also not sure where to look. |
I waited for this to happen 🙈 |
@robertsLando I can't get to the OTW Update function as nothing shows up in the list of devices: After remembering to save the changed bootloader setting: |
Shit 😅 the only way would be to do it using a driver function, the file should be placed on store dir and the function should read the file from there... @AlCalzone could you provide that function code? Otherwise I will do it tomorrow, not on my pc right now |
@robertsLando That may be an issue as well because ZWave JS UI is installed as an add-on to Home Assistant so I don't believe I have any access to the docker it is installed in. I ordered a new s7 arriving tomorrow and am hoping I can restore the NVM to the new one to get back up and running. I'll need to research the exact process to avoid messing that one up too. Then I can set up some other system to restore this one if at all possible. I also purchased a Zooz 800 series controller. If easy to migrate I might just do that. |
You can upload a file using the built in store browser, but I have no idea how to access it from a driver function. |
@AlCalzone - Is there a flasher tool I can use in a Linux VM or even better in Windows? |
In an hour or so. Will ping you when it is done |
I restored the NVM to a Zooz 700 series stick I had and my network is back up. I will likely migrate t the 800 series stick when it arrives this weekend since it was insanely easy (Thank you devs!!!). When the tool is ready, I will try to restore the s7 stick, but there is no rush. Either way, thank you! |
Unfortunately, migrating to 800 series won't be as easy, since the NVM backup/restore doesn't work there (yet?). For example:
All you need is a somewhat up to date version of Node.js (prefer LTS): https://nodejs.org/en/ |
@alexruffell YOu don't need to know how to use nodejs but just to install it and run the command @AlCalzone provided to you with the path to the file |
yeah, Node.js just needs to be installed to have the That command is meant to be run in the terminal directly, no manually executing |
Zwave-JS UI 8.8.1 will have the action on main advanced actions dialog so the problem would be fixed. Releasing it now... |
@AlCalzone As seen in the screenshot from yesterday, I figured out that I first needed to install the zwave-js driver using npm and then run the npx command from the powershell and not within the node.js window. I don't know if my syntax is correct but the tool says "Flashing firmware..." and then stops. I left it all night as I had to leave my computer and it did not do anything further. I tried again this morning with the same result. I'll research this a bit more to verify syntax. @AlCalzone In the syntax you suggested in a post above the firmware has extension |
You didn't have to install To debug what's going on, you can add |
Ok, it is not recovering from bootloader: @AlCalzone This could be due to something I did when trying to recover the controller using Silabs tools. In one of them you can edit basic settings on the serial chip and while I was not trying to do so, I may have reset them. Today I should get a new one and I can see what those settings are and correct them on this controller to see if it fixes the issue... unless you know why it may be failing for some other reason. |
Hmm so it's seeing the bootloader menu but apparently the flashing process does not start. Unfortunately that communication is hidden in the logs. I will see if I can show that too in verbose mode. |
Ok new version is out. Please use this command to make sure you get the newest version:
(replace ... with your port and filename). Now we should see what is happening. |
damn, that's not much... |
Ok, can reproduce :) |
Try again in 20 minutes or so when the release is done. |
@AlCalzone You did it! The s7 is now recognized as a zwave controller in Zwave PC Controller 5 and it shows me the node info etc. I have not tested it on HA as I have already moved to a different controller I had but I could plug it into a test instance of HA if you need me to do further verification. I am really tempted to migrate to the 800 series Zooz coordinator I purchased when this one failed (arriving Saturday). Even if just a "yes" or "no" do I have anything to gain doing it now? Thanks a lot for all your help! |
Honestly I'm not sure what you gain with 800 series right now. If you really want to, you'll have to migrate the old fashioned way by excluding devices on the old controller and including them on the new one. |
I am always looking to improve range and network bandwidth to eliminate issues that have plagued me for years. I am just not clear on whether a subset of 800 series improvements can benefit older series as well, or whether all improvements require the nodes to be 800 series as well. I'll do my research... Thanks again! |
@AlCalzone - Regarding the cause of this issue, could it be that HA was flooding the controller with zwave traffic during the OTW update? I recall seeing a timeout error before the bootloader one. If so, then would there be some mechanism to stop HA from sending traffic to the controller during an OTW update other than manually disabling the websocket? |
The zwave-js driver pauses the send queue when doing OTW updates, since those messages can't be sent anyways while in the bootloader. Maybe Z-UI did something that caused an error to be thrown and killed the process, but I guess we won't know what unless you reproduce it while making log files. |
@AlCalzone Turns out I was saving logs to file... [redacted] While I can't make sense of it, I did find the spot where it failed the OTW. Hopefully it helps you troubleshoot what happened. Please remove the file, or let me know to do so, if it has info that should not be on here. BTW - is having it log to file bogging things down? |
Uhh that is indeed helpful. I'll leave the gist here for my later reference, then delete your file: Firmware update starts in the middle of an API command
|
Checklist
Deploy method
Docker
Z-Wave JS UI version
8.8.0
ZwaveJS version
10.4.0
Describe the bug
I initiated an upgrade of my Aeotec S7 using the new OTW functionality and soon after starting the update I got these errors:
Driver: Failed to recover from bootloader. Please flash a new firmware...
Problem is that neither HA or Zwave PC Controller see the stick as connected. It sees the COM port but not the Zwave stick so I cannot flash a new firmware or even restore the NVM I backed up just before testing this.
To Reproduce
Update to 7.19.0 using Zwave JS UI OTW. The file I used was BRD4206A as it is the same board type as the one on Aeotec's site.
Expected behavior
n/a
Additional context
No response
The text was updated successfully, but these errors were encountered: