WLED ist beim starten immer aus

  • Hallo,
    habe Hyperion mit einem RP4 zusammengebaut und bin einfach begeistert. Ist schon toll was hier programmiert wurde. Hat alles so ziemlich auf Anhieb funktioniert, toll.
    Nun wollte ich noch eine LED Leuchte über Wled zusätzlich ansteuern. Das funktioniert zwar im Prinzip, aber ich muss jedes mal nach einem Neustart die Wled wieder mit der 'Fernsteuerung' in der Software einschalten.
    Kann mir jemand einen Tip geben was ich da einstellen muss??


    Und, wenn ich schon dabei bin, das mit der Farbkalibrierung bekomme ich auch nicht so ganz hin. Ist mehr ein ausprobieren.
    Gibt es da irgendeine bessere Lösung??


    Danke schon mal im voraus, Gerd

    • Offizieller Beitrag

    Hi Gerd
    ich denke es liegt aktuell daran, dass hyperion die LED-Devices schon öffnet, obwohl das rpi Netzwerk noch nicht gestartet hat.
    Ich hatte auf meinem rpi was geändert, aber Ich muss ertst nachschauen, was Du mal probieren kannst.
    Komme auf Dich zurück....


    Kannst Du die Fehlermeldung aus dem Hyperion-Log posten?
    Ich will nur sicherstellen, ob es auch das Szenario ist....

    • Offizieller Beitrag

    Hi Gerd


    kannst Du in die Datei "/etc/systemd/system/hyperion.service" folgende Zeile mit hinzunehmen:


    Requires=network-online.target


    und neu starten?
    Damit sollte hyperion erst starten, wenn die Netzwerkkomponenten da sind..


    Die Datei würde also folgendermaßen aussehen:


    [Unit]
    Description=Hyperion ambient light systemd service
    Requires=network-online.target
    After=network.target


    [Service]
    ExecStart=/usr/bin/hyperiond
    WorkingDirectory=/usr/share/hyperion/bin
    User=pi
    TimeoutStopSec=5
    KillMode=mixed
    Restart=on-failure
    RestartSec=2


    [Install]
    WantedBy=multi-user.target


    Hilft das?

  • Diese Datei finde ich auf der Speicherkarte, die muss ich aus dem Raspi rausnehmen zum ändern?
    Ist das so, oder geht das auch mit Putty?
    Sorry wenns blöd klingt, aber so ganz firm bin ich in der Raspberry-Welt noch nicht.
    Auf jeden Fall erstmal vielen Dank, ich schau mir das am Wochenende mal an.


    Gruß, Gerd

  • Sorry, dass ich mich da mit rein klemme. Wenn ihr von Hyperion.NG redet; ich habe genau das gleiche Problem: Nach Neustart muss ich über die "Fernbedienung" die LED-Hardware erst aktivieren. Teilweise reagiert es erst nach aktivieren - deaktivieren - aktivieren.


    Requires=network-online.target


    habe ich in die Datei "Hyperion.systemd" eingetragen (fand ich unter /Hyperion/service) und sieht jetzt so aus:



    Aber die Verbindung zu WLED ist immer noch nicht von Anfang an aktiv.

  • WLED ist bei mir sogar noch vor Kodi und Hyperion.ng im Netzwerk.


    2019-04-11T16:28:42.993Z [hyperiond DAEMON] (INFO) CEC handler created
    2019-04-11T16:28:43.018Z [hyperiond EFFECTFILES] (INFO) 39 effects loaded from directory :/effects/
    2019-04-11T16:28:43.028Z [hyperiond EFFECTFILES] (INFO) 22 effect schemas loaded from directory :/effects/schema/
    2019-04-11T16:28:43.035Z [hyperiond EFFECTFILES] (INFO) 1 effects loaded from directory /storage/hyperion/custom-effects
    2019-04-11T16:28:43.095Z [hyperiond SETTINGSMGR] (DEBUG) (SettingsManager.cpp:109:SettingsManager()) Settings database initialized
    2019-04-11T16:28:43.099Z [hyperiond BLACKBORDER] (DEBUG) (BlackBorderProcessor.cpp:64:handleSettingsUpdate()) Set mode to: default
    2019-04-11T16:28:43.100Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) Blackborder detector: enabled
    2019-04-11T16:28:43.148Z [hyperiond DAEMON] (INFO) set screen capture device to 'dispmanx'
    2019-04-11T16:28:43.148Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2019-04-11T16:28:43.153Z [hyperiond DISPMANXGRABBER] (INFO) Display opened with resolution: 1920x1080
    2019-04-11T16:28:43.154Z [hyperiond DISPMANXGRABBER] (DEBUG) (Grabber.cpp:90:setWidthHeight()) Set new width: 80, height: 45 for capture
    2019-04-11T16:28:43.155Z [hyperiond DAEMON] (INFO) DISPMANX frame grabber created
    2019-04-11T16:28:43.156Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (Grabber.cpp:30:setVideoMode()) Set videomode to 0
    2019-04-11T16:28:43.159Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (Grabber.cpp:90:setWidthHeight()) Set new width: 640, height: 480 for capture
    2019-04-11T16:28:43.160Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) Signal threshold set to: {12, 12, 12}
    2019-04-11T16:28:43.161Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) CEC detection is now disabled
    2019-04-11T16:28:43.161Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) Signal detection is now disabled
    2019-04-11T16:28:43.162Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) Signal detection area set to: 0.250000,0.250000 x 0.750000,0.750000
    2019-04-11T16:28:43.163Z [hyperiond DAEMON] (DEBUG) (hyperiond.cpp:630:handleSettingsUpdate()) V4L2 grabber created
    2019-04-11T16:28:43.175Z [hyperiond JSONSERVER] (DEBUG) (JsonServer.cpp:28:JsonServer()) Created instance
    2019-04-11T16:28:43.187Z [hyperiond JSONSERVER] (INFO) Started on port 19444
    2019-04-11T16:28:43.167Z [hyperiond LEDDEVICE] (INFO) Start LedDevice 'wled'.
    2019-04-11T16:28:43.167Z [hyperiond SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:701:selectConfig()) cfg [0]: Type: decay - Time: 200 ms, outputRate 25.000000 Hz, interpolationRate: 25.000000 Hz, timer: 40 ms, Dithering: 0, Decay: 1.000000 -> HalfTime: 100.000000 ms
    2019-04-11T16:28:43.168Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:56:init())
    2019-04-11T16:28:43.170Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:148:init()) deviceConfig: [{"colorOrder":"rgb","currentLedCount":114,"hardwareLedCount":114,"host":"192.168.178.43","latchTime":0,"type":"wled"}]
    2019-04-11T16:28:43.170Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:407:setLatchTime()) LatchTime updated to 0ms
    2019-04-11T16:28:43.171Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:434:setRewriteTime()) RewriteTime updated to 0ms
    2019-04-11T16:28:43.172Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:64:init()) DeviceType : wled
    2019-04-11T16:28:43.174Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:65:init()) LedCount : 114
    2019-04-11T16:28:43.174Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:66:init()) ColorOrder : rgb
    2019-04-11T16:28:43.174Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:67:init()) LatchTime : 0
    2019-04-11T16:28:43.174Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:109:initRestAPI())
    2019-04-11T16:28:43.175Z [hyperiond SMOOTHING] (DEBUG) (LinearColorSmoothing.cpp:701:selectConfig()) Previous line repeats 1 times
    2019-04-11T16:28:43.176Z [hyperiond FLATBUFCONN] (INFO) Connecting to Hyperion: 127.0.0.1:19401
    2019-04-11T16:28:43.188Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:120:initRestAPI()) [1]
    2019-04-11T16:28:43.189Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:148:init()) deviceConfig: [{"colorOrder":"rgb","currentLedCount":114,"hardwareLedCount":114,"host":"192.168.178.43","latchTime":0,"port":19446,"type":"wled"}]
    2019-04-11T16:28:43.190Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:407:setLatchTime()) LatchTime updated to 0ms
    2019-04-11T16:28:43.190Z [hyperiond LEDDEVICE] (DEBUG) (LedDevice.cpp:434:setRewriteTime()) RewriteTime updated to 0ms
    2019-04-11T16:28:43.190Z [hyperiond LEDDEVICE] (DEBUG) (ProviderUdp.cpp:43:init()) Successfully parsed 192.168.178.43 as an IP-address.
    2019-04-11T16:28:43.191Z [hyperiond LEDDEVICE] (DEBUG) (ProviderUdp.cpp:73:init()) UDP socket will write to 192.168.178.43:19446
    2019-04-11T16:28:43.191Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:98:init()) Hostname/IP : 192.168.178.43
    2019-04-11T16:28:43.191Z [hyperiond EFFECTENGINE] (INFO) Run effect "Cinema brighten lights" on channel 254
    2019-04-11T16:28:43.191Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:99:init()) Port : 19446
    2019-04-11T16:28:43.194Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:103:init()) [1]
    2019-04-11T16:28:43.195Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:132:powerOn())
    2019-04-11T16:28:43.195Z [hyperiond LEDDEVICE] (DEBUG) (ProviderRestApi.cpp:150:put()) PUT: [http://192.168.178.43/json/state] [{"on":true}]
    2019-04-11T16:28:43.213Z [hyperiond FLATBUFSERVER] (INFO) Started on port 19400
    2019-04-11T16:28:43.220Z [hyperiond PROTOSERVER] (INFO) Started on port 19445
    2019-04-11T16:28:43.216Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver
    2019-04-11T16:28:43.217Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:33:initServer()) Initialize Webserver
    2019-04-11T16:28:43.291Z [hyperiond EFFECTENGINE] (DEBUG) (EffectEngine.cpp:183:runEffectScript()) Start the effect: name [Cinema brighten lights], smoothCfg [2]
    2019-04-11T16:28:43.292Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:161:registerInput()) Register new input 'System/EFFECT' with priority 254 as inactive
    2019-04-11T16:28:43.292Z [hyperiond HYPERION] (INFO) Initial background effect 'Cinema brighten lights' started
    2019-04-11T16:28:43.293Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:161:registerInput()) Register new input 'System/V4L' with priority 240 as inactive
    2019-04-11T16:28:43.293Z [hyperiond COMPONENTREG] (DEBUG) (ComponentRegister.cpp:36:setNewComponentState()) V4L capture device: enabled
    2019-04-11T16:28:43.296Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) configured v4l device: /dev/video0
    2019-04-11T16:28:43.297Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (V4L2Grabber.cpp:582:init_device()) Set device input to: Camera 1
    2019-04-11T16:28:43.299Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (V4L2Grabber.cpp:696:init_device()) Set resolution to width=640 height=480
    2019-04-11T16:28:43.300Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (V4L2Grabber.cpp:713:init_device()) Set framerate to 30 fps
    2019-04-11T16:28:43.301Z [hyperiond V4L2:/DEV/VIDEO0] (DEBUG) (V4L2Grabber.cpp:735:init_device()) Pixel format=YUYV
    2019-04-11T16:28:43.315Z [hyperiond V4L2:/DEV/VIDEO0] (INFO) Started
    2019-04-11T16:28:43.315Z [hyperiond V4L2:/dev/video0] (DEBUG) (GrabberWrapper.cpp:48:start()) Grabber start()
    2019-04-11T16:28:43.294Z [hyperiond BOBLIGHT] (DEBUG) (BoblightServer.cpp:28:BoblightServer()) Instance created
    2019-04-11T16:28:43.316Z [hyperiond HYPERION] (INFO) Hyperion instance 'WLED_RGB' has been started
    2019-04-11T16:28:43.370Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:251:setInputImage()) Priority 240 is now active
    2019-04-11T16:28:43.370Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:351:setCurrentTime()) Set visible priority to 240
    2019-04-11T16:28:43.371Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:559:handlePriorityChangedLedDevice()) priority[240], previousPriority[255]
    2019-04-11T16:28:43.372Z [hyperiond HYPERION] (DEBUG) (Hyperion.cpp:569:handlePriorityChangedLedDevice()) new source available -> switch LED-Device on
    2019-04-11T16:28:43.638Z [hyperiond LEDDEVICE] (DEBUG) (LedDeviceWled.cpp:132:powerOn())
    2019-04-11T16:28:43.639Z [hyperiond LEDDEVICE] (DEBUG) (ProviderRestApi.cpp:150:put()) PUT: [http://192.168.178.43/json/state] [{"on":true}]
    2019-04-11T16:28:43.643Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings
    2019-04-11T16:28:43.644Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig
    2019-04-11T16:28:43.644Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:91:handleSettingsUpdate()) Apply Webserver settings
    2019-04-11T16:28:43.646Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:109:handleSettingsUpdate()) Set document root to: :/webconfig
    2019-04-11T16:28:43.647Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:175:handleSettingsUpdate()) Setup SSL certificate
    2019-04-11T16:28:43.647Z [hyperiond WEBSERVER] (INFO) Started on port 8090 name 'Hyperion Webserver'
    2019-04-11T16:28:43.648Z [hyperiond WEBSERVER] (DEBUG) (WebServer.cpp:191:handleSettingsUpdate()) Setup private SSL key
    2019-04-11T16:28:43.649Z [hyperiond WEBSERVER] (INFO) Started on port 8092 name 'Hyperion Webserver'
    2019-04-11T16:28:43.673Z [hyperiond HYPERION] (DEBUG) (PriorityMuxer.cpp:207:setInput()) Priority 254 is now active
    2021-02-27T21:11:57.939Z [hyperiond WEBSOCKET] (DEBUG) (WebSocketClient.cpp:30:WebSocketClient()) New connection from ::ffff:192.168.178.20
    2021-02-27T21:11:57.939Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:81:handleInstanceSwitch()) Client '::ffff:192.168.178.20' switch to Hyperion instance 0
    2021-02-27T21:11:58.212Z [hyperiond WEBSOCKET] (DEBUG) (JsonAPI.cpp:1054:handleLoggingCommand()) log streaming activated for client ::ffff:192.168.178.20

  • Hallo, ich habe das mit dem WLed erstmal wieder aufgegeben. Musste inzwischen immer wieder mal die gesicherte alte Konfiguration importieren, damit das Ambilight überhaupt geht. Ohne Die 2. Instanz (WLed) kam das nicht vor. Bin aber auch so sehr zufrieden mit meinen 300 LED's ist es eigentlich hell genug, war halt ein Versuch.
    Auf jeden Fall vielen Dank an alle für die Tips, vielleicht kriege ich ja nochmal Lust weiter zu probieren.

  • Ja das mit mehrere Instanzen funktioniert leider nicht reibungslos. Ich hab zwar für mich eine Lösung gefunden aber perfekt ist es auch nicht.


    Ich Speichere jede Instanz immer einzeln. Wichtig ist die erste Instanz zu letzt speichern danach direkt über ssh neu starten. Dann funktioniert es eigentlich immer erstmal ne ganze zeitlang ohne Probleme.


  • @Lord-Grey


    Hallo,


    ich muss das Thema noch mal aufrufen, ich habe auch WLED mit SK6812 LEDs und Hyperion.ng auf einem Debian System (Mein NAS) und testweise auch auf einem Pi3.


    Auf beiden Systemen funktioniert der Autostart durch die Einträge in "/etc/systemd/system/hyperion.service".


    Nur leider wird beim Starten die LED-Hardware auf dem Debian System nicht automatisch gestartet, muss ich von Hand im Webif bei "Fernbedienung" einschalten.


    Beim RaspberryPi3 hingegen funktioniert es problemlos.


    Hier mal mein log vom Debian System...
    Als ERROR Meldung bekomme ich Folgende...


    Code
    [hyperiond LEDDEVICE] (ERROR) Device disabled, device 'wled' signals error: 'Network unreachable'



    Auch der Eintrag "Requires=network-online.target" in hyperion.service hat keine Änderung gebracht.


    Vielleicht hast Du ja noch eine Idee was man da machen kann.
    Gruß sigi28

    • Offizieller Beitrag

    Danke. Ich schaue mal, ob ich beim öffnen das Devices einen Retry-Mechanismus für eine bestimmte Zeit einbauen kann, wenn das Netzwerk noch nicht da ist....

  • Keine Ahnung, ich verstehe es auch nicht. Mit dem Pi3 funktioniert es, würde aber gerne mein Debian System dazu verwenden, da es beim Filme schauen eh läuft.
    Es nutzt doch bestimmt nicht jeder einen Raspberry als HyperionServer.
    Funktioniert es denn bei Denen die ein anderes System haben?

    • Offizieller Beitrag

    Versucht mal folgendes. Tragt folgende Zeile in den [Service] Bereich der Systemd Datei ein. Ändert dabei die IP Adresse oder tragt euren Hostnamen ein.
    Diese Zeile bewirkt, das die/der IP Adresse/Hostname vor dem Hyperion Service angepingt wird. Ist dies erfolgreich startet erst der Hyperion Service.

    Code
    ExecStartPre=/bin/sh -c 'until ping -c1 192.168.0.1 do sleep 1; done;'
  • Hallo und vielen Dank:)
    Die hyperion.service habe ich so abgeändert, mit der IP vom WLED.



    Doch leider startet dann Hyperion gar nicht mehr.


    Zeile wieder gelöcht, Hyperion startet und dann mit LED-Hardware Button im Webif aktiviert.
    Also leider nicht Automatisch.

  • Debian 10


Jetzt mitmachen!

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