diff --git a/fhem/contrib/DS_Starter/76_SolarForecast.pm b/fhem/contrib/DS_Starter/76_SolarForecast.pm
index e04eae3f2..beaeccf01 100644
--- a/fhem/contrib/DS_Starter/76_SolarForecast.pm
+++ b/fhem/contrib/DS_Starter/76_SolarForecast.pm
@@ -3575,6 +3575,7 @@ sub ___switchConsumerOff {
my $auto = ConsumerVal ($hash, $c, "auto", 1);
my $cname = ConsumerVal ($hash, $c, "name", ""); # Consumer Device Name
my $calias = ConsumerVal ($hash, $c, "alias", ""); # Consumer Device Alias
+ my $mode = ConsumerVal ($hash, $c, "mode", $defcmode); # Consumer Planungsmode
my $offcom = ConsumerVal ($hash, $c, "offcom", ""); # Set Command für "off"
my ($swoffcond,$info,$err) = isAddSwitchOffCond ($hash, $c); # zusätzliche Switch on Bedingung
@@ -3589,7 +3590,8 @@ sub ___switchConsumerOff {
);
}
- if(($swoffcond || ($stopts && $t >= $stopts)) && ($auto && $offcom && simplifyCstate($pstate) =~ /started|starting|stopping/xs)) {
+ if(($swoffcond || ($stopts && $t >= $stopts)) &&
+ ($auto && $offcom && simplifyCstate($pstate) =~ /started|starting|stopping|interrupt|continu/xs)) {
CommandSet(undef,"$cname $offcom");
$paref->{ps} = "switching off:";
@@ -3605,7 +3607,7 @@ sub ___switchConsumerOff {
Log3 ($name, 2, "$name - $state (Automatic = $auto)");
}
- elsif (isInterruptible($hash, $c) && !isConsRcmd ($hash, $c) && # Consumer unterbrechen
+ elsif (isInterruptible($hash, $c) && !isConsRcmd ($hash, $c) && $mode eq 'can' && # Consumer unterbrechen
isInTimeframe ($hash, $c) && simplifyCstate ($pstate) =~ /started|continued|interrupting/xs &&
$auto && $offcom) {
@@ -8641,9 +8643,11 @@ Ein/Ausschaltzeiten sowie deren Ausführung vom SolarForecast Modul übernehmen
zum automatischen Ausschalten erfüllt sein.
Mit dem optionalen Schlüssel interruptable kann während der geplanten Einschaltzeit eine automatische
- Unterbrechung sowie Wiedereinschaltung des Verbrauchers vorgenommen werden. Unterschreitet der PV Überschuß
- die benötigte Energie, wird der Verbraucher ausgeschaltet (interrupted) und eingeschaltet wenn wieder
- ausreichend PV Überschuß vorhanden ist (continued). Die verbleibende Laufzeit wird durch einen Interrupt nicht beeinflusst !
+ Unterbrechung sowie Wiedereinschaltung des Verbrauchers vorgenommen werden sofern der Schlüssel mode=must nicht
+ gesetzt ist.
+ Unterschreitet der PV Überschuß die benötigte Energie, wird der Verbraucher ausgeschaltet (interrupted) und
+ eingeschaltet wenn wieder ausreichend PV Überschuß vorhanden ist (continued).
+ Die verbleibende Laufzeit wird durch einen Interrupt nicht beeinflusst !