Hyperion.NG, Amlogic improvements

@Portisch Hey! Would you be so kind and compile a Hyperion.ng version with this PR included? There are some dependencies I’m not aware about so I cannot compile it myself :frowning:

Thanks man!

You can try this zip:
https://test.coreelec.org/Portisch/service.hyperion.ng-9.2.103.zip

Just deactivate hyperion and install this zip. It is 2.0.0.alpha.6 + PR 825

1 Like

Thank you very much! Works great! :slight_smile:

Hello all… first time posting on the forums, so hopefully this is the right place.

I have WS2812b LEDs connected to an Uno, which is plugged in via USB to my Ordroid N2, running CoreELEC 9.2.3.

The Uno is running this sketch - https://github.com/hyperion-project/hyperion.ng/blob/master/assets/firmware/arduino/adalight/adalight.ino

When I configure hyperion.ng to connect to the Uno on ttyUSB0, the LEDs will perform the initial LED test (per the sketch), but then do nothing. Running basic effects does not cause the LEDs to light up.

LED Controller settings: device /dev/ttyUSB0; baud rate 115200

I’m having this problem both on the version of hyperion.ng available from the stable repo, and the latest version from the nightly build (https://relkai.coreelec.org/?dir=addons/9.2/Amlogic/arm/service.hyperion.ng)

This is all I get from the log:
[hyperiond HYPERION] (INFO) Hyperion instance ‘First LED Hardware instance’ has been started
[hyperiond LEDDEVICE] (DEBUG) (ProviderRs232.cpp:192:tryOpen()) Setting baud rate to 115200
[hyperiond LEDDEVICE] (DEBUG) (ProviderRs232.cpp:208:tryOpen()) Device blocked for 1500 ms
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:233:setInputImage()) Priority 250 is now active
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 0
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:233:setInputImage()) Priority 0 is now active
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:233:setInputImage()) Priority 254 is now active
[hyperiond LEDDEVICE] (DEBUG) (ProviderRs232.cpp:226:writeBytes()) 37 frames dropped
[hyperiond LEDDEVICE] (DEBUG) (LedDeviceAdalight.cpp:80:receivedData()) >>received 4 bytes data

And nothing from LEDDEVICE thereafter.

I know both the Uno and LEDs are good, as I can run hyperion.ng on a Pi 3 (under Raspbian) and it drives them fine using the same settings. I can even use the forwarder tool to stream pictures from the N2 to the Pi. But I would very much like to get this working on the N2 directly.

Can anybody suggest what I might be doing wrong here?

Hi, i got the same Error “[hyperiond LEDDEVICE] SPI failed to write. errno: 14, Bad address” like ThomasB with APA102 on my Odroid C2. I am also intressed in a solution. @Paulchen-Panther can you take a look?

I tried it on newer devices like N2 and SPI was working. But I used the “newest” Hyperion.NG Addon.
The Addon will be pumped in repo when this PR get merged:


Maybe you try then again with SPI.
1 Like

I would like to bring this up again, as I’m facing the same issues currently.

I’m on a ODROID N2 with an APA102 strip controlled via SPI. The setup was smooth, except some short crashes. However, I experience the same switch to IDLE animation when pausing a video. It almost seams like the grabber crashes. The log only shows a single line of error, but I paused and played the video multiple times.

I didn’t find any reference issue, I’m on version 103 and my, rather empty, debug log:

