Hallo!
Es wäre prima wenn jemand es schaffen könnte, die aktuellen TV-Modelle von LG anzusteuern. Im Gegensatz zu den vorherigen Serien haben diese keine serielle Schnittstelle mehr ... dafür lässt sich aber eine Menge via SOAP/XML "erledigen". Ein diesbezügliches Python-Script findet man z. B. hier (//github.com/ubaransel/lgcommander/blob/master/lg_2012_commander.py).
Vielleicht könnte auch das VIERRA-Modul als Basis verwendet werden...
Hallo,
ich bin neu hier im Forum und wollte das Thema noch mal nach oben holen. Ein Modul für LG TVs per Netzwerk wäre super! :)
Gruß
Siggi
Habe zu dem Thema das hier gefunden:
Auf diesem Link (http://developer.lge.com/resource/tv/RetrieveDocDevLibrary.dev) nach UDAP suchen. Das sollten meines Erachtens die notwendigen Informationen sein, um ggf. ein Modul zu entwickeln. Vielleicht findet sich ja ein interessierter Developer. :)
Ich biete mich natürlich auch gerne als Betatester an!
Hier noch ein Link (http://forum.loxone.com/showthread.php?t=4876) zu einem Forenbeitrag in dem die Funktionsweise solch eines Moduls für Loxone erklärt wird.
Sehr schön - ich würde mich auch riesig freuen wenn hier jemand die arbeit aufnimmt, ich bin leider nicht in der lage solch komplexe vorgänge zu programmieren... kann mich aber auch beim testen beteiligen...
Hallo zusammen,
damit dies nicht in Vergessenheit gerät, möchte ich dies noch einmal hoch holen. Auch ich wäre sehr interessiert und selbstverständlich als BetaTester gerne dabei.
Ich habe nun Tagelang versucht einen Samsung SmartTV zu integrieren in fhem. Sieht ja nicht so problematisch aus, bis ich feststellen musste das mein alter TV ein Samsung Smart gewesen ist, der neue ist aber ein LG :o da kann man das natürlich lange versuchen ... doch zu lange vor der Kiste gesessen ohne Gehirn einzuschalten :-)
Grüsse, Ralf
Zitat von: Kakaomonster am 14 März 2014, 13:28:11
bis ich feststellen musste das mein alter TV ein Samsung Smart gewesen ist, der neue ist aber ein LG :o da kann man das natürlich lange versuchen ... doch zu lange vor der Kiste gesessen ohne Gehirn einzuschalten :-)
Sehr geil! Ich bin also nicht der Einzige der ab und an aufm Schlauch steht. ;D
Mal schauen, vielleicht findest sich noch ein Entwickler mit eigenem LG TV. Ich gebe die Hoffnung nicht auf. ;)
Ähm, ich hatte da mal was zusammengestückelt vor langer Zeit,
obs für die aktuelle Reihe noch geht bzw. überhaupt ging keine Ahnung.
Schaut einfach mal...
Hallo HolyMoly,
kannst Du uns noch ein paar Details liefern? Mit welchem Gerät hast du das Modul erstellt? Wie kommuniziert das Modul? Geht das über den Ethernet Anschluss? Gibt es eine Doku?
Hi Lolo,
das Modul wurde für LG 47LK950S entwickelt. Es kommuniziert in einem SOAP artigen Protokoll per Ethernet/Wlan.
Probiers mal mit
define <name> LGTV2011 <host>
dann sollte er einen pairing code anzeigen.
dann
set <name> pair <code>
wenn das pairing geklappt hat kannst du per
set <name> <command>
befehle ausführen.
Eine liste an möglichen befehlen ist:
status_bar=>35,
quick_menu=>69,
home_menu=>67,
premium_menu=>89,
installation_menu=>207,
factory_advanced_menu1=>251,
factory_advanced_menu2=>255,
power_off=>8,
sleep_timer=>14,
left=>7,
right=>6,
up=>64,
down=>65,
select_cmd=>68,
back=>40,
exit_cmd=>91,
red=>114,
green=>113,
yellow=>99,
blue=>97,
zero=>16,
one=>17,
two=>18,
three=>19,
four=>20,
five=>21,
six=>22,
seven=>23,
eight=>24,
nine=>25,
underscore=>76,
play=>176,
pause=>186,
fast_forward=>142,
rewind=>143,
stop=>177,
record=>189,
tv_radio=>15,
simplink=>126,
input=>11,
component_rgb_hdmi=>152,
component=>191,
rgb=>213,
hdmi=>198,
hdmi1=>206,
hdmi2=>204,
hdmi3=>233,
hdmi4=>218,
av1=>90,
av2=>208,
av3=>209,
usb=>124,
slideshow_usb1=>238,
slideshow_usb2=>168,
channel_up=>0,
channel_down=>1,
channel_back=>26,
favorites=>30,
teletext=>32,
t_opt=>33,
channel_list=>83,
greyed_out_add_button=>85,
guide=>169,
info=>170,
live_tv=>158,
av_mode=>48,
picture_mode=>77,
ratio=>121,
ratio_4_3=>118,
ratio_16_9=>119,
energy_saving=>149,
cinema_zoom=>175,
three_d=>220,
factory_picture_check=>252,
volume_up=>2,
volume_down=>3,
mute=>9,
audio_language=>10,
sound_mode=>82,
factory_sound_check=>253,
subtitle_language=>57,
audio_description=>145,
also jeweils nur der erste Teil
Hallo,
geiles Teil.
Leider klappt das Pairing nicht :-(
Ich bekomme zwar nen Connect und der Fernseher zeigt den Pairingcode aber bei der Einabe "set TV pair XYZZX" passiert nix und der Code steht immer noch auf dem fernseher ...
Ich habe einen LG 42LW470S-ZB ...
Wäre toll wenn der TV auch irgendwie steuerbar wäre ...
Gruss Rainer
was sagt das log?
Vom Modell her könnte der 42LW470S-ZB gehen
Guten Morgen,
das waren erstmal gute Neuigkeiten - ich habe mich heute morgen sofort an die versuche gemacht...
XML::SIMPLE nachinstalliert, leider erscheint nach dem define des Moduls kein Pairing Code auf dem Fernseher...
Modell: 55LM860V-ZB
Ich schau jetzt mal in deinen quelltext - habe aber keine große Hoffnung, meine Perl Kenntnisse sind sehr beschränkt.
Das Log dazu:
Zitat2014.03.15 07:33:35 2: LGTV2011: Created new device LGTV 192.168.178.80:8080
2014.03.15 07:33:35 2: Displaying pairing code at http://192.168.178.80:8080/hdcp/api/auth
2014.03.15 07:33:35 2: Could not display pairing code
2014.03.15 07:33:35 2: TV Response :<?xml version="1.0"?><envelope><ROAPError>401</ROAPError><ROAPErrorDetail>Unauthorized</ROAPErrorDetail></envelope>
2014.03.15 07:33:35 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
2014.03.15 07:33:35 2: Now sending command 8
2014.03.15 07:33:35 2: Could not send command
2014.03.15 07:33:35 2: TV Response :Can't connect to ::80 (Bad hostname)
LWP::Protocol::http::Socket: Bad hostname ':' at /usr/share/perl5/LWP/Protocol/http.pm line 51.
Gerade hatte ich die Idee mithilfe der LG-Remote-App zugriff zu bekommen, ich habe also die app aus dem app store geladen und den Device Scan durchgeführt... Den Code den ich angezeigt bekam habe ich ganz einfach in FHEM eingetragen...
Zitat
2014.03.15 07:50:57 4: HTTP FHEMWEB:192.168.178.25:51645 GET /fhem&room=Unsorted&cmd=set+LGTV+pair+984850
2014.03.15 07:50:57 5: Cmd: >set LGTV pair 984850<
2014.03.15 07:50:57 5: Triggering LGTV (1 changes)
2014.03.15 07:50:57 5: Notify loop for LGTV pair 984850
2014.03.15 07:50:57 4: eventTypes: LGTV2011 LGTV pair 984850 -> pair .*
2014.03.15 07:50:57 4: HTTP FHEMWEB:192.168.178.25:51645 GET /fhem?room=Unsorted
2014.03.15 07:50:57 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
2014.03.15 07:50:57 2: Now sending command 8
2014.03.15 07:50:57 2: Could not send command
2014.03.15 07:50:57 2: TV Response :Can't connect to ::80 (Bad hostname)
LWP::Protocol::http::Socket: Bad hostname ':' at /usr/share/perl5/LWP/Protocol/http.pm line 51.
und
Zitat2014.03.15 07:51:38 2: LGTV2011: Created new device LGTV 192.168.178.80:8080
2014.03.15 07:51:38 2: Displaying pairing code at http://192.168.178.80:8080/hdcp/api/auth
2014.03.15 07:51:39 2: Could not display pairing code
2014.03.15 07:51:40 2: TV Response :<?xml version="1.0"?><envelope><ROAPError>401</ROAPError><ROAPErrorDetail>Unauthorized</ROAPErrorDetail></envelope>
Hm, antworten kommen ja, schade das das Pairing nicht geht.
55LM860V-ZB ist glaub ich ein 2012 Modell.
Welche Version der LG-Remote-App verwendest du?
LG hat leider die API von 2011 auf 2012 bissal verändert.
Die Version der App ist 4.5.15
@Lolo
dein Fernseher ist leider zu neu :(
Schau mal hier in die API http://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.references.book/html/UDAP/UDAP/LG%20UDAP%202%200%20Protocol%20Specifications.htm?path=4_0_0#_Toc353804381 (http://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.references.book/html/UDAP/UDAP/LG%20UDAP%202%200%20Protocol%20Specifications.htm?path=4_0_0#_Toc353804381) vielleicht musst du nicht viel ändern...
sorry, spätestens an der stelle versteh ich nur noch Bahnhof...
Naja abwarten, vielleicht bekommt es ja jemand anderes zum laufen.
Hallo Holy,
das Log sagt folgendes ....
2014.03.14 22:27:19 2: LGTV2011: Sending Command to No AuthKey, please pair your device first! 2014.03.14 22:27:19 2: Now sending command 8 2014.03.14 22:27:19 2: Could not send command 2014.03.14 22:27:19 2: TV Response :500 Can't connect to ::80 (Bad hostname ':')
Mehr habe ich noch nicht rausbekommen ...
Gruss Rainer
Sind diese module installiert?
use LWP::UserAgent;
use HTTP::Request::Common;
use XML::Simple;
No AuthKey, please pair your device first weist darauf hin dass der Pairing key nicht gespeichert ist.
set <name> pair <code> hast du gemacht?
hallo holy,
folgendes gebe ich in fhem ein:
define LGTV LGTV2011 192.168.25.20
danach erscheint am fernseher der Paitingcode
daraufhin gebe ich in fhem folgednes ein:
set LGTV pair XXXXX
und weiter passiert nix.
Der Pairingcode bleibt am Fernseher weiter stehen, so als ob er noch auf eine Eingabe von FHEM wartet...
Gruss Rainer
Wie schaut dabei der Logoutput aus?
Zuerst müsste kommen:
Pairing request with key XXXX
Dann entweder
Pairing Successful
TV Response : ....
oder
Could not send pairing request
TV Response : ....
hallo holy,
das kommt im logfile:
2014.03.15 18:30:45 2: LGTV2011: Created new device LGTV 192.168.25.20:8080 2014.03.15 18:30:45 2: Displaying pairing code at http://192.168.25.20:8080/hdcp/api/auth 2014.03.15 18:30:45 2: Displaying pairing code successful 2014.03.15 18:30:45 2: LGTV2011: Sending Command to No AuthKey, please pair your device first! 2014.03.15 18:30:45 2: Now sending command 8 2014.03.15 18:30:45 2: Could not send command 2014.03.15 18:30:45 2: TV Response :500 Can't connect to ::80 (Bad hostname ':') 2014.03.15 18:30:46 2: LGTV2011: Sending Command to No AuthKey, please pair your device first! 2014.03.15 18:30:46 2: Now sending command 8 2014.03.15 18:30:46 2: Could not send command 2014.03.15 18:30:46 2: TV Response :500 Can't connect to ::80 (Bad hostname ':') 2014.03.15 18:30:51 2: LGTV2011: Sending Command to No AuthKey, please pair your device first! 2014.03.15 18:30:51 2: Now sending command 8 2014.03.15 18:30:51 2: Could not send command 2014.03.15 18:30:51 2: TV Response :500 Can't connect to ::80 (Bad hostname ':')
halo holy,
pairing request kommt gar nicht ...
irgendwie habe ich den verdacht dass da etwas nicht richtig gespeichert wird , kann das sein ??
hallo holy,
ich habe noch die version 0.1 (2013) von 82_LGTV2011.pm.
Ist das die aktuelle version ?
GRuss Rainer
Hmm, ich teste heut abend mal an meinem LGTV sobald ich zuhause bin...
Hi,
hab kein LG-TV - wollte nur fragen: das hier geht nicht?
http://fhem.de/commandref.html#LGTV
Gruß, Uli
Das LGTV Modul ist eine Art "Hypermodul" welches ein Low-Level Treiber Modul wie z.B. xxLG7000 voraussetzt.
Das xxLG7000 Modul wiederum funktioniert nur über eine serielle Schnittstelle, welche die aktuellen Modelle aber nicht mehr haben.
Idealerweise könnte man irgendwann das LGTV2011 Modul so umschreiben dass es als Treiber fürs LGTV Modul funktioniert.
Wie HolyMoly schon schreibt,
das "alte Modul" kommuniziert über die Serielle Schnittstelle - bei "neueren Geräten" gibt es die nichtmal mehr...
LG hat aber Möglichkeit gegeben übers Ethernet zu steuern, es gibt auch eine API HolyMoly hat die hier in diesem Thread verlinkt.. Es gibt ja auch eine Remote-App direkt von LG.
Die Einbindung in FHEM fehlt leider - aber ich bin optimistisch, vielleicht findet sich ja bald jemand der ein Modul schreiben kann...
Benutzung so:
define myTV LGTV2011 192.168.181.6
set myTV pair
set myTV pair xxxxx
set myTV channel_up
auch für 2012er Modelle?
Nochmal neu,
pairing code nun im attribut gespeichert so dass er nach einem restart erhalten bleibt:
define myTV LGTV2011 192.168.181.6
set myTV displayPairingCode
attr myTV pairingcode xxxxx
set myTV channel_up
obs mit der 2012er serie geht weiß ich nicht, einfach mal probieren...
Ich habe einen 2012er LG TV. Ich habe über das Modul den Pairing Code nicht anzeigen können. Über folgende Methode konnte ich ihn aber anzeigen lassen:
telnet IP.IP.IP.IP 8080
POST /udap/api/pairing HTTP/1.1
Host: IP.IP.IP.IP:8080
Cache-Control: no-cache
Content-Type: text/xml; charset=utf-8
Content-Length: 141
Connection: Close
User-Agent: Linux/2.6.18 UDAP/2.0 CentOS/5.8
<?xml version="1.0" encoding="utf-8"?>
<envelope>
<api type="pairing">
<name>showKey</name>
</api>
</envelope>
Wichtig ist IP.IP.IP.IP mit der jeweiligen IP zu ersetzen. Dann ist der Code auf dem TV lesbar.
Aber nachdem ich den PairingCode in das Attribut "pairingcode" eingegeben habe, habe ich es nicht geschafft Kommandos an den TV zu senden. Hier mein Logauszug:
2014.03.17 19:39:13 2: LGTV2011: Please pair your tv
2014.03.17 19:39:13 2: LGTV2011: Created new device wz_TV IP.IP.IP.IP:8080
Nach dem initialen Anlegen des Devices gab es kein Log mehr.
Hallo
hab auch ein 2012 LG 47 Zoll
hängt jetzt endlich auch im Netz , hatte 2 unterschiedliche Dlan Adapter die mit dem PC nie Probleme gemacht haben die TV Kiste ist aber wohl was besonderes :-(
kann man den Code bei telnet irgendwie en block kopieren oder muss man jede Zeile einzeln eingeben?
Der Code muss ja wohl in Telnet eingegeben werden?!
Mit dem telnet Befehl auf den TCP/8080 verbinden und dann den Rest reinkopieren. Eine Leerzeile am Ende mitkopieren, damit der letzte Wert gleich "geentert" wird.
Hallo
also ich hab die 2 Zeilen nacheinander in die Kommandozeile gegenben
define myTV LGTV2011 192.168.181.6
danach zeigte mir mein TV ohne besondere Aufforderung den Pairing Code
set myTV displayPairingCode xxxx
den hab ich dann eingegeben
dann hab ich dann unter Attr eingegeben
dann gesichert.
mit den set befehlen gehts aber noch nicht weiter
irgendwie ist mein FHEM dann abgestürzt
daher nun die Änderungen hab das Ganze noch einmal gemacht
ich glaube hier verhält sich jeder tv anders... wir sollten versuchen eine linie dahinein zu bekommen, gebt doch mal genauere typ bezeichnungen eurer geräte...
Kann man den sich auf dme Bidschirm anzegen lassen oder muss man das Gerät abhängen??
Hallo Franz,
es geht nicht da du ein 2012er Modell hast. Dazu müssen ein Paar Pfade angepasst und die Befehlstabelle neu erstellt werden.
Ich kann euch nach Möglichkeiten helfen, habe aber halt kein 2012er System.
Eine wichtige Arbeit wäre diese Tabelle http://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.references.book/html/UDAP/UDAP/Annex%20A%20Table%20of%20virtual%20key%20codes%20on%20remote%20Controller.htm?path=4_0_1_5#_Toc353804463 (http://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.references.book/html/UDAP/UDAP/Annex%20A%20Table%20of%20virtual%20key%20codes%20on%20remote%20Controller.htm?path=4_0_1_5#_Toc353804463)
in eine Hashmap wie diese umzuwandeln
my %sets = (
displayPairingCode=>-1,
displayPairingCode2012=>-1,
pair=>-1,
status_bar=>35,
quick_menu=>69,
home_menu=>67,
premium_menu=>89,
installation_menu=>207,
factory_advanced_menu1=>251,
factory_advanced_menu2=>255,
power_off=>8,
sleep_timer=>14,
left=>7,
right=>6,
up=>64,
down=>65,
select_cmd=>68,
back=>40,
exit_cmd=>91,
red=>114,
green=>113,
yellow=>99,
blue=>97,
zero=>16,
one=>17,
two=>18,
three=>19,
four=>20,
five=>21,
six=>22,
seven=>23,
eight=>24,
nine=>25,
underscore=>76,
play=>176,
pause=>186,
fast_forward=>142,
rewind=>143,
stop=>177,
record=>189,
tv_radio=>15,
simplink=>126,
input=>11,
component_rgb_hdmi=>152,
component=>191,
rgb=>213,
hdmi=>198,
hdmi1=>206,
hdmi2=>204,
hdmi3=>233,
hdmi4=>218,
av1=>90,
av2=>208,
av3=>209,
usb=>124,
slideshow_usb1=>238,
slideshow_usb2=>168,
channel_up=>0,
channel_down=>1,
channel_back=>26,
favorites=>30,
teletext=>32,
t_opt=>33,
channel_list=>83,
greyed_out_add_button=>85,
guide=>169,
info=>170,
live_tv=>158,
av_mode=>48,
picture_mode=>77,
ratio=>121,
ratio_4_3=>118,
ratio_16_9=>119,
energy_saving=>149,
cinema_zoom=>175,
three_d=>220,
factory_picture_check=>252,
volume_up=>2,
volume_down=>3,
mute=>9,
audio_language=>10,
sound_mode=>82,
factory_sound_check=>253,
subtitle_language=>57,
audio_description=>145,
);
Um den API typ rauszufinden könnt ihr auch einfach beide LG Remote Apps runterladen und schauen welche funktioniert.
Gibt nur die 2011er und die "neue"
Die App über das TV runterladen oder über einen PC
geht noch nicht meine Frau schaut noch...
Dazu braucht man eine LG Anmeldung ? die ich noch nicht habe
wenn ich die App habe und sehe welche funktioniert wie ginge es dann weiter
die Liste hab ich mir angeschaut
Virtual key code
(decimal number)
Description
1 POWER
2 Number 0
3 Number 1
4 Number 2
etc
Ich meinte die Smartphone Apps
Zitat von: Franz Tenbrock am 17 März 2014, 22:15:08
wenn ich die App habe und sehe welche funktioniert wie ginge es dann weiter
wenn mir jemand die liste in eine perl hashtable (wie im beispielecode) umstrickt, versuche ich es euch in ein LGTV2012 modul zu giessen...
Hallo
also das habe ich in der Zwischenzeit auch rausbekommen hab die app auch installiert
und siehe da
die 2011 app funktioniert problemlos laut leise ok
habe den gleichen pairing code genommen wie bei fhem
mit ein paar Hinweisen oder auch teamviewer sollte man das dann doch wohl hinbekommen
brauche aber wie gesagt etwas Unterstützung.
Wenn ich weiß was ich machen muss kann ich ja mit meinem Möglichkeiten versuchen....
Herzlichen Glückwunsch,
dann wirds wohl ein Gerät der 2011er Serie sein.
Dann sollte mein modul eigentlich out of the box funktionieren...
so alt ist die Kiste schon :-[
na ja hat ja in diesem Fall Vorteile
hab gerade mal mit der App auf dem Handy rumgespielt
da wurde meine Frau etwas sauer..
aso für weitere Tests,muss ich wohl noch was warten..
runtergeladen hab ich schon shutdown restart auch schon...
meine jetzige cfg
define myTV LGTV2011 192.168.178.80
attr myTV pairingcode SMPUNA
attr myTV room 1Test
Hier noch was
wenn ich dann was mit set mache dann stürzt fhem ab und ich muss mit telnet neu starten
Schaut eigentlich ok aus. Probiers mal bitte mit nem einfachen command wie channel_up.
Ansonsten, was sagt das log? Evtl verbose level hochdrehen damit er bisschen gesprächiger wird
Hallo
leider klappt es immer noch nciht
wenn ichein set befehl absetze schmiert fhem ab
hab gerade nachgesehen, in der cfg ist verbose 5 gesetzt
aber im logfile finde ich keine Fehlermeldung nur das hier
2014.03.17 22:57:08 2: LGTV2011: Please pair your tv
2014.03.17 22:57:08 2: LGTV2011: Created new device myTV 192.168.178.80:8080
irgendwas ist noch faul
mach jetzt erst einmal ein software update damit die Kiste aktuell ist
so jetzt aktuelle Version 60128
damit zumindest keine Abstürze von FHEM mehr
aber mit den set befehlen keine Aktionen
aber auch keine Abstürze von FHEM mehr
hab jetzt mal den Eventmonitor mitlaufne lassen
mit set myTV channel_up
kommt das im event
2014-03-17 23:22:24 LGTV2011 myTV channel_up
aber nichts passiert
@Franz - schreib mal bitte den Typ deines Fernsehers auf und die Versionsnummer der App die du benutzt...
Danke.
Bei mir wurde das Device auch angelegt, ich glaube nicht das Du einen 2011 Fernseher hast.
@HolyMoly - ich setze mich morgen hin und schreibe die Tabelle um auf das 2012er Modell, was können wir sonst noch tun?
Wenn wir ein bisschen koordinieren bekommen wir es ja vielleicht hin, das geht aber sicher nicht mit der Brechstange.
@franz gib dem LGTV2011 modul mal ein loglevel 0 attribut (nicht verbose)
@lolo wenn die tabelle steht, eigentlich nur noch fleissig testen und dokumentieren ;)
kann schon mal jemand mit 2012er testen ob der pairing code angezeigt wird?
Neue Version für die 2012er, enthält bereits lolo's commandotabelle und könnte mit etwas Glück schon funktionieren....
einfach mal testen
wie geht die define Syntax?
define LGTV LGTV2012 ip.ad.re.ss.e ?
Genau
er bringt das Standard Unknown Modul als Meldung...
habs rüberkopiert - rechte angepasst - fhem neugestartet..
LGTV2012 taucht dort auch nicht auf
KS300 LGTV LGTV2011 LINDY_HDMI_SWITCH LIRC
Restart
den Pi komplett neu starten?
Nur FHEM, evtl reicht auch ein reload 82_LGTV2012
Ok, reload half - ein pairing Code wird nicht angezeigt...
im Logfile überschaubar
2014.03.18 11:28:47 2: LGTV2012: Please pair your tv
2014.03.18 11:28:47 2: LGTV2012: Created new device LGTV 192.168.178.80:8080
Ich habe den Pairing Key mit der App hervorgerufen und das attr in FHEM gesetzt...
Das bringt dann folgende Einträge im Log.
2014.03.18 11:34:47 2: LGTV2012: Pairing request with key 984850 at http://192.168.178.80:8080/udap/api/pairing
2014.03.18 11:34:47 2: LGTV2012: Could not send pairing request
2014.03.18 11:34:47 2: LGTV2012: TV Response :<?xml version="1.0"?><envelope><ROAPError>401</ROAPError><ROAPErrorDetail>Unauthorized</ROAPErrorDetail></envelope>
2014.03.18 11:34:47 2: LGTV2012: Now sending command 22
2014.03.18 11:34:47 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>22</value></api></envelope>
2014.03.18 11:34:47 2: LGTV2012: Could not send command
2014.03.18 11:34:47 2: LGTV2012: TV Response :<?xml version="1.0"?><envelope><ROAPError>401</ROAPError><ROAPErrorDetail>Unauthorized</ROAPErrorDetail></envelope>
Ich habe auch ein set LGTV menu abgesetzt - vermute das ist command 22...
Probier mal diese neue Version, da hab ich den Useragent auf "Linux/2.6.18 UDAP/2.0 CentOS/5.8" gesetzt vllt gehts dann
Ok - Datei rüberkopiert - reload gemacht...
set LGTV menu aufgerufen.
FHEM Seite verschwindet - top auf der Konsole sagt 98% Last bei Perl...
Ich boote mal neu...
Beim 2ten versuch - ich hatte ja nicht gespeichert...
define LGTV LGTV2012 192.168.178.80
wurde der Pairing Code angezeigt... (der gleiche wie für die App)
diesen habe ich dann in attr übernommen - anschliessend habe ich wieder ein
set LGTV menu
gesetzt - Perl geht auf 98% im Log:
Zitat2014.03.18 11:51:00 0: Server started with 31 defined entities (version $Id: fhem.pl 5197 2014-03-10 21:07:30Z rudolfkoenig $, os linux, user fhem, pid 1689)
2014.03.18 11:51:46 2: LGTV2012: Please pair your tv
2014.03.18 11:51:46 2: LGTV2012: Created new device LGTV 192.168.178.80:8080
2014.03.18 11:52:01 2: LGTV2012: No Pairing code, please pair your tv
2014.03.18 11:52:01 2: LGTV2012: Now sending command -1
2014.03.18 11:52:01 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>-1</value></api></envelope>
2014.03.18 11:52:01 2: LGTV2012: Could not send command
2014.03.18 11:52:01 2: LGTV2012: TV Response :
2014.03.18 11:52:18 2: LGTV2012: Pairing request with key 984850 at http://192.168.178.80:8080/udap/api/pairing
2014.03.18 11:52:18 2: LGTV2012: Pairing Successful
2014.03.18 11:52:18 2: LGTV2012: TV Response :
Pairing scheint also zu gehen - aber beim absetzen eines Befehls hängt sich Perl auf...
Hallo
das war ja auch mein Problem.
Also als ich gerade die App die gestern noch funktionierte benutzen wollte ging nichts mehr mit dem Handy.
Gestern vor dem update auf die neueste Version des TV war noch alles ok
Habe einen 47lv579S
Habe mir gerade mal die andere App geladen.
bis dann
@Lolo
speicher mal deinen pairingcode als attribut, mach save config und shutdown restart.
Starte währenddessen auch deinen Fernseher neu. Dann sende nochmal ein command...
Beobachtet mal ob sich der Pairingcode ändert, je nachdem von welchem device er angefragt wurde (handy/fhem) und ob er sich nach dem fernseher neustart ändert.
Hallo
irgendwie merkwürdig, die Kiste wurde heute nicht mehr von der APP gefunden, dann habe ich in der Fritz die LAN Verbindung aufgesucht und einefahc einen anderen Namen gegeben, danach wurde das TV wieder gefunden ??
In der Nacht wird das Gerät mit einem Fußschalter komlett vom Netz getrennt.
Dafür hab ich jetzt das Problem das FHEM sich wieder aufhängt ???
Hab das gerade 2x probiert.
die 2011 app auf dem Handy läuft aber problemlos
das gleiche spiel..
beim Fernseher anschalten und fhem neustarten war das Code Fenster schon sichtbar...
Sobald ich einen Befehl absetze geht Perl auf 98% Last..
Im Log:
Zitat2014.03.18 12:44:19 1: usb create end
2014.03.18 12:44:19 0: Server started with 32 defined entities (version $Id: fhem.pl 5197 2014-03-10 21:07:30Z rudolfkoenig $, os linux, user fhem, pid 2651)
2014.03.18 12:44:35 2: LGTV2012: Pairing request with key 984850 at http://192.168.178.80:8080/udap/api/pairing
2014.03.18 12:44:35 2: LGTV2012: Pairing Successful
2014.03.18 12:44:35 2: LGTV2012: TV Response :
@Franz: vergeb erstmal eine feste IP Adresse an den Fernseher im Fernseher und in der Fritz-Box.
Den Pairing code sollte er eigentlich nur anfordern falls er keinen im Attribut pairingcode gespeicherten findet.
Sicher dass das Attribut pairingcode angelegt ist?
Ja, sicher...
list LGTV
ZitatInternals:
DEF 192.168.178.80
HOST 192.168.178.80
NAME LGTV
NR 66
PORT 8080
STATE Defined
TYPE LGTV2012
Attributes:
pairingcode 984850
room develop
beim starten von fhem kommt die Meldung
Zitat2014.03.18 12:50:41 3: Sonos device opened
2014.03.18 12:50:42 1: Including /opt/fhem/FHEM/sysmon.cfg
2014.03.18 12:50:44 2: LGTV2012: Please pair your tv
2014.03.18 12:50:44 2: LGTV2012: Created new device LGTV 192.168.178.80:8080
2014.03.18 12:50:44 1: Including ./log/fhem.save
im log...
das war kommt mit succesfull usw... kommt immer wenn ich einen Befehl absetze...
Habe jetzt fhem auf der Konsole gestartet, mal schauen ob da mehr kommt.
EDIT: Die konsole sagt :
ZitatFile does not exist: at ./FHEM/82_LGTV2012.pm line 185
Edit2:beim wieder neustarten sagt die Konsole
Zitat2014.03.18 13:05:16 1: SONOS0: Connection accepted from localhost:60071
Prototype mismatch: sub main::pair ($$) vs ($) at ./FHEM/82_LGTV2012.pm line 195, <$fh> line 101.
2014.03.18 13:05:27 3: SONOS1: UPnP-Thread gestartet.
so hab nun das attr loglevel 0 über das webface eingegeben dann save
dann set ... eingegeben wieder abgestürzt
neu gestartet dann logfile nachgesehen
2014.03.18 12:56:29 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.80:8080/hdcp/api/auth
2014.03.18 12:56:29 0: LGTV2011: Authorization successful
2014.03.18 12:56:29 0: LGTV2011: TV Response :
kann um kurz nach 15 Uhr noch mal was testen..
hab noch die 2011... pm !
Hallo Leute,
hier eine neue Version für die 2012er Serie.
Sollte soweit eigentlich funktionieren.
Testet mal obs auch nach dem Neustart von FHEM und/oder Fernseher noch geht.
Vielen Dank auch an Lolo der eifrig mitgeholfen hat...
Hi Franz,
da du einen LG der 2011er Serie hast, musst du auch das 2011er Modul benutzen.
Das Pairing bei dir funktioniert offensichtlich, hast du ein log davon wenn das command gesendet wird?
Hallo
hab ich ja.
das sind die ersten Zeilen von der pm Datei
# $Id: 82_LGTV2011.pm 2 2014-03-17 11:05:19Z juliantatsch $
##############################################################################
#
# 82_LGTV2011.pm
#
# a module to send mess
hab noch das Problem das wenn der TV vom Netz war funktioniert die App anschließend nicht mehr.
Hab jetzt in der Fritz "immer die gleiche ip verwenden" eingestellt und beim TV automatisch beziehen
vorher hatte ich beides fest hat damit ging es nicht
FHEM hängt sich aber trotzdem auf
das ist die cfg:
define myTV LGTV2011 192.168.178.32
attr myTV loglevel 0
attr myTV pairingcode SMPUNA
attr myTV room 1Test
attr myTV verbose 5
im Logfile keinerlei Fehlermeldungen
im Eventmonitor auch ncihts zu sehen
hängt sich immer wieder auf
Kann sein das es nur bei den 2012er Modellen so ist, aber bei mir machte die IP-Einstellung ärger wenn ich die IP nicht fest im Fernseher hinterlegte. Die SmartTV Funktionen wurden nicht angezeigt wenn keine vernünftige Netzwerkverbindung vorhanden war.
In meinem fall hat der Fernseher eine fest eingetragene IP und die Fritzbox gibt ihm über seine Mac Adresse immer die gleiche IP wie sie auch im Fernseher eingetragen ist. Das war hier der einzige weg SmartTv vernünftig ans laufen zu bekommen.
Das war aber alles vor der Integration in fhem...
Trennst Du den TV komplett vom netz? vielleicht liegt es auch daran - ich schalte zwar aus, vom Prinzip her bleibt er aber ja im Standby... Der Stecker wird bei uns jedenfalls nicht gezogen. Macht auch meiner Meinung nach bei 0,1W Standby keinen großen sinn...
Also die IP darf auf jeden fall nicht wechseln, sonst müsste man neu definen.
Fritzbox immer die gleiche Ip verwenden hat bei mir gereicht.
Wirf mal noch das verbose attribut raus (das loglevel drinlassen)
und probiers mal mit diesem commando
set myTV power_off
Hallo
alles so gemacht. TV hängt jetzt sauber im Netz.
attr verbose inaktiviert
dann das Kommando
dann leider wieder tschüss
hab telnet parallel laufen daher geht das starten dann wenistens ganz leicht
Hier Auszug auf logfile
2014.03.18 18:39:12 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 18:39:12 0: LGTV2011: Authorization successful
2014.03.18 18:39:12 0: LGTV2011: TV Response :
und auf der telnet konsole? bekommst du da keine fehler angezeigt?
da hab ich was, lief zum Glück nebenher
185, <$fh> line 3.
"my" variable $name masks earlier declaration in same scope at ./FHEM/82_LGTV201 1.pm line 217, <$fh> line 1088.
Use of uninitialized value $data{"raw_total"} in concatenation (.) or string at (eval 49) line 1.
Use of uninitialized value $data{"raw_total"} in concatenation (.) or string at (eval 52) line 1.
Use of uninitialized value $data{"raw_total"} in concatenation (.) or string at (eval 75) line 1.
Use of uninitialized value $data{"raw_total"} in concatenation (.) or string at (eval 78) line 1.
Kannst du bitte mal alle logs seit dem define posten?
Hier sind die Logs
zwischendurch hatte ich auch mal die 2012 ...pm versucht
g
2014.03.17 21:49:31 2: LGTV2011: Please pair your tv
2014.03.17 21:49:31 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:04:02 2: LGTV2011: Please pair your tv
2014.03.17 22:04:02 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:10:48 2: LGTV2011: Please pair your tv
2014.03.17 22:10:48 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:38:29 2: LGTV2011: Please pair your tv
2014.03.17 22:38:29 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:51:20 2: LGTV2011: Please pair your tv
2014.03.17 22:51:20 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:52:32 2: LGTV2011: Please pair your tv
2014.03.17 22:52:32 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 22:57:08 2: LGTV2011: Please pair your tv
2014.03.17 22:57:08 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 23:05:42 2: LGTV2011: Please pair your tv
2014.03.17 23:05:42 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.17 23:13:12 2: LGTV2011: Please pair your tv
2014.03.17 23:13:12 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.18 12:42:17 2: LGTV2011: Please pair your tv
2014.03.18 12:42:17 2: LGTV2011: Created new device myTV 192.168.178.80:8080
22014.03.18 12:56:29 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.80:8080/hdcp/api/auth
2014.03.18 12:56:29 0: LGTV2011: Authorization successful
2014.03.18 12:56:29 0: LGTV2011: TV Response :
2014.03.18 12:56:52 2: LGTV2011: Please pair your tv
2014.03.18 12:56:52 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.18 15:14:52 2: LGTV2011: Please pair your tv
2014.03.18 15:14:52 2: LGTV2011: Created new device myTV 192.168.178.80:8080
2014.03.18 15:21:16 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.80:8080/hdcp/api/auth
2014.03.18 15:21:19 0: LGTV2011: Authorization not successful
2014.03.18 15:21:19 0: LGTV2011: TV Response :Can't connect to 192.168.178.80:8080 (No route to host)
LWP::Protocol::http::Socket: connect: No route to host at /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/LWP/Protocol/http.pm line 51.
2014.03.18 15:21:19 0: LGTV2011: Now sending command 1
2014.03.18 15:21:19 0: LGTV2011: HandleInput <?xml version="1.0" encoding="utf-8"?><command><session></session><type>HandleKeyInput</type><value>1</value></command>
2014.03.18 15:21:22 0: LGTV2011: Could not send command
2014.03.18 15:21:22 0: LGTV2011: TV Response :Can't connect to 192.168.178.80:8080 (No route to host)
LWP::Protocol::http::Socket: connect: No route to host at /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/LWP/Protocol/http.pm line 51.
2014.03.18 15:21:33 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.80:8080/hdcp/api/auth
2014.03.18 15:21:36 0: LGTV2011: Authorization not successful
2014.03.18 15:21:36 0: LGTV2011: TV Response :Can't connect to 192.168.178.80:8080 (No route to host)
LWP::Protocol::http::Socket: connect: No route to host at /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/LWP/Protocol/http.pm line 51.
2014.03.18 15:21:36 0: LGTV2011: Now sending command 1
2014.03.18 15:21:36 0: LGTV2011: HandleInput <?xml version="1.0" encoding="utf-8"?><command><session></session><type>HandleKeyInput</type><value>1</value></command>
2014.03.18 15:21:39 0: LGTV2011: Could not send command
2014.03.18 15:21:39 0: LGTV2011: TV Response :Can't connect to 192.168.178.80:8080 (No route to host)
LWP::Protocol::http::Socket: connect: No route to host at /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/LWP/Protocol/http.pm line 51.
2014.03.18 15:22:03 0: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 15:22:12 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 15:22:12 0: LGTV2011: Authorization successful
2014.03.18 15:22:13 0: LGTV2011: TV Response :
2014.03.18 15:22:26 1: Including fhem.cfg
20142014.03.18 15:22:39 2: LGTV2011: Please pair your tv
2014.03.18 15:22:39 2: LGTV2011: Created new device myTV 192.168.178.80:8080
20142014.03.18 15:26:56 2: LGTV2011: Please pair your tv
2014.03.18 15:26:56 2: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 15:29:29 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 15:29:29 0: LGTV2011: Authorization successful
2014.03.18 15:29:29 0: LGTV2011: TV Response :
2014.03.18 15:30:04 2: LGTV2011: Please pair your tv
2014.03.18 15:30:04 2: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 15:39:30 2: LGTV2012: Created new device myTV 192.168.178.32:8080
2014.03.18 15:40:09 2: LGTV2012: Created new device myTV 192.168.178.32:8080
2014.03.18 15:40:57 2: LGTV2012: Created new device myTV 192.168.178.32:8080
2014.03.18 15:41:40 0: LGTV2012: Pairing request with key SMPUNA at http://192.168.178.32:8080/udap/api/pairing
2014.03.18 15:41:40 0: LGTV2012: HTTP/1.1 400 Bad Request, the command format is not valid or it has an incorrect value.
2014.03.18 15:41:40 0: LGTV2012: Could not send pairing request
2014.03.18 15:41:41 0: LGTV2012: TV Response :
2014.03.18 15:41:41 0: LGTV2012: Now sending command 410
2014.03.18 15:41:41 0: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>410</value></api></envelope>
2014.03.18 15:41:41 0: LGTV2012: HTTP/1.1 400 Bad Request, the command format is not valid or it has an incorrect value.
2014.03.18 15:41:41 0: LGTV2012: Could not send command
2014.03.18 15:41:41 0: LGTV2012: TV Response :
2014.03.18 15:43:27 2: LGTV2011: Please pair your tv
2014.03.18 15:43:27 2: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 15:45:10 0: LGTV2011: Displaying pairing code at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 15:45:10 0: LGTV2011: Displaying pairing code successful
2014.03.18 15:46:20 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 15:46:20 0: LGTV2011: Authorization successful
2014.03.18 15:46:20 0: LGTV2011: TV Response :
2014.03.18 15:46:53 2: LGTV2011: Please pair your tv
2014.03.18 15:46:53 2: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 18:38:42 2: LGTV2011: Please pair your tv
2014.03.18 18:38:42 2: LGTV2011: Created new device myTV 192.168.178.32:8080
2014.03.18 18:39:12 0: LGTV2011: Session request with key SMPUNA at http://192.168.178.32:8080/hdcp/api/auth
2014.03.18 18:39:12 0: LGTV2011: Authorization successful
2014.03.18 18:39:12 0: LGTV2011: TV Response :
2014.03.18 18:39:52 1: Including fhem.cfg
2014.03.18 18:40:01 2: LGTV2011: Please pair your tv
2014.03.18 18:40:01 2: LGTV2011: Created new device myTV 192.168.178.32:8080
vielleicht kan ich mich mal kurz einklinken in die diskussion ...
ich habe auch das 2011er probiert und muss sagen dass irgendwie ein perl-modul warscheinlich nicht richtig funktioniert.
Ich bekomme es aber auf meiner synology 412+ nicht gebacken ... :-(
Irgendwie werden die daten vergessen welche in ($hash) stehen ...
Vielleicht kann holy den fehler noch finden ...
ein PHP-Mudul funktioniert hervorragend:
-------- php-modul ------------
<html>
<body>
<?php
global $paringkey;
$lgip = "192.168.25.20"; // LG Netzwerk IP
if ($paringkey == "") {$paringkey = $_POST["paring"];}
?>
<table border="0">
<tr>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="3">
<input type="submit" value="Leise">
</form></td>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="2">
<input type="submit" value="Laut">
</form></td>
</tr>
<tr>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="1">
<input type="submit" value="Kanal -">
</form></td>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="0">
<input type="submit" value="Kanal +">
</form></td>
<tr>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="9">
<input type="submit" value="Stumm">
</form></td>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="23">
<input type="submit" value="Exit">
</form></td>
</tr>
<tr>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="22">
<input type="submit" value="Settings">
</form></td>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="21">
<input type="submit" value="Home">
</form></td>
</tr>
<tr>
<td><form action="" method="post">
<input type="hidden" name="cmd" value="1">
<input type="submit" value="Aus">
</form></td>
<td></td>
</tr>
</table>
<p>Login2LG!:</p>
<form action="" method="post">
<input type="password" name="paring" value="<?php echo $_COOKIE["paring"];?>">
<input type="submit" value="Paringkey">
<input type="hidden" name="session" value="session">
</form>
<?php
if (isset($_POST["paring"]) and $_POST["paring"] == "")
//if ($paringkey=="")
{
auth("<auth><type>AuthKeyReq</type></auth>",$lgip); //paring
echo "test";
/*auth ('<?xml version="1.0" encoding="utf-8" ?><envelope><api type="pairing"><name>showKey</name></api></envelope>',$lgip);
*/
}
if (isset($_POST["paring"]) and $_POST["paring"] != "")
{
echo "hier gesetzt $paringkey";
$sess=auth("<auth><type>AuthReq</type><value>".$paringkey."</value></auth>",$lgip);
/*auth('<?xml version="1.0" encoding="utf-8"?><envelope><api type="pairing"><name>hello</name><value>'.$paringkey.'</value><port>8080</port></api></envelope>',$lgip);
*/
echo "Session: $sess";
setcookie("paring", $_POST["paring"]);
setcookie("sess", $sess);
}
if (isset($_POST["cmd"]) )
{
lgcommand("<?xml version='1.0' encoding='utf-8'?><command><session>".$_COOKIE["sess"]."</session><type>HandleKeyInput</type><value>".$_POST["cmd"]."</value></command>",$lgip);
}
function auth($data,$lgip)
{
$sock = fsockopen($lgip, 8080);
fputs($sock, "POST /hdcp/api/auth HTTP/1.1\r\n");
fputs($sock, "Host: ".$lgip."\r\n");
fputs($sock, "Content-type: application/atom+xml\r\n");
fputs($sock, "Content-length: ". strlen($data) ."\r\n");
fputs($sock, "Connection: close\r\n\r\n");
fputs($sock, $data);
while(!feof($sock))
$bla = fgets($sock, 4096);
fclose($sock);
preg_match('/(<session>)(.*?)(<\/session>)/i', $bla , $match);
if (strlen($match[2]) > 4){
echo "Paring OK - ".$match[2];}
else
{ echo "Paring Not OK";}
echo "RET:".$match[2];
return $match[2];
}
function lgcommand($data,$lgip)
{
$sock = fsockopen($lgip, 8080);
fputs($sock, "POST /hdcp/api/dtv_wifirc HTTP/1.1\r\n");
fputs($sock, "Host: ".$lgip."\r\n");
fputs($sock, "Content-type: application/atom+xml\r\n");
fputs($sock, "Content-length: ". strlen($data) ."\r\n");
fputs($sock, "Connection: close\r\n\r\n");
fputs($sock, $data);
while(!feof($sock))
$bla = fgets($sock, 4096);
fclose($sock);
echo $bla;
}
?>
</body>
</html>
----------------------------------
viele grüsse rainer
es klappt dank der Hilfe 8) :)
denke die Erklärung kommt noch, habe gerade gehört morgen eine geänderte 2011 pm
das hier hilft wohl weiter
http://www.fhemwiki.de/wiki/Unicode_FritzBox
zumindest auf der Fritz
Die Datei Heavy.pl muss im Ordner unicore kopiert werden
bei mir fehlte der Ganze Ordner..
oder im zip der gesamte Ordner
im Link oben auch alles erklärt
wer also ein LG 2011 hat kann nun alles auch über fhem und fritz steuern.....
das hab ich auf die schnelle schon mal hinbekommen,
für das schnelle schalten aus dem Dashboard ;D
der code:
define myTV LGTV2011 192.168.178.32
attr myTV loglevel 0
attr myTV pairingcode SMPUNA
attr myTV room 1Test
attr myTV webCmd channel_up:channel_down:channel_back
die letzte Zeile ermöglicht mir das hier was sicher schnell ausbaubar ist
wenn man die wichtigste Kommandos ins Dashboard packt kann man schnell mal schalten wenn man was in fhem macht..
so siehts aus:
so weiter gehts:
so sollte es aussehen:
hier der code , leider nochmit fehler drin, irgenwie muss ich das mit myTV verbinden....
define myTV LGTV2011 192.168.178.32
attr myTV loglevel 0
attr myTV pairingcode SMPUNA
attr myTV room 1Test
define TV_Menue dummy
attr TV_Menue room 1Test
attr TV_Menue webCmd channel_up:channel_down:channel_back:volume_up:volume_down:mute:exit_cmd
define TV_Programm dummy
attr TV_Programm room 1Test
attr TV_Programm webCmd one:two:three:four:fiv:six:seven:eight:nine:one zero
Hallo Rainer,
sind bei dir auf der Synology die Perl Bibliotheken
use LWP::UserAgent;
use HTTP::Request::Common;
use XML::Simple;
installiert?
@Franz Tenbrock:
Statt der WebCmds wäre das remotecontrol Modul sicher was für dich.
FHEM Wiki remotecontrol (http://www.fhemwiki.de/wiki/Remotecontrol)
Sobald mein TV eingebunden ist, werde ich mir auch eine kleine Fernbedienung bauen. Für meine XBMC Instanzen nutze ich das schon und funktioniert super! :)
ja Holy, sonst würde ja perl wegen fehlender Bibliotheken meckern ...
Aber ich habe einen Erfolg zu verzeichnen:
Habe mal mit dem LG2012 Modul experimentiert und die entsprechenden Pfade und XML-Texte abgeändert . Und siehe da - es funktioniert mit dem 2012er Modul.
Zudem habe ich noch die Befehle (%sets) angepasst an meinen 42LW470S.
Es funzt hervorragend ...
Irgendetwas funzt da in dem 2011er Modul nicht richtig ....
Zudem musste ich noch bei dem 2012 die Session mitschicken wenn ich einen Befehl absende.
Im Anhang die geänderte Datei....
Einen Effekt habe ich noch ...
Ich trage ja den Pairingcode in die FHEM.cfg ein. Dieser wird aber nicht abgearbeitet (Zeitproblem?) Ich muss extra nach dem Anlegen des Devices den Pairingbefehl senden, dann wird auch gepaired ..
Gruss Rainer und danke fürs geile Modul...
Hallo Siggi,
Fernbedienung ist ja ok, aber ich möchte gern den Fernseher zB. so steuern , dass bei Anrufen Stumm geschaltet wird.
Und da brauche ich ja ersteinmal die Connection zum Fernseher ...
Gruss Rainer
Zitat von: rainer1962 am 19 März 2014, 08:08:09
Fernbedienung ist ja ok, aber ich möchte gern den Fernseher zB. so steuern , dass bei Anrufen Stumm geschaltet wird.
Und da brauche ich ja ersteinmal die Connection zum Fernseher ...
Diverse Automationen kommen natürlich dazu! ;) Ich zum Beispiel möchte anhand von Readings gerne den aktiven HDMI Port ermitteln. Dann kann ich darüber bestimmen, welche meiner Harmony Activities gerade aktiv ist und auf welches Gerät (HTPC, Coolstream, BR PLayer, etc) ich Nachrichten oder TTS Output senden kann.
Oder auf welchem Gerät jetzt der nächte Befehl (Stop, Kanal 2, Stumm,...) gesendet werden soll. In Kombination mit meiner geplanten Raumerkennung über das PRESENCE Modul, brauche ich dann nur noch
einen STOP Knopf, und je nach Raum in dem ich mich befinde, und je nach Gerät welches gerade auf dem Fernseher aktiv ist, wird die aktuelle Wiedergabe gestoppt. Die Möglichkeiten hierbei gehen dann natürlich immer weiter... ;)
Ich wollte nur Franz das Modul remotecontrol näher bringen, weil ich WebCmds relativ unpraktisch für den "täglichen Betrieb" finde. Ich nutze sie nur zum Testen und in eigenen Betaphasen bevor ich eine remotecontrol baue. :)
@siggi85
genau das hatte ich auch gesucht, aber nciht gefunden ,
FHEM wird ja jeden Tag umfangreicher und es ist manchmal schwierig das passende zu finden.
Dank der Hilfe hier im Forum geht es einfach viel schneller.
Aber mittlerweile finde ich ja auch selbst Möglcihkeiten das eine oder andere zu machen, wenn auch nicht so elegant, aber auch das wird immer besser :-)
werde heute Abend? mal versuchen das zu realisieren und dann den Code posten.
Hat einer Erfahrung ob man das dann auch ins Dashboard packen kann ?
Gerade das Wiki gelesen, na das wird ja wieder ein größeres Projekt >:(
Zitat von: Franz Tenbrock am 19 März 2014, 08:48:34
Hat einer Erfahrung ob man das dann auch ins Dashboard packen kann ?
Gerade das Wiki gelesen, na das wird ja wieder ein größeres Projekt >:(
Ja das kann man problemlos ins Dashboard einbauen, habe ich auch.
Ich kann heute abend/nachmittag ja mal meinen remotecontrol Code posten, sollte dann relativ einfach auf LG TV umzubauen sein! :)
ja das ist doch mal ein Angebot, es macht ja Spass sich damit auseinanderzusetzen, so dass man den Code auch versteht. Aber manchmal ist es eben auch schön schneller zum Ergebniss zu kommen. Eigentlcih wollte ich ja kein Programmierer werden...
Aber wenn ich mich an einem vorhanden Code entlang hangeln kann gehts einfacher
Zitat von: rainer1962 am 19 März 2014, 07:59:56
Irgendetwas funzt da in dem 2011er Modul nicht richtig ....
hast du vielleicht noch logs davon?
Zitat von: rainer1962 am 19 März 2014, 07:59:56
Ich trage ja den Pairingcode in die FHEM.cfg ein. Dieser wird aber nicht abgearbeitet (Zeitproblem?) Ich muss extra nach dem Anlegen des Devices den Pairingbefehl senden, dann wird auch gepaired ..
Was verstehst du unter nicht abgearbeitet? Meinst du das "please pair" vor dem "device created"? Das ist ein bug.
Im Prinzip musst du allerdings nicht explizit pairen sondern nur ein command senden, dann pairt er vor jedem command automatisch. Das ist auch von lg explizit erlaubt. Die frage ist ob man sich ein paar pairing requests sparen kann.
Dafür müsste man mal beobachten wie lange so eine sessionid hält. In der 2012er Serie hat lg ja dann die sessionid vollkommen aufgegeben..
Hier meine ersten schritte mit remote control.
wird schon mal angezeigt..
aber das notify funktioniert noch nciht richtig.
und die kommandos müssen alle ncoh angepasst werden.
Das ist etwas Fleißarbeit , aber zuerst muss das notify zumindest mit einem Befehl funktionieren.
state wird noch nicht übergeben?
wenn das klappt werde ich die gnazen Kommandos anpassen,
so Pause vorbei..
####################################################################
########### LG TV incl Fernbedieung ########
####################################################################
define LG_TV LGTV2011 192.168.178.32
attr LG_TV loglevel 0
attr LG_TV pairingcode SMPUNA
attr LG_TV room 1Test
define LG_remote remotecontrol
attr LG_remote rc_iconpath icons/remotecontrol
attr LG_remote rc_iconprefix black_btn_
attr LG_remote room 1Test
attr LG_remote row00 POWEROFF,TV,HDMI
attr LG_remote row01 :blank,:blank,:blank
attr LG_remote row02 1,2,3
attr LG_remote row03 4,5,6
attr LG_remote row04 7,8,9
attr LG_remote row05 :blank,0,PRECH
attr LG_remote row06 :blank,:blank,:blank
attr LG_remote row07 VOLUP:UP,MUTE,CHUP
attr LG_remote row08 :VOL,:blank,:PROG
attr LG_remote row09 VOLDOWN:DOWN,CH_LIST,CHDOWN
attr LG_remote row10 MENU,:blank,GUIDE
attr LG_remote row11 :blank,:blank,:blank
attr LG_remote row12 TOOLS,UP,INFO
attr LG_remote row13 LEFT,ENTER,RIGHT
attr LG_remote row14 RETURN,DOWN,EXIT
#attr myTV verbose 5
define notify_LG_remote notify LG_remote set LG_TV $EVENT
Hallo Holy
Zitat von: HolyMoly am 19 März 2014, 09:12:05
hast du vielleicht noch logs davon?
hier mal ein Auszug:
2014.03.15 18:30:45 2: LGTV2011: Created new device LGTV 192.168.25.20:8080
2014.03.15 18:30:45 2: Displaying pairing code at http://192.168.25.20:8080/hdcp/api/auth
2014.03.15 18:30:45 2: Displaying pairing code successful
2014.03.15 18:30:45 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
2014.03.15 18:30:45 2: Now sending command 8
2014.03.15 18:30:45 2: Could not send command
2014.03.15 18:30:45 2: TV Response :500 Can't connect to ::80 (Bad hostname ':')
2014.03.15 18:30:46 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
2014.03.15 18:30:46 2: Now sending command 8
2014.03.15 18:30:46 2: Could not send command
2014.03.15 18:30:46 2: TV Response :500 Can't connect to ::80 (Bad hostname ':')
2014.03.15 18:30:51 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
2014.03.15 18:30:51 2: Now sending command 8
2014.03.15 18:30:51 2: Could not send command
2014.03.15 18:30:51 2: TV Response :500 Can't connect to ::80 (Bad hostname ':')
Es sieht so aus dass das $hash-Array irgendwie fehlerhaft speichert und es nicht über die session schafft die werte zu behalten.
Zitat
Was verstehst du unter nicht abgearbeitet? Meinst du das "please pair" vor dem "device created"? Das ist ein bug.
Im Prinzip musst du allerdings nicht explizit pairen sondern nur ein command senden, dann pairt er vor jedem command automatisch. Das ist auch von lg explizit erlaubt. Die frage ist ob man sich ein paar pairing requests sparen kann.
Dafür müsste man mal beobachten wie lange so eine sessionid hält. In der 2012er Serie hat lg ja dann die sessionid vollkommen aufgegeben..
in der Serie welche ich habe (2011) ist zwingend eine session-id vorgegeben, ansonsten quitiert der Fernsehr mit "no authorized"
Die 2012 geht jedenfalls, nach meiner Umarbeitung ;-) .. Danke Dir !!!
und in Verbindung mit der Fitztelefonier klappt nun auch das anhalten und das Stummschalten bzw auch umgekehrt ....
Gruss Rainer
so und hier ist die Defnition für remote control aus FHEM raus, funktioniert bei mir mit dem 2011 Modell
sieht schon echt cool aus, war gar nicht so schwer
hab mir in der pm angesehen wie die Kommandos lauten , alles kleingeschrieben
wenn man dann
exit_cmd:Exit definiert wird exit_cmd ausgeführt und EXIT angezeigt
8) ;D
das dürfte dem einen oder anderen helfen, jetzt mal sehen ob man noch neue andere Tasten einbauen kann,
da bin ich mal zuversichtlich das ich das auch hinbekomme
####################################################################
########### LG TV incl Fernbedieung ########
####################################################################
define LG_TV LGTV2011 192.168.178.32
attr LG_TV loglevel 0
attr LG_TV pairingcode SMPUNA
attr LG_TV room 1Test
define LG_remote remotecontrol
attr LG_remote rc_iconpath icons/remotecontrol
attr LG_remote rc_iconprefix black_btn_
attr LG_remote room 1Test
attr LG_remote row00 power_off:off,tv:TV,hdmi:HDMI
attr LG_remote row01 :blank,:blank,:blank
attr LG_remote row02 one:1,two:2,three:3
attr LG_remote row03 four:4,five:5,six:6
attr LG_remote row04 seven:7,eight:8,nine:9
attr LG_remote row05 :blank,zero:0,PRECH
attr LG_remote row06 :blank,:blank,:blank
attr LG_remote row07 volume_up:UP,mute:Mute,channel_up:UP
attr LG_remote row08 :VOL,:blank,:PROG
attr LG_remote row09 volume_down:DOWN,channel_list:List,channel_down:DOWN
attr LG_remote row10 quick_menu:MENU,:blank,guide:GUIDE
attr LG_remote row11 :blank,:blank,:blank
attr LG_remote row12 tools:TOOLS,up:UP,info:INFO
attr LG_remote row13 left:LEFT,enter:ENTER,right:RIGHT
attr LG_remote row14 return:RETURN,down:DOWN,exit:EXIT
#attr myTV verbose 5
define notify_LG_remote notify LG_remote set LG_TV $EVENT
1000 Dank an den Chef hier...
Zitat von: rainer1962 am 19 März 2014, 15:26:54
Hallo Holy
hier mal ein Auszug:
2014.03.15 18:30:45 2: LGTV2011: Created new device LGTV 192.168.25.20:8080
2014.03.15 18:30:45 2: Displaying pairing code at http://192.168.25.20:8080/hdcp/api/auth
2014.03.15 18:30:45 2: Displaying pairing code successful
2014.03.15 18:30:45 2: LGTV2011: Sending Command to No AuthKey, please pair your device first!
[/quote]
Kann es vielleicht sein dass du da noch kein pairingcode attribut angelegt hattest?
eine kurze Frage noch
die Bildschirmfernsteuerung des LG funktioniert soweit und ich habe auch wohl verstanden wie man weitere Funktionen definieren kann.
Was mich wundert ist das ober in Tableiste "Home,Sweet Home" ständigt dreht, dh Fritzbox noch beschäftigt, solange ich die Fernsteuerung auf dem Bildsschirm habe rotiert das Emblem
Habe nun die Fernsteuerung alleine in einen Raum gesteckt, wenn ich diesen Raum aufrufe kommt das Symbol nicht zur Ruhe.
Im Logfile nichts negatives zu finden, wenn ich die Fernstuerung aufrufe keine Einträge.
aber es funktioniert ansonsten alles so wie es soll
Da du ja ne funktionierende FB nun hast, brauche ich meinen Code ja nicht mehr posten. Hab heute eh keine Zeit für FHEM gehabt, werde mir morgen wohl noch mal meinen LG vornehmen mit euren neuen Versionen der Module. :)
so jetzt stimmen auch die Icons auf der FB
####################################################################
########### LG TV incl Fernbedieung ########
####################################################################
define LG_TV LGTV2011 192.168.178.32
attr LG_TV loglevel 0
attr LG_TV pairingcode SMPUNA
attr LG_TV room 1Test
define LG_remote remotecontrol
attr LG_remote group TV
attr LG_remote rc_iconpath icons/remotecontrol
attr LG_remote rc_iconprefix black_btn_
attr LG_remote room 1Test
attr LG_remote row00 power_off:POWEROFF,tv:TV,hdmi:HDMI
attr LG_remote row01 :blank,:blank,:blank
attr LG_remote row02 one:1,two:2,three:3
attr LG_remote row03 four:4,five:5,six:6
attr LG_remote row04 seven:7,eight:8,nine:9
attr LG_remote row05 channel_back:PRECH,zero:0,favorites:FAV
attr LG_remote row06 :blank,:blank,:blank
attr LG_remote row07 volume_up:UP,mute:MUTE,channel_up:UP
attr LG_remote row08 :VOL,:blank,:PROG
attr LG_remote row09 volume_down:DOWN,channel_list:CH_LIST,channel_down:DOWN
attr LG_remote row10 quick_menu:MENU,teletext:TEXT,guide:GUIDE
attr LG_remote row11 :blank,:blank,:blank
attr LG_remote row12 tools:TOOLS,up:UP,info:INFO
attr LG_remote row13 left:LEFT,enter:ENTER,right:RIGHT
attr LG_remote row14 return:RETURN,down:DOWN,exit:EXIT
define notify_LG_remote notify LG_remote set LG_TV $EVENT
ausbaufähig ?!
Ich habe das letzte hochgeladene Modul von rainer1962 vom 19 März 2014, 07:59:56 für 2012 LG TVs heruntergeladen, doch ich bekomme meinen TV nicht gepairt.
Ich habe momentan die neueste Firmwareversion auf dem TV. Die normale Version der LG TV Remote Android App (nicht die 2011er Version) funktioniert problemlos.
Anbei mein Code und die zugehörigen Logs nach der Aufnahme des Devices und beim Versuch des pairingcodeabrufes über displayPairingCode2012.
2014.03.22 08:08:05 2: LGTV2012: Please pair your tv
2014.03.22 08:08:05 2: LGTV2012: Created new device wz_TV 192.168.27.130:8080
2014.03.22 08:08:43 2: LGTV2012: No Pairing code, please pair your tv
2014.03.22 08:08:43 2: LGTV2012: Now sending command -1 - LGTV2012: No Pairing code, please pair your tv -
2014.03.22 08:08:43 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><command><session></session><type>HandleKeyInput</type><value>-1</value></command>
2014.03.22 08:08:43 2: LGTV2012: Could not send command
2014.03.22 08:08:43 2: LGTV2012: TV Response :
Bitte um Unterstützung!
Hallo Siggi,
du hast ein 2012er TV also solltest du auch mein 2012er Modul verwenden.
Rainer hat das 2012 ein bisschen angefasst um es auf seinem 2011er zu verwenden, weil mein 2011er Modul bei ihm Probleme hatte.
Zitat von: HolyMoly am 22 März 2014, 08:21:40
Hallo Siggi,
du hast ein 2012er TV also solltest du auch mein 2012er Modul verwenden.
Rainer hat das 2012 ein bisschen angefasst um es auf seinem 2011er zu verwenden, weil mein 2011er Modul bei ihm Probleme hatte.
Achso, das habe ich anscheinend völlig überlesen. :P Na dann teste ich noch mal mit deinem Modul. Ich melde mich. :)
EDIT: Readings gibt es anscheinend noch nicht, aber das Steuern funktioniert. Danke für die schnelle Hilfe und das Modul! :)
EDIT2: Ich habe gerade einen kleinen Schönheitsfehler entdeckt.
right und nicht
rigth ;)
@Siggi, danke für den Typo, ist gefixt. Readings könnte wären zwar machbar, aber für mich nicht so wichtig. Kann gerne jemand implementieren und posten.
@Rainer, probier mal ob das 2011er Modul so bei dir funktioniert?
Hallo,
ich habe einen ...LA... von 2013, kann es sein, dass auch das LGTV2012 schon wieder veraltet ist?
Beim Initialisieren bekomme ich keine Reaktion am TV, also erst mal keine Anzeige vom pairing code.
Hat denn jemand einen 2013er im Einsatz? Oder sonst ´nen Tipp?
Die 2013er haben glaub ich schon wieder ne neue API (3.0),
ich glaube jedoch dass sie in weiten Teilen abwärtskompatibel ist und es eigentlich gehen könnte.
Den Pairing Code kannst du dir zur Not auch per iPhone App holen...
Sonst stell mal loglevel auf 0 und poste Logs
Hi,
mein 2013er 47LA6608 funktioniert einwandfrei...zumindest solange man ihn nicht ausschaltet. Hat jemand einen Tipp, wie man die Verbindung wiederherstellen kann, wenn der Fernseher im Standby bzw. stromlos war? Es hilft weder der Befehl "pair" noch ein "reload 82_LGTV2012". Erst nach einem kompletten Neustart von fhem reagiert der Fernseher wieder. Im Fehlerfall kommen folgende Meldungen im Log:
LGTV2012: Now sending command 27
LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>27</value></api></envelope>
Argument "401 Unauthorized" isn't numeric in numeric eq (==) at ./FHEM/82_LGTV2012.pm line 213.
Argument "401 Unauthorized" isn't numeric in numeric eq (==) at ./FHEM/82_LGTV2012.pm line 215.
LGTV2012: HTTP/1.1 401 Unauthorized, a command is sent when a Host and a Controller are not paired.
LGTV2012: Could not send command
LGTV2012: TV Response :
Hallo
hab noch ein ähnliches Problem mit einem 2011 7obwohl ich eine feste Ip habe muss ich jedesmal in der Fritzbox kurz den namen ändern dann ist er da.
Weder automatische IP noch feste IP klappt richtig. Das ist aber bei der Handy App glaube ich genau so. Also Handy App auch mal probieren.
geht schneller als reset...
Hab mir nun nen Wlan Stick bestellt, dachte es läge am powerline.
das 2012er modell reagiert zwar auch nicht mehr wenn es ausgeschaltet wurde, sobald er aber ein einganssignal auf hdmi bekommt springt er wieder an - ich schalte einfach die dreambox an und schon ist die steuerung für die 2012er modelle wieder aktiv...
Im Netzwerkmitschnitt sehe ich, dass der Fernseher nach dem Standby eingehende Befehle mit einem 401 Unauthorized quittiert. Beim Reset von fhem wird das pairing initiiert. Danach werden die Befehle wieder akzeptiert. Durch reload des Moduls, geschweige denn eigenständig, wird nicht gepaired. Für die 2013er Modelle scheint es zwingend notwendig, bei 401 Unauthorized das Pairing zu wiederholen.
Btw: der Befehl "pair" im Modul ist nicht korrekt implementiert. Dort wird nur ein ungültiger Commandcode abgesetzt.
das modul wurde ja auch nicht für 2013er modelle geschrieben...
nicht korrekt implementiert ist also sicher der falsche ausdruck.
der ton macht die musik - auch in einem forum wie diesem.
@Simon, probier mal dieses neue 2012er Modul ob es Besserung bringt... bin ja froh dass es mit der 2013er reihe auch geht. Vllt gibts ja dann irgendwann mal ein NEUES LGTV Modul das alle Baureihen steuern kann ;) Hab den pair Befehl rausgenommen, der war noch ein Relikt aus grauer Vorzeit.
Falls ein Developer ein paar Readings einfügen möchte, habe ich hier wohl die passende API Beschreibung hierzu. Die Outputs der XML Datei müssten dann in Readings verbaut werden die in einem Intervall abgeholt werden. Ich glaube meine Kenntnisse überschreitet das ein bisschen.
Das Reading für die aktive Schnittstelle (hdmi1, hdmi2 etc.) wäre mir persönlich am wichtigsten.
Link (http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FCurrent+channel+information+Controller+Host.htm)
Hallo Leute, vielen Dank für dieses wunderbare Modul!
Ich hatte mir für heute eigentlich vorgenommen mir selber irgendwie was zu basteln nachdem das Einschalten via cec-client inzwischen funktioniert (ausschalten leider nicht), dann hab ich das hier gefunden. Nach ein paar Problemen mit PERL und mit der neusten Version des 2012er Moduls funktioniert es jetzt auch mit meinem 2013er LA7408. Ich werde heute Abend noch ein wenig damit rum probieren, mal sehen was sich damit so machen lässt.
Eine generelle Frage in Bezug auf diese Module, wie kann ich jetzt ein PRESENCE mit diesem Modul machen? Kann man das irgendwie verbinden? Ich würde gerne in meinem Floorplan den Status des TV sehen und von dort aus ein paar simple Komandos geben wie einschalten und ausschalten. Bisher habe ich da ein lan-ping PRESENCE definiert.
@Falkentavio
falls du eine Fritzbox hast machs so:
define LgTV PRESENCE fritzbox LgTV
attr LgTV event-on-change-reading state
sonst per lan-ping.
@siggi85
probier mal dieses neue modul
mach ein: get myTV LGTV2012 channel
und schick mir die logs zurück...
@HolyMoly
den lan-ping habe ich ja schon eingerichtet. Ich wollte das aber jetzt mit dem LGTV2012 verbinden, sodass ich das LGTV2012 im Floorplan einbauen kann und presence-abhängig das Icon vom LGTV2012 ändern.
Ich habe nach ein paar Tests ein mittelgroßes Problem entdeckt. Sobald der TV einmal ausgeschaltet ist (standby, nicht vom Strom genommen) bekomme ich bei Kommandos vom 2012er Modul einen 401-Fehler zurück (steht im Log). Wenn ich FHEM mit shutdown restart neu starte funktioniert es wieder. Das Modul neu zu laden reicht nicht aus.
Wie gesagt habe ich einen 2013er LG. Wenn mir jemand sagt womit das zu tun haben könnte kann ich mir das auch selber anschauen und Rückmeldung geben wenn ich was gefunden habe. Brauche nur einen Anfang.
Irgendwie scheint beim ausschalten das pairing verloren zu gehen,
schick mal dein log bitte...
Zitat2014.03.27 23:02:03 0: Server shutdown
2014.03.27 23:02:06 1: Including fhem.cfg
2014.03.27 23:02:07 1: Including ./config/00_Utils_config.conf
2014.03.27 23:02:08 3: WEB: port 8083 opened
2014.03.27 23:02:08 3: WEBphone: port 8084 opened
2014.03.27 23:02:08 3: WEBtablet: port 8085 opened
2014.03.27 23:02:08 2: eventTypes: loaded 120 events from ./log/eventTypes.txt
2014.03.27 23:02:09 1: Including ./config/00_Floorplan_config.config
2014.03.27 23:02:09 1: Including ./config/00_TV_config.conf
2014.03.27 23:02:10 2: LGTV2012: Created new device MyTV 192.168.178.108:8080
2014.03.27 23:02:10 1: Including ./log/fhem.save
2014.03.27 23:02:10 0: Server started with 18 defined entities (version $Id: fhem.pl 5238 2014-03-16 16:23:31Z rudolfkoenig $, os linux, user fhem, pid 17446)
2014.03.27 23:03:45 2: LGTV2012: Pairing request with key 861781 at http://192.168.178.108:8080/udap/api/pairing
2014.03.27 23:03:46 2: LGTV2012: Pairing Successful
2014.03.27 23:03:46 2: LGTV2012: TV Response :
2014.03.27 23:03:46 2: LGTV2012: Now sending command 1
2014.03.27 23:03:46 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>1</value></api></envelope>
2014.03.27 23:03:46 2: LGTV2012: Command sent successfully
2014.03.27 23:03:46 2: LGTV2012: TV Response :
opening a connection to the CEC adapter... Hier schalte ich den TV wieder ein
2014.03.27 23:04:21 2: LGTV2012: Now sending command 1
2014.03.27 23:04:21 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>1</value></api></envelope>
2014.03.27 23:04:24 2: LGTV2012: HTTP/1.1 401 Unauthorized, a command is sent when a Host and a Controller are not paired.
2014.03.27 23:04:24 2: LGTV2012: Could not send command
2014.03.27 23:04:24 2: LGTV2012: TV Response :
2014.03.27 23:04:24 2: LGTV2012: Now sending command 1
2014.03.27 23:04:24 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>1</value></api></envelope>
2014.03.27 23:04:24 2: LGTV2012: HTTP/1.1 401 Unauthorized, a command is sent when a Host and a Controller are not paired.
2014.03.27 23:04:24 2: LGTV2012: Could not send command
2014.03.27 23:04:24 2: LGTV2012: TV Response :
Zitatopening a connection to the CEC adapter...
Hier schalte ich den TV über ein event wieder ein, ich führe dazu ein system-befehl aus. Macht aber keinen Unterschied für FHEM ob mit Fernbedienung oder via cec-client.
Braucht die 2013er Serie ein neues Pairing nachdem man ihn wieder eingeschaltet hat? Das liese sich doch sicherlich über ein event anstoßen wenn das PRESENCE von absent zu present wechselt, um das mal zu testen. Bin leider gerade noch auf Arbeit (hab n VPN auf den RPi) und kann nichts testen, nur auslesen. Deswegen ist das Log auch von Gestern.
@ Falkentavio
Die Idee war, einfach ein pairing zu versuchen wenn ein unauthorized zurückkommt und das commando dann halt nochmal zu wiederholen.
Hatt ich schon mal drüber nachgedacht und die hälfte zu implementieren vergessen.
Versuch mal das angehängte Modul...
Wegen Verknüpfung mit Presence mach ich mich mal schlau was man da tun kann.
Zitat von: HolyMoly am 28 März 2014, 09:14:34
@siggi85
probier mal dieses neue modul
mach ein: get myTV LGTV2012 channel
und schick mir die logs zurück...
Also bei get kommt folgendes:
No get implemented for wz_TV
Bei den set Befehlen im Modul wird channel aber angezeigt. Wenn ich das ausführe, kommt folgendes in den Logs (HDMI2 war gerade aktiv):
2014.03.28 15:10:31 2: LGTV2012: Received info :<?xml version="1.0" encoding="utf-8"?><envelope><dataList name="Current Channel Info"><data><chtype>terrestrial</chtype><sourceIndex>0</sourceIndex><physicalNum>0</physicalNum><major>0</major><displayMajor>0</displayMajor><minor>0</minor><displayMinor>-1</displayMinor><chname></chname><progName></progName><audioCh>0</audioCh><inputSourceName></inputSourceName><inputSourceType>0</inputSourceType><labelName></labelName><inputSourceIdx>0</inputSourceIdx></data></dataList></envelope>
2014.03.28 15:10:31 2: LGTV2012: Current Channel :
zur Info: In dem neuen Modul wird mir in den set Befehlen
nur der channel Befehl angezeigt. Ich sage das nur, falls es so nicht geplant ist. ;)
Danke schon mal für deine Hilfe! :)
Hab kein 2012/2013 Gerät, kann also nix testen ^^
bitte mal Zeile 124 ausbessern in:
$hash->{GetFn} = "LGTV2012_Get";
dann bitte mal für alle verschiedenen hdmi channels probieren und schaun ob sich der text der zurückkommt ändert...
Zitat von: HolyMoly am 28 März 2014, 15:20:35
Hab kein 2012/2013 Gerät, kann also nix testen ^^
bitte mal Zeile 124 ausbessern in:
$hash->{GetFn} = "LGTV2012_Get";
dann bitte mal für alle verschiedenen hdmi channels probieren und schaun ob sich der text der zurückkommt ändert...
Danach funktioniert das mit dem get Befehl. Die Ausgaben sind jedoch gleich. :(
Ich habe noch kurz gelesen, es sieht so aus, als wenn bei einem Change des Inputinterfaces ein Signal
vom TV
zum Controller (in diesem Fall FHEM) gesendet werden muss. Hier der richtige Link, sorry für die falsche Pfärte:
Link (http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FCurrent+channel+information+Controller+Host.htm)
inputSourceName sollte das richtige XML Attribut sein.
Sicher dass für alle HDMI Channels der Output exakt gleich ist? Bitte auch mal für SAT, etc. usw probieren...
In get currentChannel ist inputSourceName eigentlich schon enthalten nur halt leider leer. Wahrscheinlich einfach von LG vergessen worden. Schwer denkbar warum es nur bei einem ChannelChanged Event kommen sollte.
ChannelChanged werde ich nicht implementieren, das wäre wesentlich aufwendiger.
Hey HolyMoly, klappt soweit jetzt super, nachdem ich die Zeile 124 ausgebessert habe :)
Hab auch mal das get channel ausprobiert, in meinem Log finde ich dann für meinen RPi an HDMI1 (Name ni der Eingangsliste auf Smart Box gestellt, LG hat nur ein vorgegebenes Set an Namen)
<?xml version="1.0" encoding="utf-8"?>
<envelope>
<dataList name="Current Channel Info">
<data>
<chtype>terrestrial</chtype>
<sourceIndex>0</sourceIndex>
<physicalNum>0</physicalNum>
<major>0</major>
<displayMajor>0</displayMajor>
<minor>0</minor>
<displayMinor>-1</displayMinor>
<chname></chname>
<progName></progName>
<audioCh>0</audioCh>
<inputSourceName>HDMI1</inputSourceName>
<inputSourceType>6</inputSourceType>
<labelName>Smart Box</labelName>
<inputSourceIdx>4</inputSourceIdx>
</data>
</dataList>
</envelope>
Für einen HDMI2 Port ohne Gerät dran
<?xml version="1.0" encoding="utf-8"?>
<envelope>
<dataList name="Current Channel Info">
<data>
<chtype>terrestrial</chtype>
<sourceIndex>0</sourceIndex>
<physicalNum>0</physicalNum>
<major>0</major>
<displayMajor>0</displayMajor>
<minor>0</minor>
<displayMinor>-1</displayMinor>
<chname></chname>
<progName></progName>
<audioCh>0</audioCh>
<inputSourceName>HDMI2</inputSourceName>
<inputSourceType>6</inputSourceType>
<labelName></labelName>
<inputSourceIdx>5</inputSourceIdx>
</data>
</dataList>
</envelope>
Und für meinen Komponentanschluss mit der Wii dran (Name auf Spiel umgestellt)
<?xml version="1.0" encoding="utf-8"?>
<envelope>
<dataList name="Current Channel Info">
<data>
<chtype>terrestrial</chtype>
<sourceIndex>0</sourceIndex>
<physicalNum>0</physicalNum>
<major>0</major>
<displayMajor>0</displayMajor>
<minor>0</minor>
<displayMinor>-1</displayMinor>
<chname></chname>
<progName></progName>
<audioCh>0</audioCh>
<inputSourceName>Komponente</inputSourceName>
<inputSourceType>4</inputSourceType>
<labelName>Spiel</labelName>
<inputSourceIdx>3</inputSourceIdx>
</data>
</dataList>
</envelope>
XML gebeautified,
Habe leider keine Zeit mich selber damit zu beschäftigen, bekomme gleich noch Besuch übers WE. Wollte eigentlich nur das neue Modul testen^^
Sonst würde ich hier jetzt noch eine Werte-Tabelle mit allen Kanälen reinwerfen. Vielleicht hab ich morgen ein bischen Zeit wenn mein Besuch nen Termin in der Stadt hat.
EDIT: Achja, ich habe keinen TV-Anschluss. Kein Sat, Funk oder Kabel. Benutze nur SmartTV und Konsolen. Das erklärt wohl die ersten Werte.
Na das klingt doch hervorragend!
Dann kann ich einfach ein Reading draus basteln.
Dh es geht auch nachdem der Fernseher aus war?
Ich hab den Fernseher einmal ausgeschaltet mit set power, dann mit dem cec-client wieder eingeschaltet und konnte erfolgreich mehrfach set mute machen. Das hat vorher nicht funktioniert, da musste ich nach dem Ausschalten immer fhem neu starten. Ist jetzt nicht mehr nötig. Intensivere Tests kann ich Sonntag durchführen :)
Also bei wir war der XML Part fürs Source Input Device leer. Da es bei anderen zu funktionieren scheint, warte ich den Wert mal als Reading ab und teste dann noch etwas. :)
So, jetzt hab ich endlich wieder Zeit für diese Projekt :)
Ich habe nur die sich verändernden Werte in die Tabelle aufgenommen. Da ich keinen TV-Anschluss habe kann ich für den Rest keine Angaben machen.
Der
chtype gibt immer den eingestellten Programmmodus an, egal welcher Eingang gerade aktiv ist.
audioCh ist meistens 0, eine 1 signalisiert, dass wir auf einem reinen Audio-Kanal sind, also soetwas wie Radio nehme ich an. Die Info habe ich aus der API Doku, testen konnte ich das nicht.
Der
labelName gibt wie schon gesagt den Namen an den man in der Eingangsliste dem Eingang zugeordnet hat. Bei meinem TV kann ich keinen Namen von Hand eingeben, es gibt eine Liste vorgegebener Namen.
chtype | sourceIndex | inputSourceIdx | inputSourceType | inputSourceName | Anschluss am TV/Programmmodus |
terrestrial | 0 | 1 | 1 | AV1 | Scart |
terrestrial | 0 | 2 | 2 | AV2 | Rot/Weiß/Gelb vom Komponent-Anschluss |
terrestrial | 0 | 3 | 4 | Komponente | vollständiger Komponent-Anschluss |
terrestrial | 0 | 4 | 6 | HDMI1 | HDMI1 |
terrestrial | 0 | 5 | 6 | HDMI2 | HDMI2 |
terrestrial | 0 | 6 | 6 | HDMI3 | HDMI3 |
terrestrial | 1 | 0 | 0 | Antenne | |
cable | 3 | 0 | 0 | Kabel | |
satellite | 7 | 0 | 0 | Satellit | |
Zitat von: siggi85 am 29 März 2014, 09:07:00
Also bei wir war der XML Part fürs Source Input Device leer. Da es bei anderen zu funktionieren scheint, warte ich den Wert mal als Reading ab und teste dann noch etwas. :)
Ich habe wieder etwas getestet, aber es hilft nichts, der "inputSourceName" bleibt bei mir leider leer. :-\ In der Beschreibung von diesem Link (http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FLG+UDAP+2+0+Protocol+Specifications.htm) steht folgendes:
inputSourceName
Name of the current input source. Fixed as Antenna.
Unter diesem Link (http://diesem%20link) steht folgendes:
inputSourceName
Name of the current input source. The following values are available.
Antenna: Input via the TV antenna
HDMI: HDMI input. The actual value has the label number for the HDMI input port of the TV at the end (for example, HDMI1, HDMI2, ...).
Component: Component input. The actual value has the label number for the component input port of the TV at the end (for example, Component1, Component2, ...)
Composite: Composite input. The actual value has the label number for the composite input port of the TV at the end (for example, Composite1, Composite2, ...)
RGB: RGB-PC input
Die Beschreibung des zweiten Links sieht vielversprechender aus. Ob das in der Ausgabe bei mir einen Unterschied machen würde weiß ich leider nicht. Da die beiden XML Parts die gleiche Bezeichnung haben (inputSourceName) bin ich mir unsicher.
Die zweite Art der Abfrage müsste eingehend Richtung FHEM statt finden. D.h. hier könnte man Events in FHEM bei Kanalwechsel generieren, auf welche man Notifys setzen könnte. Nur mal als Denkanstoß für ggf. eine Weiterentwicklung. ;)
Hallo Leute,
hier mal eine neue Version vom Modul mit inputSourceName und presence Reading. Hat sich einiges verändert und ich kanns ja mangel 2012/2013 nicht testen... ist halt ein Bananenprodukt, reift beim Kunden ^^
Verwendung so:
define myTV2 LGTV2012 192.168.181.6
attr myTV2 pairingcode SMQRSA
attr myTV2 presencedevice LgTV #hier den namen vom Presence device angeben
attr myTV2 room Wohnzimmer
attr myTV2 verbose 5 #nicht mehr loglevel sondern nun verbose
@Siggi85
Viel Spass bei der Implementierung des bidirektionalen teils :P
Schreib eher mal LG sie könnten diesen Fehler per FW Update beheben...
@Falkentavio
Vielen Dank für die Tabelle, ich habe erstmal nur inputSourceName als reading herausgeführt, das ist am ehesten verständlich ;)
Hey HolyMoly,
tausend Dank für Deine Arbeit! Ich habs zwar jetzt noch nicht getestet - glaube aber das es gut funktioniert...
wofür wird denn bei der def. das presencedevice benötigt? Das verstehe ich noch nicht - erklärst Du das kurz?
Das presencedevice notified mich wenn der Fernseher online geht, führt dann ein pairing durch und fragt alle 30s ab ob sich die InputSource geändert hat. Wenn der Fernseher offline geht sollte das ständige polling eingestellt werden.
Das bedeutet ich muss das PRESENCE Modul auf den Fernseher ansetzen? Hab ich mir bisher gespart - ich seh ja wenn der Fernseher an ist ;-) Ok - ich werds ausprobieren, aber erst wenn der CubieTruck vollständig läuft...
Bevor der Fernseher dann in die neue Config umzieht teste ich... für meinen zweck würde die aktuelle Variante auch reichen.
Gut, zu wissen welcher Eingang aktiv ist wäre schon schön.
Funktioniert erstmal gut, allerdings wird nur presence geschaltet, der state Eintrag bleibt bei Paired. Für devStateIcon wird aber der state verwendet soweit ich das verstehe. Oder kann ich das irgendwie ummappen?
Der PRESENCE signalisiert dem LGTV2012 jetzt bei jedem auslesen des Status ein update. Es wird also bei jedem update vom presence (alle 60 Sekunden bei mir) ein repairing durchgeführt. Und mein Log wird mit Pairings und Received Infos überflutet. Fürs testen ganz gut, aber standard sollte ein Loglevel sein der das Log nicht so stark flutet.
Auch funktioniert das reading noch nicht bei mir. Es wird zwar alle paar Sekunden aktualisiert, aber ein Reading erscheint nicht in der Weboberfläche. Hier das Log:
2014.04.03 08:03:48 2: LGTV2012: Received info :<?xml version="1.0" encoding="utf-8"?><envelope><dataList name="Current Channel Info"><data><chtype>terrestrial</chtype><sourceIndex>0</sourceIndex><physicalNum>0</physicalNum><major>0</major><displayMajor>0</displayMajor><minor>0</minor><displayMinor>-1</displayMinor><chname></chname><progName></progName><audioCh>0</audioCh><inputSourceName>Komponente</inputSourceName><inputSourceType>4</inputSourceType><labelName>Spiel</labelName><inputSourceIdx>3</inputSourceIdx></data></dataList></envelope>
2014.04.03 08:03:48 2: LGTV2012: Current inputSourceName :
ich hab da auch noch was - wenn das loggen mal optimiert wird, wäre es toll wenn die zeilenumbrüche verschwinden, zwischen den einträgen des lgtv liegen immer leerzeilen.
Ok, verbose 5 und das Log ist sauberer. Lesen bildet^^'
Trotzdem bleibt das Problem mit dem PRESENCE[tt/] und dem state. Vielleicht ist es auch kein Problem und ich verstehe es nur falsch.
Und das get inputSourceName bekommt leider auch keine Info. Im Source steht noch was mit
sub
LGTV2012_Get($@)
{
....
if($what eq "channel"){
return LGTV2012_getInfo($hash,$gets{$what});
}
....
Ich weis aber nicht ob das was damit zu tun hat. Der Request wird ja trotzdem regelmäßig abgesendet und es kommt nichts raus.
Zitat von: Falkentavio am 03 April 2014, 11:01:13
Und das get inputSourceName bekommt leider auch keine Info.
Ich bekomme das auch nicht gefüllt.
Ich habe ja bereits geschrieben, dass mit dem Aufruf im abgefragten XML Output bei mir das inputSourceName-Attribut nicht gefüllt ist. Das scheint an der Antwort des Fernsehers zu liegen, zumindest bei mir.
Der XML Output ist gefüllt. Nur der get bekommt das sourceInputName nicht aus dem XML raus.
@ Falkentavio
Ich habe absent, present & paired in den state gepackt, hoffe das passt so für deine devStateIcons
Wenn dir Presence zu viele updates macht empfehle ich dir even-on-change-reading für das Presence device zu setzen.
Wegen leerem inputSourceName, XML::Simple ist installiert oder? Kommen im Telnet irgendwelche Fehlermeldungen?
@Lolo Newlines sind entfernt
Danke HolyMoly, werde es morgen probieren wenn ich wieder zuhause bin.
Eine generellere Frage habe ich noch. Ich habe ein Notify das ein tool auf der Konsole ausführt um den TV zu starten. Wie lässt sich das am besten mit dem Modul verbinden, sodass ich den TV nicht über das cmdLine starten muss?
define TVOn notify LGTV:on "echo 'on 0' | /usr/local/bin/cec-client -s -d 1"
LGTV ist mein LGTV2012 Element.
Nun du könntest das neue Modul ausprobieren, ein Attribut poweroncmd definieren und das neue command power_on testen...
Klasse Idee, danke HolyMoly! Klappt super :)
ich wollte es gerade auch mal testen
2014.04.06 12:17:36 1: reload: Error:Modul 82_LGTV2011 deactivated:
Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
BEGIN failed--compilation aborted at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
2014.04.06 12:17:36 0: Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
BEGIN failed--compilation aborted at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
habe einen 55LM660S
ginge das damit überhaupt
Hallo Masterpete,
sollte schon funktionieren, wahrscheinlich eher mit dem 2012er Modul.
Was Dir fehlt ist offensichtlich das Perl Modul XML/Simple.pm.
Betreibst du fhem auf einer fritzbox?
woher nehmen wenn nicht stehlen? :)
auf einer raspberry
cpan install XML::Simple
sollte reichen. Es kann aber sein, dass andere Abhängigkeiten nicht installiert sind. Hatte das Probem auch. Habe aber nicht mehr im Kopf was genau da gefehlt hat und wie man es bekommt.
XML::Parser
muss unter Umständen ebenfalls installiert werden, soviel weis ich noch.
Mein 1.Beitrag :-)
Funktioniert super.....nahezu perfekt!
Dachte schon ich brauche eine neue Glotze
Vielen Dank an HolyMoly
Soo, hab endlich wieder etwas Zeit und mich noch ein wenig mit dem Reading beschäftigt.
InputSourceName ist ja leider leer wenn SmartTV aktiv ist. Abspielen über DLNA muss ich btw. nochmal testen was dort dann drin steht, wenn das denn was anders ist.
Mit folgender Änderung in Zeile 340 hat es bei mir dann auch funktioniert
my $inputSourceName = $xml->{dataList}->{data}->{inputSourceName};
@Falkentavio, da hast du wohl recht 8)
Anbei das aktualisierte Modul, ein paar commands hab ich noch an den FHEM multimedia standard angepasst wo es ging.
Bei Gelegenheit werde ich mal das 2011er und 2012er Modul mergen...
Wenn der sourceIndexName leer ist kommt immer ein HASH(0xXXXXXXX) Wert als Reading.
Welche commands hast du angepasst? Bei set und get hat sich nichts verändert bei mir.
Hatte die commands eigentlich so angepasst das die AV Development Guidelines eingehalten werden http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV (http://www.fhemwiki.de/wiki/DevelopmentGuidelinesAV)
leider sind mir die Änderungen irgendwo verschütt gegangen :(
Bzgl sourceIndexName, du meinst inputSourceName oder?
In welchen modi ist inputSourceName denn leer?
Richtig, inputSourceName. Irgendwie hatte ich es gestern mit index. Hab mal geschaut ob man bei LG nicht auch die inputSource direkt schalten kann, aber scheinbar gibt es da nichts. Lautstärke gibt es auch nur die Tasten und ein query zum auslesen, aber nichts um die fest zu legen. Zumindest hab ich nichts gefunden.
Der inputSourceName ist leer wenn man irgendwas mit SmartTV macht. Also YouTube, Watchever, etc. Apps halt. Dabei fällt mir ein, ich muss auch nochmal probieren was dort steht wenn ich den Media-Server der FB auswähle. Das wird ja als InputDevice gelistet im Menü.
EDIT: Media-Server sind auch ein leerer inputSourceName. Genauso wenn ich etwas von meinem tablet direkt als DLNA streame.
Hallo
Im Log steht bei mir das
2014.04.27 17:01:28.779 2: LGTV2012: Created new device myTV2 192.168.2.100:8080
2014.04.27 17:01:29.015 3: Registering HTTPSRV Webserver for URL /jsf...
2014.04.27 17:03:34.769 2: LGTV2012: HTTP/1.1 400 Bad Request, The byebye request is transmitted in an incorrect format.
2014.04.27 17:03:34.770 2: LGTV2012: Could not send byebye request
2014.04.27 17:03:34.771 2: LGTV2012: TV Response
Habe die letzte LGTV2012 hier aus dem Thread.Mein Modell ist ein 55LA 6608 also von 2013
Ansonsten funktionieren bei mir die funktionen die in Fhem angeboten werden. Auch habe ich bis jetzt
keinen absturz. Danke für die tolle Arbeit . Wird das Modul weiter gepflegt und sollen neuen funktionen
hinzukommen.
@Falkentavio
probier mal die neue
@Inesa
Sehr komisch, schaut so aus als ob sich der Fernseher nach 2 min gleich wieder verabschieden mag.
Funktioniert denn das presence device für den Fernseher zuverlässig?
Zitat von: masterpete23 am 06 April 2014, 12:19:15
2014.04.06 12:17:36 1: reload: Error:Modul 82_LGTV2011 deactivated:
Can't locate XML/Simple.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
BEGIN failed--compilation aborted at ./FHEM/82_LGTV2011.pm line 33, <$fh> line 305.
Habe gestern auch versucht das Modul zu testen, leider hatte ich den selben Fehler wie Pete.
Mit cpan habe ich dann versucht Simple und Parser nachzuziehen. Leider ging es über install nicht (auch nicht mit force)
Jemand eine Idee?
Habe einen LG 55LW659S (der gehört doch zu 2011, oder?)
Hallo Sandra,
Make sure these perl modules are installed:
LWP::UserAgent
HTTP::Request::Common
XML::SIMPLE
If you are on a linux box:
sudo apt-get install libwww-perl libxml-simple-perl
If you are on another machine with full perl:
Before you install XML::Simple, you must have an XML parser module like XML::Parser or XML::SAX installed. The easiest way then is to install with the CPAN shell:
perl -MCPAN -e shell
cpan> install XML::Simple
If you are on an embedded system like the Fritzbox, you probably don't have CPAN, so you have to download the modules by hand and put them in your perl installation.
@all
Dieser Thread wird langsam etwas unübersichtlich, daher habe ich alle infos über die module zusammengefasst und in einen Blogeintrag http://www.tatsch-it.de/controlling-lg-televisions-fhem/ (http://www.tatsch-it.de/controlling-lg-televisions-fhem/) gepackt. Dort gibt es in Zukunft immer die aktuellsten Versionen. Supportanfragen und Verbesserungsvorschläge gerne weiter hier.
Danke das probiere ich heute Abend gleich aus :)
Die Idee mit der Übersicht finde ich auch gut ^^ (hatte schon im Wiki gesucht und nichts gefunden, ggf. da auch noch einen Link auf die Seite?)
Sieht nämlich echt gut aus dein Modul, da könnte man toll "Ambilight" dazu schalten, wenn der Fernsehstatus auf ein geht etc.
Genau, das ist bei mir so gelöst:
define FernseherAus watchdog LgTV:absent 00:01 LgTV:present {\
fhem("set Wohnzimmer.EckStrahler off");;\
fhem("set Wohnzimmer.StehLampeSwitch off");;\
if($hms>"22:00"){\
fhem("set Beleuchtung scene Schlafen");;\
fhem("set Bad.DeckenLampe on");;\
}\
fhem("setstate FernseherAus defined");;\
}
attr FernseherAus group HIFI
attr FernseherAus regexp1WontReactivate 1
attr FernseherAus room hidden
define FernseherAn watchdog LgTV:present 00:00 LgTV:absent {\
if(ReadingsVal("Wohnzimmer.twilight","light",0)<3){\
fhem("set Beleuchtung scene Fernsehen");;\
}\
fhem("setstate FernseherAn defined");;\
}\
Hallo zusammen,
habe viel in dem Forum gelernt und gestöbert. Vielen Dank an alle und Eure tollen Beiträge.
Habe etwas Zeit gefunden eine anständige Fernbedienung für das LG2012 Modul für SMART TVs zu entwerfen.
Will damit auch mal einen nützlichen Beitrag leisten. Das 3D Logo ist eine Kopie eines vorh. Buttons, bearbeitet in Paint mit eingefügtem LG 3D Logo und dann als black_btn_3D umbenannt. Kinderleicht. Viel Spaß damit. Funzt bei meinem LA9609 alles perfekt.
define Fernbedienung remotecontrol
attr Fernbedienung icon it_remote@pink
attr Fernbedienung rc_iconpath icons/remotecontrol
attr Fernbedienung rc_iconprefix black_btn_
attr Fernbedienung row00 power off:POWEROFF2,livetv:TV,externalinput:SOURCE,menu:SUBMENU,quickmenu:SUBMENU2
attr Fernbedienung row01 :blank,:blank,:blank,:blank,:blank
attr Fernbedienung row02 red:RED,green:GREEN,teletext:TEXT,yellow:YELLOW,blue:BLUE
attr Fernbedienung row03 :blank,number1:1,number2:2,number3:3
attr Fernbedienung row04 :blank,number4:4,number5:5,number6:6
attr Fernbedienung row05 :blank,number7:7,number8:8,number9:9
attr Fernbedienung row06 :blank,prevchannel:PRECH,number0:0,proglist:CH_LIST
attr Fernbedienung row07 :blank,:blank,:blank,:blank,:blank
attr Fernbedienung row08 :blank,volume_up:VOLUP,:blank,P+:CHUP2
attr Fernbedienung row09 :blank,:VOL,mute:MUTE,:PROG
attr Fernbedienung row10 :blank,volume_down:VOLDOWN,:blank,P-:CHDOWN2
attr Fernbedienung row11 :blank,:blank,:blank,:blank,:blank
attr Fernbedienung row12 :blank,SMART:HOMEsym,threedvideo:3D,Info:INFO2
attr Fernbedienung row13 :blank,:blank,:blank,:blank,:blank
attr Fernbedienung row14 :blank,APPS:TOOLS,up:UP,epg:GUIDE
attr Fernbedienung row15 :blank,left:LEFT,ok:OK,right:RIGHT
attr Fernbedienung row16 :blank,previous:RETURN,down:DOWN,exit:EXIT
attr Fernbedienung row17 :blank,:blank,:blank,:blank,:blank
attr Fernbedienung row18 :blank,skip_bw:LEFT2,record:REC,skip_fw:RIGHT2
attr Fernbedienung row19 play:PLAYgreen,rewind:REWINDred,stop:STOP,fastforward:FFblue,pause:PAUSEyellow
define n_LgRemote notify Fernbedienung set LGTV $EVENT
und wie sieht das aus
Hast du einen Snap ?
Thanks
mal sehen wann ich Zeit finde :-(
Erstmal DANKE für eure Zeit und Hinweise...
Hab mein 2012LGTV am laufen.. nach einigen neerdigen Fehlschlägen...
Funzt eigentlich ein WakeuponLan??? .. hoff ich habs nicht überlesen..
Per LAN aufwecken geht leider meines Wissens nach nicht weil der Port ja nicht da ist.
Aber du könntest trotzdem einfach mal probieren ein WOL magic packet zu schicken... vielleicht gehts ja ... informier uns mal über das Resultat.
Ansonsten bleiben dir seriell oder irgendwelche iR sender
Hallo zusammen,
bei meinem LG LA6208 funktioniert weder WOL noch das aufwecken über serielle Schnittstelle als USB Adapter.
Das einzige was bei mir funktioniert ist das einschalten via HDMI-Kabel welches an einem Raspberry angeschlossen ist und dann ein "Einschalt"-Signal mit dem cec-client sendet:
echo "on 0" | cec-client -s
Ich habe dennoch die Steuerung via LGTV2012 und via serieller Schnittstelle in Betrieb, da ich beide Schnittstellen brauch um alles zu steuern.
LGTV2012 zur Umschaltung der Fernsehkanäle und die serielle Schnittstelle zum Umschalten zwischen HDMI und Digital-SAT.
Gruß
Markus
Hallo,
ich habe ein LG Modell 2012 und es entsprechend den Anleitungen hier in fhem eingerichtet.
Leider schmiert mir fhem komplett ab so dass ich es neu starten muss.
Und zwar immer nachdem der Fernseher aus war, dann wieder eingeschaltet wird, und ich eine Taste auf der "Fernbedienung" drücke.
Dieses Kommando scheint zunächst abgelehnt zu werden, da noch nicht gepairt. Dann wird automatisch gepairt und anschließend ist fhem tot.
Starte ich fhem neu, kann ich normal den Fernseher steuern, da ja nun gepairt.
Hier ein entsprechender log.
Was mache ich falsch?
2014.10.28 22:40:54 2: LGTV2012: Now sending command 25
2014.10.28 22:40:54 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>25</value></api></envelope>
2014.10.28 22:40:54 2: LGTV2012: HTTP/1.1 401 Unauthorized, a command is sent when a Host and a Controller are not paired.
2014.10.28 22:40:54 2: LGTV2012: Pairing request with key 285887 at http://192.168.178.28:8080/udap/api/pairing
2014.10.28 22:40:54 2: LGTV2012: Pairing Successful
2014.10.28 22:43:20 1: Including fhem.cfg
Es kann auch sein, dass der Fernseher von 2013 ist. Es ist ein LA8609.
Funktioniert es mit 2013er Modelken evtl. nicht?
Ich habe das Midul über den Blog geladen.
Hast du ein presence device angelegt?
Eigentlich sollte ein repairing automatisch stattfinden wenn der Fernseher online geht.
Ja. Habe ich.
Eigentlich 1:1 vom Blog kopiert. Bis auf die ip und da ich keine fritzbix habe, über lan-Ping.
Mein lan-Ping hat ein Intervall von 3600.
also deshalb gab es noch kein Pairing. Ok.
Aber wenn es noch nicht gepairt ist, es dann aber wie
Im log automatisch durchgeführt wird, warum verabschiedet sich
Dann anschließend fhem?
Ich muss das dann immer per Konsole neu starten.
Ja, irgendwie seltsam. Eigentlich sind die 2012er anspruchsloser was das pairing angeht als die 2011er. Kann allerdings gut sein dass die 2013er wieder restriktiver geworden sind. Schau mal dass du den loglevel/verbose hochdrehst für gesamt fhem und das log postest
Ich bekomme es nicht mehr reproduziert.
Das sind mir die liebsten >:(
Sollte es noch einmal auftreten, versuche ich es mit einem ausführlicheren log erneut zu posten.
Im Moment tut es. :-[
So nun schon wieder. Leider nicht mehr verbose 5 drin gehabt.
LGTV stand im Status aber auf paired. TV lief den ganzen abend. Nun wollte ich das TV über fhem ausschalten, und schon hängt sich fhem wieder auf.
Hier das log:
Nach Pairing succesful ist Ende und ich muß fhem neu starten.
2014.10.30 21:30:00 2: SOMFY set FI_T on: sA84000B8000013
2014.10.31 00:03:03 2: LGTV2012: Now sending command 1
2014.10.31 00:03:03 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>1</value></api></envelope>
2014.10.31 00:03:03 2: LGTV2012: HTTP/1.1 401 Unauthorized, a command is sent when a Host and a Controller are not paired.
2014.10.31 00:03:03 2: LGTV2012: Pairing request with key 285887 at http://192.168.178.28:8080/udap/api/pairing
2014.10.31 00:03:03 2: LGTV2012: Pairing Successful
2014.10.31 00:06:15 1: Including fhem.cfg
Brauche leider mehr loglevel, sonst kann ich dir leider nicht helfen.
Ich weiß. Problem ist halt, das es sich nicht einfach reproduzieren lässt und ich nicht die ganze Zeit auf Verdacht mein log volllaufen lassen will.
Sobald ich etwas habe, schreibe ich es nochmal hier rein.
Danke.
Hallo,
versuche gerade das 2. Mal meinen neuen LG einzubinden.
Definiert habe ich:
define LGTV LGTV2012 192.168.2.29
attr LGTV pairingcode 255
Leider kommt folgender fehler im Log, wenn ich versuche zu pairen.
Ein automatischer Prompt am Fernseher mit dem Pairing Code kam auch nicht.
Die IP ist mit Sicherheit die richtige...wo der Port 8080 weiss ich nicht. Ist das Standard?
2014.11.16 22:35:21 2: LGTV2012: Pairing request with key 255 at http://192.168.2.29:8080/udap/api/pairing
2014.11.16 22:35:21 2: LGTV2012: An unknown error has occured.
2014.11.16 22:35:21 2: LGTV2012: Could not send pairing request.
2014.11.16 22:35:21 2: LGTV2012: TV Response :Can't connect to 192.168.2.29:8080 (Connection refused)
LWP::Protocol::http::Socket: connect: Connection refused at /usr/share/perl5/LWP/Protocol/http.pm line 51.
2014.11.16 22:35:21 2: LGTV2012: Now sending command -1
2014.11.16 22:35:21 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>-1</value></api></envelope>
2014.11.16 22:35:21 2: LGTV2012: An unknown error has occured
2014.11.16 22:35:21 2: LGTV2012: Could not send command.
2014.11.16 22:35:21 2: LGTV2012: TV Response :Can't connect to 192.168.2.29:8080 (Connection refused)
LWP::Protocol::http::Socket: connect: Connection refused at /usr/share/perl5/LWP/Protocol/http.pm line 51.
P.S. Meiner wird auch ein 2014 er sein ;-)
Er scheint gar keine Verbindung mit dem Fernseher hinzubekommen.
Vielleicht hat LG den Port mit der 2014er Serie verändert.
Mach mal einen Portscan von deinem Fernseher uns poste deine Resultate.
Hi HolyMoly,
ja, da bin ich jetzt auch ned gleich drauf gekommen:
Hier der Output:
root@fhem:/home/pi# nmap 192.168.2.29
Starting Nmap 6.00 ( http://nmap.org ) at 2014-11-16 23:22 CET
Nmap scan report for LGSmartTV.fritz.box (192.168.2.29)
Host is up (0.00071s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
1213/tcp open mpc-lifenet
1900/tcp open upnp
1974/tcp open drp
3000/tcp open ppp
3001/tcp open nessus
9998/tcp open distinct32
MAC Address: 3C:CD:93:58:BE:2D (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 2.01 seconds
Ingo
Kannst mal probieren alle 8080 im Modul durch 9998 zu ersetzen?
Wenn das nicht geht die anderen Ports durchprobieren ;)
@Ingo
hast du den korrekten Port finden können?
Nein, noch nicht...ich probiere nochmal
Hallo HolyMoly,
also habe es gerade eben nochmal mit allen Ports probiert - leider ohne Erfolg....
2014.11.29 13:07:53 2: LGTV2012: Pairing request with key 255 at http://192.168.2.29:9998/udap/api/pairing
2014.11.29 13:07:53 2: LGTV2012: HTTP/1.1 404 Not Found, the POST path of a command is incorrect.
2014.11.29 13:07:53 2: LGTV2012: Could not send pairing request.
2014.11.29 13:07:53 2: LGTV2012: TV Response :
2014.11.29 13:07:53 2: LGTV2012: Now sending command -1
2014.11.29 13:07:53 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>-1</value></api></envelope>
2014.11.29 13:07:53 2: LGTV2012: HTTP/1.1 404 Not Found, the POST path of a command is incorrect.
2014.11.29 13:07:53 2: LGTV2012: Could not send command.
2014.11.29 13:07:53 2: LGTV2012: TV Response :
Habe gerade keine Ideen mehr ;-(
Ingo
Hmm vielleicht hat LG bei den 2014ern den Pfad verändert aber der Port schaut gut aus.
was bekommst du auf ein:
curl ipadress:9998
zurück?
Das hier:
root@fhem:/home/pi# curl 192.168.2.29:9998
<!DOCTYPE html>
<html><head>
<script type="text/javascript">
function createPageList() {
var xhr = new XMLHttpRequest;
xhr.open("GET", "/pagelist.json");
xhr.onload = function(e) {
if (xhr.status == 200) {
var pages = JSON.parse(xhr.responseText);
if (pages.length)
document.getElementById("noPageNotice").style.display = "none";
var pageList = document.createElement("ol");
for (var i in pages) {
var link = document.createElement("a");
var title = pages[i].title ? pages[i].title : ("Page " + (Number(pages[i].id)));
var url = pages[i].url;
link.appendChild(document.createTextNode(title + (url ? (" [" + url + "]") : "" )));
link.setAttribute("href", pages[i].inspectorUrl);
var pageListItem = document.createElement("li");
pageListItem.appendChild(link);
pageList.appendChild(pageListItem);
}
document.body.appendChild(pageList);
}
};
xhr.send();
}
document.addEventListener("DOMContentLoaded", createPageList, false);
</script>
</head><body>
<h1>Inspectable web views</h1>
<p id="noPageNotice" style="color:grey">None found, make sure that you have set the developerExtrasEnabled preference property on your WebView.</p>
</body></html>
und curl 192.168.2.29:9998/pagelist.json
Das liefert nur brackets zurück "[ ]" ;-(
P.S.: Hab das Ganze auch nochmal mit allen anderen Ports probiert ohne Erfolg.
Wenn ich nur irgendwie den Handyverkehr mitprotokollieren könnte, wenn die App auf den fernseher zugreift...
Also, 2 Sachen konnte ich noch rausfinden...
Ein genauerer Port Scan lieferte folgendes Ergebnis:
root@fhem:/home/pi# nmap -p- 192.168.2.29
Starting Nmap 6.00 ( http://nmap.org ) at 2014-11-29 15:02 CET
Nmap scan report for LGSmartTV.fritz.box (192.168.2.29)
Host is up (0.00067s latency).
Not shown: 65525 closed ports
PORT STATE SERVICE
1331/tcp open intersan
1360/tcp open mimer
1442/tcp open cadis-2
1900/tcp open upnp
3000/tcp open ppp
3001/tcp open nessus
9955/tcp open unknown
9998/tcp open distinct32
18181/tcp open opsec-cvp
36866/tcp open unknown
MAC Address: 3C:CD:93:58:BE:2D (Unknown)
Beim Port 1442 antwortet ein wenig mehr:
root@fhem:/home/pi# curl 192.168.2.29:1442
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:dlna="urn:schemas-dlna-org:device-1-0" xmlns:pnpx="http://schemas.microsoft.com/windows/pnpx/2005/11" xmlns:df="http://schemas.microsoft.com/windows/2008/09/devicefoundation">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>LG Smart+ TV</friendlyName>
<manufacturer>LG Electronics.</manufacturer>
<manufacturerURL>http://www.lge.com</manufacturerURL>
<modelDescription>LG WebOSTV DMRplus</modelDescription>
<modelName>LG TV</modelName>
<modelURL></modelURL>
<modelNumber>1.0</modelNumber>
<serialNumber></serialNumber>
<UDN>uuid:d756c59b-cf0c-63d5-9b12-75c5a508db6a</UDN>
<pnpx:X_compatibleId>MS_DigitalMediaDeviceClass_DMR_V001</pnpx:X_compatibleId>
<pnpx:X_deviceCategory>MediaDevices</pnpx:X_deviceCategory>
<df:X_deviceCategory>Multimedia.DMR</df:X_deviceCategory>
<df:X_modelId>LG Digital Media Renderer TV</df:X_modelId>
<lge:X_LG_DLNA_DOC xmlns:lge="urn:lge-com:device-1-0">1.0</lge:X_LG_DLNA_DOC>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50</dlna:X_DLNADOC>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>191</width>
<height>191</height>
<depth>32</depth>
<url>/dmrIcon.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/AVTransport/d756c59b-cf0c-63d5-9b12-75c5a508db6a/scpd.xml</SCPDURL>
<controlURL>/AVTransport/d756c59b-cf0c-63d5-9b12-75c5a508db6a/control.xml</controlURL>
<eventSubURL>/AVTransport/d756c59b-cf0c-63d5-9b12-75c5a508db6a/event.xml</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/ConnectionManager/d756c59b-cf0c-63d5-9b12-75c5a508db6a/scpd.xml</SCPDURL>
<controlURL>/ConnectionManager/d756c59b-cf0c-63d5-9b12-75c5a508db6a/control.xml</controlURL>
<eventSubURL>/ConnectionManager/d756c59b-cf0c-63d5-9b12-75c5a508db6a/event.xml</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/RenderingControl/d756c59b-cf0c-63d5-9b12-75c5a508db6a/scpd.xml</SCPDURL>
<controlURL>/RenderingControl/d756c59b-cf0c-63d5-9b12-75c5a508db6a/control.xml</controlURL>
<eventSubURL>/RenderingControl/d756c59b-cf0c-63d5-9b12-75c5a508db6a/event.xml</eventSubURL>
</service>
</serviceList>
</device>
</root>
Pairen kann ich damit aber nicht...
2014.11.29 15:07:52 2: LGTV2012: Pairing request with key 255 at http://192.168.2.29:1442/udap/api/pairing
2014.11.29 15:07:52 2: LGTV2012: An unknown error has occured.
2014.11.29 15:07:52 2: LGTV2012: Could not send pairing request.
2014.11.29 15:07:52 2: LGTV2012: TV Response :
2014.11.29 15:07:52 2: LGTV2012: Now sending command -1
2014.11.29 15:07:52 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>-1</value></api></envelope>
2014.11.29 15:07:53 2: LGTV2012: An unknown error has occured
2014.11.29 15:07:53 2: LGTV2012: Could not send command.
2014.11.29 15:07:53 2: LGTV2012: TV Response :
2014.11.29 15:07:57 1: FHEMWEB SSL/HTTPS error: Resource temporarily unavailabl
Hi yetiman,
schaut leider ganz so aus als hätte LG die verwendete UDAP 2.0 Schnittstelle in der 2014er Serie eingestampft >:(
UDAP 2.0 is only supported in NetCast 3.0 (LG Smart TV models released in 2012) and NetCast 4.0 (LG Smart TV models released in 2013) platforms.
Ansonsten konnte ich keine vergleichbare Funktionalität in der neuen API entdecken. Geht eigentlich diese LG remote app bei dir noch?
Hallo HolyMoly,
es gibt eine neue App für diese Serie...
Die funktioniert soweit auch...also muss man den TV theoretisch auch ansprechen können ;-)
Ingo
Oh Gott, da läuft jetzt scheinbar WebOS drauf. Alles voll mit Javascript und Node.js.
Kannst mal unterhttp://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.developing.book/html/BookTitle_Developing/BookTitle_Developing.htm (http://developer.lgappstv.com/TV_HELP/topic/lge.tvsdk.developing.book/html/BookTitle_Developing/BookTitle_Developing.htm) reinschauen ob du API zur Fernbedienung finden kannst, ich hab jedenfalls nix entdecken können.
Ansonsten könntest du mal per Wireshark mitschneiden wie App und Fernseher kommunizieren...
Hallo Leute,
hat sich hier noch etwas getan, oder noch jemand eine Idee?
Besitze einen LG 60lb650v, wäre natürlich genial das Gerät einschalten und auf hdmi umschalten zu können.
LG
Klaus
Nope, das ist leider ein komplett neues Fass, welches ich nicht aufmachen werde.
Alternativ gibt es ein logitech harmony ip gateway mit dem du dann sogar einschalten könntest.
Vielen dank für die Antwort,
muss sagen die Harmony Variante scheint mir eine tolle Lösung zu sein, da ich damit auch meine Mediabox ansteuern kann.
Perfekt, nur noch günstig erstehen.. :)
MfG
Hallo zusammen,
ich krame jetzt den Thread mal wieder hervor, weil ich das Modul für die 2012er-Serie erweitert habe und nun auch teilen möchte. Das Modul kann nun auch das aktuelle TV-Programm anzeigen (Welches Programm läuft aktuell auf welchem Sender?) sowie unterscheiden kann, ob aktuell TV geschaut wird oder eine App läuft.
Auch wird nun die Kanal-Liste ausgelesen, so kann per "set LgTV channel XX" der gewünschte Kanal gesetzt werden.
Ich arbeite zur Zeit noch daran, die gesammelten Abfragen auf BlockingCall umzustellen, das kriege ich leider nich so schnell auf die Reihe, wie ich mir das gewünscht habe.
Eventuell hat jedoch der ein oder andere bereits jetzt eine Verwendung für das umfangreichere Modul. Und mit Sicherheit findet ihr auch noch einige Bugs, die versuche ich dann natürlich zu beheben.
Viele Grüße
Max
Hallo zusammen,
anbei auch mein Vorschlag. Ich weis leider nicht, wie hier momentan der Status ist, ob Julian seine Version einchecken will, oder nicht.
Gruß
Markus
Hi,
ihr könnt gerne einchecken, ich schaffe momentan zeitlich nicht die mal grundlegend zu überarbeiten.
Zitat von: Markus Bloch am 06 Mai 2015, 21:50:36
Hallo zusammen,
anbei auch mein Vorschlag. Ich weis leider nicht, wie hier momentan der Status ist, ob Julian seine Version einchecken will, oder nicht.
Gruß
Markus
Danke dafür Markus! Ist auf jeden Fall wesentlich aufgeräumter als mein Code und deinen HTTP-Code find ich super!
Ist es für dich in Ordnung, wenn ich meine Änderung auf deinen Code anpasse und dann damit als Basis weiter arbeite? Ich würde nämlich noch gerne eine App-Steuerung einbauen (Amazon Prime, Netflix etc.) Eventuell könnte man auf diese Weise eine Art Benachrichtigung auf dem TV realisieren indem man den Browser mit einer entsprechenden FHEM-Server URL aufruft und den Browser dann nach X Sekunden wieder schliesst.
Ja gerne. Deswegen ist das ja alles hier "Open-Source" ;-)
Da Julian sein OK gegeben hat, würde ich deine überarbeitete Variante dann am besten fürs einchecken vormerken. Ich hatte für meine Zwecke nur die Channel-Listen dazu implementiert und eben alles auf HttpUtils umgestellt.
Dann seh ich die Tage mal zu, dass ich unseren Code vernünftig verheirate. Super!
Nabend ;-)
Ich wollte einmal fragen ob es neuigkeiten gibt ?
Vielen Dank für das Modul! Da habe ich lange drauf gewartet.
Ich habe vorgestern mal meine erste Spielerei damit umgesetzt. Basierend auf DOIF, dem ENIGMA2 Modul und eurem Modul klappt es nun ENDLICH, dass der Fernseher automatisch den 3D Modus (de)aktiviert, wenn man auf Sky 3D umschaltet.
define ENABLE3D ([enigma2device:channel] eq "Sky_3D") (set Fernseher_LG remoteControl 3Dvideo; define tmp_at_3d_1 at +00:00:02 set Fernseher_LG remoteControl right; define tmp_at_3d_2 at +00:00:04 set Fernseher_LG remoteControl ok) DOELSE (set Fernseher_LG remoteControl 3Dvideo)
Vielleicht ist dieses Snippet ja für den einen oder anderen von euch interessant, bzw. ggf. kann man es auch gemeinsam weiterentwickeln, so dass das automatische Umschalten bspw. auch bei Aufzeichnungen mit "3D" im Namen aktiviert wird.
Hallo,
Ich muss mal diesen Thread wieder hoch holen...
Das ist zwar mein erster Post, aber dank dieses Forums habe ich bisher (fast) alles hinbekommen.
Ich hab nun eine ganze Weile versucht, meinen LG mit den hier genannten Schritten zum laufen zu bewegen. Ich habe einen 55EC930V.
Auf Port 8080 antwortet er nicht, hat wohl ein anderes WebOS.
Ich habe aber im Netz diese Anleitung gefunden, um mit ihm kommunizieren zu können, allerdings sind meine Programmierkentnisse eher bescheiden.
https://www.npmjs.com/package/lgtv
Meiner produziert mit nmap die selben Ausgaben - mit ein bischen müsste es laufen.
Vielleicht findet sich ja ein versierter Fhem-User, der an dieser Stelle einspringen kann und ein Modul schreibt/erweitert?
mfG
Auch Hallo!
Unser 2015er WebOS 2.0- TV redet leider auch nicht mit dem 2012er Modul. Auf die von Future verlinkte Software bin ich unabhägig von ihm auch gestoßen und habe in unserem Forum mal die Suche angeworfen - und bin hier gelandet... ;o)
Hätte also auch Interesse an einer Implementierung, oder sachdienlichen Tipps zur Selbsthilfe. Vielleicht lässt sich die Software neben FHEM installieren und entsprechend steuern?
Gruß
Frank
Edit: Hier (http://forum.fhem.de/index.php/topic,36824.msg295316.html#msg295316) wird beschrieben, wie man auf Debian node.js und npm installiert. Dann hat man die Voraussetzungen um die Software aus Futures Link zu installieren. Werde mich demnächst mal daran versuchen...
Sooooooo, erste Erfolge:
Zum testen habe ich Linux Mint 17.2 Cinnamon per "LinuxLive_USB_Creator" auf einen schnellen Stick gespielt und das Notebook damit gestartet. Dann alles upgedatet und die benötigten Tools installiert:
mint@mint ~ $ sudo apt-get update && apt-get upgrade && apt-get dist-upgrade
mint@mint ~ $ sudo apt-get install nodejs
mint@mint ~ $ sudo apt-get install npm
mint@mint ~ $ nodejs -v
v0.10.25
mint@mint ~ $ npm -v
1.3.10
mint@mint ~ $ npm install lgtv
Kurz den TV angepingt: Antwortet. Nun ein erster Test, der noch nicht geklappt hat:
mint@mint ~/node_modules/lgtv/examples $ nodejs show-float.js
connecting to lgtv
Connect Error: Error: getaddrinfo ENOTFOUND
connecting to lgtv
Ursache: Der TV- Name wurde noch nicht aufgelöst. Also etc/hosts editiert:
127.0.0.1 localhost
127.0.1.1 mint
192.168.1.100 lgsmarttv.lan
Nun wird er aufgelöst:
mint@mint ~/node_modules/lgtv/examples $ ping lgsmarttv.lan
PING lgsmarttv.lan (192.168.1.100) 56(84) bytes of data.
64 bytes from lgsmarttv.lan (192.168.1.100): icmp_seq=1 ttl=64 time=103 ms
64 bytes from lgsmarttv.lan (192.168.1.100): icmp_seq=2 ttl=64 time=109 ms
Jetzt die erste Verbindung mit dem TV (muss am TV bestätigt werden) und Anzeige von "It works":
mint@mint ~/node_modules/lgtv/examples $ nodejs show-float.js
connecting to lgtv
WebSocket Client Connected on IP:192.168.1.100
First usage, let's pair with TV.
Sending 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":{"":"LG Remote App","ko-KR":"리모컨 앱","zxx-XX":"ЛГ Rэмotэ AПП"},"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":"###"},"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":"###"}]}}}
<--- received: {"type":"response","id":"register_0","payload":{"pairingType":"PROMPT","returnValue":true}}
<--- received: {"type":"registered","id":"register_0","payload":{"client-key":"###"}}
Storing client key:###
---> Sending command:{"id":"1","type":"request","uri":"ssap://system.notifications/createToast","payload":{"message": "It works!"}}
<--- received: {"type":"response","id":"1","payload":{"toastId":"com.webos.service.apiadapter-###","returnValue":true}}
LG TV disconnected
Auch das Umschalten auf Browser und TV- Modus usw. (Verzeichnis "/examples") klappt auf Anhieb und ohne Verzögerung. Nun versuche ich das Ganze auf den FHEM- Rechner zu bekommen und per system- Befehlen zu steuern. Weitere Steuerbefehle sollte Wireshark während des Steuerns mit der Android- App zu Tage fördern. Ich hoffe, man braucht nur die Beispiele entspr. zu modifizieren. Auf den FHEM- (ARM) Rechnern könnte es ggf. etwas schwieriger werden node.js und npm zu installieren. Für die aktuellen Raspis mit Debian 8 gibt es aber auch schon fertige Pakete und entsprechende Anleitungen im Netz.
LG ;D
Frank
Jetzt auf dem FHEM- Rechner:
node.js, npm und lgtv installieren (Wheezy):
sudo apt-get update && apt-get upgrade && apt-get dist-upgrade
sudo echo "deb http://ftp.us.debian.org/debian wheezy-backports main" >> /etc/apt/sources.list
sudo apt-get update
sudo apt-get install nodejs-legacy curl
sudo curl -L --insecure https://www.npmjs.org/install.sh | bash
user@debian:~# sudo nodejs -v
v0.10.29
user@debian:~# sudo npm -v
3.3.8
# um lgtv zu installieren in das Verzeichnis wechseln, in dem man es installiert haben möchte, dann:
sudo npm install lgtv
Ggf. den TV in die etc/hosts eintragen (siehe vorheriger Post) und testen:
{system("nodejs /node_modules/lgtv/examples/show-float.js &");;}
Auf dem Bildschirm erscheint die Bestätigungsanforderung und dann "It works"
Nach dem Vorbild der Lautstärkeregelung kann man leicht ei Script basteln, dem man Texte als Argument übergeben kann:
lgtv = require("lgtv");
/*---------------------------------------------------------------------------*/
var args = process.argv.slice(2);
var msg = 'Es wurde kein Text übergeben';
if (args.length > 0) {
try {
msg = (args[0]);
} catch(error) {
}
}
console.log("setting volume to:");
var run_test = function() {
lgtv.connect(function(err, response){
if (!err) {
lgtv.set_input("HDMI_1", function(err, response){
if (!err) {
lgtv.show_float(msg, function(err, response){
if (!err) {
lgtv.set_volume(10, function(err, response){
lgtv.disconnect();
});
};
});
};
});
};
});
};
run_test();
Das Script setzt die Quelle auf HDMI 1, gibt den Text aus, der als Arg. übergeben wurde und setzt die Lautstärke auf 10.
Der Befehl könnte dann so aussehen:
{system("nodejs /node_modules/lgtv/examples/test.js Das ist ein Test &");;}
Gruß
Frank
Hi!
Ich bin ziemlich neu hier und beschäftige mich erst seit kurzem mit FHEM.
Soviel zur kurzen Vorstellung.
Ich hab den Änderungsvorschlag von Markus übernommen und ein wenig erweitert.
- Set Befehl um Readings der installierten Apps zu generieren. (appListRequest)
- set: startApp und stopApp zum .... ja, wie der name schon sagt. Erst verfügbar wenn 'appListRequest' einmal ausgeführt wurde und die Readings verfügbar sind.
Der Code ist sicher noch verbesserungswürdig. (Bsp: Es werden einfach alle nicht ASCII chars aus den app namen entfernt.)
Weiters kann man den sicher noch etwas aufräumen und eleganter gestallten.
Feedback. Tests und Verbesserungen/Verbesserungsvorschläge sind immer willkommen.
In der Hoffnung es ist für irgendjemand nützlich.
LG
thomas
Hallo Thomas,
ich finde deine Variante etwas umständlich, was die Kommandosyntax angeht. Ich habe mal basierend auf deinem Patch, das ganze in meine Modulvariante integriert.
Die Liste aller Apps wird beim Start einmal abgerufen und dann als Set-Arguments direkt angeboten. Somit entfallen die vielen Readings.
Schau es dir einfach mal an.
Viele Grüße
Markus
Hi Markus!
Super!
Das ist wesentlich besser so. Gefällt mir sehr gut.
Meine bescheidenes Wissen über den Aufbau von FHEM hat mir nicht erlaubt das so sauber auszuscripten.
Wie dem auch sei, vielen Dank fürs 'cleanup'.
Vielleicht kannst du mir eine Frage beantworten die mir etwas Unklar ist:
Es macht zwar für die Funktion aus meiner sicht keinen Unterschied aber sollte zb. "statusRequest" nicht eher ein 'get' command sein?
(nur für mein Verständnis)
Danke nochmals & LG
Thomas
Hallo,
Ich möchte das aktuelle Modul für meinen LG LF6309 verwenden. Leider bekomme ich immer wieder auf Port 8080 die Fehlermeldung "Verbindung abgelehnt"
Kann es sein das ich am Fernsehr noch was freischalten muß? Oder gibt es für WebOS2 einen anderen Port?
Grüße
Hi,
das Modul passt leider nicht zu den aktuellen TVs. Ich habe mir geholfen, indem ich "lgtv" auf Linux installiert habe und das Ganze per system- Kommandos aus FHEM steuere (http://forum.fhem.de/index.php/topic,14695.msg349980.html#msg349980). Damit kann man Messages einblenden, Quellen umschalten, Lautstärke einstellen usw. Man könte darüber auch den TV auslesen, aber dazu müsste "lgtv" vermutlich in ein FHEM- Modul gegossen werden.
Gruß
Frank
Alles klar, ich danke Dir. Ich schaue es mir bei Gelegenheit mal an.
Schade dachte echt ich müsste nicht schon wieder ein Modul schreiben ::)
Grüße
Das Modul LGTV_2012 geht nur für Smart-TV's die zwischen 2012 und 2014 produziert worden sind. Ab 2014 wurde webOS eingeführt, welches komplett anderes angesteuert wird.
Gruß
Markus
Vielen Dank Markus,
Die Info hatte mir noch gefehlt. Ich habe eine Menge Apps gefundden welche wohl die neuen TV's ansteuern können. Eventuell finde ich da mehr Infos.
Grüße
Dieses "lgtv (https://www.npmjs.com/package/lgtv)" ist eine quelloffene API. Das müsste für einen Programmierer ohne Reverse- Eng. lesbar und verstehbar sein.
Das ist richtig. Nur leider benötigt man auch ein Testobjekt an dem man seine Implementierung testen kann. Programmieren rein nach Spezifikation oder Copy&Paste ist immer gefährlich.
Ich habe ein 2014'er Modell und kann daher nicht als Entwickler dienen.
Gruß
Markus
Tja, wenn ich könnte würde ich das sogar gerne in Angriff nehmen. Ist mir aber wohl 3 Nummern zu groß... ;)
LG hat ja für schlaue Entwickler ohne aktuellen LG-TV hier was schönes (https://developer.lge.com/webOSTV/sdk/web-sdk/webos-tv-emulator/introduction-webos-tv-emulator/) vorbereitet (https://developer.lge.com/webOSTV/sdk/web-sdk/webos-tv-emulator/using-webos-tv-emulator/). 8)
Das mit den 3 Nummern zu groß dachte ich bei meinem ersten Modul auch. Wenn Du wirklich richtig Interesse hast, schau Dir das LGTV2012 an und suche Dir einen Mentor. Häng Dich rein und mach los.
Habs mir vorab schon angesehen. Kinnlade ist noch nicht wieder ganz oben... ;) Wie hast du denn deinen Mentor gefunden? Hier würde sich ja Markus quasi aufdrängen... ;) Ich bräuchte erst mal ein paar Basics wie z.B.:
- ist es überhaupt möglich das was "lgtv" macht in Perl abzubilden?
- wie bringe ich den Code aus der "npm- Sprache" (sieht ja fast aus wie JS)? am Besten nach Perl rüber?
- was im LGTV2012- Modul gehört alles zur TV- Kommunikation und was ist FHEM- Modul- Zeugs?
- was sind die häufigsten Stolperfallen in die man als Modul- Anfänger tappt?
Zitat von: fiedel am 11 Februar 2016, 13:50:03Code aus der "npm- Sprache" (sieht ja fast aus wie JS)?
Das sieht nicht nur so aus wie JavaScript, das
ist JavaScript :)
npm ist der "Node Package Manager", also der Paketmanager für node.js. Und node.js ist nichts anderes als JavaScript (JS) in der Servervariante.
Zitat von: fiedel am 11 Februar 2016, 13:50:03
Habs mir vorab schon angesehen. Kinnlade ist noch nicht wieder ganz oben... ;) Wie hast du denn deinen Mentor gefunden? Hier würde sich ja Markus quasi aufdrängen... ;) Ich bräuchte erst mal ein paar Basics wie z.B.:
- ist es überhaupt möglich das was "lgtv" macht in Perl abzubilden?
- wie bringe ich den Code aus der "npm- Sprache" (sieht ja fast aus wie JS)? am Besten nach Perl rüber?
- was im LGTV2012- Modul gehört alles zur TV- Kommunikation und was ist FHEM- Modul- Zeugs?
- was sind die häufigsten Stolperfallen in die man als Modul- Anfänger tappt?
Meinen Mentor habe ich einfach so gefunden, wahr Zufall. Ok und bisschen schauen wer wie was schreibt im Forum von den Developern.
Markus wäre sicherlich ein guter Ansatz, wenn er sagt es ist ok. Ansonsten kann man auch betateilchen mal fragen. Du solltest aber ein dickes Fell haben, er sagt was er denkt. Ich finde das voll ok und sehr ehrlich. Bei anderen stößt er damit auf.
Wer sagt denn das Du die Funktionalität von lgtv nachbilden musst. Du kannst ja die Libery auch verwenden. BlockingCall wäre da noch zu nennen.
Hier noch was aus dem Wiki
http://www.fhemwiki.de/wiki/DevelopmentModuleIntro
Grüße
Danke für den Anschub! :) Freue mich übrigens, dass betateilchen noch dabei ist. Mich würde er wohl aber eher zur Schnecke machen, weil ich mich dumm anstelle... ;D Auf die Idee die API über ein Modul anzuzapfen bin ich noch gar nicht gekommen. Markus´ Modul macht ja auch den Handshake mit dem TV selbst - das müsste doch mit dem neuen WebOS auch gehen? Bin mir nur nicht sicher, ob das auch mit Perl geht, weil die JS- Kommandos ja ganz anders arbeiten. Ich denke mal über deine Idee nach - das wäre ja dann vielleicht etwas einfacher.
Gruß
Frank
Klar geht das.
WebOS arbeitet ganz anders. Insbesondere was Tokenübergabe an geht und so. Auch die Ports sind ja anders. Ich persönlich wurde über die lgtv lib gehen. Eigentlich machst Du das ja schon mit Deinem 99_myUtils Beispiel. Das musst Du nur in ein !Modul gießen und zwar NonBlocking
Grüße
Aktueller Stand bei mir: Chronisch zu wenig Zeit zur Modulentwicklung (von Ahnung ganz zu schweigen). ;D Wenn ich Zeit haben sollte, würde ich doch eher versuchen das Modul die Komm. machen zu lassen und nicht "lgtv". Das zu installieren hatte ich schon so meine Schwierigkeiten und andere werden da auch drüber stolpern. Das wird dann insgesamt zu kompliziert. Hier gibt es eine Übersetzungshilfe (http://www.lemoda.net/perl/perl-js/perl-js.html) zwischen Perl und JS damit würde ich anfangen...
hmm, schade, geht hier wohl nix?
weil ratets mal, was ich fürn tv hier habe *g*
ich konnt fiedels schritte auf der vorseite super nachvollziehen und die tests funzen sogar bei mir nulpe. das schaut mir also aus, als ob da eh "nur mehr" das eigentliche modul für dummies wie mich fehlt *g*.
somit dacht ich mir: vielleicht ists ja ein ansporn für nen progger, wenn hier ein weiterer, zukünftig dankbarer sein interesse anmeldet ...
Ich habe mich mal einen Tag ran gesetzt und mir das angeschaut. Es wäre nicht schwer ein Modul dafür zu schreiben. Aaaaber, das Teil würde in meiner Netzwerkumgebung nicht laufen, weil hier auf Multicast gesetzt wird was mein Netzwerk nicht zu lässt. Ich kann bei Zeit mal testen ob man auch direkt die IP des Fernsehrs mit dem ddp Protokoll ansprechen kann. Aber im Moment fehlt mir die Zeit dafür.
Sorry
reine interessensfrage:
welche probleme hast den mit multicast? machts dir zu viel müll im netz?
Mein Netz ist segmentiert und multicast kann man nicht so ohne weiteres routen.
bist doch ein spielkind, dachte ich *g*
falls dich interessiert:
hier http://www.ip-phone-forum.de/showthread.php?t=193344 die jungs tunneln ihr multicast durch n vpn. stichwort war da wohl bridging, wenn ich mich recht erinnere.
Ich habe zwar auch weder Zeit noch Ahnung (geht wohl fast jedem so, wie war das: "keine Ahnung hatten wir alle mal..."), aber es wäre ja an der Zeit für ein erstes Modul. Fähiges Netzwerk ist vorhanden und auch zwei Testobjekte im Haus:
- LG47LB650V mit webOS
- LG42UB820V vermutlich ohne webOS, zumindest braucht der eine andere App
Wobei ich den 42er nach dem 47er gekauft habe. Ist LG also schon wieder von webOS weg?
Ob es besser ist das über diesen Seriell-USB Stick zu probieren oder die Befehle der App zu sniffern weiß ich noch nicht, aber ich kann mich ja mal rantasten. Erwartet keine Wunder - vor allem keine schnellen...
Vielleicht mag mir Markus Bloch dabei helfen, dann würde ich mich mal ranwagen.
Mal schauen...
*g*
ich mach jedem den testonkel, der das will --> lgtv 55ub856v-zd
webos tv version: 1.4.0-2316 (afro-ashley) - ich glaub, dass is webos2 oder schon 3?
serieller usb-stick? ich nehme an, dafür müsste eine verbindung zw. usb am tv und der zentrale bestehen?
würde ich für weniger brauchbar halten - immerhin steckt schon ein lan-kabel an der hütte, noch ein kabel wäre extrem unerfreulich bis nicht machbar (kabellängen, kein platz mehr im unterputzkanal, ...) für mich.
Zitat von: the ratman am 24 Februar 2016, 20:52:03
immerhin steckt schon ein lan-kabel an der hütte,
So geht es mir ja auch. Den 47er will ich eigentlich nur ein- und ausschalten - fertig. Der Rest macht mein AV-Receiver, wenn er nicht gerade bei Yamaha ist ::)
Einschalten geht halt mit den Apps nicht...
Muss ich wohl dann beides ausprobieren.
meine präferenzen sind da anders.
steuern kann ich das ding super über meinen harmony-hub (<-- meine empfehlung an dich). da glänzen auf meiner smartvisu-seite schon alle senderlogos, blaa ...
theoretisch also nicht mal ein problem, in fhem das pogramm am tv zu starten, dass in nem google-kalender hinterlegt wurde. mir fehlt dazwischen nur noch die frage vom haustablet, ob ich auf den sender umschalten will. da bau ich grad dran. aber:
viel wichtiger wäre mir, dass ich gerne wissen würde, wenn der fernseher an ist. z.b. könnte ich das wissen wieder für das ein/ausschalten meiner soundbar nutzen - die kann nämlich nur togglen und mir sinnloses rumgeschalte an der harmony sparen, wenn der tv sowieso aus is.
irgendwie blöd, wenn ich meinen "gute nacht" befehl in den raum schrei, alles geht aus, nur die soundbar geht an *g*.
wenn man den tv dann auch noch als informations-center für fhem mißbrauchen könnte, ging mir sowieso einer ab ...
ZitatDen 47er will ich eigentlich nur ein- und ausschalten - fertig.
Das geht momentan nicht ohne Weiteres: Es gibt am TV eine Funktion "Per App einschalten" oder so ähnlich. Da bleibt im Standby WLAN aktiv. Das geht bei mir nicht - keine WLAN- Einbuchung zu sehen und mit der Android- App sehe ich den TV auch nicht. Du brauchst also entweder ein Gerät, das sich mit dem TV per CEC versteht (z.B. Raspi mit CEC-O-MAT- Software), oder machst es so wie ich momentan: SCART vom Satrec. -> Steuerspannung an Optokoppler (oder z.B. FHEM- gesteuerter Aktor) -> Eltako- Relais mit Nulldurchgangs- Schaltung (12V zum steuern von Rec.- Festpl. geklaut) -> TV. Das Rel. ist hinter dem TV in einer flachen Bopla- Kiste an der Wand eingebaut, der Optokoppler direkt am Scartstecker. Der TV startet so, wie er zuletzt ausgeschaltet wurde. Und er wird auf diese Weise "hart" ausgeschaltet. Gibt damit bisher keine Probleme.
Gruß
Frank
Zitat von: the ratman am 24 Februar 2016, 21:38:58
steuern kann ich das ding super über meinen harmony-hub (<-- meine empfehlung an dich).
Ich hatte schon drüber nachgedacht eine billige Fernbedienung (Seki) zu schlachten.
Zitat
viel wichtiger wäre mir, dass ich gerne wissen würde, wenn der fernseher an ist.
Das ist doch easy, das mache ich mit dem PRESENCE Modul.
Zitat von: fiedel am 25 Februar 2016, 06:17:13
Der TV startet so, wie er zuletzt ausgeschaltet wurde. Und er wird auf diese Weise "hart" ausgeschaltet.
Ach, das kenne ich von früher. So habe ich den TV immer auf AV gezwungen, 12V an den Umschaltpin...
Und der LG schaltet damit ein? Und schaltet dann aber nicht auf Scart? Ds wäre ja was!
Habe nur noch nicht verstanden wie du ihn ausschaltest. Netzaktor?
ZitatDas ist doch easy, das mache ich mit dem PRESENCE Modul.
mit dem spiel ich mich eh grad. besser gsagt: mit der modul fritzbox, weil presence bei mir kein einziges gerät als aktiv erkannt hat. da schein ich ja auch nicht der einzige zu sein. und über fritzbox dauert mir das zu lange - teilweise auch bei lan-geräten bis 10 min., bis der onkel fritz mal was meldet.
tatsache is sowieso: je mehr rückmeldung, je besser. hab ich auch grade gelernt, nachdem ich meinen saugroboter wieder per ir steurrn muß, weil mir scheints der usb-port desselbigen abgeraucht is und somit kein wlan mehr geht.
Zitat von: Deudi am 25 Februar 2016, 07:30:00
Ach, das kenne ich von früher. So habe ich den TV immer auf AV gezwungen, 12V an den Umschaltpin...
Und der LG schaltet damit ein? Und schaltet dann aber nicht auf Scart? Ds wäre ja was!
Habe nur noch nicht verstanden wie du ihn ausschaltest. Netzaktor?
Das macht alles der Satreceiver mit der Steuerspannung am SCART. Sat ein -> TV ein, Sat aus -> TV aus. Der "Aktor" ist das Eltako- Relais (http://www.amazon.de/Eltako-2375334-ER12DX-UC-Schaltrelais/dp/B000UW996E/ref=pd_sim_60_3?ie=UTF8&dpID=410Vgo%2B-B3L&dpSrc=sims&preST=_AC_UL160_SR160%2C160_&refRID=16WYF6SRAW820XAZQBTZ).
Ich steuere nichts am SCART des TV, sondern ich schalte den TV hart ein/aus, gesteuert von der Schaltspannung des Satrec.- SCART. So wie hier (http://www.tobiaspaul.net/dokuwiki/doku.php?id=elektronik:sonstiges:scartschalter), nur dass ich einen Optokoppler statt des Transistors nehme.
Zitat von: the ratman am 25 Februar 2016, 08:04:50
weil presence bei mir kein einziges gerät als aktiv erkannt hat.
Das ist aber sonderbar. Blockiert bei dir irgendwer icmp?
Ich habe über 40 Presence Module definiert und überwache alle Geräte im Haus. Das funktioniert super.
Zitat von: fiedel am 25 Februar 2016, 08:16:29
Das macht alles der Satreceiver mit der Steuerspannung am SCART. Sat ein -> TV ein, Sat aus -> TV aus.
Ok, jetzt habe ich es verstanden. Leider schalten sich meine LG bei Spannungswiederkehr nicht ein. :(
Zitat von: Deudi am 25 Februar 2016, 19:46:39
Das ist aber sonderbar. Blockiert bei dir irgendwer icmp?
Ich habe über 40 Presence Module definiert und überwache alle Geräte im Haus. Das funktioniert super.
nö, nix blockiert ... is aber eh wurst. wenn das tv-modul mal existiert, is der einzig zeitkritische ping eh gegessen *g*
Hallo zusammen,
ich habe heute eine Modul "LGTV_IP12" eingecheckt, welches ab morgen via update zur Verfügung steht. Damit kann man LG Smart TV's steuern die zwischen 2012 und 2014 hergestellt wurden. Dies betrifft alle Modelle die mit der LG TV Remote App steuerbar sind (https://itunes.apple.com/de/app/lg-tv-remote/id509979485?mt=8)
Das Modul basiert auf der Arbeit von HolyMoly die ganz zu Anfang dieses Threads gepostet wurde. Hinzugefügrt habe ich die Channel-Auswahl, sowie die App-Kommandos die durch tamash beigesteuert wurde.
Das Modul funktioniert NICHT mit webOS basierten Modellen die ab 2014 hergestellt wurden. Hierfür muss sich leider jemand anderes finden, da ich nur einen "alten" SmartTV habe.
Gruß
Markus
@Markus: 1000 Dank für die Aufnahme der Lösung ins Repository!
Mir ist eine Kleinigkeit aufgefallen: "presence" scheint nicht zu funktionieren. Das Reading wird zwar angelegt, geht aber auf "0" und bleibt da, egal ob der TV an oder aus ist.
Wäre super, wenn du dir das bei Gelegenheit nochmal ansehen könntest.
Ich habe übrigens den 55LA7408...
Viele Grüße,
Weini
Hallo weini,
das aktuelle Modul LGTV_IP12 generiert kein presence-Reading. Da der TV automatisch wenn er "off" ist, nicht erreichbar ist ("absent") bringt es keinen Unterschied. Wenn der TV wieder an ist, ist er auch wieder "present".
Da man dadurch nichts ableiten kann, generiere ich es nicht.
Gruß
Markus
Hi Markus!
Ok, das ist ja auch so sinnvoll.
Was aber aus meiner Sicht Sinn machen würde, wäre ein "power" Reading mit den Werten "on" und "off". Du bildest das momentan über "state" ab. Das ist aber bzgl. Logging unschön, da "state" immer vom Logging ausgeschlossen wird.
Viele Grüße,
weini
Habe ich eingecheckt und gibts ab morgen.
Gruß
Markus
Hallo Markus!
Wow, vielen Dank dafür!
Viele Grüße,
weini
Vielleicht als Info für alle die einen WebOS2.0 LG haben:
Ich benutze zur Statusabfrage einfach PRESENCE mit lan-ping und pinge auf die LG TV IP, alle 15 Sekunden.
Funktioniert wunderbar um damit eine Lichtsteuerung (u.v.m.) zu realisieren.
Trotzdem wäre natürlich ein WebOS Module ganz nett :)
Hallo Markus,
erstmal DANKE für das Modul ... Daumen hoch.
Frage: Kann man auch off/on schalten ?
Gruß
Sascha
Hallo Sascha,
man kann off per remoteControl schalten. Dann ist der TV aber aus und man bekommt ihn nur noch manuell wieder an. Ist in der Schnittstelle von LG leider nicht vorgesehen.
Tut mir leid
Gruß
Markus
Hallo zusammen,
ich hab ein LG 42LF5809 (gebaut Februar 2016) und der läuft prima mit LGTV_IP12 und auch LGTV2012.
In den readings ändert sich aber nicht der Input, da steht immer "Satellit" und auch das Programm was ausgewählt war/ist, egal auf welche Eingangsquelle ich umschalte.
Wird an dieser Stelle nichts anderes angezeigt?
Andreas
Hallo Andreas,
stell das bitte nochmal genauer da. Wann genau wird das Reading aktualisiert, wann nicht?
Vielen Dank
Gruß
Markus
Zitat von: Markus Bloch am 03 März 2016, 19:45:09
Hallo Sascha,
man kann off per remoteControl schalten. Dann ist der TV aber aus und man bekommt ihn nur noch manuell wieder an. Ist in der Schnittstelle von LG leider nicht vorgesehen.
Tut mir leid
Gruß
Markus
Oh, schade ... trotzdem Danke
Zitat von: Markus Bloch am 04 März 2016, 18:06:54
...
stell das bitte nochmal genauer da. Wann genau wird das Reading aktualisiert, wann nicht?
...
Aber natürlich :-)
TV ist im Modus SAT und ich schaue die Sportschau, Readings wie in Bild SAT
Schalte ich den Input auf DLNA (in diesem Fall mein Synology NAS auf dem ich meine Filme lagere) und schaue dort einen Film, ändert sich bis auf den "inputType" nichts (Bild Netz).
Das Reading "inputLabel" kommt von meinem AV-Receiver (HDMI-Out an HDMI-In des LG TV) an dem der fireTV-Stick hängt.
Gruß
Andreas
Ja, das ist leider so. Die Schnittstelle behält die Werte aus dem SAT-Eingang bei, wenn man auf DLNA umschaltet. Leider lässt sich dies nicht anderweitig feststellen. Ich kann aus den Informationen die ich erhalte nicht darauf schließen, ob man tatsächlich auf dem SAT-Eingang noch ist, oder eben gerade DLNA nutzt.
Diese Schnittstelle ist leider wahrlich nicht tollste für einen solchen Zweck. Ich nutze sie persönlich nur um die Kanäle zu wechseln und remoteControl zu machen.
Gruß
Markus
OK, vielen Dank für die Infos.
Das bedeutet, so "auskunftsfreudig" wie KODI ist das LG TV nicht?
Ich hatte bis vor kurzem einen KODI (auf RasPi) und da war das mit FHEM so gemacht, sobald ein Film läuft, wird das Licht ausgeschaltet bzw. runter gedimmt und bei Pausen ging es wieder an.
Momentan habe ich noch KODI auf dem fireTV-Stick, nur der kommt manchmal an seine Grenzen und die Filme ruckeln, bzw. der Stick hängt sich komplett weg.
Da mein TV jetzt auch aufs NAS zugreifen kann wollte ich mir nicht noch extra wieder einen zusätzlichen Pi mit KODI hinstellen.
Dann wirds Licht halt wieder "von Hand" gedimmt.
Gruß
Andreas
Ja, sowas gibt der LG TV nicht raus. Die Schnittstelle ist eben reinweg für die Steuerung (nur Steuerung, keine Statusabfrage) gedacht. Dementsprechend dürftig sind auch die Informationen die man hier abfragen kann.
Gruß
Markus
Hallo Markus,
herzlichen Dank für dieses tolle Modul. Vermutlich habe ich ein ähnliches Problem, wie Andreas.
Wenn man ein Programm gewählt hat, wird currentProgram korrekt angezeigt.
Schaut man auf dem Programm weiter und ändert sich die Sendung, ändert sich jedoch currentProgram nicht mehr. Erst nach dem Umschalten ist currentProgram wieder korrekt. Liegt dies auch an der eingeschränkten Schnittstelle des LGTVs?
Grüße Tim
Kann ich bei mir nicht bestätigen:
um uns wieder mal on topic zu bringen ... gibts neues zu den 2014+ modellen?
Hallo,
da ich vor habe einen neuen LG TV zu kaufen wollte ich wissen welche Möglichkeiten ich habe diesen über FHEM zu steuern. Die neuen TV's z.B. LG 65UF6809 (2015) funktionieren mit dem Modul anscheinend derzeit nicht.
Wie kann ich mir den Harmony Hub vostellen? FHEM sendet (wie??) ein Kommando an Harmony und dieser leitet es per IR weiter? Wie zuverlässig funktioniert das? Wie ist die Reichweite, muss der Hub in direkter Sichtweite zum Empfänger sein und nur wenige Meter entfernt?
EDIT: einen RS232 hat der TV anscheinend nicht mehr, kann man das über einen anderen Port realisieren?
Funktionieren auch andere Harmony Geräte, z.B. Logitech Harmony Ultimate One ?
Gruß
TWART016
zum harmony kann ich mitreden *g*
und damit ma sicher vom selben reden: http://goo.gl/sFgX0s (amazon-link)
die harmony lädt nach deinen angaben (geräte-nummer oder name oder händische aktionen) den tv in sein (sau langsames und umständliches) tool am pc. weiß gar ned, ob fhem selber neue geräte erkennen könnte, fällt mir grade auf.
bindest du die harmony dann in fhem ein kannst dir alle befehle der erkannten geräte im klartext anzeigen lassen und selbige auch mit "set gerät befehl" starten. ab dem zeitpunkt kannst dir dann z.b. notifys für befehle bauen, die einfach das drücken der tasten auf der entsprechenden fernbedienung emulieren.
z.b. ein paar nummerntasten + o.k. in folge kriegt der so ohne probleme geregelt.
reichweite:
kann ich ned sagen zum tv, da die harmony direkt drunter steht, aber z.b. kann ich meinem reinigungsroboter mit der harmony noch über ein sofa hinweg und leicht um die ecke befehle zukommen lassen.
das funzt eigentlich immer. der weg wäre quasi refklektiert über ne wand/fenster in 6 metern entfernung mit ner couch dazwischen. drüber wirds aber echt ein glücksspiel. würde auch dem werbeversprechen von logitech entsprechen.
des weiteren kannst du beim harmony hub bis zu 2 (1 is dabei) zusatz-ir-sender anschließen und somit auch aus ecken oder von oben "schießen". so lang halt das kabel zum zusatzsender reicht. ist also auch ne frage des "strategischen" anbringens des hub's. da der mit wlan funzt, brauchst ausschließlich ne steckdose in der nähe.
andere behaupten übrigens, das kabel zum zusatzsender ließe sich auch sehr gut verlängern. hab ich nur noch nicht probiert, weil ichs ned brauch. mir scheint das aber ne normale 3.5mm klinke zu sein. wenn du also z.b. ein kopfhörer-verlängerungskabel hast, steht dem test nichts im wege.
und wenn ichs richtig im kopf hab, dann geben mehrere (ich hab aber nur den hub) logitec fernbedienungen die befehle des hub weiter und vice versa (das sollte aber wer bestätigen).
Sorry daß ich jetzt nur die ersten beiden bzw. letzten beiden Seiten gelesen habe.
Aber wenn ich mit "define LGTV LGTV2011 192.168.1.105" (oder alternativ LGTV2012) den Fernseher anlegen möchte, dann konnt die Meldung daß das Modul unbekannt ist.
Muß ich das separat installieren und laden?
Hallo Christian,
das Modul für die 2012'er Modellreihen ist bereits in FHEM enthalten, sofern du mit dem FHEM-Befehl "update" auf den aktuellen SVN-Stand geupdated hast.
Dann kannst du deinen Fernseher folgendermaßen einbinden:
define LGTV LGTV_IP12 192.168.1.105
Die Dokumentation zu LGTV_IP12 gibt es hier: http://fhem.de/commandref_DE.html#LGTV_IP12
Gruß
Markus
Vielen Dank für das geniale Modul.
Grüße Marcel
Gibt es eine Möglichkeit, dass FHEM nicht blockiert wird, wenn der Fernseher vom Strom getrennt wird?
Wenn ich nämlich meinen Fernseher per schaltbarer Steckdose auschalte, dann kommt nach jedem Intervall ein 4 Sekunden freeze.
Ich könnte jetzt das Modul auf disable 1 setzen, wenn ich die Steckdose ausschalte und wieder auf disable 0 wenn sie anght, aber vielleicht gibts da ne elegantere Lösung für.
Grüße Marcel
Zeig mal bitte deine Definition.
Danke
Gruß
Markus
Hier ein list von meinem LG :
Die Channel List habe ich abgekürzt, da sind über 500 Sender drin.
Internals:
CFGFN
DEF 192.168.178.30 30 10
HOST 192.168.178.30
INTERVAL 30
NAME LG_TV_WLAN
NOTIFYDEV global
NR 13603
NTFY_ORDER 50-LG_TV_WLAN
OFF_INTERVAL 30
ON_INTERVAL 10
PORT 8080
STATE disabled
TYPE LGTV_IP12
Readings:
2016-06-03 22:10:15 3D false
2016-06-03 22:10:15 channel 3
2016-06-03 22:10:15 channelName RTL HD
2016-06-03 22:10:15 currentProgram Let's Dance - Das große Finale
2016-06-03 22:10:15 input Satellit
2016-06-03 22:10:15 mute off
2016-06-03 22:11:51 power off
2016-06-03 22:12:10 state disabled
2016-06-03 22:10:15 volume 10
Helper:
OFF_INTERVAL 30
ON_INTERVAL 10
App_list:
Aufnahmeliste:
auid 00000000000111a6
cpid
name Aufnahmeliste
type 1
Benutzerhandbuch:
auid 0000000000011195
cpid
name Benutzerhandbuch
type 1
Berliner_philharmoniker:
auid 00000000000111f4
cpid berlin_philharmonic
name Berliner Philharmoniker
type 1
Digitale_videoaufnahme:
auid 0000000000011190
cpid
name Digitale Videoaufnahme
type 1
Eingangsliste:
auid 000000000001118c
cpid
name Eingangsliste
type 1
Einstellungen:
auid 000000000001118d
cpid
name Einstellungen
type 1
Fernsehprogramm:
auid 000000000001118f
cpid
name Fernsehprogramm
type 1
Fotos:
auid 00000000000111a1
cpid
name Fotos
type 1
Hdplusreplay:
auid 0000000000033ad3
cpid hdplusreplay
name HDplusReplay
type 1
Internet:
auid 0000000000011176
cpid
name Internet
type 1
Kamera:
auid 00000000000111d2
cpid
name Kamera
type 1
Lg_smart_world:
auid 0000000000011172
cpid
name LG Smart World
type 1
Lovefilm:
auid 000000000001741a
cpid lovefilm_de
name LOVEFiLM
type 1
Maxdome:
auid 000000000001128d
cpid maxdome
name Maxdome
type 1
Musik:
auid 00000000000111a2
cpid
name Musik
type 1
Myvideo:
auid 0000000000029fb0
cpid myvideo
name MyVideo
type 1
Myspass:
auid 00000000000112a7
cpid myspass
name Myspass
type 1
Netflix:
auid 00000000000112ae
cpid netflix
name Netflix
type 1
Netzkino:
auid 000000000001beef
cpid 114415
name Netzkino
type 1
Neueste_liste:
auid 000000000001118e
cpid
name Neueste Liste
type 1
Prg.liste:
auid 000000000001119a
cpid
name Prg.-Liste
type 1
Simplink:
auid 000000000001119c
cpid
name SIMPLINK
type 1
Schnellmen:
auid 0000000000011191
cpid
name Schnellmenü
type 1
Skype:
auid 0000000000011343
cpid vcs
name Skype
type 1
Smartshare:
auid 0000000000011170
cpid
name SmartShare™
type 1
Smart_iptv:
auid 000000000001abf4
cpid 109556
name Smart IPTV
type 1
Spotify:
auid 000000000002e3f4
cpid 189428
name Spotify
type 1
Suchen:
auid 0000000000011175
cpid
name Suchen
type 1
Universalsteuerung:
auid 00000000000111ad
cpid
name Universalsteuerung
type 1
Videoload:
auid 00000000000337ff
cpid videoload
name Videoload
type 1
Videos:
auid 00000000000111a0
cpid
name Videos
type 1
Watchever:
auid 0000000000017482
cpid watchever
name Watchever
type 1
Wuaki.tv:
auid 0000000000038bb5
cpid 232373
name Wuaki.tv
type 1
Youtube:
auid 0000000000017498
cpid youtube_leanback_v4
name YouTube
type 1
Zattoo:
auid 0000000000011369
cpid zattoo
name Zattoo
type 1
Tagesschau:
auid 000000000001130c
cpid tagesschau
name tagesschau
type 1
Wuaki_tv_ui30:
auid 000000000003b2e2
cpid wuakitvui30
name wuaki_tv_ui30
type 1
Channel_list:
1:
chname Das Erste HD
major 1
minor 1
physicalNum 57
sourceIndex 7
Attributes:
disable 1
pairingcode 562480
room 1.01_Wohnzimmer,2.16_LG_TV
Hallo Marcel,
das ganze hat folgende Bewandnis. Sofern die Channel-List in der Definition nicht aufgebaut ist, weil bspw. der Fernseher nach einem FHEM Neustart aus ist und er somit nicht antwortet, versucht FHEM immer die Channel-Liste blocking abzurufen, was zu einem 4s Freeze führt. Warum ich das so mache liegt daran, dass wenn direkt nach dem einschalten ein set <name> channel XYZ ausgeführt wird und die Channel-List nicht zur Verfügung steht, er erst die Channel-Liste aktualisiert, bevor FHEM versucht auf den neuen Kanal zu wechseln.
Man könnte nun folgendes machen:
- Die Channel-Liste ebenfalls non-blocking abrufen, sofern sie nicht da ist. Evtl. set Kommandos zur Kanal-Änderung funktionieren erst dann, wenn die Kanalliste erfolgreich abgerufen wurde.
- Die Channel-Liste ebenfalls blocking abrufen, sofern sie nicht da ist und das Gerät erreichbar/on ist. set Kommandos zur Kanal-Änderung würden die Kanalliste aktualisieren, sofern das Gerät an ist und die Kanalliste nicht vorliegt.
Ich tendiere eher zur ersten Option.
Gruß
Markus
Zur ersten tendiere ich auch.
zunächst helfe ich mir damit, dass ich das Modul auf disable schalte.
Für mich wäre die erste Variante halt besser, weiß nicht was die anderen dazu sagen.
Grüße Marcel
Gibt es irgendeine Möglichkeit, einen Text auf dem Fernseher anzuzeigen?
Ich möchte, wenn das Telefon klingelt, den Anrufernamen auf dem Fernseher anzeigen, wenn dieser an ist.
Grüße Marcel
Nein leider nicht. Die Schnittstelle von LG gibt keinerlei derartige Funktionen her. Ich kenne auch generell keine derartige Funktion von LG TV's.
Ich weis, dass es sowas bei Samsung in den älteren Flatscreen-TV's möglich war, aber in den aktuellen Firmware-Versionen aus unbekannten Gründen wieder entfernt wurde.
Gruß
Markus
Man könnte ein jpeg generieren und per upnp schicken. Ist aber einiges an Arbeit...
Ok, dann werde ich den Gedanken wieder verwerfen.
Danke für die schnelle Antwort.
Zitat von: Ma_Bo am 04 Juni 2016, 16:29:06
Zur ersten tendiere ich auch.
zunächst helfe ich mir damit, dass ich das Modul auf disable schalte.
Für mich wäre die erste Variante halt besser, weiß nicht was die anderen dazu sagen.
Grüße Marcel
Ich habe die erste Variante nun eingecheckt. Steht ab morgen via update zur Verfügung.
Gruß
Markus
Super danke, werde ich morgen testen.
Evtl. gleich noch ausm svn.
*****EDIT
Funktioniert !
Ich komm nicht weiter.
Nachdem ich das 2012 Modul eingebunden habe und es soweit auch funtkioniert, habe ich jetzt Probleme mit dem Poweroncmd.
Ich habe ein Attribut hinzugefügt:
define FernseherWohnzimmer LGTV2012 192.168.178.20
attr FernseherWohnzimmer2 pairingcode 123456
attr FernseherWohnzimmer2 room Wohnzimmer
attr FernseherWohnzimmer2 poweroncmd "echo 'on 0' | cec-client -s -d 1"
Wenn ich auf der Kommandozeile (mittels SSH)
Zitatecho 'on 0' | cec-client -s -d 1
eingebe, dann schaltet der Fernseher auch ein.
Probiere ich es aus FHEM heraus mit dem Befehl Power_on, dann erhalte ich im Logfile nur
Zitat2016.06.11 15:31:06 2: LGTV2012: TV Response :
sh: 1: echo 'on 0' | cec-client -s -d 1: not found
Kamm mir Jemand bei der Umsetzung behilflich sein?
Setze mal noch ein sudo davor. Kann sein, dass du auf der Konsole root bist, der Ben. fhem jedoch nicht.
Ich hab's jetzt auch mal mit einem sudo probiert, doch weiterhin kein Erfolg.
Langsam weiß ich nicht weiter. Ich hab auch libwww-perl und libxml-simple-perl istalliert, wie hier beschrieben: http://www.tatsch.it/controlling-lg-televisions-fhem/.
Edit:
Nachdem ich nun mal die Anführungszeichen entfernt habe, bekomme ich nun immerhin eine Fehlermeldung (mit und ohne sudo):
Zitat* failed to open vchiq instance
.
Das konnte ich lösen, indem ich den Benutzer fhem zur Gruppe video hinzugefügt habe:
usermod -a -G video fhem
Danach bekam ich jedoch die Meldung von fhem, dass kein cec-client gefunden werden konnte. Auf der Konsole klappt es auch nicht mehr. Nach einem Neustart klappts wieder auf der Konsole, aber nicht aus fhem heraus. Irgendwie dreh ich mich im Kreis.
Dann gib mal den Pfad zum cec-client mit an. Wenn es in der Shell geht, geht es auch aus FHEM.
Zitat von: fiedel am 17 Juni 2016, 10:10:39Wenn es in der Shell geht, geht es auch aus FHEM.
Das ist auch meine stille Überzeugung - und zumindest mit meiner letzten Fhem Installation war das auch noch so, doch bekomm ich's hier nicht hin.
Ich habe OSMC installiert und FHEM nachinstalliert. mit einem
cec-client -l
bekomme ich auch angezeigt, dass der Client erkannt wird.
Auf der Konsole benutze ich inzwischen diese Befehle (geht mit und ohne sudo), wobei ausschalten nicht klappt (bekomme die Fehlermeldung: Segmentation fault):
sudo echo "on 0" | /usr/osmc/bin/cec-client -s -d 1
sudo echo "standby 0" | /usr/osmc/bin/cec-client -s -d 1
Zum testen habe ich nun einmal ein Dummy und zwei Notifys gebaut, um nicht auf das Modul zugreifen zu müssen:
define FernseherWohnzimmer dummy
attr FernseherWohnzimmer webCmd toggle:on:off
attr FernseherWohnzimmer setList state:on,off
define FernseherWohnzimmerOn notify FernseherWohnzimmer:on {system("sudo echo 'on 0' | /usr/osmc/bin/cec-client -s -d 1 &")}
define FernseherWohnzimmerOff notify FernseherWohnzimmer:off {system("sudo echo 'standby 0' | /usr/osmc/bin/cec-client -s -d 1 &")}
Ebenfalls habe ich in der /etc/sudoers noch folgenden Eintrag gemacht (unterhalb der User privilege specifications):
fhem ALL=(ALL) NOPASSWD: /usr/osmc/bin/cec-client
Wenn ich den Dummy nun in Fhem einschalte bekomme ich im Log lediglich:
ZitatFernseherWohnzimmerOn return value: -1
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: no tty present and no askpass program specified
opening a connection to the CEC adapter...
Der Fernseher (ein LG) bleibt jedoch aus.
Da bin ich auch ratlos wie Rudi... ;D Den sudoers Eintrag (http://stackoverflow.com/questions/21659637/how-to-fix-sudo-no-tty-present-and-no-askpass-program-specified-error) der das "no tty present and no askpass program specified"- Problem behebt, hast du ja auch schon drin. Reboot wirst du danach auch gemacht haben? Die Lösung ist sicher ganz einfach, aber da muss jetzt noch mal jemand drübergucken, der das Modul mit dem CEC- Client nutzt.
Die Idee mit dem Dummy war übrigens sehr gut! Du kannst zum Testen aber auch den Systembefehl direkt in die Eingabezeile pasten und abschicken. So mache ich das immer (aus Faulheit). ;)
Viel Erfolg!
Frank
Der Befehl ist falsch:
echo "on 0" | sudo /usr/osmc/bin/cec-client -s -d 1
echo "standby 0" | sudo /usr/osmc/bin/cec-client -s -d 1
echo brauch keine Root-Rechte um was auszugeben ;-)
Gruß
Markus
Danke, so klappt's!
Jetzt muss ich nur noch das Ausschalten lauffähig machen - aber das liegt nicht an Fhem, sondern an dem System selbst.
Durch das Umstellen von sudo bekomme ich jetzt immerhin kein Segmentation fault Fehler mehr. Jedoch geht der TV trotzdem nicht aus - weder aus Fhem noch von der Konsole.
Hallo Forum,
habe einen aktuellen LG EG9109 und die Verbindung zu WebOS mit dieser Anleitung zum Laufen gebracht:
https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/geb%C3%A4udetechnik-ohne-knx-eib/823383-ip-control-der-neuen-lg-webos-tv-s
Die Files waren noch etwas zu debuggen, aber dann konnte ich Nachrichten auf den Fernseher schicken und anzeigen lassen.
Weitere Kommandos sind hier zu finden (habe allerdings noch nicht testen können):
https://www.npmjs.com/package/lgtv2#audiogetstatus
Ich teste auf einem aktuellen Raspberry Pi 3.
Musste php5 installieren mit
sudo apt-get install php5
Aufruf des skriptes mit
php test-lg-webos.php
(beide anhängende Dateien befinden sich in einem beliebigen Verzeichnis, aus dem heraus die Skripte aufgerufen werden)
Nach dem ersten Aufruf wurde auf dem eingeschalteten LG im gleichen Netzwerk eine Verbindungsanfrage bestätigt.
Anschließend das test-lg-webos.php Skript anpassen wie im Kommentar beschrieben mit dem nun erhaltenen Key.
Todo:
Vielleicht kann jemand das php-Skript in Perl überführen und mit den Kommandos in ein Modul für FHEM gießen?
Stelle mich gerne als Tester zur Verfügung. Leider sind meine Perl-Kenntnisse sehr übersichtlich und nicht ausreichend hierzu.
Quick and Dirty:
Hier könnte man das Test Skript abwandeln und per FHEM direkt per CLI ausführen, quasi jedes Kommando ein eigenes Skript...
Bin gespannt, ob es jemanden hier hilft oder ob wir hier gemeinsam ein Modul entwickeln können.
Viele Grüße
hoi, super! endlich tut sich da mal was sinnvolles *bg*
das testscript werkelt auf anhieb bei mir.
schad nur, dass ich wohl ned wirklich selber was mit anfangen werd können, aber ich denk, da findet sich sicher einer hier.
Hallo zusammen,
ich habe den Modul 75_LGTV_RS232 vom Markus Bloch erweitert mit Funktionen, der ich in die Anleitungen (siehe post von HardLife: https://forum.fhem.de/index.php/topic,51044.msg427013.html#msg427013) und in lg-tv-command Programmen (aus den GitHub) gefunden habe.
Die Dokumentation habe ich auch am Ende des Dokuments hinzugefügt.
Achtung: Ich muss noch alle Funktionen testen, da manche ggf. nicht richtig funktionieren. Es gibt auch ein Paar Funktionen die sehr komplexe Parameter haben, da muss man sich überlegen, ob möglich ist die auch sinnvoll zu integrieren.
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.
Hey micky0867,
das gleiche Phänomen machte meiner auch schon mal, dies ist aber seit dem das Modul bei mir läuft, erst 2x oder 3x passiert. (TV über WLan angebunden und über das IP Modul von hier in FHEM integriert)
Grüße Marcel
Zitat von: vitolinker am 03 August 2016, 20:03:43
habe einen aktuellen LG EG9109 und die Verbindung zu WebOS mit dieser Anleitung zum Laufen gebracht:
https://knx-user-forum.de/forum/%C3%B6ffentlicher-bereich/geb%C3%A4udetechnik-ohne-knx-eib/823383-ip-control-der-neuen-lg-webos-tv-s
....
Stelle mich gerne als Tester zur Verfügung. Leider sind meine Perl-Kenntnisse sehr übersichtlich und nicht ausreichend hierzu.
....
Bin gespannt, ob es jemanden hier hilft oder ob wir hier gemeinsam ein Modul entwickeln können.
Hallo vitolinker,
ich habe angefangen einen Modul zu schreiben. Bisher habe ich geschafft den Fernseher ansprechen, bzw. Connect aus dem PHP in Perl implementieren. Dafür braucht man momentan auch geänderte HttpUtils.pm.
Fallst du lust hast es schnell zu testen kannst versuchen mit: define WZ_TV_IP LGTV_IP14 <IP>
Notwendige Module sind im Anhang. In nächsten Tagen mache ich weiter.
Hallo destogl,
habe dein Modul mal installiert, oder besser versucht ;)
Meldung im log
2016.11.23 15:33:19 1: reload: Error:Modul 82_LGTV_IP14 deactivated:
Can't locate String/Random.pm in @INC (you may need to install the String::Random module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/82_LGTV_IP14.pm line 38.
BEGIN failed--compilation aborted at ./FHEM/82_LGTV_IP14.pm line 38.
2016.11.23 15:33:19 0: Can't locate String/Random.pm in @INC (you may need to install the String::Random module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl ./FHEM) at ./FHEM/82_LGTV_IP14.pm line 38.
BEGIN failed--compilation aborted at ./FHEM/82_LGTV_IP14.pm line 38.
Gruß Werner
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
Hallo zusammen,
danke für die Arbeit hieran. Leider bekomme ich die gleichen Fehlermeldungen wegen dem Random String.
Viele Grüße
vitolinker
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.
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
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
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
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?
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
Hallo,
wird das Modul "82_LGTV_IP14.pm" noch weiter entwickelt?
Wäre sehr daran interessiert.
Grüße
Habe das Modul mal getestet. Anbindung klappt. Messages klappt, Volume aber nicht.
Habe ein LG 49LF6309-ZA
Grüße und bitte weiter entwickeln
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.
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
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
Hallo zusammen,
Gibts schon ein Update zum Modul?
VG
Zage
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
Poste doch einfach mal deinen aktuellen Stand. Vielleicht gibt es jemanden der basierend darauf weitermachen kann. Das ist Open-Source. ;)
Viele Grüße
Markus
Ich hätte ja Interesse und Zeit. Aber alles was ich bisher gefunden habe sind diese 3 Befehle plus Mute. Da lohnt es sich nicht mal weiter zu machen. Wenn jemand mir mehr Infos bezüglich Abfragen und Schaltbefehle geben kann mache ich gerne weiter.
Bei mir geht leider Volume nicht und glaube off auch nicht. Mute geht und noch ein Schaltbefehl.
Schade
wenn du die API Befehle von LG meinst (WebOS 2):
https://www.npmjs.com/package/lgtv2#commands
Habe die meisten auch bereits mittels PHP getestet. Geht soweit bis auf PowerOn, da ist aber LG schuld (seit letzten Update gibt es hier scheinbar das Problem wenn der TV nicht im WLAN ist, auch mit der Android App "LG TV Plus")
Interessant. Vielen Dank. Ich werde mir das mal bei Gelegenheit genauer anschauen.
Grüße
Ok habe mir das gerade mal angeschaut. Da sind wirklich sinvolle Steuerungsmöglichkeiten dabei. Würde mir gefallen.
Ich werde parallel mal damit rum experimentieren.
Zitat von: CoolTux am 10 Januar 2017, 10:57:57
Ok habe mir das gerade mal angeschaut. Da sind wirklich sinvolle Steuerungsmöglichkeiten dabei. Würde mir gefallen.
Ich werde parallel mal damit rum experimentieren.
Willst Du etwa ein Modul bauen? ???
Wollte auch schon loslegen, habe es aber mangels Zeit gerade aufgeschoben.
Interesse wäre auch meinerseits an einem Modul dafür.
Gruß
Dan
Hallo Dan
Ich bin noch unentschloßen. Einerseits wäre Zeit und Wille da, andererseits kämpfe ich hin und wieder mit Winterlustlosigkeit ;D
Ich muß mir immer einen Ruck geben, und wenn ich dann erstmal drin bin fließt es aber auch.
Ich hatte das Alpha Modul zwar schon am Wickel und es lief bei mir auch. Dennoch möchte ich erst noch ein paar Tests machen ob es in meiner kranken Netzwerkumgebung auch wirklich Reibungslos machbar ist.
Machen wir es so, ich berichte einfach wenn ich loslege und was ich so mache und dann schauen wir mal. Du hast es ja auch erstmal etwas nach hinten gelegt ;D
Grüße
Leon
Zitat von: CoolTux am 10 Januar 2017, 11:10:25
Hallo Dan
Ich bin noch unentschloßen. Einerseits wäre Zeit und Wille da, andererseits kämpfe ich hin und wieder mit Winterlustlosigkeit ;D
Ich muß mir immer einen Ruck geben, und wenn ich dann erstmal drin bin fließt es aber auch.
Ich hatte das Alpha Modul zwar schon am Wickel und es lief bei mir auch. Dennoch möchte ich erst noch ein paar Tests machen ob es in meiner kranken Netzwerkumgebung auch wirklich Reibungslos machbar ist.
Machen wir es so, ich berichte einfach wenn ich loslege und was ich so mache und dann schauen wir mal. Du hast es ja auch erstmal etwas nach hinten gelegt ;D
Grüße
Leon
Möchte mich gerade primär auf das neue HOMEMODE Modul konzentrieren. Da gibt es noch einige Ecken die ich rund machen will... ;)
Bei Bedarf könnte ich mir auch eine Zusammenarbeit beim LG-Modul vorstellen.
Gruß
Dan
Zitat von: DeeSPe am 10 Januar 2017, 11:17:12
Möchte mich gerade primär auf das neue HOMEMODE Modul konzentrieren. Da gibt es noch einige Ecken die ich rund machen will... ;)
Bei Bedarf könnte ich mir auch eine Zusammenarbeit beim LG-Modul vorstellen.
Gruß
Dan
Na klar. Immer gerne.
Ich würde euch auch gern unterstützen,
das hauptsächliche Problem hierbei ist eigentlich "nur" der Handshake.
Die einzelnen Set wären nicht wild. Auch die returns der Api sind scheinbar in JSON format.
Der Handshake ist schon umgesetzt. Kann jetzt nicht beurteilen wir gut aber bei mir hat er zu mindest funktioniert.
Wobei ich sagen muß das ich das ganze geteste zwischen Algebraaufgaben mit meiner Tochter und Spidermanfragen meines Sohnes gemacht habe ;D
Zitat von: Markus Bloch am 10 Januar 2017, 08:30:09
Poste doch einfach mal deinen aktuellen Stand. Vielleicht gibt es jemanden der basierend darauf weitermachen kann. Das ist Open-Source. ;)
Ja klar! Aber ich veröffentliche nicht, der Code, der gar nicht funktioniert und FHEM zum Absturz bringt :)
@CoolTux & @Zage: falls ihr noch bis morgen warten könnt, veröffentliche ich meine Version. Ich habe schon alle Befehle implementiert, aber ich habe an Problem mit Premissions gestoßen. Deswegen funktionieren nur ein Paar vom Befehle.
Ich denke mal schon das ich es nicht bis morgen schaffe ein Modul zu schreiben ;D
Spaß. Bin gespannt auf Dein Modul. Grüße
Zitat von: CoolTux am 10 Januar 2017, 12:00:02
Ich denke mal schon das ich es nicht bis morgen schaffe ein Modul zu schreiben ;D
Wie viel Zeit willst Du Dir noch lassen!? ??? ::)
Gruß
Dan
Kein Streß ;)
so eilt es ja auch nicht. Für das PowerOn muss ich sowieso meine Fernbedienung mittels IR anlernen (hab da auch derzeit keine lust drauf ;) )
Hallo zusammen,
könnte man aus der .java Source die Befehle wie setVolume, setMute etc für das Aufrufen aus FHEM heraus adaptieren?
Link:
https://github.com/ConnectSDK/Connect-SDK-Android-Core/blob/master/src/com/connectsdk/service/WebOSTVService.java
Viele Grüße
Zitat von: vitolinker am 10 Januar 2017, 16:29:45
Hallo zusammen,
könnte man aus der .java Source die Befehle wie setVolume, setMute etc für das Aufrufen aus FHEM heraus adaptieren?
Link:
https://github.com/ConnectSDK/Connect-SDK-Android-Core/blob/master/src/com/connectsdk/service/WebOSTVService.java
Viele Grüße
Klar könnte man!
Das geht aber genauso gut aus dem npm Paket (https://www.npmjs.com/package/lgtv2).
Gruß
Dan
Hallo zusammen,
wir versprochen, das aktuelle Version des Moduls. Es gibt sehr viele Befehle implementiert, aber sehr wenige funktionieren (s.u.).
Funktioniert:
1. Connect
2. Pair (Issue: jedes mal wird neu gepairt, anstatt, dass key einfach bestätigt ist)
3. GetVolumeStatus
4. PowerOff
Diese Modul ist in Entwicklungsphase und kann FHEM zum Absturz bringen. Nicht für produktive Systeme!
Noch eine aktualisierte Version. Fehler mit "immer pairen" ist behoben.
uij, da geht ja schön was weiter!
habs mal probiert und krieg auch nen connect.
will ich aber pairen, schreit er sofort "ERROR getting Client-Key"
am tv könnt ich das gerät erlauben, aber da is das fehlerfenster schon da.
im device steht von haus aus ein ws key und ein leerer lg key.
die httputils muß ich von hier insten, oder kann ich die originalen lassen?
Wenn destogl nichts geändert hat werden die HttpUtils nicht mehr benötigt. Es wird eine reine TCP Socketverbindung auf gebaut.
gut, dann liegt der error wenigstens nicht an mir *g*
wie ich an den clientkey komm, oder den error los werd, weiß vielleicht auch wer?
Hi.
Habe das Modul gerade auch einmal eingebaut. Verbindung klappt. Laut/Leise und Message geht. ;)
bei mir leider immer noch nicht ... keiner ne idee?
Ich habe gerade mal mit meinem LG55UF8509 kurz angetestet, leider kein Mute oder Power off... falls noch mehr erwünscht, kann ich gerne noch mehr testen.
@destogl ist es möglich die Dauer der message irgendwie mitzugeben oder eine Nachricht anzeigen zu lassen, die mit ok bestätigt werden muss?
Gesendet von meinem GT-I9505 mit Tapatalk
Hallo,
ich habe das Modul mal mit meinem 47LB652V getestet.
Pairing funktioniert ohne Probleme, allerdings muss ich immer wieder erneut pairen, wenn ich den TV einschalte.
Was bisher bei mir funktioniert:
set:
3DOff/On
channelDown/channelUp
fastForward
message
set mute true (false geht nicht)
pause
play
power_off
rewind
stop
volumeDown/volumeUp
get:
audioStatus
connect
currentChannel
externalInputList
foregroundAppInfo
muteStatus
pair
serviceList
volumeStatus
Bei power_off stürzt bei mir FHEM ab.
Würde mich freuen, wenn das Modul weiterentwickelt wird!
zu Power Off geht nicht:Zitat von: Zage am 10 Januar 2017, 09:06:06
wenn du die API Befehle von LG meinst (WebOS 2):
https://www.npmjs.com/package/lgtv2#commands
Habe die meisten auch bereits mittels PHP getestet. Geht soweit bis auf PowerOn, da ist aber LG schuld (seit letzten Update gibt es hier scheinbar das Problem wenn der TV nicht im WLAN ist, auch mit der Android App "LG TV Plus")
Kurz zur Info,
Ich arbeite aktuell an einem Modul für LG TV's mit WebOS. Hierzu habe ich Teile von destogl's Code nehmen können.
Vielen Dank für die Klasse Vorarbeit.
Grüße
Leon
Zitat von: CoolTux am 06 Februar 2017, 10:40:28
Kurz zur Info,
Ich arbeite aktuell an einem Modul für LG TV's mit WebOS. Hierzu habe ich Teile von destogl's Code nehmen können.
Vielen Dank für die Klasse Vorarbeit.
Grüße
Leon
Wenn du einen weiteren Tester brauchst sag Bescheid.
Gruß Jo
Zitat von: popeye1979 am 06 Februar 2017, 10:48:06
Wenn du einen weiteren Tester brauchst sag Bescheid.
Gruß Jo
Ich komme gerne darauf zurück. Aber vor Ende der Woche wird es wohl nichts testbares geben. Habe so viele Baustellen da muß ich erstmal Prioritäten setzen. Hinzu kommt das mein Junior noch bis Mittwoch krank ist. Also in der Ruhe wird wohl die Kraft liegen ;D
Kein problem! 😉
Gesendet von meinem GT-I9505 mit Tapatalk
Hier geht es weiter mit einem neuen Modul und Diskussion (https://forum.fhem.de/index.php/topic,66671.0.html)
ZitatAchtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Solltest du deiner Antwort nicht sicher sein, starte ein neues Thema.
Ich mache es trotzdem ;D ;)
Hallo, wird an diesem Modul 82_LGTV_IP14.pm noch irgend etwas passieren, wird es noch bearbeitet ???
Ich könnte dieses Modul als Behinderter ;) ;) (Hörgeschädigt) Sehr gut gebrauchen, lässt aber mein Fhem abstürzen.
Wie ja auch geschrieben steht :)
Zumindest die "set Message zum Fernseher" würde ja schon reichen, aber ich kann halt nicht programmieren.
Das Modul 82_LGTV2012.pm funktioniert bei mir, nur ist da dieses "set Message" nicht enthalten.
Gibt es jemand der die "set Message" in das Modul LGTV2012 einbauen kann ???
Gruß Werner
PS. Das neue Modul von CoolTux läuft bei mir nicht, weil mein Fernseher von 2013 ohne WEBOs ist
der Grund ist folgender.
Habe mir den HM-Klingelsensor für mein vorhandenes Haustelefon bestellt.
Der Klingelsensor soll dann über notify oder doif eine Nachricht auf den Fernseher schicken "Es hat an der Tür geklingelt"
Weil ich wenn ich über meine Hörgeräte Fernsehe keine Nebengeräusche höre, wenn ein Nachbar oder Anderes klingelt.
Nur deshalb könnte ich das Modul mit "set Message" gebrauchen.
Ich weiß das es auch noch andere Lösungen gibt und werde wenn nicht Möglich mit diesem Modul was anderes finden.
Gruß Werner
Hallo Werner,
Das Modul LGTV_WebOS basiert auf Teilen dieses Modules. Ist es also ein und das selbe und nur für WebOS gedacht.
Grüße
Hm, bei mir steht auch ein TV aus 2013 ohne WebOS. Ich benutze dort LGTV_RS232. Björn hat da mal eine schöne Anleitung zu geschrieben: http://www.meintechblog.de/2016/01/lg-fernseher-aus-fhem-steuern-und-aktuelle-stati-auslesen/
Set message geht da aber glaube ich auch nicht - ich kanns gerade nicht testen, weil der TV Pi nicht im Netz ist.
leider hat mein LG55LA6608 als Web Browser den Open Browser mit Flash und HTML 5 Unterstützung und da läuft das Modul von CoolTux nicht mit
http://www.lg.com/de/tv/lg-55LA6608 (http://www.lg.com/de/tv/lg-55LA6608)
er hat auch keine Serielle Schnittstelle
Gruß Werner
Hallo zusammen,
das Modul LGTV_IP12 basiert auf der UDAP 2.0 Spezifikation von LG: http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FLG+UDAP+2+0+Protocol+Specifications.htm
Alle TV's, welche die App "LG TV Remote" (https://itunes.apple.com/de/app/lg-tv-remote/id509979485?mt=8) unterstützen können damit gesteuert werden. Die unterstützten Modelle stammen aus dem Jahr 2012-2014
Diese Schnittstelle (und auch die App) bieten keine Möglichkeit Nachrichten auf dem Fernseher darzustellen. Ich kenne dieses Feature nur von früheren Samsung-TV's die mit dem STV-Modul funktionieren (dort gibt es diese Möglichkeit). Bei LG habe ich dieses Feature noch nicht entdeckt. Auch mit dem Modul LGTV_RS232 ist dies nicht möglich, da auch hier LG kein solches Feature vorgesehen hat. Die entsprechende Webseite, welche die Kommandospezifikation enthielt (http://www.lgrs232.com/) ist bereits nicht mehr erreichbar.
Zu WebOS kann ich nichts sagen, da ich einen solchen Fernseher nicht besitze.
Viele Grüße
Markus