diff --git a/fhem/FHEM/10_EnOcean.pm b/fhem/FHEM/10_EnOcean.pm
index fa4b175fe..55044448a 100755
--- a/fhem/FHEM/10_EnOcean.pm
+++ b/fhem/FHEM/10_EnOcean.pm
@@ -195,6 +195,7 @@ my %EnO_eepConfig = (
"A5.06.02" => {attr => {subType => "lightSensor.02"}, GPLOT => "EnO_brightness4:Brightness,EnO_voltage4:Voltage,"},
"A5.06.03" => {attr => {subType => "lightSensor.03"}, GPLOT => "EnO_brightness4:Brightness,"},
"A5.06.04" => {attr => {subType => "lightSensor.04"}, GPLOT => "EnO_temp4brightness4:Temp/Brightness,"},
+ "A5.06.05" => {attr => {subType => "lightSensor.05"}, GPLOT => "EnO_brightness4:Brightness,EnO_voltage4:Voltage,"},
"A5.07.01" => {attr => {subType => "occupSensor.01"}, GPLOT => "EnO_motion:Motion,EnO_voltage4current4:Voltage/Current,"},
"A5.07.02" => {attr => {subType => "occupSensor.02"}, GPLOT => "EnO_motion:Motion4brightness4:Motion/Brightness,EnO_voltage4:Voltage,"},
"A5.07.03" => {attr => {subType => "occupSensor.03"}, GPLOT => "EnO_motion:Motion4brightness4:Motion/Brightness,EnO_voltage4:Voltage,"},
@@ -262,6 +263,8 @@ my %EnO_eepConfig = (
"A5.13.04" => {attr => {subType => "environmentApp"}},
"A5.13.05" => {attr => {subType => "environmentApp"}},
"A5.13.06" => {attr => {subType => "environmentApp"}},
+ "A5.13.07" => {attr => {subType => "windSensor.01"}, GPLOT => "EnO_A5-13-07:WindSpeed,"},
+ "A5.13.08" => {attr => {subType => "rainSensor.01"}, GPLOT => "EnO_A5-13-08:Raining,"},
"A5.13.10" => {attr => {subType => "environmentApp"}, GPLOT => "EnO_solarRadiation4:SolarRadiation,"},
"A5.14.01" => {attr => {subType => "multiFuncSensor"}, GPLOT => "EnO_A5-14-xx:Voltage/Brightness,EnO_A5-14-xx_2:Contact/Vibration,"},
"A5.14.02" => {attr => {subType => "multiFuncSensor"}, GPLOT => "EnO_A5-14-xx:Voltage/Brightness,EnO_A5-14-xx_2:Contact/Vibration,"},
@@ -8706,6 +8709,22 @@ sub EnOcean_Parse($$)
}
push @event, "3:state:T: $temperature E: $brightness B: $battery";
+ } elsif ($st eq "lightSensor.05") {
+ # Light Sensor (EEP A5-06-05)
+ # $db[3] is the voltage where 0x00 = 0 V ... 0xFF = 5.1 V
+ # $db[2] is the illuminance (ILL2) where min 0x00 = 0 lx, max 0xFF = 5100 lx
+ # $db[1] is the illuminance (ILL1) where min 0x00 = 0 lx, max 0xFF = 1020000 lx
+ # $db[0]_bit_0 is Range select where 0 = ILL1, 1 = ILL2
+ my $lux;
+ if($db[0] & 1) {
+ $lux = sprintf "%d", $db[2] * 20;
+ } else {
+ $lux = sprintf "%d", $db[1] * 40;
+ }
+ push @event, "3:voltage:" . sprintf "%0.1f", $db[3] * 0.02;
+ push @event, "3:brightness:$lux";
+ push @event, "3:state:$lux";
+
} elsif ($st eq "occupSensor.01") {
# Occupancy Sensor (EEP A5-07-01)
# $db[3] is the voltage where 0x00 = 0 V ... 0xFA = 5.0 V
@@ -9213,6 +9232,25 @@ sub EnOcean_Parse($$)
# EEP A5-13-03 ... EEP A5-13-06 not implemented
}
+ } elsif ($st eq "windSensor.01") {
+ # Wind Sensor (EEP A5-13-07)
+ my @windDirection = ('NNE', 'NE', 'ENE', 'E', 'ESE', 'SE', 'SSE', 'S', 'SSW', 'SW', 'WSW', 'W', 'WNW', 'NW', 'NNW', 'N');
+ push @event, "3:battery:" . ($db[0] & 1 ? 'low' : 'ok');
+ push @event, "3:windDirection:" . $windDirection[$db[3]];
+ push @event, "3:windSpeedAverage:" . $db[2] / 1.275;
+ push @event, "3:windSpeedMax:" . $db[1] / 1.275;
+ push @event, "3:state:" . $db[2] / 1.275;
+
+ } elsif ($st eq "rainSensor.01") {
+ # Wind Sensor (EEP A5-13-08)
+ my $ras = ($db[3] & 0x40) >> 6;
+ my $rfa = ($db[3] & 0x3F) / 10;
+ my $rfc = hex(substr($data, 2, 4));
+ my $rain = $rfc * 0.6875 * (1 + $ras * $rfa / 100);
+ push @event, "3:battery:" . ($db[0] & 1 ? 'low' : 'ok');
+ push @event, "3:rain:$rain";
+ push @event, "3:state:$rain";
+
} elsif ($st eq "multiFuncSensor") {
# Multi-Func Sensor (EEP A5-14-01 ... A5-14-06)
# $db[3] is the voltage where 0x00 = 0 V ... 0xFA = 5.0 V
@@ -18473,6 +18511,18 @@ EnOcean_Delete($$)
The attr subType must be lightSensor.04. This is done if the device was
created by autocreate.
+
+
+