Als wir jetzt den digitalen Schaukasten, wie ich ihn in einem früheren Beitrag beschrieben habe, realisieren wollten, hatten wir das Problem, dass der Monitor nach einer Stromabschaltung nur im Standby-Modus startete und nicht gleich mit dem Pi hochfuhr. Nach einem Studium des Handbuchs des Monitors fanden wir heraus, dass er einen CEC-Modus anbietet. Die Suche im Internet ergab, dass man damit dem Monitor vom Pi aus Kommandos zuschicken kann, wenn das richtige Kabel benutzt wird. Diese Fähigkeit heißt HDMI-CEC. CEC muss gglfs. auf dem angeschlossenen TV aktiviert werden. Achtung: Je nach Monitor/Fernseh-Fabrikat kann diese Eigenschaft jedoch auch anders benannt sein.
Zunächst installiert man die notwendige Software mit apt install cec-utils. Mit dem Befehl
echo 'scan' | cec-client -s -d 1
ermittelt man die per HDMI angeschlossenen Geräte. Da war bei uns zum einen 0.0.0.0 für den Pi und 1.0.0.0 für den Monitor. Es müssen also mindestens zwei Geräte aufgeführt sein. Wir mussten aber mehrere Kabel durchprobieren, bis wir dieses Ergebnis erhielten. Es besitzen nämlich nicht alle Kabel die CEC-Fähigkeit.
Danach kann man mit den Kommandos
echo 'on 1.0.0.0' | cec-client -s -d 1
bzw.
echo 'standby 1.0.0.0' | cec-client -s -d 1
den Monitor aus dem Standby-Modus aufwecken bzw auch in den Standby-Modus schicken. In einem Skript, dass beim Booten ausgeführt wird, führe ich den ersten Befehl mit einer geringen Zeittverzögerung aus, um zu gewährleisten, dass nach einer Stromabschaltung der Monitor hochgefahren ist, ehe das Skript vom Pi ausgeführt wird. Entsprechend gibt es ein Skript, das den Pi herunterfährt, ehe der Strom von einer Zeitschaltuhr abgestellt wird, um Schreibfehler auf den Pi zu verhindern.
Ausführliche Infos: https://pimylifeup.com/raspberrypi-hdmi-cec/