diff --git a/fhem/CHANGED b/fhem/CHANGED
index cdca6c98f..2fa0d385b 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -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
diff --git a/fhem/FHEM/71_YAMAHA_BD.pm b/fhem/FHEM/71_YAMAHA_BD.pm
index bcb98ce54..af50f1a5c 100755
--- a/fhem/FHEM/71_YAMAHA_BD.pm
+++ b/fhem/FHEM/71_YAMAHA_BD.pm
@@ -81,6 +81,9 @@ YAMAHA_BD_GetStatus($;$)
Log3 $name, 4, "YAMAHA_BD ($name) - Requesting system status";
YAMAHA_BD_SendCommand($hash, "GetParam", "statusRequest","systemStatus");
+
+ Log3 $name, 4, "YAMAHA_BD ($name) - Requesting input info";
+ YAMAHA_BD_SendCommand($hash, "GetParam", "statusRequest","inputInfo");
Log3 $name, 4, "YAMAHA_BD ($name) - Requesting power state";
YAMAHA_BD_SendCommand($hash, "GetParam", "statusRequest","powerStatus");
@@ -430,7 +433,11 @@ YAMAHA_BD_Set($@)
{
YAMAHA_BD_SendCommand($hash, "Stop", "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 =~ /(.+?)<\/Status><\/Input_Info/)
+ {
+ readingsBulkUpdate($hash, "input", $1);
+ }
+ elsif($data =~ /(.+?)<\/Input_Info/)
+ {
+ readingsBulkUpdate($hash, "input", $1);
+ }
+ }
elsif($cmd eq "statusRequest" and $arg eq "playInfo")
{
if($data =~ /(.+?)<\/Status>/)
@@ -741,15 +759,6 @@ YAMAHA_BD_ParseResponse($$$)
readingsBulkUpdate($hash, "discType", $1);
}
- if($data =~ /(.+?)<\/Status><\/Input_Info/)
- {
- readingsBulkUpdate($hash, "input", $1);
- }
- elsif($data =~ /(.+?)<\/Input_Info/)
- {
- readingsBulkUpdate($hash, "input", $1);
- }
-
if($data =~ /(.+?)<\/Tray>/)
{
readingsBulkUpdate($hash, "trayStatus", lc($1));
@@ -1018,8 +1027,8 @@ sub YAMAHA_BD_formatTimestamp($)
Generated Readings/Events:
- - input - The current playback source (can be "DISC", "USB" or "Network")
- - discType - The current type of disc, which is inserted (e.g. "No Disc", "CD", "DVD", "BD",...)
+ - input - The current playback source (e.g. "DISC", "USB", "Network", "YouTube", ...)
+ - discType - The current type of disc, which is inserted (e.g. "No Disc", "CD", "DVD", "BD", ...)
- contentType - The current type of content, which is played (e.g. "audio", "video", "photo" or "no contents")
- error - indicates an hardware error of the player (can be "none", "fan error" or "usb overcurrent")
- power - Reports the power status of the player or zone (can be "on" or "off")
@@ -1198,8 +1207,8 @@ sub YAMAHA_BD_formatTimestamp($)
Generierte Readings/Events:
- - input - Die aktuelle Wiedergabequelle ("DISC", "USB" oder "Network")
- - discType - Die Art der eingelegten Disc (z.B "No Disc" => keine Disc eingelegt, "CD", "DVD", "BD",...)
+ - input - Die aktuelle Wiedergabequelle (z.B. "DISC", "USB", "Network", "YouTube", ...)
+ - discType - Die Art der eingelegten Disc (z.B "No Disc" => keine Disc eingelegt, "CD", "DVD", "BD", ...)
- contentType - Die Art des Inhaltes, der gerade abgespielt wird ("audio", "video", "photo" oder "no contents")
- error - zeigt an, ob ein interner Fehler im Player vorliegt ("none" => kein Fehler, "fan error" => Lüfterdefekt, "usb overcurrent" => USB Spannungsschutz)
- power - Der aktuelle Betriebsstatus ("on" => an, "off" => aus)