Skip to content
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

[bug] Controller status still showing "Healing in Progress" after healing process is stopped #969

Closed
4 tasks
drjjr2 opened this issue Mar 29, 2021 · 20 comments · Fixed by #980
Closed
4 tasks
Assignees
Labels
bug Something isn't working

Comments

@drjjr2
Copy link

drjjr2 commented Mar 29, 2021

Version

Checklist:

  • I am not using HomeAssistant. Or: a developer has told me to come here.
  • [X ] I have checked the troubleshooting section and my problem is not described there.
  • [X ] I have read the changelog problem was not mentioned there.

Build/Run method

  • [X ] Docker
  • PKG
  • Snap package
  • Manually built (git clone - npm install - npm run build )

zwavejs2mqtt version: 3.0.2
zwave-js version: 7.0.0

Describe the bug

Controller status shows "Healing IN PROGRESS" even after healing is stopped.

To Reproduce

Steps to reproduce the behavior:

  1. Go to Advanced
  2. Click on Heal Network
  3. Select "Begin"
  4. Find that you have some reason to abort (like it is hung) and press Stop
  5. Note that the controller status does not change

Expected behavior

Controller status should read "Controller ready" or something similar.

Additional context

Add any other context about the problem here.

@drjjr2 drjjr2 added the bug Something isn't working label Mar 29, 2021
@robertsLando
Copy link
Member

@AlCalzone Based on my code it seems that this shouldn't happen, do you have changed something on your side that could break this? https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L321

@drjjr2
Copy link
Author

drjjr2 commented Mar 30, 2021

FYI - it still showed "Healing IN PROGRESS" even this morning. I stopped the container and restarted it and not it says "Driver ready."

@AlCalzone
Copy link
Member

@robertsLando you're not listening for the done event:
https://github.com/zwave-js/zwavejs2mqtt/blob/master/lib/ZwaveClient.js#L168

I do and it works for me.

@robertsLando
Copy link
Member

I know I removed it because the progress was enought to detect the end, I was getting double 'PROCESS COMPLETE'

@drjjr2
Copy link
Author

drjjr2 commented Apr 1, 2021

I still have this issue with 3.0.3.
For some reason my healing process doesn't make it past 2 nodes. After a bit, I go back to Advanced and Click STOP healing. A message appears at the bottom of the screen saying that the stop call was successfully made but the status still shows Healing process IN PROGRESS. Healed 2 nodes.

@robertsLando
Copy link
Member

@drjjr2 Now I listen for the Healing complete message so I sincerly have no clue what's going on here, can you provide us some logs please?

@drjjr2
Copy link
Author

drjjr2 commented Apr 1, 2021

I think that the healing process itself is hung. The debug level of logging doesn't show anything interesting. Is there a different log I can find?

@drjjr2
Copy link
Author

drjjr2 commented Apr 1, 2021

This is the only relevant log information:
When I start the process

2021-04-01 13:26:22.713 DEBUG SOCKET: Event ZWAVE_API emitted to qhKDZuLqhW2ffU2mAAAH
2021-04-01 13:26:22.713 INFO ZWAVE: Calling api beginHealingNetwork with args: [ [length]: 0 ]
2021-04-01 13:26:22.754 INFO ZWAVE: Controller status: Healing process IN PROGRESS. Healed 2 nodes
2021-04-01 13:26:22.755 INFO ZWAVE: Success zwave api call beginHealingNetwork { success: true, message: 'Success zwave api call', result: true }

When I stop the process:

2021-04-01 13:32:11.852 DEBUG SOCKET: Event ZWAVE_API emitted to qhKDZuLqhW2ffU2mAAAH
2021-04-01 13:32:11.853 INFO ZWAVE: Calling api stopHealingNetwork with args: [ [length]: 0 ]
2021-04-01 13:32:11.855 INFO ZWAVE: Success zwave api call stopHealingNetwork { success: true, message: 'Success zwave api call', result: true }

@robertsLando
Copy link
Member

Why do you stop it?

@drjjr2
Copy link
Author

drjjr2 commented Apr 1, 2021

This all cropped up because whenever I heal my network it stops at "Healed 2 nodes" and goes no further. I've even left it overnight. The log doesn't show any activity related to healing during this process. I was wondering if there is a different controller-level log that would hold the key. Is it a sleeping node or something else? I was always able to heal this same network with zwave2mqtt.

@robertsLando
Copy link
Member

@drjjr2 Do you also have zwavejs loogs?

@drjjr2
Copy link
Author

drjjr2 commented Apr 1, 2021 via email

@AlCalzone
Copy link
Member

@drjjr2
Copy link
Author

drjjr2 commented Apr 2, 2021

OK. So, after learning how to turn on the zwavejs log (thank you @AlCalzone) and realizing I need more patience, I see it get to the point where it heals 49 nodes. But it stops there and doesn't update any more or say complete.
I have attached the log. It's long and distinguished.
This looks to be the last entry related to the heal:

2021-04-02T03:29:43.592Z DRIVER « [REQ] [AssignReturnRoute]
                                    callback id:     225
                                    transmit status: OK

zwavejs_1.log

@robertsLando
Copy link
Member

Heal can take a lot, you need patience...

@AlCalzone
Copy link
Member

You have a couple of asleep nodes that haven't been healed yet. They need to be woken up manually or you need to wait until they wake up on their own.

@robertsLando I haven't used the heal UI in zwavejs2mqtt yet, but AFAIK some status display would help a lot understanding what's going on.

Heal in progress:
grafik

All healed but the one sleeping node:
grafik

@robertsLando
Copy link
Member

How do I detect if a heal is in progress? by using interview stage?

@AlCalzone
Copy link
Member

No through the heal progress events.

@robertsLando
Copy link
Member

Opened a feature request about this

@drjjr2
Copy link
Author

drjjr2 commented Apr 2, 2021

Yes, this will definitely help impatient people like me. Some of the sleeping nodes (like the fire alarm sound detector) aren't particularly easy to get to and force a wake up. Some sort of notice that they are "holding up" the process would be helpful. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants