Disable on startup script

  • Hallo Leute,

    ich habe heute Bullseye installiert und dabei mitbekommen, dass man Hyperiond mittlerweile über "apt install" beziehen kann. Das vereinfach meine install scripts enorm. Ich habe besagte Scripte nun alle angepasst - nur eines möchte nicht so richtig, wie vorher.


    Es handelt sich dabei um ein Script welches bei Systemstart die LED und V4L abschaltet. Vor der Umstellung auf "apt install" hatte ich ein eigenes Statupscript für Hyperion mit dem Namen hyperiond.service.

    Jetzt erzeugt Hyperion bei der Installation einen solchen Service selbst und ich wollte dieses nun verwenden. Allerdings scheint es, als würde es ausgeführt werden, bevor der Service gestartet ist. Habt ihr eine Idee, wie ich dieses start up script nun zum Laufen bekomme?


    Vorher hatte ich bei Requires, After und WantedBy eben hyperiond.service stehen.


    disable-hyperion macht das Folgende:

    Code
    hyperion-remote -a localhost -D V4L
    hyperion-remote -a localhost -D LEDDEVICE


    Nach einem Reboot startet der Service, crasht aber mit


    Starte ich den Service nach einem Neustart manuell, funktioniert er. Daher gehe ich davon aus, dass mein Service selber noch nicht richtig konfiguriert ist.


    Vielen Dank :)

  • Code
    Unable to connect to host (localhost), port (19444)

    Wird also ausgeführt bevor das Netzwerk aktiv ist.

    Wenn du den Service nach einem Neustart manuell startest und es funktioniert ist das Netzwerk schon aktiv.

    Da musst du also ansetzen. ;)


    In hyperion.systemd findest du

    Code
    [Unit]
    Description=Hyperion ambient light systemd service  for user %i
    Documentation=https://docs.hyperion-project.org
    Requisite=network.target
    Wants=network-online.target
    After=network-online.target
    After=systemd-resolved.service

    EDIT:

    Du könntest auch in den hyperion.systemd evtl. auch ExecStartPre=dein script einbauen, vor ExecStart=/usr/bin/hyperiond, bzw. ExecStartPost=dein script nach ExecStart=/usr/bin/hyperiond


    ExecStartPre=, ExecStartPost=


    EDIT:

    Mit

    Code
    After=hyperion.@user.service

    sollte das aber auch funktionieren.


    gruß pclin

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    5 Mal editiert, zuletzt von pclin ()

  • Vielen Dank für die vielen Vorschläge. In einen bestehenden Service möchte ich ungerne reinschreiben - falls es nicht anders geht, mache ich das natürlich.


    Ich habe einiges von oben ausprobiert, leider ohne Erfolg.


    Auch habe ich versucht requires und after den von dir genannten Netzwerkservices. Leider ohne Erfolg - Fehler bleibt der Gleiche.

  • Code
    After=hyperion.@pi.service

    Da ist ein . zuviel

    After=hyperion@pi.service

    oder

    Requires=hyperion@pi.service


    mein Fehler...


    Code
    After=network-online.target
    Wants=network-online.target

    Kannst du dann auch weg lassen.


    gruß pclin


    EDIT:

    Bevor du den Service enable teste auch erst mal von Hand.

    Zuerst systemctl status hyperion@pi, dann deinen service starten und deinen service mit status abfragen.

    Wenn das funktioniert kannst du deinen Service enable und neustarten.

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    4 Mal editiert, zuletzt von pclin ()

  • Ich verstehe nicht, warum Linux immer so Rummgefrickel ist ;( Es wird alles eiskalt ignoriert und der Fehler bleibt - ich werd mal noch ein wenig googlen, wie man das wieder debuggen kann ...


    Vielen Dank trotzdem :)

  • Kleinen Moment noch, dann habe ich es am laufen


    gruß pclin


    So hat es jetzt bei mir funktioniert

    und im script

    Code: disable-hyperion
    sleep 10
    hyperion-remote -a localhost -D V4L
    hyperion-remote -a localhost -D LEDDEVICE


    EDIT:

    Den User kann man auch weglassen

    Code: hyperion-disable.service
    [Unit]
    Description=Service to disable hyperion LEDs and grabber on service startup
    Requires=hyperion@.service
    
    [Service]
    ExecStart=/bin/bash /home/pi/ambilight/webcli/scripts/disable-hyperion
    Type=oneshot
    
    [Install]
    WantedBy=multi-user.target



    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    8 Mal editiert, zuletzt von pclin ()

  • basteln

    Hast du das mal getestet?


    Es bleibt noch die Frage wofür du das brauchst.


    gruß pclin

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    Einmal editiert, zuletzt von pclin ()

  • Moin moin,

    nein noch nicht - heute Abend dann - ich versuche das Sleep noch irgendwie in den Service zu werfen.

    Naja, der Raspi läuft die ganze Zeit, sind noch andere Services drauf. Wenn ich ihn hochfahre und hyperion startet, aktiviert er gleichzeitig auch die LED und Grapper. Manche LED leuchten dann weiß, zudem muss hyperion ja nicht die ganze Zeit Input bekommen, wo garkein Ambilight gewollt ist.


    Deshalb habe ich einen kleinen Webservice geschrieben, welcher mit disable/enable das Ganze aktiviert/deaktiviert und der startup service nutzt eben eines der beiden Scripte.


    LG

  • Na dann könntest du den Autostart von Hyperion auch disabeln und den Hyperion Service nur starten/stoppen wenn du Ambilight benötigst.

    Das würde ja auch mit dem Webservice und Scripten funktionieren.


    gruß pclin


    ps.

    den Wert für sleep könntest du vermutlich auch noch reduzieren.

    Dreambox ONE / TWO

    dreamOS OE2.6

    Amlogic S922X - 53.000 DMIPS - 2 GB RAM - 16 GB Flash - Twin-DVB-S2X Tuner - HDR10 - HLG
    -
    AudioDSP: miniDSP 2x4HD - Amp: Pentagon - Lautsprecher ELAC / ARENDAL
    LG OLED65BX9LB (PicCap, hyperion.NG webOS)

    FireTV 4K max

    -
    hyperion (classic) & Plugin HyperionControl | hyperion-ng 2.0.16-beta.1 (dreamOS)
    Hyperion-ng (Debian bullseye)
    -
    6 x ESP32/Wemos D1 mini - WLED - SK6812 RGBW-NW 60 LEDs/m
    FeinTech VSP01201 - Grabber Macrosilicon

    LG TV Hyperion webOS & PicCap


    snoozer_likelinux_manvtkns.gif


    Ambilight for ever

    2 Mal editiert, zuletzt von pclin ()

  • Oki doki, ich habe eine Version hinbekommen die funktioniert :) Ich habe von oneshot geändert auf restart und lasse ihn limitiert mehrfach probieren.


    Vielen lieben Dank nochmal für die Mühe und das Nachstellen des Problems.


    LG

Jetzt mitmachen!

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