From 6f3e02a5a7f9bd28f9939fccf5524e38956886ee Mon Sep 17 00:00:00 2001 From: damian-s <> Date: Mon, 19 May 2014 18:46:00 +0000 Subject: [PATCH] deactivated with cmd1_gt or cmd2_lt git-svn-id: https://svn.fhem.de/fhem/trunk@5903 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/98_THRESHOLD.pm | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/fhem/FHEM/98_THRESHOLD.pm b/fhem/FHEM/98_THRESHOLD.pm index 3fa1ee8f2..f9f198d84 100644 --- a/fhem/FHEM/98_THRESHOLD.pm +++ b/fhem/FHEM/98_THRESHOLD.pm @@ -54,8 +54,8 @@ THRESHOLD_Define($$$) my $target_sensor; my $target_reading; my $offset=0; - my $pn = $a[0]; - + my $pn = $a[0]; + if (@b > 6 || @a < 3 || @a > 6) { my $msg = "wrong syntax: define THRESHOLD " . ":::: AND|OR :: ". @@ -243,7 +243,7 @@ THRESHOLD_Define($$$) { my $mode="external"; readingsBulkUpdate ($hash, "cmd", "wait for next cmd"); - readingsBulkUpdate ($hash, "mode", "external"); + readingsBulkUpdate ($hash, "mode",$mode); } readingsEndUpdate ($hash, 1); # my $msg = THRESHOLD_Check($hash); @@ -293,6 +293,21 @@ THRESHOLD_Set($@) readingsEndUpdate ($hash, 1); return THRESHOLD_Check($hash); } elsif ($arg eq "deactivated" ) { + if ($value ne "") { + if ($value eq "cmd1_gt" ) { + readingsBeginUpdate ($hash); + THRESHOLD_setValue ($hash,1); + THRESHOLD_set_state ($hash); + readingsEndUpdate ($hash, 1); + } elsif ($value eq "cmd2_lt" ) { + readingsBeginUpdate ($hash); + THRESHOLD_setValue ($hash,2); + THRESHOLD_set_state ($hash); + readingsEndUpdate ($hash, 1); + } else { + return "$pn: set deactivated: $value, unknown command"; + } + } $ret=CommandAttr(undef, "$pn disable 1"); } elsif ($arg eq "active" ) { return "$pn: set active, set desired value first" if ($desired_value eq ""); @@ -844,8 +859,9 @@ THRESHOLD_setValue($$) Set the desired value. If no desired value is set, the module is not active.
-
  • set <name> deactivated <value>
    - Module is disabled. +
  • set <name> deactivated <command>
    + Module is disabled.
    + <command> is optional. It can be "cmd1_gt" or "cmd2_lt" passed in order to achieve a defined state before disabling the module.

  • set <name> active <value>
    @@ -1219,8 +1235,9 @@ THRESHOLD_setValue($$) Sollwert-Vorgabe durch einen Sensor wird hiermit übersteuert, solange bis "set external" gesetzt wird.

  • -
  • set <name> deactivated <value>
    - Modul wird deaktiviert. +
  • set <name> deactivated <command>
    + Modul wird deaktiviert.
    + <command> ist optional. Es kann "cmd1_gt" oder "cmd2_lt" übergeben werden, um vor dem Deaktivieren des Moduls einen definierten Zustand zu erreichen.

  • set <name> active