I have RPI 4 with latest RaspberryOS and HassOS 5.3 (Home Assistant) distros installed on two sd cards.
I want to run hyperion.ng from the Docker container. I used different docker images on and different network settings to start the container (host, bridge. etc.) but always have the same issue: I can't connect to the JSONSERVER or PROTOSERVER. From the config, debug and netstat perspective it looks OK but for some reason, it is not working.
Hyperion debug:
ZitatAlles anzeigen
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] done.
[services.d] starting services
[services.d] done.
2020-11-15T20:32:11.613 hyperiond DAEMON : <INFO> CEC handler created
2020-11-15T20:32:11.620 hyperiond EFFECTFILES : <INFO> 39 effects loaded from directory :/effects/
2020-11-15T20:32:11.623 hyperiond EFFECTFILES : <INFO> 22 effect schemas loaded from directory :/effects/schema/
2020-11-15T20:32:11.623 hyperiond EFFECTFILES : <INFO> 0 effects loaded from directory /config/hyperion/custom-effects
2020-11-15T20:32:11.636 hyperiond SETTINGSMGR : <DEBUG> SettingsManager.cpp:107:SettingsManager() | Settings database initialized
2020-11-15T20:32:11.637 hyperiond BLACKBORDER : <DEBUG> BlackBorderProcessor.cpp:64:handleSettingsUpdate() | Set mode to: default
2020-11-15T20:32:11.637 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
2020-11-15T20:32:11.670 hyperiond DAEMON : <INFO> set screen capture device to 'dispmanx'
2020-11-15T20:32:11.670 hyperiond DAEMON : <ERROR> The dispmanx framegrabber can not be instantiated, because it has been left out from the build
2020-11-15T20:32:11.671 hyperiond V4L2:AUTO : <DEBUG> Grabber.cpp:30:setVideoMode() | Set videomode to 0
2020-11-15T20:32:11.672 hyperiond V4L2:AUTO : <INFO> Signal threshold set to: {12, 12, 12}
2020-11-15T20:32:11.672 hyperiond V4L2:AUTO : <INFO> CEC detection is now disabled
2020-11-15T20:32:11.672 hyperiond V4L2:AUTO : <INFO> Signal detection is now disabled
2020-11-15T20:32:11.672 hyperiond V4L2:AUTO : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
2020-11-15T20:32:11.672 hyperiond DAEMON : <DEBUG> hyperiond.cpp:568:handleSettingsUpdate() | V4L2 grabber created
2020-11-15T20:32:11.673 hyperiond JSONSERVER : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
2020-11-15T20:32:11.674 hyperiond JSONSERVER : <INFO> Started on port 19444
2020-11-15T20:32:11.676 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
2020-11-15T20:32:11.677 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-11-15T20:32:11.677 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
2020-11-15T20:32:11.679 hyperiond FLATBUFCONN : <INFO> Connecting to Hyperion: 127.0.0.1:19401
2020-11-15T20:32:11.682 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
2020-11-15T20:32:11.682 hyperiond PROTOSERVER : <INFO> Started on port 19445
2020-11-15T20:32:11.682 hyperiond LEDDEVICE : <INFO> Start LedDevice 'file'.
2020-11-15T20:32:11.683 hyperiond LEDDEVICE : <DEBUG> LedDevice.cpp:147:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":26,"hardwareLedCount":1,"latchTime":0,"output":"/dev/null","rewriteTime":0,"type":"file"}]
2020-11-15T20:32:11.683 hyperiond LEDDEVICE : <DEBUG> LedDevice.cpp:403:setLatchTime() | LatchTime updated to 0ms
2020-11-15T20:32:11.683 hyperiond LEDDEVICE : <DEBUG> LedDevice.cpp:429:setRewriteTime() | RewriteTime updated to 0ms
2020-11-15T20:32:11.683 hyperiond LEDDEVICE : <DEBUG> LedDeviceFile.cpp:51:eek:pen() | QIODevice::WriteOnly, /dev/null
2020-11-15T20:32:11.684 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
2020-11-15T20:32:11.685 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:183:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
2020-11-15T20:32:11.685 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
2020-11-15T20:32:11.685 hyperiond HYPERION : <INFO> Initial foreground effect 'Rainbow swirl fast' started
2020-11-15T20:32:11.686 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
2020-11-15T20:32:11.686 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:183:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
2020-11-15T20:32:11.687 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
2020-11-15T20:32:11.687 hyperiond HYPERION : <INFO> Inital background effect 'Warm mood blobs' started
2020-11-15T20:32:11.688 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:159:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
2020-11-15T20:32:11.688 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
2020-11-15T20:32:11.689 hyperiond BOBLIGHT : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
2020-11-15T20:32:11.689 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
2020-11-15T20:32:11.690 hyperiond HYPERION : <INFO> Hyperion instance 'First LED Hardware instance' has been started
2020-11-15T20:32:11.703 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings2020-11-15T20:32:11.703 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
2020-11-15T20:32:11.704 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-11-15T20:32:11.704 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
2020-11-15T20:32:11.704 hyperiond WEBSERVER : <INFO> Started on port 8090 name 'Hyperion Webserver'
2020-11-15T20:32:11.708 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
2020-11-15T20:32:11.709 hyperiond WEBSERVER : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
2020-11-15T20:32:11.709 hyperiond WEBSERVER : <INFO> Started on port 8092 name 'Hyperion Webserver'
2020-11-15T20:32:11.837 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
2020-11-15T20:32:11.837 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
2020-11-15T20:32:11.838 hyperiond HYPERION : <DEBUG> Hyperion.cpp:538:handlPriorityChangedLedDevice() | priority[0], previousPriority[255]
2020-11-15T20:32:11.838 hyperiond HYPERION : <DEBUG> Hyperion.cpp:548:handlPriorityChangedLedDevice() | new source available -> switch LED-Device on
2020-11-15T20:32:11.841 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
2020-11-15T20:32:12.782 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.110
2020-11-15T20:32:12.783 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.110' switch to Hyperion instance 0
2020-11-15T20:32:14.986 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
2020-11-15T20:32:15.236 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 254
2020-11-15T20:32:15.237 hyperiond HYPERION : <DEBUG> Hyperion.cpp:538:handlPriorityChangedLedDevice() | priority[254], previousPriority[0]
2020-11-15T20:32:37.041 hyperiond JSONSERVER : <DEBUG> JsonServer.cpp:103:newConnection() | New connection from: ::ffff:172.30.33.5
2020-11-15T20:32:37.041 hyperiond JSONCLIENTCO : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.75' switch to Hyperion instance 0
2020-11-15T21:03:35.857 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:204:sendClose() | send close: 1000
2020-11-15T21:03:36.693 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.110
2020-11-15T21:03:36.693 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.110' switch to Hyperion instance 0
2020-11-16T10:11:12.013 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:204:sendClose() | send close: 1000
2020-11-16T10:11:12.694 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.110
2020-11-16T10:11:12.694 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.110' switch to Hyperion instance 0
2020-11-16T10:34:05.249 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:204:sendClose() | send close: 1000
2020-11-16T10:34:05.998 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.110
2020-11-16T10:34:06.000 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.110' switch to Hyperion instance 0
2020-11-16T10:55:30.247 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:204:sendClose() | send close: 1000
2020-11-16T10:55:30.917 hyperiond WEBSOCKET : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.110
2020-11-16T10:55:30.918 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:81:handleInstanceSwitch() | Client '::ffff:192.168.1.110' switch to Hyperion instance 0
2020-11-16T10:59:40.787 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:255:clearInput() | Removed source priority 250
2020-11-16T10:59:40.787 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: disabled
2020-11-16T10:59:52.169 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:255:clearInput() | Removed source priority 254
2020-11-16T10:59:52.169 hyperiond HYPERION : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 255
2020-11-16T10:59:52.170 hyperiond HYPERION : <DEBUG> Hyperion.cpp:538:handlPriorityChangedLedDevice() | priority[255], previousPriority[254]
2020-11-16T10:59:52.170 hyperiond HYPERION : <DEBUG> Hyperion.cpp:541:handlPriorityChangedLedDevice() | No source left -> switch LED-Device off
2020-11-16T10:59:52.177 hyperiond HYPERION : <ERROR> setInput() used without registerInput() for priority '254', probably the priority reached timeout
2020-11-16T10:59:52.268 hyperiond EFFECTENGINE : <INFO> effect finished
2020-11-16T11:00:39.911 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:1032:handleLoggingCommand() | log streaming activated for client ::ffff:192.168.1.110
2020-11-16T11:00:39.939 hyperiond WEBSOCKET : <DEBUG> JsonAPI.cpp:1041:handleLoggingCommand() | log streaming deactivated for client ::ffff:192.168.1.110
Netstat on host (HassOS):
ZitatAlles anzeigen
# netstat -tulpna
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22222 0.0.0.0:* LISTEN 882/dropbear
tcp 0 0 0.0.0.0:8123 0.0.0.0:* LISTEN 4442/python3
tcp 0 0 172.30.32.1:52958 172.30.33.0:1883 ESTABLISHED 2958/docker-proxy
tcp 0 0 192.168.1.75:36098 192.168.1.106:8009 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:38222 192.168.1.83:8009 ESTABLISHED 4442/python3
tcp 0 0 127.0.0.1:35668 127.0.0.1:42051 ESTABLISHED 4442/python3
tcp 32 0 192.168.1.75:36356 54.185.98.177:443 CLOSE_WAIT 4442/python3
tcp 0 0 192.168.1.75:51028 192.168.1.75:19444 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:8123 86.155.171.141:44262 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:33326 192.168.1.228:8009 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:8123 86.155.171.141:43170 ESTABLISHED 4442/python3
tcp 0 560 192.168.1.75:22222 192.168.1.110:62259 ESTABLISHED 50564/dropbear
tcp 0 0 127.0.0.1:42051 127.0.0.1:35668 ESTABLISHED 4442/python3
tcp 32 0 192.168.1.75:42758 18.185.175.51:443 CLOSE_WAIT 4442/python3
tcp 0 0 192.168.1.75:8123 86.155.171.141:57565 ESTABLISHED 4442/python3
tcp 0 0 172.30.32.1:38953 172.30.33.0:1883 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:8123 86.155.171.141:61548 ESTABLISHED 4442/python3
tcp 0 0 192.168.1.75:8123 86.155.171.141:44264 ESTABLISHED 4442/python3
tcp 0 0 :::19333 :::* LISTEN 40833/docker-proxy
tcp 0 0 :::8485 :::* LISTEN 5033/docker-proxy
tcp 0 0 :::4357 :::* LISTEN 594/docker-proxy
tcp 0 0 :::19400 :::* LISTEN 40820/docker-proxy
tcp 0 0 :::22222 :::* LISTEN 882/dropbear
tcp 0 0 :::8883 :::* LISTEN 2929/docker-proxy
tcp 0 0 :::19444 :::* LISTEN 40806/docker-proxy
tcp 0 0 :::8884 :::* LISTEN 2915/docker-proxy
tcp 0 0 :::19445 :::* LISTEN 40792/docker-proxy
tcp 0 0 :::8090 :::* LISTEN 40846/docker-proxy
tcp 0 0 :::8123 :::* LISTEN 4442/python3
tcp 0 0 :::1883 :::* LISTEN 2958/docker-proxy
tcp 0 0 :::1884 :::* LISTEN 2944/docker-proxy
tcp 0 0 ::ffff:172.30.32.1:1883 ::ffff:172.30.33.4:39568 ESTABLISHED 2958/docker-proxy
udp 0 0 172.17.0.1:5353 0.0.0.0:* 4442/python3
udp 0 0 172.30.32.1:5353 0.0.0.0:* 4442/python3
udp 0 0 127.0.0.1:5353 0.0.0.0:* 4442/python3
udp 0 0 192.168.1.75:5353 0.0.0.0:* 4442/python3
udp 0 0 0.0.0.0:5353 0.0.0.0:* 4442/python3
udp 0 0 172.30.32.1:5353 0.0.0.0:* 2862/mdns-repeater
udp 0 0 192.168.1.75:5353 0.0.0.0:* 2862/mdns-repeater
udp 0 0 0.0.0.0:5353 0.0.0.0:* 2862/mdns-repeater
udp 0 0 0.0.0.0:5353 0.0.0.0:* 353/avahi-daemon: r
udp 0 0 0.0.0.0:48878 0.0.0.0:* 353/avahi-daemon: r
udp 0 0 192.168.1.75:68 0.0.0.0:* 256/NetworkManager
udp 0 0 :::5353 :::* 353/avahi-daemon: r
udp 0 0 fe80::1482:a660:d001:351a:546 :::* 256/NetworkManager
udp 0 0 :::34732 :::* 353/avahi-daemon: r
Neststat on container:
ZitatAlles anzeigen
# docker exec -it e63c0adf2a61 /bin/bash
root@dba1ceb5-hyperion:/# netstat -tulpna
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.11:40097 0.0.0.0:* LISTEN -
tcp6 0 0 :::19400 :::* LISTEN 196/hyperiond
tcp6 0 0 :::19444 :::* LISTEN 196/hyperiond
tcp6 0 0 :::19445 :::* LISTEN 196/hyperiond
tcp6 0 0 :::8090 :::* LISTEN 196/hyperiond
tcp6 0 0 :::8092 :::* LISTEN 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62265 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62257 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62262 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62264 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:56700 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:19444 192.168.1.75:51028 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:61993 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62261 ESTABLISHED 196/hyperiond
tcp6 0 0 172.30.33.5:8090 192.168.1.110:62263 ESTABLISHED 196/hyperiond
udp 0 0 0.0.0.0:1900 0.0.0.0:* 196/hyperiond
udp 0 0 127.0.0.11:34727 0.0.0.0:* -
192.168.1.110 - is my pc from which I access GUI on 8090
192.168.1.75 - is a host IP
When I test the ports via telnet `$ telnet 192.168.1.75 19445` is seems to be working fine, but then I try to access it via android phone using official Hyperion App or Android grabber I receive an error message.
What am I missing here?