2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-07 19:04:20 +00:00

YAMAHA_BD: input reading changed to display online services like Netflix, YouTube, etc. (Forum: #47934). Fixed not working statusRequest set command.

git-svn-id: https://svn.fhem.de/fhem/trunk@10603 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
markusbloch 2016-01-23 09:42:35 +00:00
parent 8bfd2247e4
commit 2ddd2df6f2
2 changed files with 25 additions and 14 deletions

View File

@ -1,5 +1,7 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
- feature: YAMAHA_BD: input reading indicates now Netflix, YouTube, and all
other online apps.
- feature: 73_GasCalculator: New module for calc. around the gas consumption
- feature: FB_CALLLIST: new attribute "no-table-header" added, to hide the
table header for the whole list

View File

@ -81,6 +81,9 @@ YAMAHA_BD_GetStatus($;$)
Log3 $name, 4, "YAMAHA_BD ($name) - Requesting system status";
YAMAHA_BD_SendCommand($hash, "<YAMAHA_AV cmd=\"GET\"><System><Service_Info>GetParam</Service_Info></System></YAMAHA_AV>", "statusRequest","systemStatus");
Log3 $name, 4, "YAMAHA_BD ($name) - Requesting input info";
YAMAHA_BD_SendCommand($hash, "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Input_Info>GetParam</Input_Info></Main_Zone></YAMAHA_AV>", "statusRequest","inputInfo");
Log3 $name, 4, "YAMAHA_BD ($name) - Requesting power state";
YAMAHA_BD_SendCommand($hash, "<YAMAHA_AV cmd=\"GET\"><Main_Zone><Power_Control><Power>GetParam</Power></Power_Control></Main_Zone></YAMAHA_AV>", "statusRequest","powerStatus");
@ -430,7 +433,11 @@ YAMAHA_BD_Set($@)
{
YAMAHA_BD_SendCommand($hash, "<YAMAHA_AV cmd=\"PUT\"><Main_Zone><Play_Control><Play>Stop</Play></Play_Control></Main_Zone></YAMAHA_AV>", "play",undef);
}
elsif($what ne "statusRequest")
elsif($what eq "statusRequest")
{
YAMAHA_BD_GetStatus($hash, 1);
}
else
{
return $usage;
}
@ -699,6 +706,17 @@ YAMAHA_BD_ParseResponse($$$)
readingsBulkUpdate($hash, "trickPlay", $1);
}
}
elsif($cmd eq "statusRequest" and $arg eq "inputInfo")
{
if($data =~ /<Input_Info><Status>(.+?)<\/Status><\/Input_Info/)
{
readingsBulkUpdate($hash, "input", $1);
}
elsif($data =~ /<Input_Info>(.+?)<\/Input_Info/)
{
readingsBulkUpdate($hash, "input", $1);
}
}
elsif($cmd eq "statusRequest" and $arg eq "playInfo")
{
if($data =~ /<Status>(.+?)<\/Status>/)
@ -741,15 +759,6 @@ YAMAHA_BD_ParseResponse($$$)
readingsBulkUpdate($hash, "discType", $1);
}
if($data =~ /<Input_Info><Status>(.+?)<\/Status><\/Input_Info/)
{
readingsBulkUpdate($hash, "input", $1);
}
elsif($data =~ /<Input_Info>(.+?)<\/Input_Info/)
{
readingsBulkUpdate($hash, "input", $1);
}
if($data =~ /<Tray>(.+?)<\/Tray>/)
{
readingsBulkUpdate($hash, "trayStatus", lc($1));
@ -1018,8 +1027,8 @@ sub YAMAHA_BD_formatTimestamp($)
</ul>
<b>Generated Readings/Events:</b><br>
<ul>
<li><b>input</b> - The current playback source (can be "DISC", "USB" or "Network")</li>
<li><b>discType</b> - The current type of disc, which is inserted (e.g. "No Disc", "CD", "DVD", "BD",...)</li>
<li><b>input</b> - The current playback source (e.g. "DISC", "USB", "Network", "YouTube", ...)</li>
<li><b>discType</b> - The current type of disc, which is inserted (e.g. "No Disc", "CD", "DVD", "BD", ...)</li>
<li><b>contentType</b> - The current type of content, which is played (e.g. "audio", "video", "photo" or "no contents")</li>
<li><b>error</b> - indicates an hardware error of the player (can be "none", "fan error" or "usb overcurrent")</li>
<li><b>power</b> - Reports the power status of the player or zone (can be "on" or "off")</li>
@ -1198,8 +1207,8 @@ sub YAMAHA_BD_formatTimestamp($)
</ul>
<b>Generierte Readings/Events:</b><br>
<ul>
<li><b>input</b> - Die aktuelle Wiedergabequelle ("DISC", "USB" oder "Network")</li>
<li><b>discType</b> - Die Art der eingelegten Disc (z.B "No Disc" => keine Disc eingelegt, "CD", "DVD", "BD",...)</li>
<li><b>input</b> - Die aktuelle Wiedergabequelle (z.B. "DISC", "USB", "Network", "YouTube", ...)</li>
<li><b>discType</b> - Die Art der eingelegten Disc (z.B "No Disc" => keine Disc eingelegt, "CD", "DVD", "BD", ...)</li>
<li><b>contentType</b> - Die Art des Inhaltes, der gerade abgespielt wird ("audio", "video", "photo" oder "no contents")</li>
<li><b>error</b> - zeigt an, ob ein interner Fehler im Player vorliegt ("none" => kein Fehler, "fan error" => L&uuml;fterdefekt, "usb overcurrent" => USB Spannungsschutz)</li>
<li><b>power</b> - Der aktuelle Betriebsstatus ("on" => an, "off" => aus)</li>