unRaid S3 Sleep Plugin - darkside40 Edition

  • Moin Leute,
    so lange habe ich mich drum gedrückt, nun habe ich es getan. Ich habe das Dynamix S3 Sleep Plugin ordentlich quasi geforked, gepatched, ein neues Logo eingefügt (ggf. Browser Cache leeren) und neu verpackt.

    Für alle die die Geschichte nicht kennen warum ich das getan habe:
    Im März 2018 wurde das Plugin vom derzeitigen Maintainer um einen weiteren Check ergänzt welcher den Plattenstatus überprüft. Dazu wurde das Tool hdparm verwendet, dies funktioniert aber nicht zuverlässig, zumindest nicht bei mir und einigen anderen Nutzern hier im Forum und in der unRaid Community.

    Ich habe daraufhin den entsprechenden Teil wieder rausgeworfen so das der HDD check auf Version 3.0.4 des Sleep Scripts basiert, und der funktioniert bei mir seit 1 1/2 Jahren wunderbar.
    Leider hat sich seitdem am original Plugin nichts geändert obwohl ich mehrfach angeregt habe das ganze zu fixen, auch auf die Probleme andere User mit dem Plugin geht der Author im original Thread nicht mehr ein: https://forums.unraid.net/topic/34889-dynamix-v6-plugins/

    Lange Rede kurzer sinn sinn für mich hat dieses vorgehen nun zwei Vorteile:
    1. Ich muss mich nicht mehr damit rumärgern irgendwas händisch umzukopieren um meine Version des Plugins zu laden
    2. Ich muss keinen schiss haben das ich mir aus versehen eine kaputte Version installiere.

    Für alle die meine gepatchte Version des Plugins verwenden wollen hier eine kleine Anleitung (ist nicht im CA Plugin enthalten):

    Neuinstallation:
    Einfach in die unRaid Webgui gehen Plugins-> Install Plugin und dort folgende URL eingeben https://raw.githubusercontent.com/bjoerns1983/S3…ix.s3.sleep.plg
    Install drücken, danach unter Settings -> Sleep Settings das Plugin nach den eigenen Vorstellungen konfigurieren. Fertig.

    Wechsel vom Original Plugin:
    Hier hat man zwei Möglichkeiten entweder man deinstalliert das alte Plugin, installiert das gepatchte und richtet dieses dann neu ein
    oder man geht folgenderweise vor:
    1. Sleep Plugin in seiner Settings page auf disabled setzen
    2. Per SSH auf den unRaid einloggen und die Datei /boot/config/plugins/dynamix.s3.sleep/dynamix.s3.sleep.cfg wegsichern
    3. Das alte Plugin unter dem Plugins Tab deinstallieren
    4. Das neue Plugin mit folgender URL installieren: https://raw.githubusercontent.com/bjoerns1983/S3…ix.s3.sleep.plg
    5. Config zurückspielen
    6. ggf. Browser Cache löschen (neues Icon)
    7. Sleep Plugin in seiner Settings page auf wieder aktivieren

    Wenn es Fragen gibt einfach posten.

    Edit: 12.04.2020:
    Es gibt inzwischen ein Beta Repo, da kommen dann neue Funktionen und Fixes für die Leute rein die testen wollen:
    Das Plugin muss dafür deinstalliert werden (vorher Config sichern) und dann mit folgender PLG wieder installiert werden:

    https://raw.githubusercontent.com/bjoerns1983/S3…ix.s3.sleep.plg

    Edit: 26.01.2021

    User von unRaid 6.9 müssen auf jeden Fall das Beta Repo nutzen! Nur da sind bisher die Fixes für unRaid 6.9 drin.

    Edit: 19.05.22

    Im Master Repo ist jetzt auch eine Version für 6.10

  • Verdammt, wenn ich das vorher gewusst hätte, hätte ich mich mit dir kurzgeschlossen, habe dein Plugin auch noch bisschen erweitert, weiß aber nicht mehr durch was genau ^^
    wenn ich aus dem Urlaub bin, schreibe ich dir mal, Bzw schicke dir mein Plugin, ggf. hälst du, was ich noch eingebaut habe, ebenfalls für sinnvoll und erweiterst dein Plugin.


    Und, anderes Thema, ich habe mir auch so eine Art „anacron“ geschrieben, da quasselt ich dich mal an, wie ich dafür eine tolle Oberfläche basteln kann, damit es leichter zu konfigurieren ist.

  • Verdammt, wenn ich das vorher gewusst hätte, hätte ich mich mit dir kurzgeschlossen, habe dein Plugin auch noch bisschen erweitert, weiß aber nicht mehr durch was genau ^^
    wenn ich aus dem Urlaub bin, schreibe ich dir mal, Bzw schicke dir mein Plugin, ggf. hälst du, was ich noch eingebaut habe, ebenfalls für sinnvoll und erweiterst dein Plugin.

    Ich weiss wir hatten damals deshalb schon kontakt

    Ich fände in dem S3 Plugin noch eine Überprüfung der CPU Last gut, so wie in dem Plugin von OMV. ;)

    Erwarte nicht zuviel, ich habe es nur neu verpackt.

  • was sollen denn die Bedingungen für die CPU Last sein?

    würde theoretisch wie bei OMV schon ausreichen.... das ist das glaube ich so geregelt, dass man einen Prozentsatz definiert, der in einem bestimmten Zeitraum, den man ebenfalls definiert, nicht überschreiten darf ;)

    95% aller Computerfehler sitzen vor dem Bildschirm!

  • @darkside40 kann ich irgendwie die Zeit für die Aktivität der Netzwerkprüfung anpassen? Aktuell wird ja jede Minute gecheckt. Würde es gern auf 5 Minuten oder so stellen.

    Hintergrund:
    Meine Tochter streamt von Emby per Android App ihre Serien auf den TV (dlna). Manchmal kommt es vor, dass zwischen den Folgen der Server in den Sleep geht, ich denke weil die Netzwerkaktivität dann zu gering oder gleich null ist.

  • Du kannst doch die Gesamtzeit (Extra Delay) BIS der Server in Sleep/aus geht einstellen.
    Sprich, 30 Minuten, dann macht er 30x die Netzwerküberprüfung, oder 60 Minuten, dann hat sie halt 60 Minuten Zeit zwischen dem Streamen.
    nachteil eben, der Server wartet immer diese 60 Minuten bis er aus geht.

  • Das hab ich zurzeit auf 15 Minuten stehen. Hmm muss ich mal schauen.

    Was mir noch aufgefallen ist:
    Obwohl ich per Emby irgendwas streame, steht dann nach einiger Zeit im sleep plugin [definition='1','0']log[/definition], das alle hdds runter gefahren sind. Aber die grüne Lampe vor der entsprechenden Festplatte ist noch grün.

    Evtl liegt es ja auch mit daran. Denn solange eine zu überwachende Festplatte aktiv ist, sollte der Standby ja auch verhindert werden.

  • Das Problem mit den Streams deiner Tochter würde ich wirklich durch das Extra Delay after array inactivity regeln. In der Regel ist es ja so das das Plugin ersteinmal wartet bis alle Platten runter gefahren sind und dann dieses Extra Zeit nimmt. Das sollte normalerweise reichen.

    Wenn du etwas von einer Platte streamst dann sollte die Platte auch laufen, das WebIf von unRaid ist da ziemlich ungenau, es nutzt für die anzeige nämlich den Mechanismus den ich beim Plugin wieder rausgepatched habe, da dieser eher unzuverlässig arbeitet.

  • Aber das mit dem Streamen von/bei Emby habe ich ebenfalls...
    Könnte es mir nur so vorstellen, dass er die Datei dann erstmal in den RAM kopiert, die gerade gestreamt wird, und deshalb die HDDs inaktiv sind, denn auch das S3 Sleep Log sagt nicht dass die HDDs während des streamens aktiv sind, sondern dass er wach bleibt, wegen Netzwerkaktivität (welche ja normal erst gepürft wird, wenn HDD inaktiv sind).

  • Ja genau, daher war ich so verwundert, dass im Log steht, dass er wegen Netzwerkaktivität wach bleibt. Obwohl ich ja eine Datei von einer Festplatte, die überwacht wird ansehe.

    Bei meinem Odroid C2 ist das ja kein Problem. Da gebe ich einfach die IP an, die überwacht werden soll. Aber bei TV oder ähnlichen ist das dann nicht so von Vorteil.

  • @darkside40 wenn du magst, kannst du ja mal vergleichen, hab hier zu Hause kein Dateivergleicher...

    Woran ich mich erinner ist: ich hab mehr [definition=12,9]logging[/definition] hinzugefügt, und die Reihenfolge irgendwie / irgendwas verändert....
    und heute hab ich noch den Check der Netzwerkaktivität geändert, zuerst auf vorhandene PCs / IPs, dann SSH, dann TTY, und erst dann die Netzwerkaktivität (Netzwerklast)


  • @darkside40
    Irgendwie scheint die Überwachung der Platten nicht richtig zu funktionieren. Ich habe bei den Platten 30min eigestellt, bevor sie runterfahren sollen und im Sleep Plugin auch noch mal 30min.
    Aber laut Sleep [definition='1','0']log[/definition] gehen die Platten schon nach ein paar Minuten in den sleep, wenn ich über emby etwas ansehe und danach beginnt ja schon die extra Zeit vom sleep plugin (hier im [definition='1','0']log[/definition] zum Test nur 3min.)

    Hier zum Test habe ich um 22:57 Uhr einen Film auf Emby gestartet und 23:04 sagt mir das Plugin, alle Platten wären runtergefahren. Kann das denn sein?
    Heute hatte ich auch selber das Problem, dass der Server mitten im Film in den sleep gegangen ist, obwohl ich bei Network idle threshold low traffic eingestellt habe.

  • @darkside40 hattest du schon Zeit zu vergleichen?

    Ich hab in meiner Version auch die Reihenfolgen geändert.
    Grad wenn ich mir das Log unRaid S3 Sleep Plugin - darkside40 Edition hier ansehe...

    Quasi Original Ablauf:
    HDD check, wenn keine Aktivität der HHD, dann
    --> extra Delay coundown
    Wenn Countdown auf 0: Dann der communication check
    ==> ergibt quasi, wenn in dem einen einzigen Durchgang beim Communication check KEINE aktivität erfolgt, geht der Server in Standby/aus, fertig

    Ablauf bei mir:
    HDD Check, wenn keine Aktivität, dann
    Communication Check, wenn keine Aktivität, dann
    --> Extra Delay Countdown
    Und wenn dann der Countdown auf 0, dann geht er erst aus, sprich, man hat x Minuten Zeit, irgendeine Communication zu starten / zu erkennen.
    ==> Vorteil bei diesem Ablauf, er geht nicht direkt nach dem ersten Durchlauf des Communication check in Standby, soltle gerade dann einmal keine COmmunication stattgefunden haben.


    hoffe es ist einigermaßen verständlcih :D

  • @darkside40 wie genau mache ich das? Kommandozeile ist nicht gerade meine Stärke.

    @AcidRain die kleine Anpassung gefällt mir. Ich glaube, dass ist eine gute Idee. Wäre cool, wenn @darkside40 das in seinem Plugin anpassen könnte.
    Damit wäre zB auch das Problem gelöst, wenn man kurz mal auf Pause drückt um sich ein Bier zu holen und in der Zwischenzeit ist der Server im Sleep, weil keine Communication stattgefunden hat. :D


    Könnte ich das schon irgendwie testen?

  • Ja kein Stress. Muss ja nicht sofort sein.
    Sonst habe ich das Problem auch nie, aber ein Tablet oder speziell Fire Stick kann ich ja nicht über die IP überwachen, weil die ja immer on sind. Es sei denn, ich ziehe beim Stick zb den Stecker oder nutze eine smarte Steckdose zum ein / ausschalten.

Jetzt mitmachen!

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