-
-
Notifications
You must be signed in to change notification settings - Fork 221
feat(ui, zwaveclient): learn/secondary controller mode #4097
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
feat(ui, zwaveclient): learn/secondary controller mode #4097
Conversation
@ArtemKiyashko Thanks for your PR, I was waiting before implementing this as @AlCalzone told me this is not ready for production yet. But I think we could maybe make this clear in the confirm text. @AlCalzone WDYT? |
{ | ||
name: 'Start', | ||
action: 'startLearnMode', | ||
args: { | ||
confirm: | ||
'Initiate learn mode on primary controller first and then click OK here.', | ||
}, | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would also add the stop action here
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also it may have more sense to add this to the nodes manager dialog IMO |
Not sure if this is node specific functionality, because this is controller level function. E.g. no sense to show this option in Node dialog for controlled devices. But i can move this option to node dialog if you wish |
Let's see what @AlCalzone opinion about this :) For me it could be ok also as it is now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good from code side 👍🏼
not sure what is wrong here: https://github.com/zwave-js/zwave-js-ui/actions/runs/12868729333/job/35876826584?pr=4097#step:5:15 :) |
@zwave-js-bot fix lint |
@ArtemKiyashko Lint issues, you should run |
Ok seems bot is having some issues: https://github.com/zwave-js/zwave-js-ui/actions/runs/12869249637/job/35877613209 @ArtemKiyashko could you do that please? Just run that command and it will fix lint |
Ok, seems it was "newline" issue. Should be good now
|
Pull Request Test Coverage Report for Build 15493780146Details
💛 - Coveralls |
@ArtemKiyashko As said everything looks good from code side I'm just waiting for @AlCalzone feedback on this :) |
Interesting! I'll give this a proper look after the Z-Wave Summit, so roughly in 2 weeks. Too much other stuff to deal with before that. |
@ArtemKiyashko I can create you a test docker image if you want to use this |
No worries, i have a build with that :) |
@AlCalzone I think we could merge this one as well? |
Not sure if it is good form to comment on PRs, but also very much interested in this being completed. I have several ZWave devices I can add via my external primary controller, and then test learn mode to see if I can get them onto the secondary controller I use for ZJU. A few enerwave (new) and homeseer (replacement) devices. It is my understanding we cant still add new node or replace when ZJU is attached to a secondary controller, but with this PR we should be able to add to the primary controller and learn via the secondary controller using ZJU functions. |
I am not sure if there is anything i can help with. This PR is open for half a year already |
Ok, so I updated to the newest release. Did a backup of nodes and NVM. Hard reset. I deleted/unpaired old node of the secondary controller on VeraPlus. Initiated the inclusion of a new node.. the connected Aeotec controller connected via USB within Zwave JS. Started learn mode... it almost immediately says that learn mode has completed. VeraPlus picks up the device and attempts to configure it, but gives an error:
Tried this process twice, and the same results. The learn mode does not result in the VeraPlus secondary controller to properly configure the Zwave JS as a secondary node. Now this is strange, as in Zwave JS, I go and attempt to rebuild routes... receive the following:
However, even manually doing a soft reset or check updates, doesnt populate those 27 nodes in Zwave JS. Instead, I just continue to see the secondary controller only in Zwave JS with ID 1. Happy to perform some more testing, or provide logs as requested. Just let me know. I can hold off from reloading from backup for now. |
cc @AlCalzone |
Here is a sample of some of the logs around the learn event:
Interestingly enough, does look like the secondary controller is picking up the nodes correctly from the networks following learn mode:
Attaching logs for both UI and JS. |
Add support of "learn mode". Controller can be added to pre-existing network and used as "secondary" controller.
Driver function ref
From Aeotec user manual:
Screenshots: