Moin,
ich bin noch relativer Anfänger und bastele an einem seniorengerechten Videotelefoniesystem. Dabei habe nun ein sehr spezielles Problem.
Vorrede: Raspberry Pi 3 B+, aktuelles Buster-OS, HDMI an Sony Bravia KDL-40RD455 von 2017, Video über Jitsi im Chromium-Browser. Da sind alle Schwierigkeiten überwunden. Projektbeschreibung folgt in irgendeiner Form, sobald alles läuft.
Das Ziel ist, dass die Oma nur einen Taster auf dem Raspi-Gehäuse hat, der das System hochfährt und alles startet. Das funktioniert soweit. Der Taster wird von einem Python-Skript im Hintergrund überwacht und fährt das System auch wieder runter, wenn er erneut gedrückt wird. Das Skript soll den Fernseher auf den vorherigen Sender umschalten und den Raspi sicher runterfahren.
Ich nutze die CEC-Utils und habe mich von folgendem Artikel "beraten" lassen: Using cec-client on a Raspberry Pi
Beim Hochfahren schicke ich on 0 (umgesetzt als echo 'on 0' | cec-client -s -d 1), was den Fernseher ggf. aus dem Standby aufweckt.
Danach kommt unmittelbar as, um den Fernseher auf den HDMI-Port zu schalten, an dem der Raspi hängt.
Das funktioniert beides.
Beim Herunterfahren sollte eigentlich einfach is dem Fernseher mitteilen, das vom Raspi kein Signal mehr kommt. Nach meinem Verständnis sollt der Fernseher dann auf die vorherige Signalquelle zurückschalten. Das tut er nicht. Ein Workaround funktioniert allerdings: echo 'tx 10:9D:10:00' | cec-client -s -d 1 . Der macht genau das, was der erste Befehl tun sollte. Damit könnte ich fertig sein...
Oma schafft es aber, den Fernseher mit der Fernbedienung in Standby zu versetzen, während der Raspi noch läuft. Danach funktioniert das "inaktiv"-Setzen des Raspi-HDMI nicht mehr wie zuvor, weil der Fernseher "vergessen hat", was für eine Signalquelle er vor dem Raspi angezeigt hat. Inaktiv oder nicht, der HDMI-Eingang bleibt weiter aktiv. Nun ist sie völlig aufgeschmissen, weil sie am Fernseher die Signalquellen nicht ändern kann. Super-GAU: Der Fernseher bleibt schwarz! 
Hier kommt also meine Quizfrage: Wie kann ich per CEC die Signalquelle am TV ändern und auf den Digitaleingang des TV schalten? Ich habe das Fernsehermodell angegeben, glaube aber, dass das Problem allgemeiner Natur ist und nicht speziell am Fernsehermodell liegt.
Probiert habe ich schon echo 'tx 1F:82:00:00' | cec-client -s -d 1 Das sollte im Prinzip dem CEC-Bus mitteilen, dass das aktive Signal der Fernseher ist. Es funktioniert nicht und ich vermute, dass es daran liegt, dass der Fernseher da nicht als eigene Signalquelle angesehen wird, da er mit einem analogen und einem digitalen Signal schon zwei eigene Quellen hat. Ich habe noch einiges mehr ausprobiert, aber das war ein wenig wahllos. Den (Fernseh-) Tuner auf einen speziellen Kanal umzuschalten funktioniert nicht, würde aber möglicherweise auch nicht die Signalquelle umschalten. Per scan sehe ich alle CEC-Geräte und weiß daher, dass ich beim Fernseher nicht mehrere Quellen habe.
CEC ist sehr speziell. Vielleicht hat sich schon jemand damit beschäftigt und kann mir einen Tip geben, der mich weiter bringt. Vielleicht denke ich falsch, wie CEC funktioniert?! Vielleicht weiß auch jemand, wo ich weiter forschen kann. Google war nicht so hilfreich...
Vielen Dank im Voraus!
PuMa