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