From 77ce2cea51fce86687d848d191c36e3ac59b8d1e Mon Sep 17 00:00:00 2001 From: risiko79 <> Date: Tue, 15 Nov 2016 19:08:48 +0000 Subject: [PATCH] 30_pilight_contact: fix protocols without id git-svn-id: https://svn.fhem.de/fhem/trunk@12587 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_pilight_ctrl.pm | 3 +++ fhem/FHEM/30_pilight_contact.pm | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/10_pilight_ctrl.pm b/fhem/FHEM/10_pilight_ctrl.pm index 7fff010a0..9ba128261 100644 --- a/fhem/FHEM/10_pilight_ctrl.pm +++ b/fhem/FHEM/10_pilight_ctrl.pm @@ -814,6 +814,9 @@ sub pilight_ctrl_Parse($$) readingsBulkUpdate($hash,"rcv_raw",$rmsg); readingsEndUpdate($hash, 1); + # some protocols have no id but unit(code) e.q. ev1527 + $id = $unit if ($id eq "" && $unit ne ""); + $unit = "all" if ($unit eq "" && $all ne ""); my $protoID = -1; diff --git a/fhem/FHEM/30_pilight_contact.pm b/fhem/FHEM/30_pilight_contact.pm index 3540c8fe3..6e4975079 100644 --- a/fhem/FHEM/30_pilight_contact.pm +++ b/fhem/FHEM/30_pilight_contact.pm @@ -89,7 +89,10 @@ sub pilight_contact_Parse($$) foreach my $n (keys %{ $modules{pilight_contact}{defptr}{lc($protocol)} }) { my $lh = $modules{pilight_contact}{defptr}{$protocol}{$n}; next if ( !defined($lh->{ID}) ); - if ($lh->{ID} eq $id && $lh->{UNIT} eq $unit) { + if ($lh->{ID} eq $id) { + if (defined($lh->{UNIT})) { + next if ($lh->{UNIT} ne $unit); + } $chash = $lh; last; }