seit wenigen Tagen bin ich stolzer Besitzer eines RaspberryPIs Ambilight Systems
Da ich Handwerklich nicht begabt bin, war das zusammen "Löten" ein graus, aber dank der Hilfe meiner Freunde habe ich es zum laufen bekommen.
Nach dem zusammen bau und dem einrichten stelle sich mir die Frage: Irgendwie muss sich Ambilight ja auch zusammen mit dem Fernsehe ein und ausschalten lassen?!
Und hier kamen mir dann meine Programmier "kenntnisse" zu gute.
Dank Google bin ich dann auf folgende Seite gestoßen: https://www.raspberrypi.org/forums/viewtopic.php?f=75&t=97492
Und mit Hilfe des dort veröffentlichen Codes als Vorlage habe ich mir jetzt "kurz" ein Script zusammen geschrieben welches im Hintergrund alle X Sekunden die CEC Verbindung zum Fernsehe checkt.
Ist der Fernsehe eingeschalten, wird Ambilight eingeschalten sofern es noch nicht eingeschalten ist.
Ist der Fernsehe ausgeschalten, wird Ambilight ausgeschalten sofern es noch nicht ausgeschalten ist.
Hier 2 kleine Videos die mein Script kurz Demonstrieren:
http://sendvid.com/rl735gkk (war eine der ersten Versionen welche per Putty getestet wurde)
http://sendvid.com/32obrblf (zeigt die fertige Funktionalität)
(ich werde in den kommenden Tagen noch mal ein ausführliches Video Hochladen)
P.S. Ich frag mich grad echt warum noch keiner so etwas realisiert hat? ^^
INFO: Das Script verbraucht 0-0.1% CPU Leistung. Ist also sehr sparsam
Getestet habe ich es an einem Sony BRAVIA KDL-55W805B Fernseher in Kombination mit der Sony HT-XT1 Soundbar.
Sollte es bei euch zu Problemen kommen oder nicht richtig Funktionieren.....tzja dann weiß ich auch nicht weiter ^^ hehe ^^
Dürft auf jeden Fall dann mal in den Thread Posten was genau nicht geht, vllt. finden wir ja den Fehler / eine Lösung.
INFO - WICHTIG: Das Script verhindert aktuell das man die Kodi CEC Funktionen (zu finden unter: Einstellungen -> System -> Eingabegeräte -> Geräte -> CEC Adapter) nicht benutzen kann, da mein Script die CEC Leitung blockiert.
Wer diese Funktionen aber e nicht benutzt, kann das Script problemlos nutzen.
An einer Lösung für dieses Problem wird bereits gearbeitet
!!! ANLEITUNG - TEIL 1 !!!
Folgende Datei runterladen (beinhaltet "ambilight-cec-demon.sh" und "autostart.sh")
Die Datei "ambilight-cec-demon.sh" in den Ordner "Configfiles" kopieren.
Die Datei "autostart.sh" (sofern noch nicht vorhanden) in den Ordner "Configfiles" kopieren.
Wenn bei euch die "autostart.sh" bereits vorhanden ist und den Befehl:
Code: Alles auswählen
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json > /dev/null 2>&1 &
enthält, ersetzt diesen durch:
Code: Alles auswählen
#Den alten Hyperion Befehl brauchen wir nicht mehr:
#/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json > /dev/null 2>&1 &
#Dafür haben wir ja jetzt den neuen CEC-Demon:
/storage/.config/ambilight-cec-demon.sh /storage/.config/hyperion.config.json > /dev/null 2>&1 &
Denn den AutoStart von Hyperion übernimmt jetzt das neue CEC-Demon Script.
Standard wird jetzt die "hyperion.config.json" geladen.
Wenn ihr beim Start lieber direkt den Externen Grabber Aktivieren wollt, könnt ihr hier natürlich auch die "hyperion.config.grabber.json" angeben (sofern vorhanden).
In der Datei "ambilight-cec-demon.sh" gibt es folgende Konfigurations möglichkeiten:
Code: Alles auswählen
#Alle Angaben beziehen sich auf Sekunden
CheckTime=15 #In welchem Rhythmus soll kontrolliert werden? Ich Empfehle zwischen 15 und 60 Sekunden
WaitTimeAfterStop=10 #Wie lang soll nach dem Stopen von Ambilight gewartet werden? Würde ich bei 10 Sekunden belassen.
WaitTimeAfterStart=10 #Wie lang soll nach dem Starten von Ambilight gewartet werden? Würde ich bei 10 Sekunden belassen.
CheckTime gibt die Zeit in Sekunden in welchem Rhythmus die CEC Verbindung und damit euer Fernseher Status überprüft werden soll. Hier würde ich einen Wert von 15-60 Sekunden Empfehlen.
WaitTimeAfterStop und WaitTimeAfterStart geben die Sekunden an, wie lang das Script nach dem Starten / Stoppen von Ambilight warten soll bis es weiter macht. Würde ich bei 10 Sekunden belassen. Ist für User aber eigentlich auch Uninteressant, da sie das nicht bemerken.
Wenn euer Raspberry nun Eingeschaltet wird, Startet das CEC-Demon Script, welches euch Ambilight Aktiviert und dann alle X Sekunden im Hintergrund die CEC-Verbindung zu eurem Fernseher überprüft.
Geht der Fernseher aus, wird Ambilight ausgeschalten, geht der Fernseher an, wird Ambilight wieder eingeschalten.
!!! ANLEITUNG - TEIL 2 !!!
Teil 2 ist eine Abänderung des Ambilight Favouriten Mod so das er jetzt mit dem neuen CEC-Demon Script zusammen Arbeitet.
So könnt ihr Ambilight & den CEC-Demon jederzeit selber Starten und Stoppen und die Quelle wechseln (Kodi oder HDMI Quelle).
Folgende Datei runterladen (beinhaltet "favourites.xml", "hyperion_beenden.sh", "hyperion_grabber_aktivieren.sh" und "hyperion_kodi_aktivieren.sh")
Die Dateien "hyperion_beenden.sh", "hyperion_grabber_aktivieren.sh" und "hyperion_kodi_aktivieren.sh" in den Ordner "Userdata" kopieren. Bereits vorhandene Dateien überschreiben.
Die Datei "favourites.xml" (sofern noch nicht vorhanden) in den Ordner "Userdata" kopieren.
Wenn bei euch die "favourites.xml" bereits vorhanden folgendes Einfügen (sofern noch nicht vorhanden):
Code: Alles auswählen
<favourites>
<favourite name="Ambilight für Kodi aktivieren" thumb="http://powerpi.de/wp-content/uploads/powerpi/powerpi_ambi_thumb_kodi.jpg">System.Exec("/storage/.kodi/userdata/hyperion_kodi_aktivieren.sh")</favourite>
<favourite name="Ambilight für externe Geräte aktivieren" thumb="http://powerpi.de/wp-content/uploads/powerpi/powerpi_ambi_thumb_hdmi.jpg">System.Exec("/storage/.kodi/userdata/hyperion_grabber_aktivieren.sh")</favourite>
<favourite name="Ambilight ausschalten" thumb="http://powerpi.de/wp-content/uploads/powerpi/powerpi_ambi_thumb_off.jpg">system.exec("/storage/.kodi/userdata/hyperion_beenden.sh")</favourite>
</favourites>
Jetzt habt ihr die Möglichkeit Ambilight und das CEC-Demon Script über die Favouriten Funktion. An- und Ausschalten, sowie von Kodi zur HDMI Quelle wechseln.