I will try to explain - but english is not my mother tongueā¦
Well I do own a Mecool M8Spro+ box with Coreelec 9.2.2 stable.
I have installed Hyperion.ng as an addon. It is working fine with my ambilight.
My Led stripe has its own microcontroller with WLED and gets its data via udpraw.
As already said : everything is running fine.
Hyperion.ng has as standard its protocol buffer Server on port 19445.
I use android devices with my TV, too. On android is an app called Hyperion Android Grabber
see:
This application will run a background service to capture the content of your screen and send it to a local instance of hyperion to control ambilight-like lights.
Coreelec changed the Version of hyperion.ng some days ago.
In the new Version the Protobuf Server on Port 19445 does does not work anymore.
Its working only locally with Version 9.2.103.
I went back to hyperion.ng 9.2.101 : working fine again with the android app.
The same Problem in the living room :
Hyperion.ng running on a Mecool KI pro
Hyperion Android grabber running on a Shield TV
Version 9.2.101 running fine
Version9.2.103 not working with data grabbed on the shield
tried this time with my new Magenta TV Stick (S905y2/2G)
and installed Coreelec NG stable
Had again to step back to Hyperion.ng 9.2.101 because Version ā¦103 did not work with TVheadend live TV client and not with Disney plus addon , too (using internal grabber)
Hey guys, I am having troubles with my hyperion setup and the current coreelec 9.22 release. I have tried to reinstall the hyperion NG addon several times but my LED strips donāt do anything.
I can see that the addon is set up correctly as I get a ālive videoā stream in the web interface. When I switch back to coreelec 9.21 everything works as expected. Is there anything that might need additional activation?
I am running corelec on a odroid C2 with APA102 LED stripes. I can provide a debug log if needed.
Hi, thank you for the quick reply. That was the first thing I did when nothing worked. So I did not load a precious configuration. Instead I created a completely new config. But this did not solve the problem.
They are not doing anything with Coreelec 9.22. With the previous version everything works normally and i can see the rainbow animation and the ambilight during movies.
What you like to hear? What should I tell you how to solve the issue? When no log or config is provided I can tell you everything. Maybe when you start/stop your car it solve the Hyperion.NG issue!?
Hey guys, Sorry for not providing any Debug Information. I couldn“t grab it this morning. Here is some more information and it seems like this could be the error :
[hyperiond LEDDEVICE] SPI failed to write. errno: 14, Bad address
CoreELEC:~ # hyperiond --userdata /storage/.kodi/userdata/addon_data/service.hyp
erion.ng -d
[hyperiond MAIN] <INFO> Set user data path to '/storage/.kodi/userdata/addon_dat a/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/us erdata/addon_data/service.hyperion.ng/custom-effects
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdat e()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Blackborder detector: enabled
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> LED device: enabled
[hyperiond LEDDEVICE] <INFO> LedDevice 'apa102' configured.
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:48:open()> _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Smoothing: enabled
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:49:open()> _spiDataInvert 0, _sp iMode 0
[hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion: 127.0.0.1:19401
[hyperiond EFFECTENGINE] <INFO> run effect Rainbow swirl fast on channel 0
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w input 'System/EFFECT' with priority 0 as inactive
[hyperiond HYPERION] <INFO> Initial foreground effect 'Rainbow swirl fast' start ed
[hyperiond EFFECTENGINE] <INFO> run effect Warm mood blobs on channel 254
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w 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 ne w input 'System/GRABBER' with priority 250 as inactive
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Framegrabber: enabled
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance c reated
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdat e()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Blackborder detector: enabled
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[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 video mode to 0
[hyperiond FRAMEBUFFERGRABBER] <INFO> Display opened with resolution: 1920x1080@ 32bit
[hyperiond AMLOGICGRABBER] <DEBUG> <AmlogicGrabber.cpp:31:AmlogicGrabber()> cons tructed(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 grabb er created
[hyperiond JSONSERVER] <DEBUG> <JsonServer.cpp:25:JsonServer()> Created instance
[hyperiond JSONSERVER] <INFO> Started on port 19444
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> LED device: enabled
[hyperiond FLATBUFSERVER] <INFO> Started on port 19400
[hyperiond LEDDEVICE] <INFO> LedDevice 'apa102' configured.
[hyperiond PROTOSERVER] <INFO> Started on port 19445
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:48:open()> _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:49:open()> _spiDataInvert 0, _sp iMode 0
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Smoothing: enabled
[hyperiond HYPERION] <INFO> Hyperion instance 'First LED Hardware instance' has been started
[hyperiond AMLOGICGRABBER] <INFO> FB mode
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w input 'System/COLOR' with priority 0 as inactive
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:193:setInput()> Priority 0 is no w active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visibl e priority to 0
[hyperiond HYPERION] <INFO> Initial foreground color set (0 0 255)
[hyperiond EFFECTENGINE] <INFO> run effect Warm mood blobs on channel 254
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w 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 ne w input 'System/GRABBER' with priority 250 as inactive
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Framegrabber: enabled
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance c reated
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:105:handleSettingsUpdate()> Set doc ument root to: :/webconfig[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:105:handl eSettingsUpdate()> Set document root to: :/webconfig
[hyperiond WEBSERVER] <INFO> Started on port 8090 name 'Hyperion Webserver'
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] <ERROR> Previous line repeats 1 times
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 25 0 is now active
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visibl e priority to 0
[hyperiond HYPERION] <INFO> Hyperion instance 'Hyperion Coreelec' has been start ed
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:233:setInputImage()> Priority 25 0 is now active
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] <ERROR> Previous line repeats 3 times
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:171:handleSettingsUpdate()> Setup S SL certificate
[hyperiond WEBSERVER] <DEBUG> <WebServer.cpp:187:handleSettingsUpdate()> Setup p rivate SSL key
[hyperiond WEBSERVER] <INFO> Started on port 8092 name 'Hyperion Webserver'
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[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 1 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 LEDDEVICE] <ERROR> Previous line repeats 43 times
[hyperiond WEBSOCKET] <DEBUG> <WebSocketClient.cpp:30:WebSocketClient()> New con nection from ::ffff:192.168.178.20
[hyperiond WEBSOCKET] <DEBUG> <JsonAPI.cpp:107:handleInstanceSwitch()> Client ': :ffff:192.168.178.20' switch to Hyperion instance 0
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] <ERROR> Previous line repeats 99 times
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:293:setCurrentTime()> Timeout cl ear for priority 0
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] <ERROR> Previous line repeats 12 times
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visibl e priority to 250
[hyperiond LEDDEVICE] <ERROR> SPI failed to write. errno: 14, Bad address
[hyperiond LEDDEVICE] <ERROR> Previous line repeats 136 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 9 times
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:333:setCurrentTime()> Set visible priority to 250
[hyperiond HYPERION] <DEBUG> Previous line repeats 1 times
[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 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
CoreELEC:~ # hyperiond --userdata /storage/.kodi/userdata/addon_data/service.hyp
erion.ng -d
[hyperiond MAIN] <INFO> Set user data path to '/storage/.kodi/userdata/addon_dat a/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/us erdata/addon_data/service.hyperion.ng/custom-effects
[hyperiond SettingsManager] <DEBUG> <SettingsManager.cpp:101:SettingsManager()> Settings database initialized
[hyperiond BLACKBORDER] <DEBUG> <BlackBorderProcessor.cpp:65:handleSettingsUpdat e()> Set mode to: default
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Blackborder detector: enabled
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> LED device: enabled
[hyperiond LEDDEVICE] <INFO> LedDevice 'apa102' configured.
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:48:open()> _baudRate_Hz 1000000, _latchTime_ns 1
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Smoothing: enabled
[hyperiond LEDDEVICE] <DEBUG> <ProviderSpi.cpp:49:open()> _spiDataInvert 0, _sp iMode 0
[hyperiond FLATBUFCONNECTION] <INFO> Connecting to Hyperion: 127.0.0.1:19401
[hyperiond EFFECTENGINE] <INFO> run effect Rainbow swirl fast on channel 0
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w input 'System/EFFECT' with priority 0 as inactive
[hyperiond HYPERION] <INFO> Initial foreground effect 'Rainbow swirl fast' start ed
[hyperiond EFFECTENGINE] <INFO> run effect Warm mood blobs on channel 254
[hyperiond HYPERION] <DEBUG> <PriorityMuxer.cpp:153:registerInput()> Register ne w 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 ne w input 'System/GRABBER' with priority 250 as inactive
[hyperiond ComponentRegister] <DEBUG> <ComponentRegister.cpp:67:componentStateCh anged()> Framegrabber: enabled
[hyperiond BOBLIGHT] <DEBUG> <BoblightServer.cpp:28:BoblightServer()> Instance c [hyperiond LEDDEVICE] <ERROR> Previous line repeats 200 times
You have SPI LEDs directly connected to your device? If not you have a wrong LED configuration.
If it was working with 9.2.1 with SPI itās maybe something missing in new kernel as we do not use Hardkernel kernel anymore. I never used SPI directly on a Hardkernel device and donāt know if it is even working.
Hi,
So the APA 102 are directly connected to the SPI on the odroid C2 and as mentioned before. Everything used to work with Coreelec 9.21. So your suggestion that there might be something missing in the kernel seems like a good explanation. Iāll try to reverse my setup to coreelec 9.2.1 and report back with a new log.
@ThomasB you are using a Odroid C2, isnāt it?
So the SPI should work as before because on kernel side it wasnāt changed on not -ng devices. You still have the āoldā 3.14 kernel. Maybe the SPI connection got changed in Hyperion.NG and @Paulchen-Panther have some more idea what happend to this interface:
Hi, that is correct. I am using the odroid C2.
After a lot of further reading I gave in and ordered myself a adruino to connect the APA 102 via the suggested method to the odroid and Hyperion. But of course I would still be interested in why it stopped working directly with the odroid C2 hardware and SPI.
Iām looking at doing one of these setups myself on either an Odroid C2 or a C4. Do I have to purchase an HDMI splitter/āgrabberā? Iāve seen some posts saying CoreELEC has a built in grabber for amlogic cpus, but I donāt have LEDs yet to test.
There is a inbuilt grabber, yes. If you want to show other HDMI data you will need a external USB grabber.
For Kodi use only are the LED, power supply and something like a Arduino needed to convert the Hyperion.ng UART data to SPI data.
I currently replaced my broken ws2801 LEDs by ws2812b LED strip. Working perfectly.