Abschaltung des HDMI-Ausgang am RaspberryPi 3 verhindern?

  • Hallo,

    ich möchte ein Problem angehen, dass mich schon seit längerem stört. Sachverhalt ist folgender:

    Ich habe einen Samsung UE46B6000 TV. An dem habe ich einen Raspberry Pi 3B hängen. Neben Kodi wird von dem Raspi auch eine Ambilight-Beleuchtung gesteuert.
    Raspi sowie alle Ambilight-Komponenten werden über ein eigenes 5V Schaltnetzteil gespeist. Der TV hängt separat am Stromnetz.

    Über HDMI-CEC kann ich den Raspberry zusammen mit dem Fernseher herunterfahren lassen.
    Standardmäßig wird vom Raspberry aber nicht unterstützt diesen auch über HDMI starten zu lassen wenn der Fernseher angeschaltet wird.
    Daher habe ich mir schon vor langer Zeit so einen tollen Stecker besorgt.
    Der USB-Stecker wird in eine freie Buchse am TV gesteckt. Die andere Seite auf bestimmte GPIO-Pins am Raspberry.
    Wird der TV eingeschaltet, werden damit auch die USB-Anschlüsse am Fernseher mit Strom versorgt. Das erkennt der in dem Stecker verbaute Chip und sendet ein Signal an den Pi, der ihn dann über die GPIO-Pins starten lässt.
    Das funktioniert erstaunlich gut und zuverlässig.

    Jetzt kommt das Problem:
    Der Samsung-TV gibt auf die USB-Anschlüsse auch im ausgeschalten Zustand ca. alle 15-20 Minuten einen kurzen Impuls in dem diese mit Spannung versorgt werden.
    Dadurch erhält der Raspberry das Signal zum starten.
    Mit dem Start des Raspberrys wird über die HDMI-CEC-Verbindung dann wiederrum der TV mit angeschaltet.


    Die "Lösung" besteht momentan darin, alle Komponenten über eine Steckdosenleiste laufen zu lassen, die nach dem Ausschalten des Fernsehers dann auch abgeschaltet wird.

    An der Stelle hätte ich nun gerne eine etwas elegantere Lösung.
    Meine Idee war eine Shelly einzusetzen, die das Schaltnetzteil mit den 5V-Komponenten erst dann einschaltet, wenn durch den Fernseher eine gewisse Last anliegt.
    Also mehr Last als im Standby eben, so dass die Shelly erkennt das der Fernseher angeschaltet wurde.
    Liegt die Last nicht mehr an, schaltet die Shelly die 5V-Komponenten wieder ab.

    Wäre so etwas möglich?
    Wenn ja, wie und mit welchen Komponenten wäre das am besten umzusetzen?
    Hat jemand vielleicht eine noch bessere Idee?

    Hätte auch noch 2 Shelly 1 hier die ich mir mal zum basteln und ausprobieren angeschafft hatte. Bisher ist das Thema aber noch ziemlich neu für mich.

  • https://www.amazon.de/gp/product/B00C255EQG?tag=kodinerds04-21 [Anzeige]

    Die, die ich noch bis 2019 gekauft habe hiessen noch "Master Slave". Die, die ich im Maerz gekauft habe heisst jetzt "Main Follow" *pffrrrt*.

    Du kannst so eine Main Follow funktion wahrscheinlich auch mit 2 Shelly's machen, aber Du kannst nicht direkt vom Main Shelly basierend auf Power consumption Threshold aus den Follow Shelly ein/ausschalten, ist nicht in der Firmware. Vielleicht gibts sowas bei Tasmota.. keine Ahnung. Bei Shelly musst Du halt einen controller dazu nehmen. Shelly Cloud oder irgend einen anderen. Home Assistant etc. pp.

  • Habe einfach nur Fernseher und Laptop/Raspberry an nem Powersafer hängen.

    Vorteil der schaltet alles ab wenn keine normale Last mehr ist. Also nach ausschalten TV über die Fernbedienung. Somit geht nach zwanzig Sekunden alles aus. Auch Standby vom TV.
    Wenn angeschalten werden soll, dann einfach über die Fernbedienung des TV.

    Hab aber gehört das es inzwischen schon modernere / kleinere Geräte gibt. Find ich nur grad nicht.

  • Master Slave Steckdose wäre auch meine Lösung. Oder halt ein zweiter Shelly der die Last mist vom Fernseher (und nur von dem) - bei überschreiten könnte man dann per Rule den zweiten Shelly einschalten..
    Alles frickelei. Bleib bei Idee 1.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

  • Die von Edelheizer empfohlene Steckdosenleiste ist es jetzt geworden.

    Nun hat sich aber ein neues Problem ergeben...

    Bisher war es so, dass der Stecker in die Steckdose gesteckt wurde und dann der TV mittels Fernbedienung einige Sekunden später angeschaltet wurde.
    Der Raspberry mit LibreElec (10.0.2) hatte somit ein paar Sekunden Zeit um vor dem Fernseher zu starten. Das hat gut funktioniert.

    Durch die Master-/Slave-Steckdose wird der Raspberry jetzt erst kurz nach dem TV gestartet.
    In der neuen Konstellation führt das offenbar dazu, dass der Raspberry seinen HDMI-Ausgang (warum auch immer) deaktiviert und das Bild dunkel bleibt.

    Hat hier jemand eine Idee?


    Erfolglos versucht habe ich schon in der config.txt einige Einträge hinzuzufügen:

    Code
    hdmi_force_hotplug=1
    hdmi_drive=2
    hdmi_ignore_edid=0xa5000080
  • Aeh...
    "frueher" lief der RPI hoch, und der TV war ausgeschaltet.. und das ging -> RPI schaltet HDMI ausgang ein.
    "jetzt" laeuft RPI hoch nachdem TV laeuft, und das geht nicht ?

    Nach der Logik, das der RPI den HDMI Ausgang ausschaltet, wenn er nichts daran erkennt muesste es doch genau andersrum sein, oder ?

    Ich glaube Du muesstest noch eine HDMI Aufloesung konfigurieren
    hdmi_mode=31
    hdmi_group=1

    Habs aber selbst noch nie probiert.

  • Nach der Logik, das der RPI den HDMI Ausgang ausschaltet, wenn er nichts daran erkennt muesste es doch genau andersrum sein, oder ?

    Das hätte ich auch erwartet.
    In der Praxis sieht es aber komischerweise anders aus.

    Die HDMI-Auflösung wollte ich bewusst nicht fest vorgeben, da ja nicht nur Full-HD-Inhalte mit dem Raspi wiedergegeben werden.

    btw:
    das Thema hier hat sich jetzt ja doch weit weg von der ursprünglichen Fragestellung entwickelt. Vielleicht kann der Thread ja verschoben werden.

  • Bist ja OP des threads. Einfach den Titel anpassen. Ansonsten warten, bis die Mods im Forum Gebuehren erheben koennen fuer solche Kundenwuensche (verschieben) ? ;)

    ich habe ja einen RPI3 mit OSMC hinter so eine Master Follow Steckdosenleiste (meine URL). Und da funktioniert das problemlos mit dem HDMI.

    Was passiert denn, wenn Du, nachdem der Fernseher an ist, mal direkt am RPI strom trennst und wieder verbindest ?

    Ansonsten mal gucken, was da im LibreELEC / Fernseher mit CEC gemacht wurde ? Ich havbe fuer CEC Probleme auch immer ein Schrott-HDMI Kabel ohne CEC Leitung, damit kann man gut CEC Probleme ausschliessen.

  • Die HDMI-Auflösung wollte ich bewusst nicht fest vorgeben, da ja nicht nur Full-HD-Inhalte mit dem Raspi wiedergegeben werden.

    Die sollte man aber schon auf FHD festlegen, da schon die GUI auf diese Auflösung skaliert werden sollte. Alles andere regelt die Whitelist.

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Die sollte man aber schon auf FHD festlegen, da schon die GUI auf diese Auflösung skaliert werden sollte. Alles andere regelt die Whitelist.

    OK, ich war in der Annahme die Auflösung ist dann fix egal was abgespielt wird und kann nicht mehr verändert werden.
    Hab jetzt den hdmi_mode=16 (1920x1080 / 60 Hz) festgelegt.

    Was passiert denn, wenn Du, nachdem der Fernseher an ist, mal direkt am RPI strom trennst und wieder verbindest ?

    Der Fernseher zeigt für ca. 1 Sekunde kurz das farbige Bootlogo (das noch vor dem Libreelec-Logo) und der TV zeigt an, dass die Auflösung auf die vorgegebene Auflösung geändert wurde.
    Anschließend wieder "Kein Signal".

    CEC-habe ich auch schon ausgeschlossen. Hat keinen Unterschied gemacht.


    So seltsam es auch klingt, aber hängt der Raspberry an der neuen Steckdosenleiste, schaltet er den HDMI-Ausgang kurz nach dem Start wieder ab.

  • Nochmal zur Wiederholung, weil ich's nicht glauben kann:

    Fernseher laeuft. RPI am HDMI des Fernsehers und an seinem eigenen Steckernetzteil.

    Du nimmst das RPI Netzteil aus der Master Follow steckdose und steckst es wieder rein. Was siehst Du am Fernseher.

    Du nimmst das RPI Netzteil wieder aus der Master Follow steckdose und steckst es in eine andere/separate steckdose (nicht follow steckdose). Was siehst Du jetzt am Fernseher.

    Wenns im zweiten Fall geht wuerde ich sagen, das die Master Follow steckdose einen Hau hat. Wenn nicht, dann der RPI oder sein Steckernetzteil.

    Oder ich hab den Hau ;)

  • Fernseher laeuft. RPI am HDMI des Fernsehers und an seinem eigenen Steckernetzteil.

    Fernseher läuft. RPI am HDMI des Fernsehers, RPI am 5-Volt-Netzteil das auch die Ambilight-Hardware mit versorgt.

    Du nimmst das RPI Netzteil aus der Master Follow steckdose und steckst es wieder rein. Was siehst Du am Fernseher.

    Ganz kurz das farbige Bootlogo sowie eine kurze Einblendung des Fernsehers, dass ein Eingangssignal mit 192x1080@60 Hz erkannt wurde. Eine Sekunde später dann wieder schwarzes Bild und "Kein Signal"

    Du nimmst das RPI Netzteil wieder aus der Master Follow steckdose und steckst es in eine andere/separate steckdose (nicht follow steckdose). Was siehst Du jetzt am Fernseher.

    Ganz kurz das farbige Bootlogo sowie eine kurze Einblendung des Fernsehers, dass ein Eingangssignal mit 192x1080@60 Hz erkannt wurde. Eine Sekunde später dann wieder schwarzes Bild und "Kein Signal"
    Also genau das selbe.


    Das Merkwürdige hier ist:
    An der Verkabelung, dem HDMI-Anschluss, den Kabeln an sich, dem Raspi oder dessen Konfiguration oder am TV und dessen Konfiguration hat sich rein garnichts geändert.
    einziger Unterschied in beiden Szenarien:
    Bisher wurden über eine herkömliche Steckdosenleiste alle Komponenten (RPI, Ambilight-Hardware, TV) gleichzeitig mit Strom versorgt. Somit konnte der RPI direkt starten während sich der TV noch im Standby befand. Kurz darauf wurde der TV mittel Fernbedienung angeschaltet -> Das Bild wird korrekt angezeigt
    Jetzt hängt der TV durchgängig im Standby und wird mit der Fernbedienung angeschaltet. Sobald er aus dem Standby erwacht starten auch die anderen Komponenten an der der Main-/Follow-Steckdose -> Es wird kein Bild angezeigt.

    Es scheint hier also irgendwo ein Timing-Problem zu geben, bzw. muss eine bestimmte Reihenfolge eingehalten werden damit der RPI ein Bild über HDMI ausgibt.
    Das Verhalten konnte ich sogar indirekt bestätigen:
    Zum Test habe ich alle Komponeten an der alten "dummen" Steckdosenleiste wie bisher gleichzeitig mit Strom versorgt. Dann den TV aber nicht mit der Fernbedienung angeschaltet, sondern direkt über die Einschalttaste am Gerät. Die paar Sekunden für den Griff zur Fernbedieung sind somit entfallen. Und siehe da: auch hier wurde kein Bild angezeigt.

    So wie es aussieht muss der RPI also zuerst laufen, und der TV darf erst einige Sekunden später aus dem Standby geholt werden.
    Das kann ich mit der Main-/Follow-Steckdose so aber nicht umsetzen.

    Jetzt bin ich auf der Suche nach Möglichkeiten wie ich den PRI dazu "überreden" kann trotzdem in jedem Fall den HDMI-Anschluss aktiv zu lassen und ein Bild auszugeben.

  • Problem gelöst!

    Das hier war die Lösung:
    https://wiki.libreelec.tv/configuration/edid

    Aufgrund des geänderten Timings hatte der RPI offenbar Probleme die EDID-Informationen des TVs auszulesen.
    Also habe ich die Komponeten wieder so verkabelt und in der Reihenfolge angeschaltet, dass ich wieder ein Bild hatte.
    Dann habe ich diese beiden Befehle über die Konsole abgesetzt:
    [successbox]getedid create
    edid-decode /storage/.config/firmware/edid/edid-HDMI-A-1.bin[/successbox]

    Damit wird eine Datei erzeugt, die alle EDID-Informationen enthält und lokal auf dem RPI gespeichert.

    Beim nächsten Start wird jetzt nicht mehr auf die EDID-Informationen vom TV gewartet und nach die HDMI-Ausgabe nach diesen gerichtet, sondern es wird immer die Information aus der abgespeicherten Datei genommen. Unabhängig davon ob und was für ein TV angeschlossen ist.

    Unter LibreELEC10 haben die hdmi_-Einträge in der Config.txt darüberhinaus offenbar auch keinen Einfluss mehr auf das Ausgabeverhalten des HDMI-Anschlusses.

  • Dass das so funktioniert, hatte mich zuerst gewundert, denn der verlinkte Wiki-Artikel bezieht sich sich generic X86 Geräte entweder mit Intel- oder AMD-GPU sowie Amlogic. Der Raspberry ist aber ARM. Auch ist nirgends die Rede von edid-decode. Da muss noch woanders mehr Info sein ;) .

    AZi (DEV): Nexus auf LibreElec | Asrock J4205 | 4 GB RAM | 128 GB Sandisk| Rii mini
    DEV: PC Ubuntu 20.04 | Matrix
    AZi: Tanix TX3 | Android/CoreElec Dualboot (EMMC), Nexus
    WoZi: Nexus auf LibreElec | Asrock J4205 | 4GB RAM | 128 GB Sandisk SSD | Atric IR | URC7960
    NAS: unRaid, 3x6TB, 2x12TB | TV-Server: Futro S550 mit Hauppauge QuadHD DVB-C
    PayPal: paypal.me/pvdbj1

  • Da muss noch woanders mehr Info sein .

    Stimmt [ah]

    Das hier hatte mich auf die Fährte gebracht als ich auf der Suche nach der Info war wie ich eine edit-Datei für den Eintrag hdmi_edid_file= in der Config.txt erhalte und wo die Datei abgelegt werden müsste:
    https://forum.libreelec.tv/thread/24144-l…6989#post156989

    Den decode-Befehl hatte ich dann von hier:
    https://forum.libreelec.tv/thread/23910-n…5254#post155254

    Der decode-Befehl ist aber nur zur Prüfung, was die EDID-Infos genau enthalten.
    Zur reinen Fehlerbehebung hätte der erste Befehl gereicht.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!