Alternative zur CEC-Steuerung

  • Hi Leute,


    da ja die CEC Steuerung nicht unbedingt mit jedem Tv Modell funktioniert, würde ich mir eine implementierung der Steuerung über IP wünschen. Bei meinem LG 55e6v funktioniert das Lautstärke weiterleiten an den TV über CEC leider nicht. Die Steuerung über eine Handy App geht einwandfrei. Habe auch hier bereits etwas gefunden


    https://www.symcon.de/forum/th…51-LG-TV-steuern-abfragen


    Wäre echt Spitze wenn man das dann so wie CEC nutzen könnte.


    Gruß Gerrit

  • ...machbar ist fast alles, nur mit welchen Aufwand...


    Naja, im einfachsten Fall kann Gerry6n diese Steuerung über einen Raspi mit FHEM-Server realisieren. Der FHEM mit dreambox-modul kennt automatisch Veränderungen der Lautstärke an der Dream, An/Aus-Events, Umschalt-Events u.v.m. Dann kann er daraufhin mit einer if..then...else-Rule den TV, AV-Receiver oder was auch immer steuern. Ein LGTV-WebOS-Modul gibt es ja.


    Ryker

    DM920UHD (seit 09.04.2019): 500GB SSD intern + QNAP extern, DVB-C FBC-Tuner

  • Hört sich ja abenteuerlich an ;-)
    Eine direkte Lösung wäre mir lieber aber wenn ich mal wieder Zeit habe werde ich mein Glück mal versuchen.
    Welchen FHEM Server könnt ihr denn empfehlen, würde ihn gerne auf meiner QNAP TS-453A laufen lassen.


    Greetz Gerry

  • Ich denke auch das ist ein gutes Feature für die Zukunft. Immer mehr TVs haben eine Funkfernbedienung anstatt Infrarot. Somit kann man die mit der Dream Fernbedienung gar nicht mehr bedienen.

  • Wäre interessant um den TV ausschalten zu können, da das per cec ja nicht geht.


    Mal schnell probiert, bekomme aber nur:


    Code
    1. DEBUG:pylgtv.webos_client:load keyfile from /home/lazyt/.pylgtv
    2. DEBUG:pylgtv.webos_client:getting client_key for 192.168.1.6 from /home/lazyt/.pylgtv
    3. DEBUG:asyncio:Using selector: EpollSelector
    4. DEBUG:pylgtv.webos_client:send command to ws://192.168.1.6:3000
    5. DEBUG:pylgtv.webos_client:command failed to connect to ws://192.168.1.6:3000

    Hat das schon jemand probiert? Habe von Python leider keinen Plan...


    Edit: Ah, man muss unter Netzwerk -> LG Connected Apps aktivieren

    Ich bin nicht faul sondern im Energiesparmodus!

    Edited once, last by LazyT ().

  • Also am PC funktioniert das soweit prima.


    Leider ist aber wohl Python ab 3.3 erforderlich und auf der Box ja nur 2.7 vorhanden, da wird das wohl leider damit so nix...

    Ich bin nicht faul sondern im Energiesparmodus!

  • Hiermit läuft es mit Python 2.7 auf meiner DM920: https://github.com/klattimer/LGWebOSRemote oder https://github.com/supersaiyanmode/PyWebOSTV


    Man muss sich 1x am TV anmelden (erzeugt "~/.lgtv.json" mit dem Key, kann man dann auch als "store = {"client_key": "<KEY>"} für PyWebOSTV nutzen)

    Code
    1. python lgtv.py auth <IP des TV>

    Danach kann man den TV einfach abschalten mit

    Code
    1. python lgtv.py off


    Leider kann ich kein Python programmieren, vielleicht findet sich jemand der ein Plugin daraus basteln könnte?

    Ich bin nicht faul sondern im Energiesparmodus!

    Edited 2 times, last by LazyT ().

  • Wie soll es denn gehen, wenn LG sich per CEC angeblich nicht steuern lässt?


    Ich bekomme leider nur

    Code
    1. Failed to open /dev/cec0: No such file or directory

    Ich bin nicht faul sondern im Energiesparmodus!

  • Habe mir nun doch schnell ein kleines Plugin geschrieben, welches den TV beim Standby/Shutdown ausschaltet. Ist momentan leider alles noch etwas kompliziert, aber läuft erstmal.


    Zunächst die für PyWebOSTV erforderlichen Pakete installieren falls noch nicht vorhanden:


    Code
    1. apt install python-requests

    Leider gibt es wohl keine Pakete für "python-ws4py" und "python-future", sodass wir zunächst das Paketverwaltungsprogramm für Python-Pakete installieren müssen:

    Code
    1. apt install pip

    Mit diesem können wir nun noch die 2 erforderlichen Pakete installieren:


    Code
    1. pip install ws4py
    2. pip install future

    Das angehängte Zip nach "/usr/lib/enigma2/python/Plugins/Extensions" extrahieren und dann die Box neustarten.


    Am TV unter Netzwerk "LG Connected Apps" aktivieren!


    Beim ersten schalten der Box in den Standy scannt das Plugin das Netzwerk nach LGTVs ab (dauert hier so ca. 15s). Hat es einen gefunden sollte am TV eine Abfrage erscheinen, welche per TV-Fernbedienung mit "Ja" zu bestätigen ist.


    Die IP und der Key werden in den Enigma2-Settings unter "/etc/enigma2/settings" als "config.plugins.LGTVPowerOff.ip" und "config.plugins.LGTVPowerOff.key" gespeichert. Sollte die automatische TV-Suche fehlschlagen einfach die IP dort manuell eintragen.


    Ab nun sollte sich der LGTV beim Standby und Herunterfahren ausschalten.


    Sollte etwas nicht laufen wie erwartet zur Fehlersuche

    Code
    1. journalctl -f | grep LGTV


    PS: Wie gesagt habe ich keine Ahnung von Python. Falls also irgendwas Quatsch ist bitte verbessern, Danke!

    Files

    Ich bin nicht faul sondern im Energiesparmodus!

    Edited once, last by LazyT ().

  • Hi,


    hab das Plugin eben mal testen können und erhalte leider folgenden Fehler siehe Anhang.

    PS: Hier musste ich PIP mit folgendem Befehl installieren:

    Code
    1. apt install python-pip

    Leider gibt es wohl keine Pakete für "python-ws4py" und "python-future", sodass wir zunächst das Paketverwaltungsprogramm für Python-Pakete installieren müssen:
    Code
    apt install pip


    Hat noch jemand eine Idee was hier falsch läuft?

  • Eigentlich wird immer alles interpretiert, wenn irgendwo importiert, was hier ja der Fall ist. Also eigentlich müsste die erstellt werden. Ausser natürlich, es gibt einen Fehler.

    Gruss
    Dre


    Boxen (im Einsatz): DM920, DM900, DMOne
    Developer Project Merlin - we are OpenSource

  • Hi dre,


    im log zeigt er folgendes:


    Jun 01 09:00:29 dm920 enigma2[2063]: File "/usr/lib/enigma2/python/Plugins/Extensions/LGTVPowerOff/pywebostv/connection.py", line 11, in <module>

    Jun 01 09:00:29 dm920 enigma2[2063]: from pywebostv.discovery import discover

    Jun 01 09:00:29 dm920 enigma2[2063]: ImportError: No module named pywebostv.discovery

    Jun 01 09:00:29 dm920 enigma2[2063]: skipping plugin.


    Aber die Datei discovery.py ist im Unterordner pywebostv vorhanden?