hyperion.ng: Turning on LEEDEVICE, when it's already on, should not change output behavior
- I confirm that this is an issue rather than a question.
Bug report
Turning on the component LEDDEVICE via the API, when the LEDDEVICE is already on, should not result in any noticeable output behavior. However, it appears to ‘reset’ the connection to WLED causing WLED to stop showing streamed UDP data. I don’t know if this is specific to WLED, or a more general issue.
Steps to reproduce
- Turn LEDDEVICE on in the Hyperion UI.
- Set a color with infinite duration.
- Observe WLED output: Color shows up as expected.
- Turn on LEDDEVICE via the API:
echo '{"command":"componentstate", "componentstate":{"component":"LEDDEVICE", "state": true} }' | nc hyperion 19444
What is expected?
No change should be observed.
What is actually happening?
WLED appears to lose the “connection” to Hyperion, and resets to it’s state to that prior to streaming the data from Hyperion.
System
Fresh build from head yesterday.
Hyperion Server:
- Build: master (GitHub-f719f0b/838092e-1597257777)
- Build time: Aug 15 2020 04:03:20
- Git Remote: https://github.com/hyperion-project/hyperion.ng.git
- Version: 2.0.0-alpha.7
- UI Lang: auto (BrowserLang: en-US)
- UI Access: default
- Avail Capt: dispmanx,v4l2,framebuffer,qt
Hyperion Server OS:
- Distribution: Raspbian GNU/Linux 10 (buster)
- Arch: arm
- Kernel: linux (5.4.51+ (WS: 32))
- Browser: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 19 (9 by maintainers)
Commits related to this issue
- Fix #967 — committed to Lord-Grey/hyperion.ng by Lord-Grey 3 years ago
- Fix #967 (#1378) * Fix #967 * Start Smoothing in pause mode to avoid resource usage, if hyperion is started without active priority * Update Changelog — committed to hyperion-project/hyperion.ng by Lord-Grey 3 years ago
@dermotduffy Would you mind redoing the test again, please?
I do see that you disabled and enabled the device
But you did not provide anything after 18:41:13 that shows that an active device switch has happened. Or did you stopped WLED and expected that hyperion LED-Device after sending the API Command would have light WLED again?
If it is the latter, then nothing can be done about it, given that this device works via UDP and hyperion will not recognise the unavailability of WLED. To continue the stream you would need to disable the device (manually or via API) and enable it afterwards.