From 06dfeb449aefd8fa052f7decc7ec96747dae9ef1 Mon Sep 17 00:00:00 2001 From: "klaus.schauer" <> Date: Tue, 16 Nov 2021 16:33:11 +0000 Subject: [PATCH] 10_EnOcean: Presence Sensor (Master) [occupSensor.01 (EEP A5-07-01)] modified git-svn-id: https://svn.fhem.de/fhem/trunk@25235 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_EnOcean.pm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/fhem/FHEM/10_EnOcean.pm b/fhem/FHEM/10_EnOcean.pm index 709a14ee2..def59c654 100755 --- a/fhem/FHEM/10_EnOcean.pm +++ b/fhem/FHEM/10_EnOcean.pm @@ -443,7 +443,7 @@ my %EnO_eepConfig = ( "F6.3F.7F" => {attr => {subType => "switch.7F"}}, # special profiles "G5.07.01" => {attr => {subType => "occupSensor.01", eep => "A5-07-01", manufID => "00D", model => 'tracker'}, GPLOT => "EnO_motion:Motion,EnO_voltage4current4:Voltage/Current,"}, - "H5.07.01" => {attr => {subType => "occupSensor.01", eep => "A5-07-01", devMode => 'master', devUpdate => 'auto', motionMode => 'fully'}}, + "H5.07.01" => {attr => {subType => "occupSensor.01", eep => "A5-07-01", devMode => 'master', devUpdate => 'auto', manufID => '00D', motionMode => 'fully'}}, "G5.10.12" => {attr => {subType => "roomSensorControl.01", eep => "A5-10-12", manufID => "00D", scaleMax => 40, scaleMin => 0, scaleDecimals => 1}, GPLOT => "EnO_temp4humi6:Temp/Humi,"}, "G5.38.08" => {attr => {subType => "gateway", eep => "A5-38-08", gwCmd => "dimming", manufID => "00D", webCmd => "on:off:dim"}, GPLOT => "EnO_dim4:Dim,"}, "H5.38.08" => {attr => {subType => "gateway", comMode => "confirm", eep => "A5-38-08", gwCmd => "dimming", manufID => "00D", model => "Eltako_TF", teachMethod => "confirm", webCmd => "on:off:dim"}, GPLOT => "EnO_dim4:Dim,"}, @@ -2473,9 +2473,9 @@ sub EnOcean_Set($@) { $hash->{helper}{lastCmd} = $cmd; $cmd = 'off'; $signOfLifeCmd = 'status'; - } elsif ($cmd eq "teach") { + } elsif ($cmd eq 'teach') { # teach-in EEP A5-07-01 - $data = "1C0FFF80"; + $data = $manufID eq '00D' ? '1C080D80' : '1C0FFF80'; $attr{$name}{eep} = "A5-07-01"; $hash->{helper}{lastCmd} = $cmd; $signOfLifeCmd = 'status'; @@ -2488,7 +2488,7 @@ sub EnOcean_Set($@) { $signOfLifeCmd = AttrVal($name, "devUpdate", 'auto') eq 'auto' ? $cmd : 'off'; readingsBeginUpdate($hash); readingsBulkUpdate($hash, "motion", 'fullyOn'); - readingsBulkUpdate($hash, "state", 'fullyOn'); + readingsBulkUpdate($hash, "state", 'on'); readingsEndUpdate($hash, 1); } elsif ($cmd eq "off") { $data = "FAFF0008"; @@ -2512,7 +2512,7 @@ sub EnOcean_Set($@) { $signOfLifeCmd = AttrVal($name, "devUpdate", 'auto') eq 'auto' ? $cmd : 'off'; readingsBeginUpdate($hash); readingsBulkUpdate($hash, "motion", 'semiOn'); - readingsBulkUpdate($hash, "state", 'semiOn'); + readingsBulkUpdate($hash, "state", 'on'); readingsEndUpdate($hash, 1); } else { if (AttrVal($name, 'devMode', 'master') eq 'master') { @@ -14075,7 +14075,7 @@ sub EnOcean_Attr(@) { } elsif ($attrName eq "devUpdate") { if (!defined $attrVal){ - } elsif ($attrVal !~ m/^(off|auto)$/) { + } elsif ($attrVal !~ m/^off|auto$/) { $err = "attribute-value [$attrName] = $attrVal wrong"; } @@ -17388,8 +17388,9 @@ sub EnOcean_sndUTE($$$$$$$) { # sub EnOcean_SignOfLife($) { my ($functionHash) = @_; - my $function = $functionHash->{function}; my $hash = $functionHash->{hash}; + return if (AttrVal($hash->{NAME}, 'devUpdate', 'off') ne 'auto'); + my $function = $functionHash->{function}; my $period = $functionHash->{period}; my @setCmd = ($hash->{NAME}, $function); EnOcean_Set($hash, @setCmd); @@ -19191,7 +19192,8 @@ sub EnOcean_Delete($$) { motion status are sent periodically.
The profile behaves like a master or slave, see devMode.
The attr subType must be occupSensor.01. The attribute must be set manually. The device can be fully defined - via the Inofficial EEP H5-07-01. + via the Inofficial EEP H5-07-01.
+ Set the attribute manufID to 00D for Eltako device function fullyOn and semiOn.