Mediaserver steuern

Im Keller ist seit ca. 6 Jahren Ein DELL Server als Mediaserver im Einsatz. In diesem Post geht es um die Einbindung des aktuellen Status des Mediaservers in Home Assistant (HA) inkl. der Möglichkeit den Server auch manuell über die HA App zu starten – natürlich auch remote von unterwegs und ohne notwendige Portweiterleitungen etc.

Mediaserver mit PLEX

Aus Gründen der Performance für das Transcoding von Filmmaterial hatte ich mich bewusst gegen ein fertig konfektioniertes NAS entschieden und einen Server auf Basis von Ubuntu + VDR + PLEX aufgebaut. Der Server wird durch VDR automatisch gestartet (Timer des Videorecorders) und auch wieder „schlafen gelegt“.

Wie ich den Mediaserver im Keller im Detail aufgebaut habe, werde ich in einem gesonderten Post beschreiben. Heute geht es ausschließlich um die Integration mit HA. Neben HA selbst wird nur noch eine Messsteckdose für den Server benötigt. Außerdem ist eine Änderung im BIOS des Servers vorzunehmen und ein „Helferlein“ zum Tracken des Status anzulegen. Natürlich sind auch Automatisierungen notwendig. Aber dazu später mehr.

BIOS Einstellungen

Im BIOS des DELL Servers habe ich die Power-Einstellungen geändert. Nach einem „Stromausfall“ fährt der Server automatisch hoch. Dies ist schon deshalb gewollt, um die Timer des Videorecorders (VDR) nach einem Stromausfall neu setzen zu können. Für den Zusammenspiel mit HA mache ich mir das zunutze, indem ich den „Stromausfall“ mit der Schalt-/Messsteckdose „simuliere“. Und das geht folgendermaßen.

Status „Mediaserver“ mit Hilfe eines „Helfers“ tracken

Es wird ein Helfer vom Typ „Umschalten“ (input_boolean) neu angelegt. Dieser Helfer wird auf dem Dashboard zum Anzeigen des Serverstatus aber auch zum manuellen Starten des Servers verwendet.

Automatisierung / Helfer

Auf dem Dashboard kann das dann so aussehen:

Leistung messen um Status zu setzen

Als Schalt-/Messsteckdose kommt bei mir eine von Devolo zum Einsatz. Es geht aber natürlich auch jede andere. Um den „Status Mediaserver“ zu setzen, kommen zwei Automatisierungen zum Einsatz, die den Status auf Basis der aktuellen Leistungswerte (current … W..) tracken. In meinem Fall sieht die Leistungskurve so aus.

Leistungskurve des Mediaservers

… im Mittel so um die 60 W – was für einen leistungsfähigen Server nicht mal so schlecht ist… Wenn der VDR den Server „in den Schlaf schickt“, geht der Verbrauch auf 0 W zurück.

Automatisierungen für den Status

  • Automatisierung Mediaserver on: Eine Leistungsänderung über 100 W löst das Setzen des Status auf „on“ aus, wenn der aktuelle Status „off“ ist.
  • Automatisierung Mediaserver off: Eine Leistungsänderung unter 5 W für 1 min löst das Setzen des Status auf „off“ aus, wenn der aktuelle Status „on“ ist.

Manuelles Ein-/Ausschalten via Dashboard

Naja, das Ausschalten über das Dashboard soll eigentlich überhaupt nicht möglich sein. Immerhin schaltet sich der Server (via VDR) automatisch aus.

Deshalb habe ich eine Automatisierung konfiguriert, die im – ungewollten – Fall des manuellen Ausschaltens den aktuellen Status prüft und bei über 20 W Leistung den Status wieder auf „on“ setzt. Damit werden die „Fehleingaben“ von Benutzern korrigiert 😉

Im Gegensatz dazu ist das manuelle Einschalten des Servers gewollt. Man möchte z.B. einen Film via PLEX anschauen …

Dafür verwende ich eine zusätzliche Automatisierung, die das Einschalten des Servers auch von unterwegs möglich macht. Aufgrund eines Testdurchlaufs hatte ich festgestellt, dass der Strom länger als eine Minute weg sein muss, andernfalls funktioniert das automatische Hochfahren nach „Stromausfall“ nicht. Deshalb sieht die Automatisierung wie folgt aus.

Wenn ein Benutzer über das Dashboard den Status des Servers auf „on“ setzt.

  • Wird geprüft, ob die Leistung des Servers unter 1 W liegt.
  • Falls dies der Fall ist, wird die Steckdose ausgeschaltet und eine Info (notify) verschickt, dass der Server in ca. 5 min zur Verfügung steht.
  • Nach 1 Minute und 10 Sekunden wird die Steckdose wieder eingeschaltet und der Server fährt aufgrund der BIOS Einstellung hoch

Screnshoots der Automatisierung:

Screenshot des Auslöser in Home Assistant
Auslöser
Screenschot Bedingung
Bedingung
Screenshot Aktion Home Assistant
Aktion 1
Screenshot Aktion Home Assistant
Aktion 2

Fazit: Damit lässt sich der Server auch von unterwegs jederzeit starten und ihr habt den aktuellen Status immer „im Auge“.