diff --git a/fhem/FHEM/10_EnOcean.pm b/fhem/FHEM/10_EnOcean.pm index 990fecd44..faf92add2 100755 --- a/fhem/FHEM/10_EnOcean.pm +++ b/fhem/FHEM/10_EnOcean.pm @@ -2256,47 +2256,47 @@ EnOcean_Parse($$) $msg = $EnO_ptm200btn[($db[0] & 0xE0) >> 5]; $msg .= "," . $EnO_ptm200btn[($db[0] & 0x0E) >> 1] if ($db[0] & 1); $msg .= " released" if (!($db[0] & 0x10)); + push @event, "3:buttons:" . ($db[0] & 0x10 ? "pressed" : "released"); + if ($msg =~ m/A0$/) { + push @event, "3:channelA:A0"; + } elsif ($msg =~ m/AI$/) { + push @event, "3:channelA:AI"; + } elsif ($msg =~ m/B0$/) { + push @event, "3:channelB:B0"; + } elsif ($msg =~ m/BI$/) { + push @event, "3:channelB:BI"; + } elsif ($msg =~ m/C0$/) { + push @event, "3:channelC:C0"; + } elsif ($msg =~ m/CI$/) { + push @event, "3:channelC:CI"; + } elsif ($msg =~ m/D0$/) { + push @event, "3:channelD:D0"; + } elsif ($msg =~ m/DI$/) { + push @event, "3:channelD:DI"; + } } else { if ($db[0] == 112) { # Key Card, not tested - $msg = "keycard inserted"; + $msg = "keycard_inserted"; } elsif ($db[0] & 0xC0) { # Only a Mechanical Handle is setting these bits when nu=0 $msg = "closed" if ($db[0] == 0xF0); $msg = "open" if ($db[0] == 0xE0); $msg = "tilted" if ($db[0] == 0xD0); - $msg = "open from tilted" if ($db[0] == 0xC0); + $msg = "open_from_tilted" if ($db[0] == 0xC0); } else { if($st eq "keycard") { - $msg = "keycard removed"; + $msg = "keycard_removed"; } else { $msg = (($db[0] & 0x10) ? "pressed" : "released"); } } } - push @event, "3:buttons:" . ($db[0] & 0x10 ? "pressed" : "released"); - if ($msg =~ m/A0$/) { - push @event, "3:channelA:A0"; - } elsif ($msg =~ m/AI$/) { - push @event, "3:channelA:AI"; - } elsif ($msg =~ m/B0$/) { - push @event, "3:channelB:B0"; - } elsif ($msg =~ m/BI$/) { - push @event, "3:channelB:BI"; - } elsif ($msg =~ m/C0$/) { - push @event, "3:channelC:C0"; - } elsif ($msg =~ m/CI$/) { - push @event, "3:channelC:CI"; - } elsif ($msg =~ m/D0$/) { - push @event, "3:channelD:D0"; - } elsif ($msg =~ m/DI$/) { - push @event, "3:channelD:DI"; - } # released events are disturbing when using a remote, since it overwrites # the "real" state immediately. In the case of an Eltako FSB14, FSB61 ... # the state should remain released. (by Thomas) @@ -5011,10 +5011,9 @@ EnOcean_Undef($$)