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