diff --git a/fhem/CHANGED b/fhem/CHANGED
index b43a14e75..636dd9ced 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,7 +1,9 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - bugfix: 73_AutoShuttersControl: fix Commandref, skip ExternalTrigger Drive
+ from adv check
- bugfix: 88_HMCCU: Fixed problems during shutdown / restart
- - bugfix: 70_VIERA: avoid possible interaction GET status/SET command
+ - bugfix: 70_VIERA: avoid possible interaction GET status/SET command
see also Forum #99994
- change: 33_readingsGroup: don't use events to update cells
- feature: 98_WeekdayTimer: add support for weekprofile, add nl Forum: #105521
diff --git a/fhem/FHEM/73_AutoShuttersControl.pm b/fhem/FHEM/73_AutoShuttersControl.pm
index 684f8cc22..2133abb85 100644
--- a/fhem/FHEM/73_AutoShuttersControl.pm
+++ b/fhem/FHEM/73_AutoShuttersControl.pm
@@ -2609,6 +2609,7 @@ sub EventProcessingExternalTriggerDevice($@) {
$shutters->setLastDrive('external trigger device active');
$shutters->setNoDelay(1);
+ $shutters->setExternalTriggerState(1);
ShuttersCommandSet( $hash, $shuttersDev, $triggerPosActive );
}
elsif (
@@ -2625,6 +2626,7 @@ sub EventProcessingExternalTriggerDevice($@) {
$shutters->setLastDrive('external trigger device inactive');
$shutters->setNoDelay(1);
+ $shutters->setExternalTriggerState(1);
ShuttersCommandSet( $hash, $shuttersDev, $triggerPosInactive );
}
@@ -4349,12 +4351,15 @@ sub setDriveCmd {
( $shutters->getPartyMode eq 'on' and $ascDev->getPartyMode eq 'on' )
or ( $shutters->getAdv
and not $shutters->getQueryShuttersPos($posValue)
- and not $shutters->getAdvDelay )
+ and not $shutters->getAdvDelay
+ and not $shutters->getExternalTriggerState)
)
{
$shutters->setDelayCmd($posValue);
$ascDev->setDelayCmdReading;
$shutters->setNoDelay(0);
+ $shutters->setExternalTriggerState(0)
+ if ( $shutters->getExternalTriggerState );
FHEM::AutoShuttersControl::ASC_Debug( 'setDriveCmd: '
. $shutters->getShuttersDev
@@ -4367,6 +4372,8 @@ sub setDriveCmd {
$shutters->setDelayCmd('none')
if ( $shutters->getDelayCmd ne 'none' )
; # setzt den Wert auf none da der Rolladen nun gesteuert werden kann.
+ $shutters->setExternalTriggerState(0)
+ if ( $shutters->getExternalTriggerState );
### antifreeze Routine
if ( $shutters->getFreezeStatus > 0 ) {
@@ -4888,6 +4895,14 @@ sub setRainProtectionStatus { # Werte protected, unprotected
return 0;
}
+sub setExternalTriggerState {
+ my ( $self, $value ) = @_;
+
+ $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{event} = $value
+ if ( defined($value) );
+ return 0;
+}
+
sub setPushBrightnessInArray {
my ( $self, $value ) = @_;
@@ -5726,6 +5741,13 @@ sub getExternalTriggerPosInactive {
->{posinactive};
}
+sub getExternalTriggerState {
+ my $self = shift;
+
+ return ( (defined($self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{event})
+ and $self->{ $self->{shuttersDev} }->{ASC_ExternalTrigger}->{event}) ? 1 : 0 );
+}
+
sub getDelay {
my $self = shift;
@@ -7559,8 +7581,8 @@ sub getblockAscDrivesAfterManual {
In den Rollläden-Geräten
- ASC_Enable - on/off - wird der Rollladen über ASC gesteuert oder nicht
- - ASC_Time_DriveUp - Im Astro-Modus ist hier die Sonnenaufgangszeit für das Rollo gespeichert. Im Brightness- und Zeit-Modus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Up_Late gespeichert.
- - ASC_Time_DriveDown - Im Astro-Modus ist hier die Sonnenuntergangszeit für das Rollo gespeichert. Im Brightness- und Zeit-Modus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Down_Late gespeichert.
+ - ASC_Time_DriveUp - Im Astro-Modus ist hier die Sonnenaufgangszeit für das Rollo gespeichert. Im Brightnessmodus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Up_Late gespeichert. Im Timemodus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Up_Early gespeichert.
+ - ASC_Time_DriveDown - Im Astro-Modus ist hier die Sonnenuntergangszeit für das Rollo gespeichert. Im Brightnessmodus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Down_Late gespeichert. Im Timemodus ist hier der Zeitpunkt aus dem Attribut ASC_Time_Down_Early gespeichert.
- ASC_ShuttersLastDrive - Grund der letzten Fahrt vom Rollladen
@@ -7568,7 +7590,7 @@ sub getblockAscDrivesAfterManual {
Set
- - advDriveDown - holt alle ADV ausgesetzen Fahrten nach.
+ - advDriveDown - holt bei allen Rollläden durch ASC_Adv on ausgesetzte Fahrten nach.
- ascEnable - on/off - Aktivieren oder deaktivieren der globalen ASC Steuerung
- controlShading - on/off - Aktiviert oder deaktiviert die globale Beschattungssteuerung
- createNewNotifyDev - Legt die interne Struktur für NOTIFYDEV neu an. Diese Funktion steht nur zur Verfügung, wenn Attribut ASC_expert auf 1 gesetzt ist.
@@ -7674,7 +7696,7 @@ sub getblockAscDrivesAfterManual {
- ASC_ExternalTrigger - DEVICE:READING VALUEACTIVE:VALUEINACTIVE POSACTIVE:POSINACTIVE, Beispiel: "WohnzimmerTV:state on:off 66:100" bedeutet das wenn ein "state:on" Event kommt soll das Rollo in Position 66 fahren, kommt ein "state:off" Event soll es in Position 100 fahren. Es ist möglich die POSINACTIVE weg zu lassen dann fährt das Rollo in LastStatus Position.
- ASC_WindProtection - on/off - soll der Rollladen beim Regenschutz beachtet werden. on=JA, off=NEIN.
- ASC_Roommate_Device - mit Komma getrennte Namen des/der Roommate Device/s, welche den/die Bewohner des Raumes vom Rollladen wiedergibt. Es macht nur Sinn in Schlaf- oder Kinderzimmern (default: none)
- - ASC_Adv - on/off bei on wird das runterfahren des Rollos während der Weihnachtszeit (1. Advent bis 6. Januar) ausgesetzt! Durch set advDriveDown wird die ausgesetzte Fahrt nachgeholt.
+ - ASC_Adv - on/off bei on wird das runterfahren des Rollos während der Weihnachtszeit (1. Advent bis 6. Januar) ausgesetzt! Durch set ASCDEVICE advDriveDown werden alle ausgesetzten Fahrten nachgeholt.
- ASC_Roommate_Reading - das Reading zum Roommate Device, welches den Status wieder gibt (default: state)
- ASC_Self_Defense_Mode - absent/gone/off - ab welchen Residents Status soll Selfdefense aktiv werden ohne das Fenster auf sind. (default: gone)
- ASC_Self_Defense_AbsentDelay - um wie viele Sekunden soll das fahren in Selfdefense bei Residents absent verzögert werden. (default: 300)
@@ -7790,7 +7812,7 @@ sub getblockAscDrivesAfterManual {
],
"release_status": "under develop",
"license": "GPL_2",
- "version": "v0.8.5",
+ "version": "v0.8.6",
"author": [
"Marko Oldenburg "
],