Autor Thema: [82_LGTV_WebOS.pm] Modul für LG TV's mit WebOS  (Gelesen 75867 mal)

Sergu3i

  • Gast
Hallo,

Bin Französich und finde FHEM echt toll....also danke für alles ;)

Meine   currentApp: netflix

Serge

Offline vitolinker

  • Full Member
  • ***
  • Beiträge: 103
Hallo an Alle!

Wow, bin überwältigt von dem Modul.

Mein Test mit LG 55eg9109: EDIT Version 0.0.30
Pairing auf anhieb problemlos
OK: Channel up, down
OK: Mute (nicht im LiveTV aber in anderen Apps; verwende allerdings AV Receiver mit optischem Audiokabel)
OK: Screen Message
OK: Volume up / down (kommt zumindest so im Fernseher an)
n/a: direkte Volumewahl, da optischer Ausgang ohne Lautstärke, bekomme im Log mit Verbose 5: "Corrected JSON String: {"type":"error","id":"request_1486663386.20606","error":"500 Application error","payload":{"returnValue":false,"errorCode":1,"errorText":"Could not validate json message against schema"}}"
not OK: direkte Channelwahl
OK: off (on geht nicht, weil auch WLAN aus ist)

Apps:
lovefilm.de (Amazon Prime bei mir)
youtube.leanback.v4
chilieu
de.2kit.castbrowsing (TV Cast)
com.webos.app.browser (FHEM GUI ;-))
com.webos.app.smartshare
com.webos.app.scheduler (Planer)
com.webos.app.miracast
com.webos.app.hdmi1
com.webos.app.hdmi2
com.webos.app.hdmi3
com.webos.app.externalinput.scart

Reading sehen auch gut aus.

Ich vermute, dass bei anderen Apps als LiveTV der Befehl ssap://tv/getCurrentChannel zu Application Error führt. Fängt sich aber wieder und im Log sieht sonst alles prima aus ohne Perl-Beschwerden. Also alles schön sauber programmiert :-)

Habe alles im Log mit Verbose 5. Wenn Bedarf besteht, gerne per PN.

Viele Grüße
Vitolinker :-)
« Letzte Änderung: 09 Februar 2017, 19:57:10 von vitolinker »
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
Ich habe soeben Version 0.0.40 hochgeladen.
- fix "error - 500 Application error"  sobald eine andere App als webos.TV gestartet ist
- lunchApp mit Appliste
- rename Readings

Wie geschrieben wurden Readings umbenannt, ich empfehle daher die alten Readings komplett zu löschen
deletereading DEVICENAME .*
aber bitte Vorsicht. Achtet genau darauf wie ihr es schreibt, sonst löscht ihr im schlimmsten Fall die Readings von allen FHEM Devices

Viel Spaß beim testen


Grüße
Leon


PS: Ich unterstütze kein Produkt des Axel Springer Medienverlages, daher keine Bild App. In einer späteren Version kann man das ja eh automatisch einlesen.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline popeye1979

  • New Member
  • *
  • Beiträge: 47
Moin. So Version 0.40 getestet.
Läuft.
Volume direkt geht nicht.

Kann man bei launchApp auch die Eingänge(HDMI1, 2 etc) mit aufnehmen oder sind das keine Apps?

Gesendet von meinem GT-I9505 mit Tapatalk

1 x Fritzbox 7490
1x Raspberry Pi B , CUL868
2 x ITL-500 Jalousiesteuerunng
1 FHT80B
MySensors USB Gateway, MySensor TemperaturSensor

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
Moin. So Version 0.40 getestet.
Läuft.
Volume direkt geht nicht.

Kann man bei launchApp auch die Eingänge(HDMI1, 2 etc) mit aufnehmen oder sind das keine Apps?

Gesendet von meinem GT-I9505 mit Tapatalk

Doch kann man, ich teste aber erstmal switchInput. Mal sehen ob das auch geht.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Online the ratman

  • Hero Member
  • *****
  • Beiträge: 1671
  • cosmoprolet & intelligenzdiabetiker
launchapp schaltet beim update der readings im overview das dropdown immer auf die aktuelle app. geht zwar, aber man muss flott sein *g*

hast du die channel readings entfern? nach dem readins delete kommen die nimma.

aja:
2017.02.10 14:57:02 1: PERL WARNING: Use of uninitialized value in hash element at ./FHEM/82_LGTV_WebOS.pm line 698.
2017.02.10 14:57:02 1: stacktrace:
2017.02.10 14:57:02 1:     main::__ANON__                      called by ./FHEM/82_LGTV_WebOS.pm (698)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_WriteReadings      called by ./FHEM/82_LGTV_WebOS.pm (613)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_ResponseProcessing called by ./FHEM/82_LGTV_WebOS.pm (526)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_Read               called by fhem.pl (3304)
2017.02.10 14:57:02 1:     main::CallFn                        called by fhem.pl (674)
2017.02.10 14:57:02 1: PERL WARNING: Use of uninitialized value within @_ in list assignment at fhem.pl line 4184.
2017.02.10 14:57:02 1: stacktrace:
2017.02.10 14:57:02 1:     main::__ANON__                      called by fhem.pl (4184)
2017.02.10 14:57:02 1:     main::readingsBulkUpdate            called by ./FHEM/82_LGTV_WebOS.pm (698)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_WriteReadings      called by ./FHEM/82_LGTV_WebOS.pm (613)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_ResponseProcessing called by ./FHEM/82_LGTV_WebOS.pm (526)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_Read               called by fhem.pl (3304)
2017.02.10 14:57:02 1:     main::CallFn                        called by fhem.pl (674)
« Letzte Änderung: 10 Februar 2017, 14:58:36 von the ratman »
→do↑p!dnʇs↓shit←

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
launchapp schaltet beim update der readings im overview das dropdown immer auf die aktuelle app. geht zwar, aber man muss flott sein *g*

hast du die channel readings entfern? nach dem readins delete kommen die nimma.

aja:
2017.02.10 14:57:02 1: PERL WARNING: Use of uninitialized value in hash element at ./FHEM/82_LGTV_WebOS.pm line 698.
2017.02.10 14:57:02 1: stacktrace:
2017.02.10 14:57:02 1:     main::__ANON__                      called by ./FHEM/82_LGTV_WebOS.pm (698)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_WriteReadings      called by ./FHEM/82_LGTV_WebOS.pm (613)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_ResponseProcessing called by ./FHEM/82_LGTV_WebOS.pm (526)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_Read               called by fhem.pl (3304)
2017.02.10 14:57:02 1:     main::CallFn                        called by fhem.pl (674)
2017.02.10 14:57:02 1: PERL WARNING: Use of uninitialized value within @_ in list assignment at fhem.pl line 4184.
2017.02.10 14:57:02 1: stacktrace:
2017.02.10 14:57:02 1:     main::__ANON__                      called by fhem.pl (4184)
2017.02.10 14:57:02 1:     main::readingsBulkUpdate            called by ./FHEM/82_LGTV_WebOS.pm (698)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_WriteReadings      called by ./FHEM/82_LGTV_WebOS.pm (613)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_ResponseProcessing called by ./FHEM/82_LGTV_WebOS.pm (526)
2017.02.10 14:57:02 1:     main::LGTV_WebOS_Read               called by fhem.pl (3304)
2017.02.10 14:57:02 1:     main::CallFn                        called by fhem.pl (674)

>>launchapp schaltet beim update der readings im overview das dropdown immer auf die aktuelle app. geht zwar, aber man muss flott sein *g*

Das muss ich mir mal anschauen. Die Channel Readings sollten eigentlich gehen, kann aber sein das ich da was übersehen habe beim ändern. Ich schaue es mir nachher im Code mal an.
Das mit den Inputs geht nicht ganz so wie ich wollte, aber ich habe einen anderen eleganten Weg gefunden. Da ja nun InputList funktioniert kann ich die Liste intern einlesen und dann als Auswahl bereit stellen. Kommt in den nächsten Versionen.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline vitolinker

  • Full Member
  • ***
  • Beiträge: 103
update zum Test mit 0.0.40:
Nach delete DEVICE .* musste neu gepaired werden. Hat aber geklappt.

OK: Volume up down mute
OK: Channel up down
OK: Launch app TV GUIDE, TV, Amazon, Youtube, ARDMediathek, Chilieu (heisst Chili.tv)
Not-OK: Launch app timemachine mit Fehler: received buffer data, start response processing: �~�{"type":"error","id":"request_1486742113.81179","error":"500 Application error","payload":{"returnValue":false,"errorCode":-101,"errorText":"\"com.webos.app.timemachine\" was not found OR Unsupported Application Type"}}
Not-OK: Volume direct: received buffer data, start response processing: �~�{"type":"error","id":"request_1486743124.37856","error":"500 Application error","payload":{"returnValue":false,"errorCode":1,"errorText":"Could not validate json message against schema"}}

Super, dass schon das App launching recht gut klappt :-)

Danke an alle, die hier mitmachen!

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
Danke fürs ausführliche testen. Das mit der Chili.tv mache ich noch richtig.


Grüße
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline vitolinker

  • Full Member
  • ***
  • Beiträge: 103
Habe mal etwas rumgesucht und eigentlich müssten die folgenden Kommandos auch funktionieren, oder?
Werden dir nur oben deklariert oder muss auch unten im Code noch etwas geändert werden? Die Funktionen erwarten keine Parameter:

my %lgCommands = (
...
            "3DOn"                      => ["ssap://com.webos.service.tv.display/set3DOn", "3d"],
            "3DOff"                     => ["ssap://com.webos.service.tv.display/set3DOff", "3d"],
            "3DStatus"                  => ["ssap://com.webos.service.tv.display/get3DStatus", "status3D"],
            "Play"                      => ["ssap://media.controls/play", "play"],
            "Stop"                      => ["ssap://media.controls/stop", "stop"],
            "Pause"                     => ["ssap://media.controls/pause", "pause"],
            "Rewind"                    => ["ssap://media.controls/rewind", "rewind"],
            "FastForward"               => ["ssap://media.controls/fastForward", "fastForward"],
);


EDIT:
Da brauchts noch die Validierung unten dazu:
...
    } elsif($cmd eq 'Play') {
        return "usage: Play" if( @args != 0 );

        $uri                                = $lgCommands{$cmd}->
  • ;

       
    } elsif($cmd eq 'Stop') {
        return "usage: Stop" if( @args != 0 );

        $uri                                = $lgCommands{$cmd}->
  • ;

       
    } elsif($cmd eq 'Pause') {
        return "usage: Pause" if( @args != 0 );

        $uri                                = $lgCommands{$cmd}->
  • ;

       
    } elsif($cmd eq 'Rewind') {
        return "usage: Rewind" if( @args != 0 );

        $uri                                = $lgCommands{$cmd}->
  • ;

       
    } elsif($cmd eq 'FastForward') {
        return "usage: FastForward" if( @args != 0 );

        $uri                                = $lgCommands{$cmd}->
  • ;     

...

Gut geraten ist halb gewusst... ;-)
« Letzte Änderung: 10 Februar 2017, 18:05:14 von vitolinker »

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
Das sind Hash Values. Die werden in der SetFn dann aufgerufen. Sind aber schon integriert in der Version die ich hier zu Hause habe. Gibt es heute Abend eventuell in Git
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline vitolinker

  • Full Member
  • ***
  • Beiträge: 103
cool, dachte ich könnte etwas Fleißarbeit abnehmen...

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
Ist lieb, aber würde wenig abnehmen. Wenn dann wäre es als Patch gut. Aber danke Dir. Allein Deine Bemühung kann auch Fehler im Code aufdecken. Verschreibe mich manchmal gerne.


Grüße
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 17166
com.webos.app.smartshare - smartshare     
lovefilm.de - amazon prime
com.webos.app.tvguide - programmführer
com.webos.app.discovery- youtube
com.webos.app.browser - webbrowser
com.webos.app.timemachine - timemachine

sonst verwend ich leider nix - bin also eher weniger hilfreich

Timemachine habe ich so übernommen. Kann mal bitte einer schauen ob sich unser Ratman da vertippt hast.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
kein Support für cfg Editierer

Offline vitolinker

  • Full Member
  • ***
  • Beiträge: 103
ok, bin dran...