mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
# profile gateway, switching and dimming: new reading block
# profile gateway, dimming: block function corrected git-svn-id: https://svn.fhem.de/fhem/trunk@3725 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
bb6f3fb898
commit
4dfc60e169
@ -640,18 +640,26 @@ EnOcean_Set($@)
|
|||||||
$data = "E047FF80";
|
$data = "E047FF80";
|
||||||
} elsif ($cmd eq "on" || $cmd eq "B0") {
|
} elsif ($cmd eq "on" || $cmd eq "B0") {
|
||||||
$setCmd = 9;
|
$setCmd = 9;
|
||||||
|
readingsSingleUpdate($hash, "block", "unlock", 1);
|
||||||
if ($a[1]) {
|
if ($a[1]) {
|
||||||
return "Usage: $cmd [lock|unlock]" if (($a[1] ne "lock") && ($a[1] ne "unlock"));
|
return "Usage: $cmd [lock|unlock]" if (($a[1] ne "lock") && ($a[1] ne "unlock"));
|
||||||
$setCmd = $setCmd | 4 if ($a[1] eq "lock");
|
if ($a[1] eq "lock") {
|
||||||
|
$setCmd = $setCmd | 4 ;
|
||||||
|
readingsSingleUpdate($hash, "block", "lock", 1);
|
||||||
|
}
|
||||||
shift(@a);
|
shift(@a);
|
||||||
}
|
}
|
||||||
$updateState = 0;
|
$updateState = 0;
|
||||||
$data = sprintf "%02X%04X%02X", $gwCmdID, $time, $setCmd;
|
$data = sprintf "%02X%04X%02X", $gwCmdID, $time, $setCmd;
|
||||||
} elsif ($cmd eq "off" || $cmd eq "BI") {
|
} elsif ($cmd eq "off" || $cmd eq "BI") {
|
||||||
$setCmd = 8;
|
$setCmd = 8;
|
||||||
|
readingsSingleUpdate($hash, "block", "unlock", 1);
|
||||||
if ($a[1]) {
|
if ($a[1]) {
|
||||||
return "Usage: $cmd [lock|unlock]" if (($a[1] ne "lock") && ($a[1] ne "unlock"));
|
return "Usage: $cmd [lock|unlock]" if (($a[1] ne "lock") && ($a[1] ne "unlock"));
|
||||||
$setCmd = $setCmd | 4 if ($a[1] eq "lock");
|
if ($a[1] eq "lock") {
|
||||||
|
$setCmd = $setCmd | 4 ;
|
||||||
|
readingsSingleUpdate($hash, "block", "lock", 1);
|
||||||
|
}
|
||||||
shift(@a);
|
shift(@a);
|
||||||
}
|
}
|
||||||
$updateState = 0;
|
$updateState = 0;
|
||||||
@ -672,7 +680,9 @@ EnOcean_Set($@)
|
|||||||
$setCmd = 9;
|
$setCmd = 9;
|
||||||
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";
|
||||||
|
# teach-in Eltako
|
||||||
|
$data = "02000000";
|
||||||
} elsif ($cmd eq "dim") {
|
} elsif ($cmd eq "dim") {
|
||||||
return "Usage: $cmd dim/% [rampTime/s lock|unlock]"
|
return "Usage: $cmd dim/% [rampTime/s lock|unlock]"
|
||||||
if(@a < 2 || $a[1] < 0 || $a[1] > 100 || $a[1] !~ m/^[+-]?\d+$/);
|
if(@a < 2 || $a[1] < 0 || $a[1] > 100 || $a[1] !~ m/^[+-]?\d+$/);
|
||||||
@ -743,7 +753,7 @@ EnOcean_Set($@)
|
|||||||
$dimVal = $dimValueOn;
|
$dimVal = $dimValueOn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$sendDimCmd = 1
|
$sendDimCmd = 1;
|
||||||
|
|
||||||
} elsif ($cmd eq "off" || $cmd eq "BI") {
|
} elsif ($cmd eq "off" || $cmd eq "BI") {
|
||||||
$dimVal = 0;
|
$dimVal = 0;
|
||||||
@ -756,14 +766,18 @@ EnOcean_Set($@)
|
|||||||
return SetExtensions ($hash, $cmdList, $name, @a);
|
return SetExtensions ($hash, $cmdList, $name, @a);
|
||||||
}
|
}
|
||||||
if ($sendDimCmd) {
|
if ($sendDimCmd) {
|
||||||
|
readingsSingleUpdate($hash, "block", "unlock", 1);
|
||||||
if (defined $a[1]) {
|
if (defined $a[1]) {
|
||||||
return "Usage: $cmd dim/% [rampTime/s lock|unlock]" if ($a[1] ne "lock" && $a[1] ne "unlock");
|
return "Usage: $cmd dim/% [rampTime/s lock|unlock]" if ($a[1] ne "lock" && $a[1] ne "unlock");
|
||||||
# Eltako devices: lock dimming value
|
# Eltako devices: lock dimming value
|
||||||
if ($manufID eq "OOD" && $a[1] eq "lock" ) {$setCmd = $setCmd | 4;}
|
if ($manufID eq "00D" && $a[1] eq "lock" ) {
|
||||||
|
$setCmd = $setCmd | 4;
|
||||||
|
readingsSingleUpdate($hash, "block", "lock", 1);
|
||||||
|
}
|
||||||
shift(@a);
|
shift(@a);
|
||||||
} else {
|
} else {
|
||||||
# Dimming value relative
|
# Dimming value relative
|
||||||
if ($manufID ne "OOD") {$setCmd = $setCmd | 4;}
|
if ($manufID ne "00D") {$setCmd = $setCmd | 4;}
|
||||||
}
|
}
|
||||||
if ($dimVal > 100) { $dimVal = 100; }
|
if ($dimVal > 100) { $dimVal = 100; }
|
||||||
if ($dimVal <= 0) { $dimVal = 0; $setCmd = 8; }
|
if ($dimVal <= 0) { $dimVal = 0; $setCmd = 8; }
|
||||||
@ -4620,7 +4634,7 @@ EnOcean_Undef($$)
|
|||||||
<li>off</li>
|
<li>off</li>
|
||||||
<li>executeTime: t/s (Sensor Range: t = 0.1 s ... 6553.5 s or 0 if no time specified)</li>
|
<li>executeTime: t/s (Sensor Range: t = 0.1 s ... 6553.5 s or 0 if no time specified)</li>
|
||||||
<li>executeType: duration|delay</li>
|
<li>executeType: duration|delay</li>
|
||||||
<li>lock: lock|unlock</li>
|
<li>block: lock|unlock</li>
|
||||||
<li>state: on|off</li>
|
<li>state: on|off</li>
|
||||||
</ul><br>
|
</ul><br>
|
||||||
The attr subType must be gateway and gwCmd must be switching. This is done if the device was
|
The attr subType must be gateway and gwCmd must be switching. This is done if the device was
|
||||||
@ -4635,6 +4649,7 @@ EnOcean_Undef($$)
|
|||||||
<ul>
|
<ul>
|
||||||
<li>on</li>
|
<li>on</li>
|
||||||
<li>off</li>
|
<li>off</li>
|
||||||
|
<li>block: lock|unlock</li>
|
||||||
<li>dimValue: dim/% (Sensor Range: dim = 0 % ... 100 %)</li>
|
<li>dimValue: dim/% (Sensor Range: dim = 0 % ... 100 %)</li>
|
||||||
<li>dimValueLast: dim/%<br>
|
<li>dimValueLast: dim/%<br>
|
||||||
Last value received from the bidirectional dimmer.</li>
|
Last value received from the bidirectional dimmer.</li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user