1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

SOLVED Hyperion NG help please to setup 2 AtmoORB

Discussion in 'Software Support' started by RKF, 23 June 2020.

  1. RKF

    RKF New Member

    Messages:
    12
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    I have been using a single AtmoOrb with great success on Hyperion NG

    But I would like to consider a "stereo" AtmoOrb setup with Orbs mounted left and right.

    I'd like to know how I set up two devices with two different scan areas within the web UI.

    Specifically, if I have two Orbs with 24 LEDS, I can use the LED page to setup "Left" 24 LEDS, and "right" 24 LEDS, but how do I tell NG to send the signals to the correct Orbs ID?

    Edit:
    I'm using WS2812 rings each containing 24 LEDs - I connect these to an 8266, and I don't care what typer of UDP is used. I chose the AtmoOrb because they can use multiple ID's to hopefully get the Left / Right assignment.

    Thank you!

    Edit - Figured it out:
    Simply configure another instance - Configuration > General >LED Hardware Instance Management. Run them both at the same time.
     
    Last edited: 25 June 2020
  2. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    Hey RKF! How did you get your AtmoOrbs setup? I have used them in the past, but for some reason when I tried to set them up today with alpha 7, they don't respond. They do respond to the AtmoOrb Android app and the windows executable with the same IP and port settings. Probably I have done something stupid with the configuration.

    The grabber works, as the primary LED strip around my TV does light up through the forwarder.

    Config down below:
    Code:
    {
        "backgroundEffect": {
            "color": [
                255,
                138,
                0
            ],
            "effect": "Warm mood blobs",
            "enable": true,
            "type": "effect"
        },
        "blackborderdetector": {
            "blurRemoveCnt": 1,
            "borderFrameCnt": 50,
            "enable": true,
            "maxInconsistentCnt": 10,
            "mode": "default",
            "threshold": 5,
            "unknownFrameCnt": 600
        },
        "boblightServer": {
            "enable": false,
            "port": 19333,
            "priority": 128
        },
        "color": {
            "channelAdjustment": [
                {
                    "backlightColored": false,
                    "backlightThreshold": 0,
                    "blue": [
                        0,
                        0,
                        255
                    ],
                    "brightness": 100,
                    "brightnessCompensation": 100,
                    "cyan": [
                        0,
                        255,
                        255
                    ],
                    "gammaBlue": 1.5,
                    "gammaGreen": 1.5,
                    "gammaRed": 1.5,
                    "green": [
                        0,
                        255,
                        0
                    ],
                    "id": "default",
                    "leds": "*",
                    "magenta": [
                        255,
                        0,
                        255
                    ],
                    "red": [
                        255,
                        0,
                        0
                    ],
                    "white": [
                        255,
                        255,
                        255
                    ],
                    "yellow": [
                        255,
                        255,
                        0
                    ]
                }
            ],
            "imageToLedMappingType": "multicolor_mean"
        },
        "device": {
            "hardwareLedCount": 2,
            "colorOrder": "rgb",
            "latchTime": 1,
            "numLeds": 24,
            "orbIds": "1,2",
            "output": "239.15.18.2",
            "port": 49692,
            "useOrbSmoothing": true,
            "type": "atmoorb"
        },
        "effects": {
            "disable": [
                ""
            ],
            "paths": [
                "$ROOT/custom-effects"
            ]
        },
        "flatbufServer": {
            "enable": true,
            "port": 19400,
            "timeout": 5
        },
        "foregroundEffect": {
            "color": [
                0,
                0,
                255
            ],
            "duration_ms": 3000,
            "effect": "Rainbow swirl fast",
            "enable": true,
            "type": "effect"
        },
        "forwarder": {
            "enable": true,
            "flat": [
                "192.168.1.51:19400"
            ],
            "json": [
                "192.168.1.51:19444"
            ]
        },
        "framegrabber": {
            "cropBottom": 0,
            "cropLeft": 0,
            "cropRight": 0,
            "cropTop": 0,
            "device": "/dev/fb0",
            "frequency_Hz": 10,
            "height": 45,
            "pixelDecimation": 8,
            "type": "amlogic",
            "width": 80
        },
        "general": {
            "name": "AtmoOrb+forwarder",
            "showOptHelp": true,
            "watchedVersionBranch": "Stable"
        },
        "grabberV4L2": {
            "blueSignalThreshold": 5,
            "cecDetection": false,
            "cropBottom": 0,
            "cropLeft": 0,
            "cropRight": 0,
            "cropTop": 0,
            "device": "auto",
            "fps": 15,
            "greenSignalThreshold": 5,
            "height": 0,
            "input": 0,
            "redSignalThreshold": 5,
            "sDHOffsetMax": 0.75,
            "sDHOffsetMin": 0.25,
            "sDVOffsetMax": 0.75,
            "sDVOffsetMin": 0.25,
            "signalDetection": false,
            "sizeDecimation": 8,
            "standard": "NO_CHANGE",
            "width": 0
        },
        "instCapture": {
            "systemEnable": true,
            "systemPriority": 250,
            "v4lEnable": false,
            "v4lPriority": 240
        },
        "jsonServer": {
            "port": 19444
        },
        "ledConfig": {
            "classic": {
                "bottom": 0,
                "edgegap": 0,
                "glength": 0,
                "gpos": 0,
                "hdepth": 8,
                "left": 1,
                "overlap": 0,
                "pblh": 0,
                "pblv": 100,
                "pbrh": 100,
                "pbrv": 100,
                "position": 0,
                "ptlh": 0,
                "ptlv": 0,
                "ptrh": 100,
                "ptrv": 0,
                "reverse": false,
                "right": 1,
                "top": 0,
                "vdepth": 10
            },
            "matrix": {
                "cabling": "snake",
                "ledshoriz": 10,
                "ledsvert": 10,
                "start": "top-left"
            }
        },
        "leds": [
            {
                "hmax": 1,
                "hmin": 0.9,
                "vmax": 1,
                "vmin": 0
            },
            {
                "hmax": 0.1,
                "hmin": 0,
                "vmax": 1,
                "vmin": 0
            }
        ],
        "logger": {
            "level": "debug"
        },
        "network": {
            "apiAuth": true,
            "internetAccessAPI": false,
            "ipWhitelist": [],
            "localAdminAuth": true,
            "localApiAuth": false,
            "restirctedInternetAccessAPI": false
        },
        "protoServer": {
            "enable": true,
            "port": 19445,
            "timeout": 5
        },
        "smoothing": {
            "continuousOutput": true,
            "enable": true,
            "time_ms": 200,
            "type": "linear",
            "updateDelay": 0,
            "updateFrequency": 25
        },
        "webConfig": {
            "crtPath": "",
            "document_root": "",
            "keyPassPhrase": "",
            "keyPath": "",
            "port": 8090,
            "sslPort": 8092
        }
    }
    upload_2020-8-22_22-22-24.png
     
  3. RKF

    RKF New Member

    Messages:
    12
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    @Blokmeister
    As per my edit, what worked for me was setting up multiple instances. No more forwarders necessary. This is one of the greatest assets of Hyperion NG. I now have 3 "Orbs" however I am not using the AtmoOrb software per-se.
    Personally I recommend using either ESPixelStick or WLED firmware in your ORBs. Add each device (ORB, Strip, whatever) as an instance in Hyperion - Setup your LED range for each individually in each instance, as well as your capture source and you are good to go.
    Let me know how that goes.
     
  4. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    Hey @RKF! Thanks so much for the fast response!

    As a bit of context: I have an Odroid C2 board connected to my TV that I use as my media player with the internal grabber. However, I have an RPI2 hooked up to my APA102 strip around my TV that also runs hyperion.ng, and my Odroid forwards to the RPI instance. On the Odroid I had no LED device configured. Now I changed that to the AtmoOrb device, which I also had in the past.

    Do you have a guide on how to do your suggestion? I have two Particle Photons with an Adafruit LED ring and use this code as a particle app: https://github.com/ambilight-4-mediaportal/AtmoOrb/blob/master/Particle/Photon/AtmoOrb_UDP.ino. Do I use a different app for that, or just change my hyperion config?

    Edit: I checked the logs and found the entries below. Maybe there is something wrong with the atmoorb device in hyperion.ng?
    Code:
    Aug 23 10:13:07 CoreELEC sh[30730]: [hyperiond LedDeviceWrapper] <INFO> LedDevice 'atmoorb' closed
    Aug 23 10:13:11 CoreELEC sh[30730]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 23 10:13:11 CoreELEC sh[30730]: 2020-08-23T10:13:11.954 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup:
    Aug 23 10:13:11 CoreELEC hyperiond[30748]: Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
     
    Last edited: 23 August 2020
  5. RKF

    RKF New Member

    Messages:
    12
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    You don't need forwarders anymore. My suggestion is to install the NG alpha 7 into your Odroid only. Once that is running and you are capturing for your TV leds, simply configure another instance (as I wrote in my edit of my OP).
    Install ESPixelstick into your photon and fire it up. (If you are using WS2812 led's - otherwise use WLED firmware)
    Configure it as follows
    Device ID - (whatever)
    Universe - 1
    Start Channel - 1
    Boundary - 512
    Pixel Count - your number of LEDS in the orb
    LED type - whatever you are using.

    Start the instance - there will now be your TV leds running in one instance, and your ORB running at the same time under a different instance)
    You'll notice on Hyperion that you now have a left/right arrow at the top right corner of the screen. Switch between instances to edit each instance if necessary. Start and stop each instance in the same place as you created the instance (see the edit of my OP)
    Configure the new instance the same way as you would when setting up your TV LEDS. (The ORB LED number count and colour, as well as the capture source etc.).
    For the LED controller type - choose UDPE131
    Point the target IP to the IP address of your photon - leave everything else the same (perhaps choose the latch time to 2ms if you have any issues)

    Good luck
     
  6. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    Thanks for the response.

    My issue is not that I'm running multiple devices. I just used that to prove that the grabber works, and that hyperion can correctly forward the data from one instance to the other. The AtmoOrb is also setup correctly, as I can control it using the android app. Therefore the issue must be that hyperion cannot send the data to the AtmoOrb correctly.

    I tried to look in to the ESPixelstick like you suggested, however, I could not find any code that I could write to my Particle Photon. I think that type of device is simply not supported.

    I have tried many different settings trying to get the device to work. I tried using only one orb, or the other. I tried different numbers of lights, but all to no avail.

    Could you maybe share the configuration that you used when the AtmoOrb was working at your end?
     
  7. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    @Blokmeister Let me have a look at the issue. According to the log the device ran into an error and was disabled.
     
  8. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    That's great! Thanks a bunch! :)

    Perhaps this error originated from stopping and starting the LED device. This is my log from a hyperion.ng restart command:

    Code:
    Aug 27 18:49:40 CoreELEC systemd[1]: Starting Hyperion.NG service...
    Aug 27 18:49:40 CoreELEC systemd[1]: Started Hyperion.NG service.
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.705 hyperiond DAEMON       : <INFO> CEC handler created
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.716 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.721 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.722 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /storage/.kodi/userdata/addon_data/service.hyperion.ng/custom-effects
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.740 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.742 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.743 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.763 hyperiond DAEMON       : <INFO> set screen capture device to 'amlogic'
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.763 hyperiond AMLOGICGRABB : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.763 hyperiond FRAMEBUFFERG : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.764 hyperiond FRAMEBUFFERG : <INFO> Display opened with resolution: [email protected]
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.764 hyperiond AMLOGICGRABB : <DEBUG> AmlogicGrabber.cpp:31:AmlogicGrabber() | constructed(160 x 160), grabber device: /dev/amvideocap0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.764 hyperiond DAEMON       : <INFO> AMLOGIC grabber created
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.765 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.766 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.767 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.767 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.767 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.767 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:533:handleSettingsUpdate() | V4L2 grabber created
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.768 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.768 hyperiond JSONSERVER   : <INFO> Started on port 19444
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.769 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'atmoorb'.
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.769 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.770 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":1,"hardwareLedCount":1,"latchTime":2,"numLeds":24,"orbIds":"1","output":"239.15.18.2","port":49692,"type":"atmoorb","useOrbSmoothing":true}]
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.771 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 192.168.1.51:19400
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.773 hyperiond NETFORWARDER : <INFO> Forward now to json targets '192.168.1.51:19444'2020-08-27T18:49:40.773 hyperiond PROTOSERVER  : <INFO> Started on port 19445
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.773 hyperiond NETFORWARDER : <INFO> Forward now to flatbuffer targets '192.168.1.51:19400'
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.773 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.774 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.774 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Json/Proto forwarder: enabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.775 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.776 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.777 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.777 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.777 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.778 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.778 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.778 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.779 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.779 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.780 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.780 hyperiond AmLogic      : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.780 hyperiond AMLOGICGRABB : <INFO> FB mode
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.780 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.781 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.785 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.785 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.785 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.786 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.787 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.835 hyperiond HYPERION     : <INFO> Hyperion instance 'AtmoOrb' has been started
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.838 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.839 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.935 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.937 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.937 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.984 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:198:setInput() | Priority 254 is now active
    Aug 27 18:49:40 CoreELEC sh[3474]: 2020-08-27T18:49:40.989 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.077 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.327 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.356 hyperiond FLATBUFCONN  : <INFO> Connected to Hyperion: 192.168.1.51:19400
    Aug 27 18:49:45 CoreELEC sh[3474]: 2020-08-27T18:49:45.252 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.187
    Aug 27 18:49:45 CoreELEC sh[3474]: 2020-08-27T18:49:45.252 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:192.168.1.187' switch to Hyperion instance 0
    
    I then reconfigured my LED device and saw it was turned off in the remote control section. This is the log until then:

    Code:
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.077 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.327 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
    Aug 27 18:49:44 CoreELEC sh[3474]: 2020-08-27T18:49:44.356 hyperiond FLATBUFCONN  : <INFO> Connected to Hyperion: 192.168.1.51:19400
    Aug 27 18:49:45 CoreELEC sh[3474]: 2020-08-27T18:49:45.252 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.187
    Aug 27 18:49:45 CoreELEC sh[3474]: 2020-08-27T18:49:45.252 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:192.168.1.187' switch to Hyperion instance 0
    Aug 27 18:50:49 CoreELEC sh[3474]: 2020-08-27T18:50:49.027 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.187
    Aug 27 18:50:49 CoreELEC sh[3474]: 2020-08-27T18:50:49.027 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:192.168.1.187' switch to Hyperion instance 0
    Aug 27 18:54:06 CoreELEC sh[3474]: [hyperiond LedDeviceWrapper] <INFO> LedDevice 'atmoorb' closed
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.644 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'atmoorb'.
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.644 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":2,"hardwareLedCount":2,"latchTime":1,"numLeds":24,"orbIds":"1,2","output":"239.15.18.2","port":49692,"type":"atmoorb","useOrbSmoothing":true}]
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.647 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.648 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    I then turned on the LED device through the web UI:

    Code:
    Aug 27 18:54:06 CoreELEC sh[3474]: [hyperiond LedDeviceWrapper] <INFO> LedDevice 'atmoorb' closed
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.644 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'atmoorb'.
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.644 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":2,"hardwareLedCount":2,"latchTime":1,"numLeds":24,"orbIds":"1,2","output":"239.15.18.2","port":49692,"type":"atmoorb","useOrbSmoothing":true}]
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.647 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.648 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    Aug 27 18:54:06 CoreELEC sh[3474]: 2020-08-27T18:54:06.652 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    Aug 27 18:56:20 CoreELEC sh[3474]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 27 18:56:20 CoreELEC sh[3474]: 2020-08-27T18:56:20.128 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Aug 27 18:56:20 CoreELEC hyperiond[3495]: [116B blob data]
    When I switched to a different page on the web UI and switched back to the remote control section, and saw it was off again. So likely there is an error that turns off the device.

    Please ask me stupid questions to make sure I have setup the component correctly.

    Things I have checked:
    • UDP multicast IP is set correctly
    • Port is set correctly
    • Multicast forwarding is turn on on my switch
    • Connect Odroid C2 (which runs hyperion.ng) directly to my router, doesn't work
     
  9. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    @Blokmeister Given the error, let me have another look at the code.

    Code:
    Aug 27 18:56:20 CoreELEC sh[3474]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 27 18:56:20 CoreELEC sh[3474]: 2020-08-27T18:56:20.128 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Additional questions upfront:

    1. Could you please share on which hyperion.ng version you are running.
    WebUI - > System -> about Hyperion
    2. Seems you are running CoreElec. Did you try running the lights under a different OS (Raspbian, Ubuntu, Windows). Would you be able to?
    3. Would you be able to run an alternative hyperion.ng, if I would provide you one. Would you be able to build it yourself?
    4. Why did you mark the topic as "solved"

    Thank you!
     
    Last edited: 27 August 2020
  10. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    1. Alpha.7 (see complete description below)
    2. I have tried it on LibreELEC but gives the same error. I could give it a try and install Hyperion on Ubuntu if that is useful. Let me know.
    3. Not familiar enough to do that on the fly, but willing to give a try if pointed to a right guide
    4. I did not mark the topic as solved. I hooked in on the topic created by RKF since it seemed very similar and thought he might have a solution. His issue was solved. I did not mean to hijack this thread and am willing to start a new thread or github issue if preferred.
    @Lord-Grey I'd like to mention I'm very grateful that you're willing to help me out with this!

    System info:
    Code:
    Hyperion Server:
    - Build:      
    - Build time:  Aug  1 2020 02:16:44
    - Git Remote:
    - Version:     2.0.0-alpha.7
    - UI Lang:     auto (BrowserLang: en-US)
    - UI Access:   expert
    - Avail Capt:  v4l2,framebuffer,amlogic,qt
    
    Hyperion Server OS:
    - Distribution: CoreELEC (official): 9.2.4.2
    - Arch:         arm64
    - Kernel:       linux (3.14.29 (WS: 32))
    - Browser:      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0 
    Error on LibreELEC on a raspberry pi 2B:
    Code:
    Aug 27 21:40:27 LibreELEC hyperiond[21267]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 27 21:40:27 LibreELEC hyperiond[21267]: 2020-08-27T21:40:27.463 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Aug 27 21:40:27 LibreELEC [21267]: Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    
    System info of LibreELEC:
    Code:
    Hyperion Server:
    - Build:       (HEAD detached at ffa2fd45) (Paulchen-Panther-69e9fa6d/ffa2fd45-1595517126)
    - Build time:  Jul 24 2020 15:55:19
    - Git Remote:  https://github.com/hyperion-project/hyperion.ng
    - Version:     2.0.0-alpha.7
    - UI Lang:     auto (BrowserLang: en-US)
    - UI Access:   expert
    - Avail Capt:  dispmanx,v4l2,framebuffer,qt
    
    Hyperion Server OS:
    - Distribution: LibreELEC (official): 9.2.1
    - Arch:         arm
    - Kernel:       linux (4.19.106 (WS: 32))
    - Browser:      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0 
     
    Last edited: 28 August 2020
  11. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    This morning I installed Hyperion.ng on my Intel NUC and ran into exactly the same problem. So likely it's an issue with my configuration or with Hyperion. Below is a log of what I did. Maybe it's a good idea to rule out user error, because I still have the nagging feeling that I'm doing something wrong.

    The code flashed to my Particle Photon AtmoOrb is located here: https://pastebin.ubuntu.com/p/pRRSSX8JdT/.
    My current configuration in hyperion is this:
    upload_2020-8-28_9-41-18.png
    LED layout:
    upload_2020-8-28_9-41-38.png
    Resulting in the following configuration:
    Code:
    [
      {
        "hmax": 1,
        "hmin": 0.9,
        "vmax": 1,
        "vmin": 0
      },
      {
        "hmax": 0.1,
        "hmin": 0,
        "vmax": 1,
        "vmin": 0
      }
    ]
    I have also tried using one orb. I did this by setting Hardware LED count to 1 and Orb ID(s) to 1 or 2 only, and in LED Layout set Left or Right to 0, so I have only 1 LED. This also didn't work.


    Reproduce the error on my Intel NUC running Ubuntu 18
    Download and untar hyperion:
    Code:
    [email protected]:/home/blokmeister/Downloads# wget https://github.com/hyperion-project/hyperion.ng/releases/download/2.0.0-alpha.7/Hyperion-                                                           2.0.0-alpha.7-Linux-x86_64.tar.gz
    [email protected]:/home/blokmeister/Downloads# mkdir Hyperion
    [email protected]:/home/blokmeister/Downloads# mv Hyperion-2.0.0-alpha.7-Linux-x86_64.tar.gz Hyperion/
    [email protected]:/home/blokmeister/Downloads/Hyperion# tar -zxvf Hyperion-2.0.0-alpha.7-Linux-x86_64.tar.gz
    [email protected]:/home/blokmeister/Downloads/Hyperion# cd bin
    I then ran hyperiond and configured my AtmoOrb device. This resulted in a crash (which I think is unrelated):
    Code:
    [email protected]:/home/blokmeister/Downloads/Hyperion/bin# ./hyperiond
    2020-08-28T09:25:02.416 hyperiond QTGRABBER    : <ERROR> No displays found to capture from!
    2020-08-28T09:26:04.271 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:1057:handleLoggingCommand() | log streaming activated for client ::ffff:19                                                           2.168.1.187
    2020-08-28T09:26:27.262 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
    2020-08-28T09:26:27.263 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast],                                                            smoothCfg [0]
    2020-08-28T09:26:27.263 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priori                                                           ty 0 as inactive
    2020-08-28T09:26:27.263 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
    2020-08-28T09:26:27.263 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smo                                                           othCfg [0]
    2020-08-28T09:26:27.265 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
    2020-08-28T09:26:27.300 hyperiond EFFECTENGINE : <INFO> effect finished
    Fatal Python error: Py_Initialize: can't initialize sys standard streams
    Traceback (most recent call last):
      File "/home/blokmeister/Downloads/Hyperion/share/hyperion/bin/python35.zip/io.py", line 52, in <module>
    2020-08-28T09:26:27.383 hyperiond EFFECTENGINE : <ERROR> ###### PYTHON EXCEPTION ######
    2020-08-28T09:26:27.383 hyperiond EFFECTENGINE : <ERROR> ## In effect 'Rainbow swirl fast'
    2020-08-28T09:26:27.383 hyperiond EFFECTENGINE : <ERROR> ## ZipImportError: can't decompress data; zlib not available
      File "/home/blokmeister/Downloads/Hyperion/share/hyperion/bin/python35.zip/abc.py", line 6, in <module>
    zipimport.ZipImportError: can't decompress data; zlib not available
    
    Hyperion caught signal :SIGABRT
    2020-08-28T09:26:27.398 hyperiond CORE         : <ERROR>        /lib/x86_64-linux-gnu/libpthread.so.0(+0x128a0) [0x7fb755f248a0]
    2020-08-28T09:26:27.398 hyperiond CORE         : <ERROR>        /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7fb753afaf47]
    2020-08-28T09:26:27.398 hyperiond CORE         : <ERROR>        /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7fb753afc8b1]
    2020-08-28T09:26:27.398 hyperiond CORE         : <ERROR>        /home/blokmeister/Downloads/Hyperion/share/hyperion/bin/../lib/libpython3.5m.so                                                           .1.0(Py_FatalError+0x3f) [0x7fb757fe3fff]
    2020-08-28T09:26:27.399 hyperiond CORE         : <ERROR>        /home/blokmeister/Downloads/Hyperion/share/hyperion/bin/../lib/libpython3.5m.so                                                           .1.0(Py_NewInterpreter+0x2ac) [0x7fb757ff051c]
    2020-08-28T09:26:27.399 hyperiond CORE         : <ERROR>        ./hyperiond(Effect::run()+0x40) [0x5559a316b110]
    2020-08-28T09:26:27.399 hyperiond CORE         : <ERROR>        /home/blokmeister/Downloads/Hyperion/share/hyperion/bin/../lib/libQt5Core.so.5(                                                           +0xaed48) [0x7fb754d3cd48]
    2020-08-28T09:26:27.399 hyperiond CORE         : <ERROR>        /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7fb755f196db]
    2020-08-28T09:26:27.399 hyperiond CORE         : <ERROR>        /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7fb753bdda3f]
    Aborted (core dumped)
    Restarted hyperiond and configured my AtmoOrb device. I went to the Remote Control section and saw that the device was enabled. I disabled the device and re-enabled it, moved to another section (I think Capturing Hardware) and moved back, and saw that the device was disabled again. In the logs I found the same error as on CoreELEC:
    Code:
    [email protected]:/home/blokmeister/Downloads/Hyperion/bin# ./hyperiond
    2020-08-28T09:26:37.800 hyperiond DAEMON       : <INFO> CEC handler created
    2020-08-28T09:26:37.801 hyperiond EFFECTFILES  : <INFO> 39 effects loaded from directory :/effects/
    2020-08-28T09:26:37.802 hyperiond EFFECTFILES  : <INFO> 22 effect schemas loaded from directory :/effects/schema/
    2020-08-28T09:26:37.802 hyperiond EFFECTFILES  : <INFO> 0 effects loaded from directory /root/.hyperion/custom-effects
    2020-08-28T09:26:37.805 hyperiond SETTINGSMGR  : <DEBUG> SettingsManager.cpp:108:SettingsManager() | Settings database initialized
    2020-08-28T09:26:37.805 hyperiond BLACKBORDER  : <DEBUG> BlackBorderProcessor.cpp:65:handleSettingsUpdate() | Set mode to: default
    2020-08-28T09:26:37.805 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Blackborder detector: enabled
    2020-08-28T09:26:37.809 hyperiond DAEMON       : <INFO> set screen capture device to 'qt'
    2020-08-28T09:26:37.809 hyperiond QTGRABBER    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
    2020-08-28T09:26:37.809 hyperiond QTGRABBER    : <ERROR> No displays found to capture from!
    2020-08-28T09:26:37.809 hyperiond DAEMON       : <INFO> Qt grabber created
    2020-08-28T09:26:37.809 hyperiond V4L2:AUTO    : <DEBUG> Grabber.cpp:31:setVideoMode() | Set videomode to 0
    2020-08-28T09:26:37.809 hyperiond V4L2:AUTO    : <INFO> Signal threshold set to: {12, 12, 12}
    2020-08-28T09:26:37.809 hyperiond V4L2:AUTO    : <INFO> CEC detection is now disabled
    2020-08-28T09:26:37.809 hyperiond V4L2:AUTO    : <INFO> Signal detection is now disabled
    2020-08-28T09:26:37.809 hyperiond V4L2:AUTO    : <INFO> Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    2020-08-28T09:26:37.809 hyperiond DAEMON       : <DEBUG> hyperiond.cpp:527:handleSettingsUpdate() | V4L2 grabber created
    2020-08-28T09:26:37.809 hyperiond JSONSERVER   : <DEBUG> JsonServer.cpp:27:JsonServer() | Created instance
    2020-08-28T09:26:37.809 hyperiond JSONSERVER   : <INFO> Started on port 19444
    2020-08-28T09:26:37.809 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'file'.
    2020-08-28T09:26:37.810 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Smoothing: enabled
    2020-08-28T09:26:37.810 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":2,"hardwareLedCount":1,"latchTime":0,"output":"/dev/null","rewriteTime":0,"type":"file"}]
    2020-08-28T09:26:37.810 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:55:open() | QIODevice::WriteOnly, /dev/null
    2020-08-28T09:26:37.810 hyperiond FLATBUFSERVE : <INFO> Started on port 19400
    2020-08-28T09:26:37.810 hyperiond FLATBUFCONN  : <INFO> Connecting to Hyperion: 127.0.0.1:19401
    2020-08-28T09:26:37.810 hyperiond PROTOSERVER  : <INFO> Started on port 19445
    2020-08-28T09:26:37.810 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
    2020-08-28T09:26:37.810 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:32:initServer() | Initialize Webserver
    2020-08-28T09:26:37.810 hyperiond EFFECTENGINE : <INFO> Run effect "Rainbow swirl fast" on channel 0
    2020-08-28T09:26:37.811 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Rainbow swirl fast], smoothCfg [2]
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 0 as inactive
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <INFO> Initial foreground effect 'Rainbow swirl fast' started
    2020-08-28T09:26:37.811 hyperiond EFFECTENGINE : <INFO> Run effect "Warm mood blobs" on channel 254
    2020-08-28T09:26:37.811 hyperiond EFFECTENGINE : <DEBUG> EffectEngine.cpp:187:runEffectScript() | Start the effect: name [Warm mood blobs], smoothCfg [2]
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/EFFECT' with priority 254 as inactive
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <INFO> Inital background effect 'Warm mood blobs' started
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:158:registerInput() | Register new input 'System/GRABBER' with priority 250 as inactive
    2020-08-28T09:26:37.811 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | Framegrabber: enabled
    2020-08-28T09:26:37.811 hyperiond Qt           : <DEBUG> GrabberWrapper.cpp:49:start() | Grabber start()
    2020-08-28T09:26:37.811 hyperiond BOBLIGHT     : <DEBUG> BoblightServer.cpp:28:BoblightServer() | Instance created
    2020-08-28T09:26:37.811 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    2020-08-28T09:26:37.811 hyperiond HYPERION     : <INFO> Hyperion instance 'First LED Hardware instance' has been started
    zipimport.ZipImportError: can't decompress data; zlib not available
    2020-08-28T09:26:37.815 hyperiond EFFECTENGINE : <ERROR> Failed to get thread state for Warm mood blobs
    2020-08-28T09:26:37.815 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:255:clearInput() | Removed source priority 254
    2020-08-28T09:26:37.815 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 0
    2020-08-28T09:26:37.816 hyperiond EFFECTENGINE : <INFO> effect finished
    2020-08-28T09:26:37.816 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
    2020-08-28T09:26:37.816 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
    2020-08-28T09:26:37.816 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:90:handleSettingsUpdate() | Apply Webserver settings
    2020-08-28T09:26:37.816 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:108:handleSettingsUpdate() | Set document root to: :/webconfig
    2020-08-28T09:26:37.817 hyperiond WEBSERVER    : <INFO> Started on port 8090 name 'Hyperion Webserver'
    2020-08-28T09:26:37.817 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:174:handleSettingsUpdate() | Setup SSL certificate
    2020-08-28T09:26:37.818 hyperiond WEBSERVER    : <DEBUG> WebServer.cpp:190:handleSettingsUpdate() | Setup private SSL key
    2020-08-28T09:26:37.818 hyperiond WEBSERVER    : <INFO> Started on port 8092 name 'Hyperion Webserver'
    2020-08-28T09:26:37.894 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 0 is now active
    2020-08-28T09:26:37.906 hyperiond QTGRABBER    : <ERROR> No displays found to capture from!
    2020-08-28T09:26:37.906 hyperiond QTGRABBER    : <INFO> Capture interface is now disabled
    2020-08-28T09:26:38.002 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:238:setInputImage() | Priority 250 is now active
    2020-08-28T09:26:39.823 hyperiond WEBSOCKET    : <DEBUG> WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:192.168.1.187
    2020-08-28T09:26:39.823 hyperiond WEBSOCKET    : <DEBUG> JsonAPI.cpp:107:handleInstanceSwitch() | Client '::ffff:192.168.1.187' switch to Hyperion instance 0
    2020-08-28T09:26:41.000 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:298:setCurrentTime() | Timeout clear for priority 0
    2020-08-28T09:26:41.251 hyperiond HYPERION     : <DEBUG> PriorityMuxer.cpp:333:setCurrentTime() | Set visible priority to 250
    2020-08-28T09:26:56.030 hyperiond LEDDEVICE    : <DEBUG> LedDeviceFile.cpp:81:close() | File: /dev/null
    [hyperiond LedDeviceWrapper] <INFO> LedDevice 'file' closed
    2020-08-28T09:26:56.030 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'atmoorb'.
    2020-08-28T09:26:56.030 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":2,"hardwareLedCount":1,"latchTime":0,"numLeds":24,"orbIds":"1,2","output":"239.15.18.2","port":49692,"type":"atmoorb","useOrbSmoothing":true}]
    2020-08-28T09:26:56.031 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    2020-08-28T09:26:56.031 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    2020-08-28T09:27:06.518 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    2020-08-28T09:27:09.443 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
     

    Attached Files:

  12. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    I do not think it is a user problem. No need for testing further. Let me have a look at the code when I find some spare time.
     
  13. RKF

    RKF New Member

    Messages:
    12
    Hardware:
    RPi1/Zero, RPi2, RPi3, +Arduino, +nodeMCU/ESP8266
    While @Lord-Grey looks into the code for you I can only share my successful experience using instances.

    I also looked at the particle photon and it seems that they are somewhat different to the $2 ESP8266 (D1 mini, for instance). My setup is based on the D1 mini. I use them for my "ORB's". But really they are not "ORB's". they are just a circle of LEDs mounted inside a stripped out IKEA FADO. I don't use the ORB controller for the LED's (I use UDPE131)

    If you have some D1 Mini, load up the ESPixelStick firmware as per my above instructions. Create an instance for the left side, and then another instance for the right side (or the bottom, or the whole TV) an instance for each, and a D1 Mini for each. In my case, each FADO lamp will run both the LEDs and the D1 Mini from an iPhone charger, or any 2A charger, quite comfortably. I desoldered the blue LED inside the D1 mini, and it sits inside the FADO as well.

    Sharing my setup config is kind of pointless, because each "instance" is its own config.

    Please try a D1 mini (or any NodeMCU) you might have lying around.

    Here is a screenshot of my setup with multiple instances running multiple D1 mini's with an undetectable latency. I have 2 TV's (Sony and Rumpus), 2 FADO lamps (UDP left and right), and a display case light strip all running at once.

    As an aside, I control the power-up and power-down of the devices through MQTT in Node Red, the power up signal is mapped to a simple Ikea Zigbee light switch that runs through zigbee2mqtt. If you use the WLED firmware you can power up the device in even smarter ways. The FADO lamps double as Lounge Lights with their own colour when not being used by Hyperion.

    If you wish to go down the D1 mini / FADO path and get stuck, I can help further, but I want to reinforce that I don't use forwarders, OR the ORB controller for any of my setup.

    Hyperion Alpha 7.jpeg
     
  14. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    So this means that you didn't have a successful setup of the AtmoOrb device on hyperion.ng beta 7?
     
  15. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    @Blokmeister I did a fix on the "Bind" issue already as part of PR #961.

    On your LibreElec you could test that PR as per the instructions in the following article:

    https://forum.hyperion-project.org/...ec-x86_64-rpi-inoffiziell-unofficially.10463/

    Post #64 outlines how to install a specific PR.

    Alternatively, you could download an image (Artifact) on your NUC from the GitHub PR build site:

    https://github.com/hyperion-project/hyperion.ng/pull/961/checks?check_run_id=1045595598

    Select the "Artifact" that fits your test system.
     
  16. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    Great! I'll give that a try.

    Code:
    LibreELEC:~/downloads # wget -qO- https://git.io/JJr6Y | bash -s 961
    *******************************************************************************
    This script will download a specific Pull Request Artifact from Hyperion.NG on LibreELEC
    Created by Paulchen-Panther - hyperion-project.org - the official Hyperion source.
    *******************************************************************************
    ---> The specified PR #961 has no longer any artifacts.
    ---> It may be older than 14 days. Ask the PR creator to recreate the artifacts at the following URL:
    ---> https://github.com/hyperion-project/hyperion.ng/pull/961
    Could I also just manually download the artifact I needed, untar it and copy it over my install files? Which one would I need for the RPI2?

    Edit:
    Okay, I downloaded the artifact on my Raspberry Pi 2 and copied it over the old service. Didn't fix the issue:
    Code:
    Aug 30 09:56:25 LibreELEC hyperiond[31074]: 2020-08-30T09:56:25.838 hyperiond LEDDEVICE    : <INFO> Start LedDevice 'atmoorb'.
    Aug 30 09:56:25 LibreELEC hyperiond[31074]: 2020-08-30T09:56:25.839 hyperiond LEDDEVICE    : <DEBUG> LedDevice.cpp:133:init() | deviceConfig: [{"colorOrder":"rgb","currentLedCount":2,"hardwareLedCount":2,"latchTime":1,"numLeds":24,"orbIds":"1,2","output":"239.15.18.2","port":49692,"type":"atmoorb","useOrbSmoothing":
    Aug 30 09:56:25 LibreELEC hyperiond[31074]: 2020-08-30T09:56:25.850 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: enabled
    Aug 30 09:56:37 LibreELEC hyperiond[31074]: 2020-08-30T09:56:37.037 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    Aug 30 09:56:38 LibreELEC hyperiond[31074]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 30 09:56:38 LibreELEC hyperiond[31074]: 2020-08-30T09:56:38.509 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Aug 30 09:56:38 LibreELEC [31074]: Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    
     
    Last edited: 30 August 2020
  17. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    You need the "armv6hf" artifact for RPi 2
     
  18. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    I checked in some code and the PR was rebuild, now.
    So you should be able to do the installation via

    wget -qO- https://git.io/JJr6Y | bash -s 961
     
  19. Blokmeister

    Blokmeister Member

    Messages:
    31
    Hardware:
    RPi2, 32/64bit, +AtmoOrb
    Same issue.

    Code:
    Hyperion Server:
    - Build:       (HEAD detached at pull/961/merge) (GitHub-7f087e67/95f36b31-1598446880)
    - Build time:  Aug 29 2020 17:19:08
    - Git Remote:  https://github.com/hyperion-project/hyperion.ng
    - Version:     2.0.0-alpha.7-PR#961
    - UI Lang:     auto (BrowserLang: en-US)
    - UI Access:   expert
    - Avail Capt:  dispmanx,v4l2,framebuffer,qt
    
    Hyperion Server OS:
    - Distribution: LibreELEC (official): 9.2.1
    - Arch:         arm
    - Kernel:       linux (4.19.106 (WS: 32))
    - Browser:      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0 
    I disabled then enabled the device. After switching pages, the device was disabled.

    Code:
    Aug 31 13:17:40 LibreELEC hyperiond[32436]: 2020-08-31T13:17:40.822 hyperiond COMPONENTREG : <DEBUG> ComponentRegister.cpp:36:setNewComponentState() | LED device: disabled
    Aug 31 13:17:41 LibreELEC hyperiond[32436]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    Aug 31 13:17:41 LibreELEC hyperiond[32436]: 2020-08-31T13:17:41.348 hyperiond LEDDEVICE    : <ERROR> Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Aug 31 13:17:41 LibreELEC [32436]: Device disabled, device 'atmoorb' signals error: '(-1) Unknown error, MulticastGroup: (239.15.18.2)'
    Aug 31 13:17:44 LibreELEC hyperiond[32436]: QNativeSocketEngine::bind() was not called in QAbstractSocket::UnconnectedState
    
     
  20. Lord-Grey

    Lord-Grey Moderator Staff Member Developer

    Messages:
    204
    Hardware:
    RPi3, 32/64bit
    @Blokmeister Thanks for the retest.
    I might have missed it, but does the device work after restart of Hyperion?
    Or are you only highlighting that it fails after a disable/enable scenario?

    Would you mind sharing a complete log, i.e. from start till you got the error, please?