(Problem) Migration Z-Wave NW from Vera to UZB1 dongle
-
I re-ran the testing today. Step 6 is where things are breaking. I did the touch dongle.restore command, reloaded luup, etc. The dongle.restore.go file never appears.
-
So the dongle.restore file is still there?
The process goes like this:
Upon luup reload, the luup engine deletes the "dongle.restore" file and replaces it with a "dongle.restore.go" file while it is preparing the engine to do the restore. Then a vera reboot, gets the zwave serial tool to upload the dongle data to the zwave device.
There are other ways to do this but this is what I thought was the easiest. (The alternative is to edit your user.data.json which is very tricky and error prone). These mimic the steps of a zwave data restore from the UI. -
Yup.. the dongle.restore file was still there.
I tried Luup.reload(), Z-wave engine restart, and via Device > Advanced > New Service > Reload Engine. No go for any of them causing the dongle.restore to delete and create the dongle.restore.go file.
As for user_data.json files... those are now showing as .lzo files btw if under /etc/cmh
-
yes the user data file are always compressed with lzo on the vera.
This is strange that the dongle.restore remains there. I have never seen this happen. You did put it in the same folder (/etc/cmh) as the dongle backup files, right? -
Correct... in /etc/cmh
-
Could you post a snapshot of the zwave advanced page where it is supposed to show the controller network ID etc... after having switched to the uzb as the controller?
-
wow... so it did recognize the UZB just fine and can read the network ID from it. It is purely about triggering the recovery from your backup to the Uzb dongle then. I am a bit surprised that it didn't work.
So the "/etc/cmh/dongle.restore" file never got replaced?... I wonder if the script has changed. Unfortunately I wiped my vera from anything mios so I can't test with this firmware. The nuclear option would be to edit the user-data.json from a backup and recover from it.... You are sure you have all your dongle files in the etc/cmh folder right?extract from my own old posting:
Just for documentation purpose, I also found how to restore only the onboard zwave dongle:
-move your desired dongle file (example: “dongle.6.1.dump.0”) to /etc/cmh,
-rename it “dongle.restore”,
-run Stop_cmh.sh
-run Start_cmh.sh
-run Reboot -
I am even wondering if this is worth trying:
https://z-wave.me/zmeserialupdater-manual/Z-WAVE Serial API Tool Version:LWE0.9 by Z-WAVE>ME
usage: ZMESerialUpdater [-h]
{version,serialapi_boot,serialapi_firmware,serialapi_info,serialapi_readnvm,serialapi_writenvm,serialapi_cleannvm,serialapi_cap,serialapi_freq,serialapi_setvendor,serialapi_uzbupdate,serialapi_restorenvm,serialapi_ripnvm}
...ZWave>ME tools for controllers. Welcome
positional arguments:
{version,serialapi_boot,serialapi_firmware,serialapi_info,serialapi_readnvm,serialapi_writenvm,serialapi_cleannvm,serialapi_cap,serialapi_freq,serialapi_setvendor,serialapi_uzbupdate,serialapi_restorenvm,serialapi_ripnvm}
version Just only prints version.
serialapi_boot Adds ability to reflash bootloader of UZB.
serialapi_firmware Adds ability to reflash firmware of UZB.
serialapi_info Shows information packet of controller.
serialapi_readnvm Reads data from UZB NVM.
serialapi_writenvm Writes data to UZB NVM.
serialapi_cleannvm Writes data to UZB NVM.
serialapi_cap Set cap.
serialapi_freq Changes frequency.
serialapi_setvendor Changes vendor of UZB.
serialapi_uzbupdate Updates UZB.
serialapi_restorenvm. Writes hex or bin file directly to NVM.
serialapi_ripnvm Reads content of NVM to hex or bin file.Just not sure if this would work with a dongle.dump from the vera.
-
@rafale77 Yup... dongle.restore never got changed and dongle.dumps's all accounted for (see below)
root@MiOS_50013148:~# ls -al /etc/cmh/dongle* -rw-r--r-- 1 root root 16383 Aug 22 20:26 /etc/cmh/dongle.6.1.dump.0 -rw-r--r-- 1 root root 16383 Aug 22 20:26 /etc/cmh/dongle.6.1.dump.1 -rw-r--r-- 1 root root 16383 Aug 22 20:25 /etc/cmh/dongle.6.1.dump.2 -rw-r--r-- 1 root root 16383 Aug 22 20:25 /etc/cmh/dongle.6.1.dump.3 -rw-r--r-- 1 root root 16383 Aug 20 14:05 /etc/cmh/dongle.6.1.dump.4 -rw-r--r-- 1 root root 16383 Aug 20 13:57 /etc/cmh/dongle.6.1.dump.5
If you wanted, I could send you a dump file so you could try flashing it via ZMESerialUpdater to see if that even works
As for the onboard restore, I assume I still have to remap the to the internal /dev/ttyS0 first prior to those commands.
-
As for the onboard restore, I assume I still have to remap the to the internal /dev/ttyS0 first prior to those commands.
Indeed. You would have to do that before restoring to the onboard zwave controller. I am a bit stunned. This has never happened to me.
Is your dongle.restore file removed though?I have been looking at a couple of other tools on the vera to try to figure out what the luup engine actually triggers when it restores and found both the zwaveserial tool and the zwave firmware tool but neither seem to generate a 16KB file as a backup.
-
I have been having to manually delete the dongle.restore file
-
Could you maybe try downgrading the firmware and trying this again? I thought I tested 4955 but maybe not. It doesn't look like a compatibility issue from the dongle itselfl but more likely a change in how the firmware triggers a dongle restore. The other possibility is the translation from one SDK from the other is not working because... you already upgraded your uzb firmware. If that is the case though, you could downgrade the UZB firmware back, do the restore and then re-upgrade it. The restore works better with an SDK the vera knows. In truth I have actually transitioned my vera to an external usb stick a long time back, though it was not an uzb so when I did this, I actually moved from a silabs usb stick to a zwave-me uzb all on the vera. Others have done this though (@DesT for example).
I am baffled because when it is an sdk failure, it still goes and triggers the dongle.restore.go file. Maybe try to do a "touch dongle.restore.go" and run a luup reload instead?
-
I think one version back of the UZB should suffice. Probably 5.36 or 5.32 but I was more thinking about downgrading the vera.
-
I was able to piece together the URL structure to download the mt621 versions of 7.31 (current), 7.30 & 7.29. Which do you want to target.
-
7.29 should work.
-
Tried 7.29, reset to factory, restore backup config w/zwave. All came up good, failed on dongle.restore (luup) phase. Tried doing a touch "dongle.restore.go" and reboot even.. no go.
-
This is really very strange. And I suppose the file you created is still there? There must be something else going on. It seems like your luup engine is not even trying to do the dongle restore.
-
Yup... file still there.
14/50