70_Pushover: fix msgCancel

git-svn-id: https://svn.fhem.de/fhem/trunk@13930 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
jpawlowski 2017-04-08 08:13:41 +00:00
parent f4c0ab0a88
commit 566fef4942

View File

@ -602,11 +602,10 @@ sub Pushover_ReceiveCommand($$$) {
elsif ( $service =~ /^receipts\/(.*)\/cancel.json$/ ) { elsif ( $service =~ /^receipts\/(.*)\/cancel.json$/ ) {
my $receipt = $1; my $receipt = $1;
keys %{ $hash->{READINGS} }; my @delete;
while ( my ( $key, $value ) = each %{ $hash->{READINGS} } ) { foreach my $key ( %{ $hash->{READINGS} } ) {
if ( $key =~ /^cb_(\d+)$/ if ( $key =~ /^cb_(\d+)$/
&& defined( $value->{VAL} ) && $hash->{READINGS}{$key}{VAL} eq $receipt )
&& $value->{VAL} eq $receipt )
{ {
my $rAct = "cbAct_" . $1; my $rAct = "cbAct_" . $1;
my $rAck = "cbAck_" . $1; my $rAck = "cbAck_" . $1;
@ -618,12 +617,16 @@ sub Pushover_ReceiveCommand($$$) {
readingsBulkUpdate( $hash, $rAck, "1" ); readingsBulkUpdate( $hash, $rAck, "1" );
readingsBulkUpdate( $hash, $rAckAt, int( time() ) ); readingsBulkUpdate( $hash, $rAckAt, int( time() ) );
readingsBulkUpdate( $hash, $rAckBy, "aborted" ); readingsBulkUpdate( $hash, $rAckBy, "aborted" );
delete $hash->{READINGS}{$rCancelId} push @delete, $rCancelId;
if ( defined( $hash->{READINGS}{$rCancelId} ) );
keys %{ $hash->{READINGS} };
} }
} }
} }
# cleanup
foreach (@delete) {
delete $hash->{READINGS}{$_}
if ( defined( $hash->{READINGS}{$_} ) );
}
} }
# glances.json # glances.json
@ -1424,21 +1427,20 @@ sub Pushover_CancelMessage ($$$$) {
Log3 $name, 5, "Pushover $name: called function Pushover_CancelMessage()"; Log3 $name, 5, "Pushover $name: called function Pushover_CancelMessage()";
keys %{ $hash->{READINGS} }; foreach my $string (@$cancelIds) {
while ( my ( $key, $value ) = each %{ $hash->{READINGS} } ) { foreach my $cancelId ( split( ',', $string ) ) {
foreach my $string (@$cancelIds) { foreach my $key ( keys %{ $hash->{READINGS} } ) {
foreach my $cancelId ( split( ',', $string ) ) {
if ( $key =~ /^cbCancelId_(\d+)$/ if ( $key =~ /^cbCancelId_(\d+)$/
&& defined( $value->{VAL} ) && $hash->{READINGS}{$key}{VAL} eq $cancelId )
&& $value->{VAL} eq $cancelId )
{ {
$success = 1; $success = 1;
my $receipt = ReadingsVal( $name, "cb_" . $1, $1 ); my $receipt = $hash->{READINGS}{ "cb_" . $1 }{VAL};
$return .= " " if ($return); $return .= " " if ($return);
$return .= $return .=
Pushover_SendCommand( $hash, Pushover_SendCommand( $hash,
"receipts/$receipt/cancel.json" ); "receipts/$receipt/cancel.json" )
if ($receipt);
} }
} }
} }