add german commandref
This commit is contained in:
parent
ecf15f7e33
commit
81096df6e0
147
82_LGTV_WebOS.pm
147
82_LGTV_WebOS.pm
@ -51,7 +51,7 @@ use Encode qw(encode_utf8);
|
||||
|
||||
|
||||
|
||||
my $version = "0.1.0";
|
||||
my $version = "0.1.1";
|
||||
|
||||
|
||||
|
||||
@ -401,7 +401,6 @@ sub LGTV_WebOS_Set($@) {
|
||||
return "usage: screenMsg <message>" if( @args < 1 );
|
||||
|
||||
my $msg = join(" ", @args);
|
||||
#$msg =~ s/ä/u/g;
|
||||
$payload{$lgCommands{$cmd}->[1]} = $msg;
|
||||
$uri = $lgCommands{$cmd}->[0];
|
||||
|
||||
@ -635,13 +634,11 @@ sub LGTV_WebOS_Read($) {
|
||||
|
||||
Log3 $name, 4, "LGTV_WebOS ($name) - received correct JSON string, start response processing: $buf";
|
||||
LGTV_WebOS_ResponseProcessing($hash,$buf);
|
||||
#return;
|
||||
|
||||
} elsif( $buf =~ /HTTP\/1.1 101 Switching Protocols/ ) {
|
||||
|
||||
Log3 $name, 4, "LGTV_WebOS ($name) - received HTTP data string, start response processing: $buf";
|
||||
LGTV_WebOS_ResponseProcessing($hash,$buf);
|
||||
#return;
|
||||
|
||||
} else {
|
||||
|
||||
@ -669,14 +666,14 @@ sub LGTV_WebOS_ProcessRead($$) {
|
||||
|
||||
Log3 $name, 4, "LGTV_WebOS ($name) - No PARTIAL buffer";
|
||||
}
|
||||
|
||||
|
||||
Log3 $name, 5, "LGTV_WebOS ($name) - Incoming data: " . $data;
|
||||
|
||||
|
||||
$buffer = $buffer . $data;
|
||||
Log3 $name, 5, "LGTV_WebOS ($name) - Current processing buffer (PARTIAL + incoming data): " . $buffer;
|
||||
|
||||
my ($json,$tail) = LGTV_WebOS_ParseMsg($hash, $buffer);
|
||||
|
||||
|
||||
|
||||
while($json) {
|
||||
|
||||
@ -692,8 +689,8 @@ sub LGTV_WebOS_ProcessRead($$) {
|
||||
|
||||
Log3 $name, 5, "LGTV_WebOS ($name) - Nach Sub: Laenge JSON: " . length($json) . " Content: " . $json . " Tail: " . $tail;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$tail = ''
|
||||
if(length($tail) > 30000);
|
||||
$hash->{PARTIAL} = $tail;
|
||||
@ -844,8 +841,9 @@ sub LGTV_WebOS_WriteReadings($$) {
|
||||
|
||||
my $count = 0;
|
||||
foreach my $programList ( @{$decode_json->{payload}{programList}} ) {
|
||||
|
||||
|
||||
if($count < 1) {
|
||||
|
||||
readingsBulkUpdate($hash,'channelCurrentTitle',$programList->{programName});
|
||||
readingsBulkUpdate($hash,'channelCurrentStartTime',LGTV_WebOS_FormartStartEndTime($programList->{localStartTime}));
|
||||
readingsBulkUpdate($hash,'channelCurrentEndTime',LGTV_WebOS_FormartStartEndTime($programList->{localEndTime}));
|
||||
@ -1333,3 +1331,132 @@ sub LGTV_WebOS_FormartStartEndTime($) {
|
||||
|
||||
|
||||
1;
|
||||
|
||||
|
||||
=pod
|
||||
=item device
|
||||
=item summary Controls LG SmartTVs run with WebOS Operating System (in beta phase)
|
||||
=item summary_DE Steuert LG SmartTVs mit WebOS Betriebssystem (derzeit Beta Status)
|
||||
|
||||
=begin html
|
||||
|
||||
<a name="LGTV_WebOS"></a>
|
||||
<h3>LGTV_WebOS</h3>
|
||||
|
||||
=end html
|
||||
|
||||
=begin html_DE
|
||||
|
||||
<a name="LGTV_WebOS"></a>
|
||||
<h3>LGTV_WebOS</h3>
|
||||
<ul>
|
||||
<ul>
|
||||
Dieses Modul steuert SmartTV's des Herstellers LG mit dem Betriebssystem WebOS über die Netzwerkschnittstelle. Es bietet die Möglichkeit den aktuellen TV Kanal zu steuern, sowie Apps zu starten, Fernbedienungsbefehle zu senden, sowie den aktuellen Status abzufragen.
|
||||
</ul>
|
||||
<p><br /><br /><strong>Definition </strong><code>define <name> LGTV_WebOS <IP-Addresse> <br /><br />
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>Bei der Definition eines LGTV_WebOS-Moduls wird eine interne Routine in Gang gesetzt, welche regelmäßig alle 15s den Status des TV abfragt und entsprechende Notify-/FileLog-Definitionen triggert.</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>Beispiel: <code>define TV LGTV_WebOS 192.168.0.10 <br /></code><br /><br /></ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<strong>Set-Kommandos </strong><code>set <Name> <Kommando> [<Parameter>]</code>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>Aktuell werden folgende Kommandos unterstützt.</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<li><strong>connect </strong> - Verbindet sich zum Fernseher unter der IP wie definiert, führt beim ersten mal automatisch ein pairing durch</li>
|
||||
<li><strong>pairing </strong> - Berechtigungsanfrage an den Fernseher, hier muss die Anfrage mit der Fernbedienung bestätigt werden</li>
|
||||
<li><strong>screenMsg</strong> <Text> - zeigt für ca 3-5s eine Nachricht auf dem Fernseher oben rechts an</li>
|
||||
<li><strong>mute</strong> on, off - Schaltet den Fernseher Stumm, je nach Anschluss des Audiosignals, muss dieses am Verstärker (AV Receiver) geschehen (siehe Volume)</li>
|
||||
<li><strong>volume </strong>0-100, Schieberegler - Setzt die Lautstärke des Fernsehers, je nach Anschluss des Audiosignals, muss dieses am Verstärker (AV Receiver) geschehen (siehe mute)</li>
|
||||
<li><strong>volumeUp</strong> - Erhöht die Lautstärke um den Wert 1</li>
|
||||
<li><strong>volumeDown</strong> - Verringert die Lautstärke um den Wert 1</li>
|
||||
<li><strong>channelUp</strong> - Schaltet auf den nächsten Kanal um</li>
|
||||
<li><strong>channelDown</strong> - Schaltet auf den vorherigen Kanal um</li>
|
||||
<li><strong>getServiceList </strong> - Fragrt die Laufenden Dienste des Fernsehers an (derzeit noch in Beta-Phase)</li>
|
||||
<li><strong>on</strong> - Schaltet den Fernseher ein, wenn WLAN oder LAN ebenfalls im Aus-Zustand aktiv ist (siehe Bedienungsanleitung da Typabhängig)</li>
|
||||
<li><strong>off</strong> - Schaltet den Fernseher aus, wenn eine Connection aktiv ist</li>
|
||||
<li><strong>launchApp</strong> <Anwendung> - Aktiviert eine Anwendung aus der Liste (Maxdome, AmazonVideo, YouTube, Netflix, TV, GooglePlay, Browser, Chili, TVCast, Smartshare, Scheduler, Miracast, TV) <br />Achtung: TV ist hier eine Anwendung, und kein Geräteeingang</li>
|
||||
<li><strong>3D</strong> on,off - 3D Modus kann hier ein- und ausgeschaltet werden, je nach Fernseher können mehrere 3D Modi unterstützt werden (z.B. Side-by-Side, Top-Bottom)</li>
|
||||
<li><strong>stop</strong> - Stop-Befehl (anwendungsabhängig)</li>
|
||||
<li><strong>play </strong>- Play-Befehl (anwendungsabhängig)</li>
|
||||
<li><strong>pause </strong>- Pause-Befehl (anwendungsabhängig)</li>
|
||||
<li><strong>rewind </strong>- Zurückspulen-Befehl (anwendungsabhängig)</li>
|
||||
<li><strong>fastForward </strong>- Schneller-Vorlauf-Befehl (anwendungsabhängig)</li>
|
||||
<li><strong>clearInputList </strong> - Löscht die Liste der Geräteeingänge</li>
|
||||
<li><strong>input </strong> - Wählt den Geräteeingang aus (Abhängig von Typ und angeschossenen Geräten) <br />Beispiele: extInput_AV-1, extInput_HDMI-1, extInput_HDMI-2, extInput_HDMI-3)</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<p><strong>Get-Kommandos</strong> <code>get <Name> <Readingname></code><br /><br /></p>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>Aktuell stehen via GET lediglich die Werte der Readings zur Verfügung. Eine genaue Auflistung aller möglichen Readings folgen unter "Generierte Readings/Events".</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<p><br /><br /><strong>Attribute</strong></p>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<li>disable</li>
|
||||
Optionales Attribut zur Deaktivierung des zyklischen Status-Updates. Ein manuelles Update via statusRequest-Befehl ist dennoch möglich.
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>Mögliche Werte: 0 => zyklische Status-Updates, 1 => keine zyklischen Status-Updates.</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<ul>
|
||||
<li>channelGuide</li>
|
||||
Optionales Attribut zur Deaktivierung der zyklischen Updates des TV-Guides, dieses beansprucht je nach Hardware einigen Netzwerkverkehr und Prozessorlast
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<ul>
|
||||
<ul>Mögliche Werte: 0 => keine zyklischen TV-Guide-Updates, 1 => zyklische TV-Guide-Updates</ul>
|
||||
</ul>
|
||||
<p><br /><br /><strong>Generierte Readings/Events:</strong></p>
|
||||
<ul>
|
||||
<ul>
|
||||
<li><strong>3D</strong> - Status des 3D-Wiedergabemodus ("on" => 3D Wiedergabemodus aktiv, "off" => 3D Wiedergabemodus nicht aktiv)</li>
|
||||
<li><strong>3DMode</strong> - Anzeigemodus (2d, 2dto3d, side_side_half, line_interleave_half, column_interleave, check_board)</li>
|
||||
<li><strong>channel</strong> - Die Nummer des aktuellen TV-Kanals</li>
|
||||
<li><strong>channelName</strong> - Der Name des aktuellen TV-Kanals</li>
|
||||
<li><strong>channelMedia</strong> - Senderinformation</li>
|
||||
<li><strong>channelCurrentEndTime </strong>- Ende der laufenden Sendung (Beta)</li>
|
||||
<li><strong>channelCurrentStartTime </strong>- Start der laufenden Sendung (Beta)</li>
|
||||
<li><strong>channelCurrentTitle</strong> - Der Name der laufenden Sendung (Beta)</li>
|
||||
<li><strong>channelNextEndTime </strong>- Ende der nächsten Sendung (Beta)</li>
|
||||
<li><strong>channelNextStartTime </strong>- Start der nächsten Sendung (Beta)</li>
|
||||
<li><strong>channelNextTitle</strong> - Der Name der nächsten Sendung (Beta)</li>
|
||||
<li><strong>extInput_<Geräteeingang</strong>> - Status der Eingangsquelle (connect_true, connect_false)</li>
|
||||
<li><strong>input</strong> - Derzeit aktiver Geräteeingang</li>
|
||||
<li><strong>lastResponse </strong>- Status der letzten Anfrage (ok, error <Fehlertext>)</li>
|
||||
<li><strong>launchApp</strong> <Anwendung> - Gegenwärtige aktive Anwendung</li>
|
||||
<li><strong>lgKey</strong> - Der Client-Key, der für die Verbindung verwendet wird</li>
|
||||
<li><strong>mute</strong> on,off - Der aktuelle Stumm-Status ("on" => Stumm, "off" => Laut)</li>
|
||||
<li><strong>pairing</strong> paired, unpaired - Der Status des Pairing</li>
|
||||
<li><strong>presence </strong>absent, present - Der aktuelle Power-Status ("present" => eingeschaltet, "absent" => ausgeschaltet)</li>
|
||||
<li><strong>state</strong> on, off - Status des Fernsehers (ähnlich presence)</li>
|
||||
<li><strong>volume</strong> - Der aktuelle Lautstärkepegel -1, 0-100 (-1 invalider Wert)</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
=end html_DE
|
||||
|
||||
=cut
|
||||
|
Loading…
x
Reference in New Issue
Block a user