2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-10 09:16:53 +00:00

70_ENIGMA2: fix name and servicename for running recordings

git-svn-id: https://svn.fhem.de/fhem/trunk@12800 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
jpawlowski 2016-12-17 16:44:22 +00:00
parent b634064c1f
commit 7cc7bab90f

View File

@ -1866,13 +1866,15 @@ sub ENIGMA2_ReceiveCommand($$$) {
"ENIGMA2 $name: detected single event in timerlist"; "ENIGMA2 $name: detected single event in timerlist";
# queued recording # queued recording
if ( defined( $return->{e2timer}{e2state} ) if (
defined( $return->{e2timer}{e2state} )
&& $return->{e2timer}{e2state} eq "0" && $return->{e2timer}{e2state} eq "0"
&& defined( $return->{e2timer}{e2disabled} ) && ( !defined( $return->{e2timer}{e2disabled} )
&& $return->{e2timer}{e2disabled} eq "0" || $return->{e2timer}{e2disabled} eq "0" )
&& defined( $return->{e2timer}{e2eit} ) && defined( $return->{e2timer}{e2eit} )
&& defined( $return->{e2timer}{e2servicename} ) && defined( $return->{e2timer}{e2servicename} )
&& defined( $return->{e2timer}{e2name} ) ) && defined( $return->{e2timer}{e2name} )
)
{ {
my $timeleft = my $timeleft =
@ -1941,13 +1943,15 @@ sub ENIGMA2_ReceiveCommand($$$) {
while ( $i < $arr_size ) { while ( $i < $arr_size ) {
# queued recording # queued recording
if ( defined( $return->{e2timer}[$i]{e2state} ) if (
defined( $return->{e2timer}[$i]{e2state} )
&& $return->{e2timer}[$i]{e2state} eq "0" && $return->{e2timer}[$i]{e2state} eq "0"
&& defined( $return->{e2timer}[$i]{e2disabled} ) && ( !defined( $return->{e2timer}[$i]{e2disabled} )
&& $return->{e2timer}[$i]{e2disabled} eq "0" || $return->{e2timer}[$i]{e2disabled} eq "0" )
&& defined( $return->{e2timer}[$i]{e2eit} ) && defined( $return->{e2timer}[$i]{e2eit} )
&& defined( $return->{e2timer}[$i]{e2servicename} ) && defined( $return->{e2timer}[$i]{e2servicename} )
&& defined( $return->{e2timer}[$i]{e2name} ) ) && defined( $return->{e2timer}[$i]{e2name} )
)
{ {
my $timeleft = my $timeleft =
@ -2022,30 +2026,32 @@ sub ENIGMA2_ReceiveCommand($$$) {
readingsBulkUpdateIfChanged( $hash, "recordings", readingsBulkUpdateIfChanged( $hash, "recordings",
$recordingsElementsCount ); $recordingsElementsCount );
my $ri = 0;
if ( $recordingsElementsCount > 0 ) { if ( $recordingsElementsCount > 0 ) {
my $i = 0;
while ( $i < $recordingsElementsCount ) { while ( $ri < $recordingsElementsCount ) {
$i++; $ri++;
$readingname = "recordings" . $i . "_servicename"; $readingname = "recordings" . $ri . "_servicename";
readingsBulkUpdateIfChanged( $hash, $readingname, $2 ) readingsBulkUpdateIfChanged( $hash, $readingname, $2 )
if ( $recordings{$i}{servicename} =~ if ( $recordings{$ri}{servicename} =~
/^(\[[\w=]+\])?([ \w\(\)]+)(\[[\w=\/]+\])?$/ ); /^(\[[\w=]+\])?([ \w\(\)]+)(\[[\w=\/]+\])?$/ );
$readingname = "recordings" . $i . "_name"; $readingname = "recordings" . $ri . "_name";
readingsBulkUpdateIfChanged( $hash, $readingname, $2 ) readingsBulkUpdateIfChanged( $hash, $readingname, $2 )
if ( $recordings{$i}{name} =~ if ( $recordings{$ri}{name} =~
/^(\[[\w=]+\])?([ \w\(\)]+)(\[[\w=\/]+\])?$/ ); /^(\[[\w=]+\])?([ \w\(\)]+)(\[[\w=\/]+\])?$/ );
} }
} }
# clear inactive recordingsX_* readings # clear inactive recordingsX_* readings
foreach my $recReading ( foreach my $recReading (
grep { /recordings\d_.*/ } grep { /^recordings\d+_.*/ }
keys %{ $defs{$name}{READINGS} } keys %{ $defs{$name}{READINGS} }
) )
{ {
next if ( $recReading =~ m/^recordings(\d+).*/ && $1 <= $ri );
Log3 $name, 5, Log3 $name, 5,
"ENIGMA2 $name: old reading $recReading was deleted"; "ENIGMA2 $name: old reading $recReading was deleted";
delete( $defs{$name}{READINGS}{$recReading} ); delete( $defs{$name}{READINGS}{$recReading} );