Die Antwort war, die kommende software wird das können....leider ist Neo schon in alter gekommen und kann das immer noch nicht, und mediola sagte es wurde ein
LGTV plugin kommen, auch schon lange her, mit dieser aussage. In einem thread habe ich beschrieben wie man es mit einem webserver und php steuern kann.
Einige haben es heruntergeladen, aber es gibt kein feedback Nun ist auch egal, mir hat die ganze LGTV sache keine ruhe gelassen und gestern habe ich den modul
im neo namens xnm.aio.lg.js, welches sich im programmverzeichniss unter node_modules befindet:
Da ich kein 2011 modell habe sondern 2012, habe ich mir den code angesehen und einen fehler festgestellt, code ist schon so gemacht das auch 2012 modell gehen sollte
nur fehlt eine funktion die den code umschalten sollte falls es sich um 2012 modell handelt.
Wenn man die deviceinfo für lgtv betrachtet wird für ein tv als tcptype=lgtv eingetragen, für einen BRplayer sollte tcptype=lgav sein.
Obwohl im js code ein lgtv2012 abschnitt ist und ich den auch eingetragen habe als tcptype, wird damit ein BRplayer erkannt und die eigentlich implementierte funktion
zum pairing und befehle senden (die url wird nicht gewechselt zur: controlUrl="/roap/api/command -für kommandos senden, bzw. zur authentifizierung url: /roap/api/auth)
funktioniert nicht.
Um es kurz zu machen für die, die es sowieso nicht verstehen werden, es ist mit einer kleinen anpassung diese js datei, möglich den pairing key im neo anzuzeigen, den eintragen im geräte manager
und danach befehle aus der deviceinfo zu senden.
in der ersten zeile der originale js datei befindet sich dieser code:
Code: Alles auswählen
this.controlUrl="/hdcp/api/dtv_wifirc";this.authUrl="/hdcp/api/auth"
wer einen 2012 modell hat sollte jetzt die originale js datei sichern, also in einen ordner, falls was schief geht um das original zu haben
und dann mit einem editor, am windows notepad+ am mac z.b. mit textwrangler öffnen und oberes so tauschen
Code: Alles auswählen
this.controlUrl="/roap/api/command";this.authUrl="/roap/api/auth"
Falls neo läuft beenden und die datei speichern.
Jetzt dieses in deviceinfo editor eintragen/einfügen
Code: Alles auswählen
<device id="lg_tv" name="LG TV" tpl="320x460:228:3381@3|1024x748:239:3385@3" icon="xtv" upnptype="generic" tcptype="lgtv">
<key id="channelUp" code="27"/>
<key id="channelDown" code="28"/>
<key id="volumeUp" code="24"/>
<key id="volumeDown" code="25"/>
<key id="mute" code="26"/>
<key id="play" code="33"/>
<key id="pause" code="34"/>
<key id="stop" code="35"/>
<key id="rewind" code="37"/>
<key id="fastForward" code="36"/>
<key id="record" code="40"/>
<key id="up" code="12"/>
<key id="down" code="13"/>
<key id="left" code="14"/>
<key id="right" code="15"/>
<key id="home_menu" code="21"/>
<key id="ok/enter" code="20"/>
<key id="exit" code="412"/>
<key id="PG_info" code="45"/>
<key id="back" code="23"/>
<key id="ExtInput" code="47"/>
<key id="liveTV" code="43"/>
<key id="QuickMenu" code="405"/>
<key id="channelList" code="50"/>
<key id="1" code="3"/>
<key id="2" code="4"/>
<key id="3" code="5"/>
<key id="4" code="6"/>
<key id="5" code="7"/>
<key id="6" code="8"/>
<key id="7" code="9"/>
<key id="8" code="10"/>
<key id="9" code="11"/>
<key id="0" code="2"/>
<key id="-" code="76"/>
<key id="red" code="31"/>
<key id="green" code="30"/>
<key id="yellow" code="32"/>
<key id="blue" code="29"/>
<key id="TTxt" code="51"/>
<key id="SIMPLINK" code="411"/>
<key id="APPS" code="417"/>
<key id="AV_MODE" code="29"/>
<key id="EPG" code="44"/>
<key id="POWER" code="1"/>
<key id="EXT_INPUT" code="29"/>
<key id="3D" code="400"/>
</device>
hier die befehle:
Code: Alles auswählen
TV_CMD_POWER, 1
TV_CMD_NUMBER_0, 2
TV_CMD_NUMBER_1, 3
TV_CMD_NUMBER_2, 4
TV_CMD_NUMBER_3, 5
TV_CMD_NUMBER_4, 6
TV_CMD_NUMBER_5, 7
TV_CMD_NUMBER_6, 8
TV_CMD_NUMBER_7, 9
TV_CMD_NUMBER_8, 10
TV_CMD_NUMBER_9, 11
TV_CMD_UP, 12
TV_CMD_DOWN, 13
TV_CMD_LEFT, 14
TV_CMD_RIGHT, 15
TV_CMD_OK, 20
TV_CMD_HOME_MENU, 21
TV_CMD_BACK, 23
TV_CMD_VOLUME_UP, 24
TV_CMD_VOLUME_DOWN, 25
TV_CMD_MUTE_TOGGLE, 26
TV_CMD_CHANNEL_UP, 27
TV_CMD_CHANNEL_DOWN, 28
TV_CMD_BLUE, 29
TV_CMD_GREEN, 30
TV_CMD_RED, 31
TV_CMD_YELLOW, 32
TV_CMD_PLAY, 33
TV_CMD_PAUSE, 34
TV_CMD_STOP, 35
TV_CMD_FAST_FORWARD, 36
TV_CMD_REWIND, 37
TV_CMD_SKIP_FORWARD, 38
TV_CMD_SKIP_BACKWARD, 39
TV_CMD_RECORD, 40
TV_CMD_RECORDING_LIST, 41
TV_CMD_REPEAT, 42
TV_CMD_LIVE_TV, 43
TV_CMD_EPG, 44
TV_CMD_PROGRAM_INFORMATION, 45
TV_CMD_ASPECT_RATIO, 46
TV_CMD_EXTERNAL_INPUT, 47
TV_CMD_PIP_SECONDARY_VIDEO, 48
TV_CMD_SHOW_SUBTITLE, 49
TV_CMD_PROGRAM_LIST, 50
TV_CMD_TELE_TEXT, 51
TV_CMD_MARK, 52
TV_CMD_3D_VIDEO, 400
TV_CMD_3D_LR, 401
TV_CMD_DASH, 402
TV_CMD_PREVIOUS_CHANNEL, 403
TV_CMD_FAVORITE_CHANNEL, 404
TV_CMD_QUICK_MENU, 405
TV_CMD_TEXT_OPTION, 406
TV_CMD_AUDIO_DESCRIPTION, 407
TV_CMD_ENERGY_SAVING, 409
TV_CMD_AV_MODE, 410
TV_CMD_SIMPLINK, 411
TV_CMD_EXIT, 412
TV_CMD_RESERVATION_PROGRAM_LIST, 413
TV_CMD_PIP_CHANNEL_UP, 414
TV_CMD_PIP_CHANNEL_DOWN, 415
TV_CMD_SWITCH_VIDEO, 416
TV_CMD_APPS, 417
Aufpassen das genau das ersätzt wird wie ich es beschrieben habe.
Wenn alles geht diese js datei auch sichern, wenn neuere versionen von neo kommen wird sie überschrieben, später wieder einfach dort einfügen!
!!!!Diesen teil unten benutzen, falls euer tv ab 2012 ist oder aktueller ist und nicht mit der anpassung wie oben beschrieben geht!!!!!!
!Nicht getestet von mir!
Hier http://www.kixass.net/2015/10/lg-tv-schakelen/
habe ich noch ein php script gefunden welches andere urls zur auth und comman senden benutzt, allerdings benutzt dieses script auch ganz andere xml daten:
ich gehe davon aus dass es neuere oder aktuelle lgtvs steuert
Nach diesem php code musste man die zeile von oben so ändern:
Code: Alles auswählen
this.controlUrl="/roap/api/command";this.authUrl="/roap/api/auth"
Code: Alles auswählen
this.controlUrl="/udap/api/command";this.authUrl="/udap/api/pairing"
auch in oberen zeile des js datei befindet sich einmal das:
Code: Alles auswählen
AUTHKEY_REQ='<?xml version="1.0" encoding="utf-8"?><auth><type>AuthKeyReq</type></auth>'
in dem neuerem php script sieht es aber so aus
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?<envelope><api type="pairing"><name>showKey</name></api></envelope>
Code: Alles auswählen
AUTHKEY_REQ='<?xml version="1.0" encoding="utf-8"?<envelope><api type="pairing"><name>showKey</name></api></envelope>'
so für die identifizierung wird dieser teil vervendet
original:
Code: Alles auswählen
AUTH_REQ='<?xml version="1.0" encoding="utf-8"?><auth><type>AuthReq</type><value>%@</value></auth>'
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?hello'.$pairkey.'0'
Code: Alles auswählen
AUTH_REQ='<?xml version="1.0" encoding="utf-8"?hello'%@'0''
allerdings gibt es in fhem forum eine andere auth xml version für diese tv
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?><envelope><api type="pairing"><name>hello</name><value>'.$paringkey.'</value></api></envelope>
Code: Alles auswählen
AUTH_REQ='<?xml version="1.0" encoding="utf-8"?><envelope><api type="pairing"><name>hello</name><value>%@</value></api></envelope>'
Die erste änderung oben funktioniert mit meinem 2012 model und der deviceinfo die ich drunter gepostet habe.
Hier noch für modelle ab 2014-15 für mediola Programmierer als info
https://www.npmjs.com/package/lgtv
Wenn jemand es testet bitte feedback geben
Gruss