mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-04 05:16:45 +00:00
10_EnOcean: profile "actuator.01" changed
git-svn-id: https://svn.fhem.de/fhem/trunk@17902 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9cb80f3b16
commit
7c91bfc974
@ -4562,6 +4562,8 @@ sub EnOcean_Set($@)
|
|||||||
}
|
}
|
||||||
my $teachInDev = ReadingsVal($name, "teachInDev", "disabled");
|
my $teachInDev = ReadingsVal($name, "teachInDev", "disabled");
|
||||||
my $teachInDevCmd = ($teachInDev eq "enabled")? 1:0;
|
my $teachInDevCmd = ($teachInDev eq "enabled")? 1:0;
|
||||||
|
my $powerFailure = ReadingsVal($name, "powerFailure", "disabled");
|
||||||
|
my $powerFailureCmd = ($powerFailure eq "enabled") ? 1:0;
|
||||||
my $localCmd = shift(@a);
|
my $localCmd = shift(@a);
|
||||||
my $localCmdVal = shift(@a);
|
my $localCmdVal = shift(@a);
|
||||||
if ($localCmd eq "dayNight") {
|
if ($localCmd eq "dayNight") {
|
||||||
@ -4648,15 +4650,25 @@ sub EnOcean_Set($@)
|
|||||||
} else {
|
} else {
|
||||||
return "Usage: $cmd $localCmd <value> wrong, choose disabled enabled.";
|
return "Usage: $cmd $localCmd <value> wrong, choose disabled enabled.";
|
||||||
}
|
}
|
||||||
|
} elsif ($localCmd eq "powerFailure"){
|
||||||
|
if ($localCmdVal eq "disabled") {
|
||||||
|
$powerFailure = "disabled";
|
||||||
|
$powerFailureCmd = 0;
|
||||||
|
} elsif ($localCmdVal eq "enabled") {
|
||||||
|
$powerFailure = "enabled";
|
||||||
|
$powerFailureCmd = 1;
|
||||||
|
} else {
|
||||||
|
return "Usage: $cmd $localCmd <value> wrong, choose disabled enabled.";
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return "Usage: $cmd <localCmd> wrong, choose dayNight|defaultState|localControl|" .
|
return "Usage: $cmd <localCmd> wrong, choose dayNight|defaultState|localControl|" .
|
||||||
"overCurrentShutdown|overCurrentShutdownReset|rampTime1|rampTime2|rampTime3|teachInDev.";
|
"overCurrentShutdown|overCurrentShutdownReset|rampTime1|rampTime2|rampTime3|teachInDev|powerFailure."; }
|
||||||
}
|
|
||||||
readingsSingleUpdate($hash, "dayNight", $dayNight, 1);
|
readingsSingleUpdate($hash, "dayNight", $dayNight, 1);
|
||||||
readingsSingleUpdate($hash, "defaultState", $defaultState, 1);
|
readingsSingleUpdate($hash, "defaultState", $defaultState, 1);
|
||||||
readingsSingleUpdate($hash, "localControl", $localControl, 1);
|
readingsSingleUpdate($hash, "localControl", $localControl, 1);
|
||||||
readingsSingleUpdate($hash, "overCurrentShutdown", $overCurrentShutdown, 1);
|
readingsSingleUpdate($hash, "overCurrentShutdown", $overCurrentShutdown, 1);
|
||||||
readingsSingleUpdate($hash, "overCurrentShutdownReset", $overCurrentShutdownReset, 1);
|
readingsSingleUpdate($hash, "overCurrentShutdownReset", $overCurrentShutdownReset, 1);
|
||||||
|
readingsSingleUpdate($hash, "powerFailure", $powerFailure, 1);
|
||||||
readingsSingleUpdate($hash, "rampTime1", $rampTime1, 1);
|
readingsSingleUpdate($hash, "rampTime1", $rampTime1, 1);
|
||||||
readingsSingleUpdate($hash, "rampTime2", $rampTime2, 1);
|
readingsSingleUpdate($hash, "rampTime2", $rampTime2, 1);
|
||||||
readingsSingleUpdate($hash, "rampTime3", $rampTime3, 1);
|
readingsSingleUpdate($hash, "rampTime3", $rampTime3, 1);
|
||||||
@ -4664,8 +4676,7 @@ sub EnOcean_Set($@)
|
|||||||
$data = sprintf "%02X%02X%02X%02X", $teachInDevCmd << 7 | $cmdID,
|
$data = sprintf "%02X%02X%02X%02X", $teachInDevCmd << 7 | $cmdID,
|
||||||
$overCurrentShutdownCmd << 7 | $overCurrentShutdownResetCmd << 6 | $localControlCmd << 5 | $channel,
|
$overCurrentShutdownCmd << 7 | $overCurrentShutdownResetCmd << 6 | $localControlCmd << 5 | $channel,
|
||||||
int($rampTime2Cmd) << 4 | int($rampTime3Cmd),
|
int($rampTime2Cmd) << 4 | int($rampTime3Cmd),
|
||||||
$dayNightCmd << 7 | $defaultStateCmd << 4 | int($rampTime1Cmd);
|
$dayNightCmd << 7 | $powerFailureCmd << 6 | $defaultStateCmd << 4 | int($rampTime1Cmd);
|
||||||
|
|
||||||
} elsif ($cmd eq "measurement") {
|
} elsif ($cmd eq "measurement") {
|
||||||
shift(@a);
|
shift(@a);
|
||||||
$updateState = 0;
|
$updateState = 0;
|
||||||
@ -4673,9 +4684,9 @@ sub EnOcean_Set($@)
|
|||||||
# same configuration for all channels
|
# same configuration for all channels
|
||||||
$channel = 30;
|
$channel = 30;
|
||||||
my $measurementMode = ReadingsVal($name, "measurementMode", "energy");
|
my $measurementMode = ReadingsVal($name, "measurementMode", "energy");
|
||||||
my $measurementModeCmd = ($measurementMode eq "power")? 0:1;
|
my $measurementModeCmd = ($measurementMode eq "power")? 1:0;
|
||||||
my $measurementReport = ReadingsVal($name, "measurementReport", "query");
|
my $measurementReport = ReadingsVal($name, "measurementReport", "query");
|
||||||
my $measurementReportCmd = ($measurementReport eq "auto")? 0:1;
|
my $measurementReportCmd = ($measurementReport eq "auto")? 1:0;
|
||||||
my $measurementReset = "not_active";
|
my $measurementReset = "not_active";
|
||||||
my $measurementResetCmd = 0;
|
my $measurementResetCmd = 0;
|
||||||
my $measurementDelta = int(ReadingsVal($name, "measurementDelta", 0));
|
my $measurementDelta = int(ReadingsVal($name, "measurementDelta", 0));
|
||||||
@ -4801,7 +4812,7 @@ sub EnOcean_Set($@)
|
|||||||
readingsSingleUpdate($hash, "responseTimeMin", $responseTimeMin, 1);
|
readingsSingleUpdate($hash, "responseTimeMin", $responseTimeMin, 1);
|
||||||
$data = sprintf "%02X%02X%02X%02X%02X%02X", $cmdID,
|
$data = sprintf "%02X%02X%02X%02X%02X%02X", $cmdID,
|
||||||
$measurementReportCmd << 7 | $measurementResetCmd << 6 | $measurementModeCmd << 5 | $channel,
|
$measurementReportCmd << 7 | $measurementResetCmd << 6 | $measurementModeCmd << 5 | $channel,
|
||||||
($measurementDelta | 0x0F) << 4 | $unitCmd, ($measurementDelta | 0xFF00) >> 8,
|
($measurementDelta & 0x000F) << 4 | $unitCmd, ($measurementDelta & 0x0FF0) >> 4,
|
||||||
$responseTimeMax, $responseTimeMin;
|
$responseTimeMax, $responseTimeMin;
|
||||||
|
|
||||||
} elsif ($cmd eq "roomCtrlMode") {
|
} elsif ($cmd eq "roomCtrlMode") {
|
||||||
@ -4983,14 +4994,19 @@ sub EnOcean_Set($@)
|
|||||||
shift(@a);
|
shift(@a);
|
||||||
$updateState = 0;
|
$updateState = 0;
|
||||||
my $repeaterActive = 0;
|
my $repeaterActive = 0;
|
||||||
my $repeaterLevel = 0;
|
my $repeaterLevel = ReadingsVal($name, "repeaterLevel", "off");
|
||||||
|
if ($repeaterLevel eq "off") {
|
||||||
|
$repeaterLevel = 0;
|
||||||
|
} else {
|
||||||
|
$repeaterActive = 1;
|
||||||
|
}
|
||||||
my $specialCmd = shift(@a);
|
my $specialCmd = shift(@a);
|
||||||
if ($manufID eq "046") {
|
if ($manufID eq "046") {
|
||||||
if (!defined $specialCmd) {
|
if (!defined $specialCmd) {
|
||||||
return "$cmd <command> wrong, choose repeaterLevel.";
|
return "$cmd <command> wrong, choose repeaterLevel.";
|
||||||
} elsif ($specialCmd eq "repeaterLevel") {
|
} elsif ($specialCmd eq "repeaterLevel") {
|
||||||
$cmdID = 8;
|
$cmdID = 8;
|
||||||
my $repeaterLevel = shift(@a);
|
$repeaterLevel = shift(@a);
|
||||||
if (defined $repeaterLevel && $repeaterLevel =~ m/^off|1|2$/) {
|
if (defined $repeaterLevel && $repeaterLevel =~ m/^off|1|2$/) {
|
||||||
if ($repeaterLevel eq "off") {
|
if ($repeaterLevel eq "off") {
|
||||||
$repeaterLevel = 0;
|
$repeaterLevel = 0;
|
||||||
@ -5004,6 +5020,7 @@ sub EnOcean_Set($@)
|
|||||||
return "$cmd $specialCmd <arg> wrong, choose repeaterLevel off|1|2.";
|
return "$cmd $specialCmd <arg> wrong, choose repeaterLevel off|1|2.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
readingsSingleUpdate($hash, "repeaterLevel", $repeaterLevel, 1);
|
||||||
$data = sprintf "0046%02X%02X%02X", $cmdID, $repeaterActive, $repeaterLevel;
|
$data = sprintf "0046%02X%02X%02X", $cmdID, $repeaterActive, $repeaterLevel;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -17779,6 +17796,8 @@ EnOcean_Delete($$)
|
|||||||
set the behavior after a shutdown due to an overcurrent</li>
|
set the behavior after a shutdown due to an overcurrent</li>
|
||||||
<li>local overCurrentShutdownReset not_active|trigger, not_active is default<br>
|
<li>local overCurrentShutdownReset not_active|trigger, not_active is default<br>
|
||||||
trigger a reset after an overcurrent</li>
|
trigger a reset after an overcurrent</li>
|
||||||
|
<li>local powerFailure enabled|disabled, disabled is default<br>
|
||||||
|
enable the power failure detection</li>
|
||||||
<li>local rampTime<1...3> 0/s, 0.5/s ... 7/s, 7.5/s, 0 is default<br>
|
<li>local rampTime<1...3> 0/s, 0.5/s ... 7/s, 7.5/s, 0 is default<br>
|
||||||
set the dimming time of timer 1 ... 3</li>
|
set the dimming time of timer 1 ... 3</li>
|
||||||
<li>local teachInDev enabled|disabled, disabled is default<br>
|
<li>local teachInDev enabled|disabled, disabled is default<br>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user