Modul für aktuelle LG-TVs?

Begonnen von oxident, 09 September 2013, 21:38:33

Vorheriges Thema - Nächstes Thema

Markus Bloch

Hallo destogl,

genau aus dem Grund warum bei Werner das Modul nicht geladen werden kann, ist bei FHEM immer der allgemeine Rat an Modulentwickler so wenig wie möglich an Perl Modulen zu verwenden.

Um einen "Zufallsstring" zu erhalten kann man auch folgende Möglichkeit nutzen:

    $hash->{WS_KEY} = encode_base64(gettimeofday());

Dadurch erspart man sich die Abhängigkeit zu String::Random.

Was genau hast du an HtttpUtils abändern müssen, damit dein Modul funktioniert?

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

vitolinker

Hallo zusammen,

danke für die Arbeit hieran. Leider bekomme ich die gleichen Fehlermeldungen wegen dem Random String.

Viele Grüße
vitolinker

destogl

#287
Hallo zusammen,

@Markus: Danke für den Tipp. Ich schaue mal ob möglich ist Random::String richtig auszulassen.
Bezüglich HttpUtils habe ich ein bisschen Header-Parameter geändert und die Ausgabe vom Header ermöglicht, da in ersten Schritt ich nur Header und nicht Daten Brauche. Manche änderungen sind ggf. nicht notwendig, aber Momentan ist mir wichtigste funktionierendes Modul zu bekommen, danach schaue ich genau die Änderungen.

@Werner und vitolinker: fallst ihr testen wolltet und macht euch momentan nichts aus eine neue Bibliothek zu installieren, installiert bitte libstring-random-perl, es existiert bereits in Standard-repositorien.

Entschuldige, dass ich diese Abhängigkeit nicht betont habe, allerdings habe ich schon in Header der Datei geschrieben.

UPDATE: Ich habe noch eine Fehler im Modul gefunden, sodass FHEM abstürzt. Bitte diese Version zum Test verwenden.


destogl

Zitat von: Markus Bloch am 23 November 2016, 18:12:56
Was genau hast du an HtttpUtils abändern müssen, damit dein Modul funktioniert?

Eigentlich ich musste es ändern, da es über WebSockets handelt. Man konnte evtl. eine zusätzliche Bibliothek dafür verwenden, aber das wäre wahrscheinlich auch keine Lösung.

Mehr details: http://showmetheco.de/articles/2011/2/diving-into-html5-with-websockets-and-perl.html
WebSocket Bibliothek: https://metacpan.org/pod/Protocol::WebSocket

destogl

Hallo zusammen,

ich habe erste Version des Moduls gebastelt. Es gibt keine mehr Abhängigkeit zum Custom-HttpUtils.

Man kann jetzt folgendes:

1. Verbiendung prüfen
2. Pairen (Man muss am Fernseher bestätigen)
3. Mitteilungen an Fernseher schicken (man muss erstmal pairen)
4. Fernseher ausschalten.

Viel Spaß und in nächsten Tagen kommt weiteres,

Denis

vitolinker

Hallo Denis,

habe einen 55EG9109 und folgendes erfolgreich durchgeführt:
- standard httputils.pm
- neue 82_LGTV_IP14.pm  aus dem letzten Post #289 ins FHEM-Verzeichnis kopiert
- defined mit define WZ_TV_IP LGTV_IP14 192.168.nnn.mm 3000

Im GUI nach shutdown und restart erfolgreich pairen können. Am Fernseher habe ich die Verbindungsanfrage akzeptiert.
Message konnte ich erfolgreich am TV anzeigen lassen.
Auschalten funktionierte bei mir nicht. Log zeigt Fehler.
Volume auf 4 setzen funktionierte bei mir nicht. Log zeigt Fehler.

