2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 19:36:02 +00:00

10_EnOcean.pm: dimming and shutter profiles changed

git-svn-id: https://svn.fhem.de/fhem/trunk@10119 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
klaus-schauer 2015-12-07 05:02:02 +00:00
parent 70a2ae4e95
commit b0a3b40e38

View File

@ -2368,6 +2368,13 @@ sub EnOcean_Set($@)
my $rampTime = AttrVal($name, "rampTime", 1); my $rampTime = AttrVal($name, "rampTime", 1);
my $sendDimCmd = 0; my $sendDimCmd = 0;
$setCmd = 9; $setCmd = 9;
if ($cmd =~ m/^\d+$/) {
# interpretive numeric value as dimming
unshift(@a, 'dim');
$cmd = 'dim';
}
if ($cmd eq "teach") { if ($cmd eq "teach") {
# teach-in EEP A5-38-08, Manufacturer "Multi user Manufacturer ID" # teach-in EEP A5-38-08, Manufacturer "Multi user Manufacturer ID"
#$data = "E047FF80"; #$data = "E047FF80";
@ -2670,6 +2677,11 @@ sub EnOcean_Set($@)
my $blindFuncID; my $blindFuncID;
if (defined $blindFunc {$cmd}) { if (defined $blindFunc {$cmd}) {
$blindFuncID = $blindFunc {$cmd}; $blindFuncID = $blindFunc {$cmd};
} elsif ($cmd =~ m/^\d+$/) {
# interpretive numeric value as position
unshift(@a, 'position');
$cmd = 'position';
$blindFuncID = 4;
} else { } else {
return "Unknown Gateway Blind Central Function " . $cmd . ", choose one of ". join(" ", @blindFunc); return "Unknown Gateway Blind Central Function " . $cmd . ", choose one of ". join(" ", @blindFunc);
} }
@ -2963,6 +2975,11 @@ sub EnOcean_Set($@)
my $ctrlFuncID; my $ctrlFuncID;
if (exists $ctrlFunc{$cmd}) { if (exists $ctrlFunc{$cmd}) {
$ctrlFuncID = $ctrlFunc{$cmd}; $ctrlFuncID = $ctrlFunc{$cmd};
} elsif ($cmd =~ m/^\d+$/) {
# interpretive numeric value as dimming
unshift(@a, 'dim');
$cmd = 'dim';
$ctrlFuncID = 6;
} else { } else {
$cmdList .= "dim:slider,0,5,255 dimup:noArg dimdown:noArg on:noArg off:noArg stop:noArg rgb:colorpicker,RGB scene dimMinMax lampOpHours block meteringValue teach:noArg"; $cmdList .= "dim:slider,0,5,255 dimup:noArg dimdown:noArg on:noArg off:noArg stop:noArg rgb:colorpicker,RGB scene dimMinMax lampOpHours block meteringValue teach:noArg";
return SetExtensions ($hash, $cmdList, $name, @a); return SetExtensions ($hash, $cmdList, $name, @a);
@ -3231,6 +3248,11 @@ sub EnOcean_Set($@)
$shutTime = 255 if ($shutTime !~ m/^[+-]?\d+$/); $shutTime = 255 if ($shutTime !~ m/^[+-]?\d+$/);
$shutTime = 255 if ($shutTime > 255); $shutTime = 255 if ($shutTime > 255);
$shutTime = 1 if ($shutTime < 1); $shutTime = 1 if ($shutTime < 1);
if ($cmd =~ m/^\d+$/) {
# interpretive numeric value as position
unshift(@a, 'position');
$cmd = 'position';
}
if ($cmd eq "teach") { if ($cmd eq "teach") {
# teach-in EEP A5-3F-7F, Manufacturer "Eltako" # teach-in EEP A5-3F-7F, Manufacturer "Eltako"
$data = "FFF80D80"; $data = "FFF80D80";
@ -3452,6 +3474,12 @@ sub EnOcean_Set($@)
my $dimValTimer = 0; my $dimValTimer = 0;
my $outputVal; my $outputVal;
if ($cmd =~ m/^\d+$/) {
# interpretive numeric value as position
unshift(@a, 'dim');
$cmd = 'dim';
}
if ($cmd eq "on") { if ($cmd eq "on") {
shift(@a); shift(@a);
$cmdID = 1; $cmdID = 1;
@ -3932,6 +3960,12 @@ sub EnOcean_Set($@)
} }
my $lock = 0; my $lock = 0;
if ($cmd =~ m/^\d+$/) {
# interpretive numeric value as position
unshift(@a, 'position');
$cmd = 'position';
}
if ($cmd eq "position") { if ($cmd eq "position") {
$cmdID = 1; $cmdID = 1;
shift(@a); shift(@a);
@ -13071,6 +13105,8 @@ EnOcean_Delete($$)
<code>set &lt;name&gt; &lt;value&gt;</code> <code>set &lt;name&gt; &lt;value&gt;</code>
<br><br> <br><br>
where <code>value</code> is where <code>value</code> is
<li>dim/% [rampTime/s [lock|unlock]]<br>
issue dim command</li>
<li>teach<br> <li>teach<br>
initiate teach-in mode</li> initiate teach-in mode</li>
<li>on [lock|unlock]<br> <li>on [lock|unlock]<br>
@ -13196,6 +13232,8 @@ EnOcean_Delete($$)
<code>set &lt;name&gt; &lt;value&gt;</code> <code>set &lt;name&gt; &lt;value&gt;</code>
<br><br> <br><br>
where <code>value</code> is where <code>value</code> is
<li>position/% [&alpha;/&#176]<br>
drive blinds to position with angle value</li>
<li>teach<br> <li>teach<br>
initiate teach-in mode</li> initiate teach-in mode</li>
<li>status<br> <li>status<br>
@ -13291,7 +13329,9 @@ EnOcean_Delete($$)
<code>set &lt;name&gt; &lt;value&gt;</code> <code>set &lt;name&gt; &lt;value&gt;</code>
<br><br> <br><br>
where <code>value</code> is where <code>value</code> is
<li>teach<br> <li>position/% [&alpha;/&#176]<br>
drive blinds to position with angle value</li>
<li>teach<br>
initiate teach-in mode</li> initiate teach-in mode</li>
<li>opens<br> <li>opens<br>
issue blinds opens command</li> issue blinds opens command</li>
@ -13326,6 +13366,8 @@ EnOcean_Delete($$)
<code>set &lt;name&gt; &lt;value&gt;</code> <code>set &lt;name&gt; &lt;value&gt;</code>
<br><br> <br><br>
where <code>value</code> is where <code>value</code> is
<li>dim/% [&lt;channel&gt; [&lt;rampTime&gt;]]<br>
issue dimming command</li>
<li>on [&lt;channel&gt;]<br> <li>on [&lt;channel&gt;]<br>
issue switch on command</li> issue switch on command</li>
<li>off [&lt;channel&gt;]<br> <li>off [&lt;channel&gt;]<br>