KodiWohnzimmer:~ # hyperiond --userdata /storage/.kodi/userdata/addon_data/service.hyperion.ng/ -d
[hyperiond MAIN] <INFO> Set user data path to '/storage/.kodi/userdata/addon_data/service.hyperion.ng'
[hyperiond DAEMON] <DEBUG> <PythonInit.cpp:20:PythonInit()> Initializing Python interpreter
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond EFFECTFILES] <INFO> 37 effects loaded from directory :/effects/
[hyperiond EFFECTFILES] <INFO> 20 effect schemas loaded from directory :/effects/schema/
[hyperiond EFFECTFILES] <INFO> 0 effects loaded from directory /storage/.kodi/userdata/addon_data/service.hyperion.ng//custom-effects
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdate()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Blackborder detector: enabled
[hyperiond DAEMON] <INFO> set screen capture device to 'amlogic'
[hyperiond AMLOGICGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] <INFO> Display opened with resolution: 3840x2160@32bit
[hyperiond AMLOGICGRABBER] <DEBUG> <AmlogicGrabber.cpp:31:AmlogicGrabber()> constructed(960 x 540), grabber device: /dev/amvideocap0
[hyperiond DAEMON] <INFO> AMLOGIC grabber created
[hyperiond V4L2:auto] <DEBUG> <Grabber.cpp:33:setVideoMode()> Set videomode to 0
[hyperiond V4L2:auto] <INFO> Signal threshold set to: {12, 12, 12}
[hyperiond V4L2:auto] <INFO> Signal detection is now disabled
[hyperiond V4L2:auto] <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
[hyperiond DAEMON] <DEBUG> <hyperiond.cpp:440:handleSettingsUpdate()> V4L2 grabber created
[hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:25:JsonServer()> Created instance
[hyperiond JSONSERVER] <INFO> Started on port 19444
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> LED device: enabled
[hyperiond LEDDEVICE] <INFO> LedDevice 'apa102' configured.
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Smoothing: enabled
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:48:open()> _baudRate_Hz 1000000,  _latchTime_ns 1
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:49:open()> _spiDataInvert 0,  _spiMode 0
[hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion: 127.0.0.1:19401
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register new input 'System/GRABBER' with priority 250 as inactive
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateChanged()> Framegrabber: enabled
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance created
[hyperiond PROTOSERVER] <INFO> Started on port 19445
[hyperiond FLATBUFSERVER] <INFO> Started on port 19400
[hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been started
[hyperiond AMLOGICGRABBER] <INFO> VPU mode
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:105:handleSettingsUpdate()> Set document root to: :/webconfig
[hyperiond WEBSERVER] <DEBUG> Previous line repeats 1 times
[hyperiond WEBSERVER] <INFO> Started on port 8090 name 'Hyperion Webserver'
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:171:handleSettingsUpdate()> Setup SSL certificate
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:187:handleSettingsUpdate()> Setup private SSL key
[hyperiond WEBSERVER] <INFO> Started on port 8092 name 'Hyperion Webserver'
[hyperiond WEBSOCKET] <DEBUG> <WebSocketClient.cpp:30:WebSocketClient()> New connection from ::ffff:192.168.1.127
[hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:107:handleInstanceSwitch()> Client '::ffff:192.168.1.127' switch to Hyperion instance 0
[hyperiond WEBSOCKET] <DEBUG> <WebSocketClient.cpp:30:WebSocketClient()> New connection from ::ffff:192.168.1.127
[hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:107:handleInstanceSwitch()> Client '::ffff:192.168.1.127' switch to Hyperion instance 0
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now inactive
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 255
[hyperiond AMLOGICGRABBER] <ERROR> Read of device failed: 11 - Resource temporarily unavailable
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250

When play/pausing, it just switches the priority, nothing more in the logs

[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now inactive
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 255
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now inactive
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 255
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 250 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250

Any tips?

Does anybody else have issues watching HDR footage with Hyperion? Playback is fine but colors are not right in hyperion.

Try adding this line into .config/autostart.sh

echo 3 | tee /sys/module/amvdec_h265/parameters/double_write_mode

The PR was merged to master. It would be very nice, if you update the addon, so we can test it. :slight_smile:

Is on the todo list…

Hyperion.NG got now updated and should be available tomorrow.
It’s now on status 14.07.2020 and the addon version is not changed. So It’s still 9.2.103 and if someone want to update it have to be done by user.

When the new Alpha.7 becomes available I will bump also the addon version and the addon should auto update by itself.

Thank you for the update! :slight_smile: I imported the update manually today via the repository. But unfortunately I still get the error “[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address”. How can I determine if the version from 14.07.2020 has been installed?

Activate in Webinterface the debug log and take a try to change the led hardware and post debug log.

Is anyone able to help me with my USB problem posted above? I’m still having this problem, and I can’t figure out if it is an issue with my Odroid hardware, or if I’m missing something software-wise.

Hi, I activatet the debug log and changed the device from apa102 to ws2801 and back.

Debug log:

[hyperiond EFFECTFILES] (INFO) 37 effects loaded from directory :/effects/
[hyperiond EFFECTFILES] (INFO) 20 effect schemas loaded from directory :/effects/schema/
[hyperiond EFFECTFILES] (INFO) 0 effects loaded from directory /storage/.kodi/userdata/addon_data/service.hyperion.ng/custom-effects
[hyperiond SettingsManager] (DEBUG) (SettingsManager.cpp:101:SettingsManager()) Settings database initialized
[hyperiond BLACKBORDER] (DEBUG) (BlackBorderProcessor.cpp:65:handleSettingsUpdate()) Set mode to: default
[hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:67:componentStateChanged()) Blackborder detector: enabled
[hyperiond DAEMON] (INFO) set screen capture device to ‘amlogic’
[hyperiond AMLOGICGRABBER] (DEBUG) (Grabber.cpp:33:setVideoMode()) Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] (DEBUG) (Grabber.cpp:33:setVideoMode()) Set videomode to 0
[hyperiond FRAMEBUFFERGRABBER] (INFO) Display opened with resolution: 1920x1080@32bit
[hyperiond AMLOGICGRABBER] (DEBUG) (AmlogicGrabber.cpp:31:AmlogicGrabber()) constructed(160 x 160), grabber device: /dev/amvideocap0
[hyperiond DAEMON] (INFO) AMLOGIC grabber created
[hyperiond V4L2:auto] (DEBUG) (Grabber.cpp:33:setVideoMode()) Set videomode to 0
[hyperiond V4L2:auto] (INFO) Signal threshold set to: {12, 12, 12}
[hyperiond V4L2:auto] (INFO) Signal detection is now disabled
[hyperiond V4L2:auto] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
[hyperiond DAEMON] (DEBUG) (hyperiond.cpp:440:handleSettingsUpdate()) V4L2 grabber created
[hyperiond JSONSERVER] (DEBUG) (JsonServer.cpp:25:JsonServer()) Created instance
[hyperiond JSONSERVER] (INFO) Started on port 19444
[hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:67:componentStateChanged()) LED device: enabled
[hyperiond LEDDEVICE] (INFO) LedDevice ‘apa102’ configured.
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:48:open()) _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:49:open()) _spiDataInvert 0, _spiMode 0
[hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:67:componentStateChanged()) Smoothing: enabled
[hyperiond FLATBUFCONNECTION] (INFO) Connecting to Hyperion: 127.0.0.1:19401
[hyperiond EFFECTENGINE] (INFO) run effect Rainbow swirl fast on channel 0
[hyperiond FLATBUFSERVER] (INFO) Started on port 19400
[hyperiond PROTOSERVER] (INFO) Started on port 19445
[hyperiond AMLOGICGRABBER] (INFO) FB mode
[hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:105:handleSettingsUpdate()) Set document root to: :/webconfig
[hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:105:handleSettingsUpdate()) Set document root to: :/webconfig
[hyperiond WEBSERVER] (INFO) Started on port 8090 name ‘Hyperion Webserver’
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:153:registerInput()) Register new input ‘System/EFFECT’ with priority 0 as inactive
[hyperiond HYPERION] (INFO) Initial foreground effect ‘Rainbow swirl fast’ started
[hyperiond EFFECTENGINE] (INFO) run effect Warm mood blobs on channel 254
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:153:registerInput()) Register new input ‘System/EFFECT’ with priority 254 as inactive
[hyperiond HYPERION] (INFO) Inital background effect ‘Warm mood blobs’ started
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:153:registerInput()) Register new input ‘System/GRABBER’ with priority 250 as inactive
[hyperiond ComponentRegister] (DEBUG) (ComponentRegister.cpp:67:componentStateChanged()) Framegrabber: enabled
[hyperiond BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
[hyperiond HYPERION] (INFO) Hyperion instance ‘First LED Hardware instance’ has been started
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:233:setInputImage()) Priority 250 is now active
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 1 times
[hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:171:handleSettingsUpdate()) Setup SSL certificate
[hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:187:handleSettingsUpdate()) Setup private SSL key
[hyperiond WEBSERVER] (INFO) Started on port 8092 name ‘Hyperion Webserver’
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 12 times
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:193:setInput()) Priority 254 is now active
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:233:setInputImage()) Priority 0 is now active
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 18 times
[hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.178.50
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client ‘::ffff:192.168.178.50’ switch to Hyperion instance 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 43 times
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:293:setCurrentTime()) Timeout clear for priority 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 5 times
[hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 104 times
[hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 108 times
[hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.178.50
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client ‘::ffff:192.168.178.50’ switch to Hyperion instance 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 137 times
[hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 6 times
[hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.178.50
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:107:handleInstanceSwitch()) Client ‘::ffff:192.168.178.50’ switch to Hyperion instance 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 59 times
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1114:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.178.50
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1123:handleLoggingCommand()) log streaming deactivated for client ::ffff:192.168.178.50
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 165 times
[hyperiond LEDDEVICE] (INFO) LedDevice ‘ws2801’ configured.
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:48:open()) _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:49:open()) _spiDataInvert 0, _spiMode 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 132 times
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1114:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.178.50
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1123:handleLoggingCommand()) log streaming deactivated for client ::ffff:192.168.178.50
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 76 times
[hyperiond LEDDEVICE] (INFO) LedDevice ‘apa102’ configured.
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:48:open()) _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:49:open()) _spiDataInvert 0, _spiMode 0
[hyperiond LEDDEVICE] (ERROR) SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 200 times
[hyperiond LEDDEVICE] (ERROR) Previous line repeats 155 times
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1114:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.178.50
[hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1114:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.178.50

My plugin just updated to 9.2.104 - could have sworn I had updates for the plugin disabled… My setup is now terminally broken - LED device disables after ~5 seconds. Managed to find a zip for 103 but still the same:

Device disabled, device ‘adalight’ signals error: ‘Timeout writing data to ttyACM0’

Can I download older versions anywhere?

Just make a new config before trying to downgrade?

Tried new config on plugins 104,103, upgraded CE from 9.2.3 > 9.2.4.1, same result for everything: hyperion works for a few secs then LED device goes off. Really just want to go back to a version that works for me if possible.

Looks like you are using SPI for LED control.
Maybe the SPI got deactivated by update, see similar case: