[82_LGTV_WebOS.pm] Modul für LG TV's mit WebOS

Begonnen von CoolTux, 08 Februar 2017, 00:02:58

Vorheriges Thema - Nächstes Thema

Sergu3i

Hallo,

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

Meine   currentApp: netflix

Serge

vitolinker

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 :-)

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

popeye1979

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

CoolTux

Zitat von: popeye1979 am 10 Februar 2017, 14:03:10
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

the ratman

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)
→do↑p!dnʇs↓shit←

CoolTux

Zitat von: the ratman am 10 Februar 2017, 14:20:15
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

vitolinker

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!

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

vitolinker

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... ;-)

CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

vitolinker


CoolTux

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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Zitat von: the ratman am 09 Februar 2017, 16:45:02
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.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net