Raspberry Pi4 WS2801 Kodi No LEDS Working

  • Been lurking for a while, and making changes to my setup and now I'm stuck....


    I have a current Hyperion setup with an old Raspberry Pi on network, with a PC running Kodi and the Hyperion add-on.


    This seup works ok, but the PC is old and being replaced with a Pi4


    I have setup a Pi4 with Raspberry Pi OS, installed Kodi and Hyperion. The capture seems to work, but no output to the LEDS.


    I have turned on SPI, and I know all the LEDS are working fine (from previous setup)


    The Pi is wired to the LEDS with GND, Mosi (pin 19) and SCLK (pin 23). I have a good 10amp 5v PSU.


    I cant understand why Hyperion isnt outputting to the LEDS.


    What am I doing wrong??


    Thank you.

  • Sorry, I'm a plonker.



    2020-10-01T11:13:16.952Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:50:handleCompStateChangeRequest()) Disable Hyperion, store current component states
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: disabled
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: disabled
    2020-10-01T11:13:16.955Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: disabled
    2020-10-01T11:13:16.955Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:255:clearInput()) Removed source priority 250
    2020-10-01T11:13:16.955Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 254
    2020-10-01T11:13:16.956Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[254], previousPriority[250]
    2020-10-01T11:13:16.956Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: disabled
    2020-10-01T11:13:16.959Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:58:stop()) Grabber stop()
    2020-10-01T11:13:16.966Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: disabled
    2020-10-01T11:13:16.967Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1041:handleLoggingCommand()) log streaming deactivated for client ::ffff:42.1.1.50
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:63:handleCompStateChangeRequest()) Enable Hyperion, recover previous component states
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Hyperion: enabled
    2020-10-01T11:13:18.807Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
    2020-10-01T11:13:18.808Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
    2020-10-01T11:13:18.811Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:48:start()) Grabber start()
    2020-10-01T11:13:18.808Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
    2020-10-01T11:13:18.918Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[250], previousPriority[254]
    2020-10-01T11:13:27.656Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:204:sendClose()) send close: 1000
    2020-10-01T11:13:27.906Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:42.1.1.50
    2020-10-01T11:13:27.907Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:42.1.1.50' switch to Hyperion instance 0
    2020-10-01T11:13:28.080Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1032:handleLoggingCommand()) log streaming activated for client ::ffff:42.1.1.50

  • Set /dev/spidev0.0 if you dont have any other devices on SPI line, latchTime=1,rewriteTime: 5000
    Post your full debug after reboot and compare if wiring is the same as on the photo (Rpi4 is second setup but wiring is the same as for Rpi 3 on first picture link)
    From top: 4 empty, ground, 4 empty, MOSI, empty, CLOCK
    Level shifter: Rpi Mosi,ck on GPIO 3.3V -> 5V LED

  • Log with the changes you suggested....


    2020-10-01T14:44:11.977Z [hyperiond DAEMON] (INFO) CEC handler created
    2020-10-01T14:44:11.991Z [hyperiond EFFECTFILES] (INFO) 39 effects loaded from directory :/effects/
    2020-10-01T14:44:11.995Z [hyperiond EFFECTFILES] (INFO) 22 effect schemas loaded from directory :/effects/schema/
    2020-10-01T14:44:11.999Z [hyperiond EFFECTFILES] (INFO) 0 effects loaded from directory /home/pi/.hyperion/custom-effects
    2020-10-01T14:44:12.021Z [hyperiond SETTINGSMGR] (DEBUG) (SettingsManager.cpp:107:SettingsManager()) Settings database initialized
    2020-10-01T14:44:12.022Z [hyperiond BLACKBORDER] (DEBUG) (BlackBorderProcessor.cpp:64:handleSettingsUpdate()) Set mode to: default
    2020-10-01T14:44:12.023Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
    2020-10-01T14:44:12.100Z [hyperiond DAEMON] (INFO) set screen capture device to 'dispmanx'
    2020-10-01T14:44:12.101Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2020-10-01T14:44:12.102Z [hyperiond DISPMANXGRABBER] (INFO) Display opened with resolution: 1920x1080
    2020-10-01T14:44:12.102Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:90:setWidthHeight()) Set new width: 80, height: 45 for capture
    2020-10-01T14:44:12.103Z [hyperiond DAEMON] (INFO) DISPMANX frame grabber created
    2020-10-01T14:44:12.104Z [hyperiond V4L2:AUTO] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2020-10-01T14:44:12.105Z [hyperiond V4L2:AUTO] (INFO) Signal threshold set to: {12, 12, 12}
    2020-10-01T14:44:12.105Z [hyperiond V4L2:AUTO] (INFO) CEC detection is now disabled
    2020-10-01T14:44:12.106Z [hyperiond V4L2:AUTO] (INFO) Signal detection is now disabled
    2020-10-01T14:44:12.106Z [hyperiond V4L2:AUTO] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    2020-10-01T14:44:12.106Z [hyperiond DAEMON] (DEBUG) (hyperiond.cpp:568:handleSettingsUpdate()) V4L2 grabber created
    2020-10-01T14:44:12.115Z [hyperiond JSONSERVER] (DEBUG) (JsonServer.cpp:27:JsonServer()) Created instance
    2020-10-01T14:44:12.130Z [hyperiond JSONSERVER] (INFO) Started on port 19444
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (INFO) Start LedDevice 'ws2801'.
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:147:init()) deviceConfig: [{"colorOrder":"rgb","currentLedCount":80,"hardwareLedCount":1,"invert":false,"latchTime":1,"output":"/dev/spidev0.0","rate":1e+06,"rewriteTime":5000,"type":"ws2801"}]
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:403:setLatchTime()) LatchTime updated to 1ms
    2020-10-01T14:44:12.109Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:423:setRewriteTime()) Refresh interval = 5000ms
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:429:setRewriteTime()) RewriteTime updated to 5000ms
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:45:init()) _baudRate_Hz [1000000], _latchTime_ms [1]
    2020-10-01T14:44:12.110Z [hyperiond LEDDEVICE] (DEBUG) (ProviderSpi.cpp:46:init()) _spiDataInvert [0], _spiMode [0]
    2020-10-01T14:44:12.111Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Smoothing: enabled
    2020-10-01T14:44:12.115Z [hyperiond FLATBUFCONN] (INFO) Connecting to Hyperion: 127.0.0.1:19401
    2020-10-01T14:44:12.131Z [hyperiond FLATBUFSERVER] (INFO) Started on port 19400
    2020-10-01T14:44:12.131Z [hyperiond EFFECTENGINE] (INFO) Run effect "Rainbow swirl fast" on channel 0
    2020-10-01T14:44:12.131Z [hyperiond PROTOSERVER] (INFO) Started on port 19445
    2020-10-01T14:44:12.131Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:32:initServer()) Initialize Webserver
    2020-10-01T14:44:12.132Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:32:initServer()) Initialize Webserver
    2020-10-01T14:44:12.230Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:183:runEffectScript()) Start the effect: name [Rainbow swirl fast], smoothCfg [2]
    2020-10-01T14:44:12.231Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/EFFECT' with priority 0 as inactive
    2020-10-01T14:44:12.231Z [hyperiond HYPERION] (INFO) Initial foreground effect 'Rainbow swirl fast' started
    2020-10-01T14:44:12.232Z [hyperiond EFFECTENGINE] (INFO) Run effect "Warm mood blobs" on channel 254
    2020-10-01T14:44:12.233Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:183:runEffectScript()) Start the effect: name [Warm mood blobs], smoothCfg [2]
    2020-10-01T14:44:12.233Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/EFFECT' with priority 254 as inactive
    2020-10-01T14:44:12.234Z [hyperiond HYPERION] (INFO) Inital background effect 'Warm mood blobs' started
    2020-10-01T14:44:12.235Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:159:registerInput()) Register new input 'System/GRABBER' with priority 250 as inactive
    2020-10-01T14:44:12.235Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Framegrabber: enabled
    2020-10-01T14:44:12.236Z [hyperiond Dispmanx] (DEBUG) (GrabberWrapper.cpp:48:start()) Grabber start()
    2020-10-01T14:44:12.237Z [hyperiond BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
    2020-10-01T14:44:12.238Z [hyperiond HYPERION] (INFO) Hyperion instance 'Pi4-Kodi' has been started
    2020-10-01T14:44:12.237Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) LED device: enabled
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:90:handleSettingsUpdate()) Apply Webserver settings
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:108:handleSettingsUpdate()) Set document root to: :/webconfig
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:90:handleSettingsUpdate()) Apply Webserver settings
    2020-10-01T14:44:12.287Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:108:handleSettingsUpdate()) Set document root to: :/webconfig
    2020-10-01T14:44:12.288Z [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver'
    2020-10-01T14:44:12.324Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:174:handleSettingsUpdate()) Setup SSL certificate
    2020-10-01T14:44:12.325Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:190:handleSettingsUpdate()) Setup private SSL key
    2020-10-01T14:44:12.325Z [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver'
    2020-10-01T14:44:12.340Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 250 is now active
    2020-10-01T14:44:12.341Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 0
    2020-10-01T14:44:12.342Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[0], previousPriority[255]
    2020-10-01T14:44:12.342Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:548:handlPriorityChangedLedDevice()) new source available -> switch LED-Device on
    2020-10-01T14:44:12.399Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:198:setInput()) Priority 254 is now active
    2020-10-01T14:44:12.411Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:238:setInputImage()) Priority 0 is now active
    2020-10-01T14:44:15.390Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:298:setCurrentTime()) Timeout clear for priority 0
    2020-10-01T14:44:15.643Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:333:setCurrentTime()) Set visible priority to 250
    2020-10-01T14:44:15.644Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:538:handlPriorityChangedLedDevice()) priority[250], previousPriority[0]
    2020-10-01T14:51:17.921Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:42.1.1.50
    2020-10-01T14:51:17.922Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:42.1.1.50' switch to Hyperion instance 0
    2020-10-01T14:51:24.837Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1032:handleLoggingCommand()) log streaming activated for client ::ffff:42.1.1.50

  • Right this is sorted now.


    After your input it seemed thatone link in the chain was an issue, so when as requested I spotted that one connectors wires to the Pi didnt align corrently, so re-jigged and all is working great.


    Thank you all for your help!! Very impressed with the support.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!