So, nun erstmal meine Werte vom Autoshutdown-Plugin unter OMV:
- ULDL-Rate: 40 -> Nicht getestet und Standardwert. Meine Clients inkl. RasPis werden halt ausgeschaltet.
- HDD-I/O: 101 -> Bei höheren Werten schläft der Server bei SD-Aufnahmen leider ein.
Wegen dem Schalter am RasPi:
Wenn du keine externen Festplatten am RasPi hast und auch keinen WLAN-Stick, also nicht am USB-Port hängt (außer evtl. ein Empfänger für eine FB) dann kann ein USB-Port vom TV den Pi locker mit Strom versorgen! Läuft bei mir tadellos.
Wenn jedoch WLAN oder Festplatte dranhängt reicht die Stromversorgung nicht mehr aus! Muss man halt testen.
Im Zweifel einfach eine Funksteckdose dazwischen klemmen?! Wäre die einfachste Lösung.
Nun zum Autostart-Skript.
Das Skript verhindert den Start des kompletten Kodi-Systems solange bis der Server via Ping erreichbar ist oder Zeitspanne X abgelaufen ist. (Kann man im Skript hinterlegen).
So ist eben KEIN Neustart von Kodi nötig. Kodi startet erst wenn der Server auch wach ist und alles kann geladen werden.
Läuft bei mir reibungslos auf mehreren Clients mit Openelec und Kodibuntu.
Der Start von Kodi verzögert sich zwar um ca. 30Sekunden, aber das ist verschmerzbar wenn alles automatisch geweckt wird.
Sollte der Server bereits laufen wenn Kodi gestartet wird verzögert sich der Start nur um 1-2 Sekunden.
Du musst im Skript noch folgende Angaben auf deine Gegebenheiten anpassen:
- IP-Adresse des Servers (Zeile 34)
- MAC-Adresse des Servers (Zeile 50)
- Wenn du keine Fritzbox hast evtl. den NTP-Server ändern ("Fritz.box" Zeile 36). Einfach einen Server deiner Wahl nehmen, weiß aber nicht ob das überhaupt nötig ist!
Das Skript wird folgendermaßen eingebunden:
Openelec:
In den Openelec-Settings SMB-Freigaben aktivieren.
Mit der SMB-Freigabe "Configfiles" mit Openelec verbinden.
Das Skript unter dem Namen "autostart.sh" hinterlegen.
Fertig.
Danach kann die SMB-Freigabe wieder deaktiviert werden wenn gewünscht.
Kodibuntu:
Das Skript auf dem System hinterlegen. z.B. /home/*username*/autostart.sh
Skript ausführbar machen: chmod +x /home/*username*/autostart.sh
Dann in der Konsole eingeben: sudo crontab -e
Dort dann eingeben: @reboot /home/*username*/autostart.sh
So wird das Skript bei jedem Start aber auch bei jedem Reboot ("Reset") ausgeführt.
Zur Info: Das Skript stammt nicht von mir, ich habe es auch nur kopiert! Ich habe das Skript von nerdoskop.wordpress.com heruntergeladen, dort ist das Skript selbst auch sehr viel genauer erklärt. (Er nutzt es eigentlich für eine Synology NAS, aber das ist egal). Quellenangabe ist auch im Skript enthalten!
Hier das Skript:
exec /usr/bin/python -x "$0" "$@"
# Wake-On-LAN
#
# Copyright (C) 2002 by Micro Systems Marc Balmer
# Written by Marc Balmer, marc@msys.ch, http://www.msys.ch/
# Modified by saarnu for nerdoskop.wordpress.com
# This code is free software under the GPL
import struct, socket, time, os
def WakeOnLan(ethernet_address):
# Construct a six-byte hardware address
addr_byte = ethernet_address.split(':')
hw_addr = struct.pack('BBBBBB', int(addr_byte[0], 16),
int(addr_byte[1], 16),
int(addr_byte[2], 16),
int(addr_byte[3], 16),
int(addr_byte[4], 16),
int(addr_byte[5], 16))
# Build the Wake-On-LAN "Magic Packet"...
msg = '\xff' * 6 + hw_addr * 16
# ...and send it to the broadcast address using UDP
time.sleep(5)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
s.sendto(msg, ('<broadcast>', 9))
s.close()
hostname = "192.168.1.109" # IP-Adresse des Servers
response = os.system("ping -c 1 " + hostname)
tttest = os.system("/usr/sbin/ntpdate fritz.box")
#and then check the response...
if response == 0:
print hostname, 'is up! Booting directly'
time.sleep(1)
else:
print hostname, 'is down! Trying again...'
while response != 0:
print 'Host still down.'
time.sleep(5)
response = os.system("ping -c 1 " + hostname)
print 'Host up now. Please wait another 20 seconds'
time.sleep(20)
WakeOnLan('11:A1:11:AA:A1:A1') # MAC-Adresse des Servers
Alles anzeigen