mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-13 17:26:34 +00:00
21_HEOS: code cleanup, little bugfix
git-svn-id: https://svn.fhem.de/fhem/trunk@14952 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
7c094d35fa
commit
b2fc40cb30
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# 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.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- bugfix: 21_HEOS: little Bugfixes, code cleanup
|
||||||
- changed: 88_HMCCU Version 4.1.001
|
- changed: 88_HMCCU Version 4.1.001
|
||||||
- feature: HttpUtils/IPv6 with the useInet6 global attribute (Forum #75557)
|
- feature: HttpUtils/IPv6 with the useInet6 global attribute (Forum #75557)
|
||||||
- bugfix: 74_AMADautomagicFlowset_4.0.5.xml: add openTask Check with
|
- bugfix: 74_AMADautomagicFlowset_4.0.5.xml: add openTask Check with
|
||||||
|
@ -38,7 +38,7 @@ use JSON qw(decode_json);
|
|||||||
use Encode qw(encode_utf8);
|
use Encode qw(encode_utf8);
|
||||||
|
|
||||||
|
|
||||||
my $version = "0.2.0";
|
my $version = "1.0.0";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -61,12 +61,11 @@ my $missingModul = "";
|
|||||||
eval "use Net::Telnet;1" or $missingModul .= "Net::Telnet ";
|
eval "use Net::Telnet;1" or $missingModul .= "Net::Telnet ";
|
||||||
eval "use JSON;1" or $missingModul .= "JSON ";
|
eval "use JSON;1" or $missingModul .= "JSON ";
|
||||||
eval "use Encode;1" or $missingModul .= "Encode ";
|
eval "use Encode;1" or $missingModul .= "Encode ";
|
||||||
eval "use IO::Socket::Multicast;1" or $missingModul .= "IO::Socket::Multicast ";
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
my $version = "0.2.0";
|
my $version = "1.0.0";
|
||||||
|
|
||||||
my %heosCmds = (
|
my %heosCmds = (
|
||||||
'enableChangeEvents' => 'system/register_for_change_events?enable=',
|
'enableChangeEvents' => 'system/register_for_change_events?enable=',
|
||||||
@ -365,7 +364,7 @@ sub HEOSMaster_Open($) {
|
|||||||
my $password = HEOSMaster_ReadPassword($hash);
|
my $password = HEOSMaster_ReadPassword($hash);
|
||||||
|
|
||||||
|
|
||||||
Log3 $name, 4, "HEOSMaster ($name) - Baue Socket Verbindung auf";
|
Log3 $name, 4, "HEOSMaster ($name) - Build socket connection";
|
||||||
|
|
||||||
my $socket = new Net::Telnet ( Host=>$host,
|
my $socket = new Net::Telnet ( Host=>$host,
|
||||||
Port => $port,
|
Port => $port,
|
||||||
@ -463,7 +462,7 @@ sub HEOSMaster_Read($) {
|
|||||||
|
|
||||||
|
|
||||||
Log3 $name, 4, "HEOSMaster ($name) - ReadFn gestartet";
|
Log3 $name, 4, "HEOSMaster ($name) - ReadFn gestartet";
|
||||||
$len = sysread($hash->{CD},$buf,1024); # die genaue Puffergröße wird noch ermittelt
|
$len = sysread($hash->{CD},$buf,1024);
|
||||||
|
|
||||||
if( !defined($len) || !$len ) {
|
if( !defined($len) || !$len ) {
|
||||||
|
|
||||||
@ -474,7 +473,7 @@ sub HEOSMaster_Read($) {
|
|||||||
|
|
||||||
unless( defined $buf) {
|
unless( defined $buf) {
|
||||||
|
|
||||||
Log3 $name, 3, "HEOSMaster ($name) - Keine Daten empfangen";
|
Log3 $name, 3, "HEOSMaster ($name) - no data received";
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,7 +514,6 @@ sub HEOSMaster_ProcessRead($$) {
|
|||||||
|
|
||||||
$hash->{LAST_RECV} = time();
|
$hash->{LAST_RECV} = time();
|
||||||
Log3 $name, 5, "HEOSMaster ($name) - Decoding JSON message. Length: " . length($json) . " Content: " . $json;
|
Log3 $name, 5, "HEOSMaster ($name) - Decoding JSON message. Length: " . length($json) . " Content: " . $json;
|
||||||
#my $obj = JSON->new->utf8(0)->decode($json); Änderung unter großem Vorbehalt wegen Sorge was Umlaute an geht!!!
|
|
||||||
my $obj = decode_json($json);
|
my $obj = decode_json($json);
|
||||||
|
|
||||||
if(defined($obj->{heos})) {
|
if(defined($obj->{heos})) {
|
||||||
@ -829,18 +827,6 @@ sub HEOSMaster_ResponseProcessing($$) {
|
|||||||
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
||||||
$ret = "<html>$ret</html>";
|
$ret = "<html>$ret</html>";
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
#$ret =~ s/<a[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/a>//g;
|
|
||||||
#$ret =~ s/<img[^>]*>\n//g;
|
|
||||||
#$ret =~ s/<div[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/div>//g;
|
|
||||||
#$ret =~ s/<h2[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/h2>//g;
|
|
||||||
#$ret .= "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
asyncOutput( $hash->{helper}{blocking}{$idx}{cl}, $ret );
|
asyncOutput( $hash->{helper}{blocking}{$idx}{cl}, $ret );
|
||||||
delete $hash->{helper}{blocking}{$idx};
|
delete $hash->{helper}{blocking}{$idx};
|
||||||
}
|
}
|
||||||
@ -886,10 +872,6 @@ sub HEOSMaster_ResponseProcessing($$) {
|
|||||||
my $ret = '';
|
my $ret = '';
|
||||||
|
|
||||||
$ret .= sprintf( "%-35s %-10s %s\n", 'Fav', 'type', 'title' );
|
$ret .= sprintf( "%-35s %-10s %s\n", 'Fav', 'type', 'title' );
|
||||||
#foreach my $item (@{ $hash->{helper}{searchresult}}) {
|
|
||||||
|
|
||||||
# $ret .= HEOSMaster_MakePlayLink($hash->{helper}{blocking}{name}, 'input', $message{sid}, $item, sprintf( "%-35s %-10s %s\n", "x", $item->{type}, $item->{name} ) );
|
|
||||||
#}
|
|
||||||
|
|
||||||
$ret .= "\n\n";
|
$ret .= "\n\n";
|
||||||
|
|
||||||
@ -1079,7 +1061,6 @@ sub HEOSMaster_ParseMsg($$) {
|
|||||||
foreach my $c (split //, $buffer) {
|
foreach my $c (split //, $buffer) {
|
||||||
if($open == $close && $open > 0) {
|
if($open == $close && $open > 0) {
|
||||||
$tail .= $c;
|
$tail .= $c;
|
||||||
#Log3 $name, 5, "HEOSMaster ($name) - $open == $close && $open > 0";
|
|
||||||
|
|
||||||
} elsif(($open == $close) && ($c ne '{')) {
|
} elsif(($open == $close) && ($c ne '{')) {
|
||||||
|
|
||||||
@ -1107,7 +1088,6 @@ sub HEOSMaster_ParseMsg($$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#Log3 $name, 5, "HEOSMaster ($name) - return msg: $msg and tail: $tail";
|
|
||||||
return ($msg,$tail);
|
return ($msg,$tail);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ use Encode qw(encode_utf8);
|
|||||||
use URI::Escape;
|
use URI::Escape;
|
||||||
#use Data::Dumper;
|
#use Data::Dumper;
|
||||||
|
|
||||||
my $version = "0.2.0";
|
my $version = "1.0.0";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -246,7 +246,6 @@ sub HEOSPlayer_Get($$@) {
|
|||||||
|
|
||||||
my $param = shift( @args );
|
my $param = shift( @args );
|
||||||
$param = '' if( !$param );
|
$param = '' if( !$param );
|
||||||
#$param = substr($param,1) if( $param && $param =~ '^|' );
|
|
||||||
|
|
||||||
if ( $param eq '' ) {
|
if ( $param eq '' ) {
|
||||||
|
|
||||||
@ -277,7 +276,6 @@ sub HEOSPlayer_Get($$@) {
|
|||||||
|
|
||||||
$ret .= HEOSPlayer_MakePlayLink($me->{cl}->{TYPE}, $hash->{NAME}, "1029", "heos_service", "Warteschlange", "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_playlists.png", 128, 32);
|
$ret .= HEOSPlayer_MakePlayLink($me->{cl}->{TYPE}, $hash->{NAME}, "1029", "heos_service", "Warteschlange", "https://production.ws.skyegloup.com:443/media/images/service/logos/musicsource_logo_playlists.png", 128, 32);
|
||||||
|
|
||||||
#$ret .= "\n\n";
|
|
||||||
|
|
||||||
if( $me->{cl}->{TYPE} eq 'FHEMWEB' ) {
|
if( $me->{cl}->{TYPE} eq 'FHEMWEB' ) {
|
||||||
|
|
||||||
@ -288,28 +286,11 @@ sub HEOSPlayer_Get($$@) {
|
|||||||
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
||||||
$ret = "<html>$ret</html>";
|
$ret = "<html>$ret</html>";
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
#$ret =~ s/<h3[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/h3>/\n\n/g;
|
|
||||||
#$ret =~ s/<h5[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/h5>/\n/g;
|
|
||||||
#$ret =~ s/<hr>//g;
|
|
||||||
#$ret =~ s/<a[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/a>//g;
|
|
||||||
#$ret =~ s/<img[^>]*>//g;
|
|
||||||
#$ret =~ s/<div[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/div>//g;
|
|
||||||
#$ret .= "\n";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
my ($sid,$cid) = split /,/,$param;
|
my ($sid,$cid) = split /,/,$param;
|
||||||
#$param=~/^(-?\d+),?(.*)$/;
|
|
||||||
|
|
||||||
if ( $sid eq "1025" ) {
|
if ( $sid eq "1025" ) {
|
||||||
|
|
||||||
@ -405,16 +386,6 @@ sub HEOSPlayer_Get($$@) {
|
|||||||
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
$ret = "<pre>$ret</pre>" if( $ret =~ m/ / );
|
||||||
$ret = "<html>$ret</html>";
|
$ret = "<html>$ret</html>";
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
#$ret =~ s/<a[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/a>//g;
|
|
||||||
#$ret =~ s/<img[^>]*>\n//g;
|
|
||||||
#$ret =~ s/<div[^>]*>//g;
|
|
||||||
#$ret =~ s/<\/div>//g;
|
|
||||||
#$ret .= "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
asyncOutput( $me->{cl}, $ret );
|
asyncOutput( $me->{cl}, $ret );
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -789,7 +760,7 @@ sub HEOSPlayer_Set($$@) {
|
|||||||
$list .= " playPlaylist:".join(",",@playlists) if( scalar @playlists > 0 );
|
$list .= " playPlaylist:".join(",",@playlists) if( scalar @playlists > 0 );
|
||||||
$list .= " deletePlaylist:".join(",",@playlists) if( scalar @playlists > 0 );
|
$list .= " deletePlaylist:".join(",",@playlists) if( scalar @playlists > 0 );
|
||||||
}
|
}
|
||||||
#print "List#########################################################\n".Dumper($list);
|
|
||||||
$list .= " aux:noArg" if ( exists $hash->{helper}{aux} );
|
$list .= " aux:noArg" if ( exists $hash->{helper}{aux} );
|
||||||
return "Unknown argument $cmd, choose one of $list";
|
return "Unknown argument $cmd, choose one of $list";
|
||||||
}
|
}
|
||||||
@ -913,7 +884,6 @@ sub HEOSPlayer_WriteReadings($$) {
|
|||||||
my( @index )= grep { $presets[$_] eq $search } 0..$#presets if ( defined $search );
|
my( @index )= grep { $presets[$_] eq $search } 0..$#presets if ( defined $search );
|
||||||
|
|
||||||
readingsBulkUpdate( $hash, 'channel', $index[0]+1 ) if ( scalar @index > 0 );
|
readingsBulkUpdate( $hash, 'channel', $index[0]+1 ) if ( scalar @index > 0 );
|
||||||
#readingsBulkUpdate( $hash, 'state', 'on' );
|
|
||||||
readingsEndUpdate( $hash, 1 );
|
readingsEndUpdate( $hash, 1 );
|
||||||
Log3 $name, 5, "HEOSPlayer ($name) - readings set for $name";
|
Log3 $name, 5, "HEOSPlayer ($name) - readings set for $name";
|
||||||
return undef;
|
return undef;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user