Wir sind schon ein schönes Stück weiter. Bringen dich die Fehlermeldungen im Log weiter?
Log für Ausschalten
2016.11.25 17:43:24 3: LGTV_IP14 (WZ_TV_IP) - Sucessfull WS connection to 192.168.180.36:3000
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $string in substitution (s///) at ./FHEM/82_LGTV_IP14.pm line 464.
2016.11.25 17:43:24 3: LGTV_IP14 (WZ_TV_IP) - Using known key: [key]
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $cmd in concatenation (.) or string at ./FHEM/82_LGTV_IP14.pm line 427.
2016.11.25 17:43:24 2: LGTV_IP14 (WZ_TV_IP) - Sending command
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $payloadLength in numeric gt (>) at ./FHEM/82_LGTV_IP14.pm line 523.
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $payloadLength in numeric gt (>) at ./FHEM/82_LGTV_IP14.pm line 536.
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $payloadLength in addition (+) at ./FHEM/82_LGTV_IP14.pm line 542.
2016.11.25 17:43:24 1: PERL WARNING: Use of uninitialized value $payloadLength in numeric lt (<) at ./FHEM/82_LGTV_IP14.pm line 569.
2016.11.25 17:43:24 2: LGTV_IP14 (WZ_TV_IP) - Command response: e

Log für Volume auf 4:
2016.11.25 17:43:58 3: LGTV_IP14 (WZ_TV_IP) - Using known key: [key]
2016.11.25 17:43:58 2: LGTV_IP14 (WZ_TV_IP) - Sending command {"client-key":"[key]","type":"request","id":"set_volume","uri":"ssap://audio/setVolume","payload":{"volume":"4"}}
2016.11.25 17:43:58 2: LGTV_IP14 (WZ_TV_IP) - Command response: {"type":"error","id":"set_volume","error":"500 Application error","payload":{"returnValue":false,"errorCode":1,"errorText":"Could not validate json message against schema"}}

Bei Volume 4 habe ich geraten, welcher Wert übegeben werden soll. Wie steuerst du das Volume?

Viele Grüße
vitolinker

AmunRe

Hi, danke für das Modul!


Sieht schon mal klasse aus.

Kann es sein das Du es nicht "non-blocking" gebaut hast? Es funktioniert zwar, aber es hängt jetzt alles sehr doll, wenn der TV aus ist.


Leider zeigt auch attr disable 1 keine wirkung, nicht implementiert?
4 x Echo Dot, HMLAN Gateway, und diverse HM Komponenten, Philips Hue + OSRAM Plugs

hartenthaler

Ich habe einen LG-Fernseher, der ein Jahr alt ist, und habe es mit diesem Modul mal probiert. Nach der definition des Devices habe ich fhem einmal neu gestartet und dann das Pairing leider erfolglos versucht. Beim Aufruf von get WZ_TV_IP pair erscheint zwar eine Meldung zur Bestätigung des Zugriffs auf dem Fernseher aber auch sofort ein fhem-pop-up Fenster mit "Error", so dass die Bestätigung auf dem TV dann nichts mehr bringt. Folgende Fehlermeldungen habe ich gefunden (die xxx stammen von mir):

2016.12.03 01:10:52 3: LGTV_IP14 (WZ_TV_IP) - Sucessfull WS connection to 192.168.2.xxx:3000

2016.12.03 01:10:52 3: LGTV_IP14 (WZ_TV_IP) - Sending LG handshake:
{"type":"register","id":"register_0","payload":{"forcePairing":false,"pairingType":"PROMPT","manifest":{"manifestVersion":1,"appVersion":"1.1","signed":{"created":"20140509","appId":"com.lge.test","vendorId":"com.lge","localizedAppNames":{"":"FHEM LG Remote","de-DE":"FHEM LG Fernbedinung"},"localizedVendorNames":{"":"LG Electronics"},"permissions":["TEST_SECURE","CONTROL_INPUT_TEXT","CONTROL_MOUSE_AND_KEYBOARD","READ_INSTALLED_APPS","READ_LGE_SDX","READ_NOTIFICATIONS","SEARCH","WRITE_SETTINGS","WRITE_NOTIFICATION_ALERT","CONTROL_POWER","READ_CURRENT_CHANNEL","READ_RUNNING_APPS","READ_UPDATE_INFO","UPDATE_FROM_REMOTE_APP","READ_LGE_TV_INPUT_EVENTS","READ_TV_CURRENT_TIME"],"serial":"xxx"},"permissions":["LAUNCH","LAUNCH_WEBAPP","APP_TO_APP","CLOSE","TEST_OPEN","TEST_PROTECTED","CONTROL_AUDIO","CONTROL_DISPLAY","CONTROL_INPUT_JOYSTICK","CONTROL_INPUT_MEDIA_RECORDING","CONTROL_INPUT_MEDIA_PLAYBACK","CONTROL_INPUT_TV","CONTROL_POWER","READ_APP_STATUS","READ_CURRENT_CHANNEL","READ_INPUT_DEVICE_LIST","READ_NETWORK_STATE","READ_RUNNING_APPS","READ_TV_CHANNEL_LIST","WRITE_NOTIFICATION_TOAST","READ_POWER_STATE","READ_COUNTRY_INFO"],"signatures":[{"signatureVersion":1,"signature":"xxx"}]}}}
2016.12.03 01:10:52 2: LGTV_IP14 (WZ_TV_IP) - LG Handshake Response
DATA:
{"type":"response","id":"register_0","payload":{"pairingType":"PROMPT","returnValue":true}}
2016.12.03 01:10:52 2: LGTV_IP14 (WZ_TV_IP) - ERROR getting Client-Key
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

HB86

Hallo,

wird das Modul "82_LGTV_IP14.pm" noch weiter entwickelt?
Wäre sehr daran interessiert.

Grüße

CoolTux

Habe das Modul mal getestet. Anbindung klappt. Messages klappt, Volume aber nicht.
Habe ein LG 49LF6309-ZA


Grüße und bitte weiter entwickeln
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Habe mir das ganze mal in Ruhe im Code angesehen. Ich rate von der Verwendung des Modules ab. Es blockiert und es fehlen wichtige FHEM Routinen. Entfernen eines Devices bringt FHEM zum Beispiel zum Absturz.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

destogl

Hallo zusammen,

in letzten Wochen hatte ich leider wenig Zeit das Modul weiter zu entwickeln. Ich habe mal alle Funktionen vom lgtv2, aber ich habe allerdings selbst entdeckt, das gewisse rechte nicht richtig zugewiesen werden deswegen kann man z.B. nicht Lautstärke einstellen. Da jetzt ein Paar ruhigere Tage kommen, hoffe ich noch ein Stück weiter zu kommen.

@CoolTux: Das alles was du sagst mag sein, da Modul ist Meilen vom Fertig entfernt. Das hier ist nur eine Version, sodass Leute Testen können und Feedback geben können. Es ist ja hoffentlich klar das man Test-Module nicht auf produktive FHEM-Instanz installiert. Das mit Blockieren ist ein guten Punkt, das muss ich mir anschauen nach installiert. ch die Geschichte mit den Rechten verstehe.

Grüße,

Denis

micky0867

Zitat von: micky0867 am 22 November 2016, 19:59:57
Mein 55LA7909-ZA scheint seit einiger Zeit spontane Reboots zu machen.
Bild kurz weg, LG-Symbol leuchtet auf, Bild wieder da.

Ich bin mir nicht sicher, ob es was mit dem Fhem Modul zu tun hat, haber in einem anderen Forum von Problemen mit Plex und dlna gelesen.
Habe ihn jetzt erstmal wieder aus Fhem entfernt.

Werde berichten, falls er jetzt doch noch bootet.
Ich könnte ja auch berichten, wenn er nicht mehr bootet.
Genau so ist es: er bootet nicht mehr.

Micky

Zage

Hallo zusammen,
Gibts schon ein Update zum Modul?

VG
Zage

destogl

Meinerseits, leider noch nicht. Ich habe zwar etwas gemacht, aber es ist noch nicht besser als letzte Version.

Leider bin ich jetzt in letzte Phase der Wohnungsbau und es gibt Paar wichtigere Sache (Heizung- und Dachfenstersteuerung)...

Wenn ich etwas brauchbares habe, werde ich das veröffentlichen.

VG,

Denis