mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-02-28 21:14:52 +00:00
73_AutoShuttersControl: fix shutters drive after partyMode off and shutter have partyMode off attribut
git-svn-id: https://svn.fhem.de/fhem/trunk@19283 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
35bad9b519
commit
8923b6c7ac
@ -1,5 +1,7 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# 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.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- bugfix: 73_AutoShuttersControl: fix shutters drive after partyMode off and
|
||||||
|
shutter have partyMode off attribut
|
||||||
- feature: 93_DbRep: FHEM command "dbReadingsVal" implemented
|
- feature: 93_DbRep: FHEM command "dbReadingsVal" implemented
|
||||||
- change: 49_SSCam: Meta.json and minor code change
|
- change: 49_SSCam: Meta.json and minor code change
|
||||||
- change: 50_MOBILEALERTSGW: Checksum check added
|
- change: 50_MOBILEALERTSGW: Checksum check added
|
||||||
|
@ -44,7 +44,7 @@ use strict;
|
|||||||
use warnings;
|
use warnings;
|
||||||
use FHEM::Meta;
|
use FHEM::Meta;
|
||||||
|
|
||||||
my $version = '0.6.0';
|
my $version = '0.6.1';
|
||||||
|
|
||||||
sub AutoShuttersControl_Initialize($) {
|
sub AutoShuttersControl_Initialize($) {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
@ -693,6 +693,18 @@ sub WriteReadingsShuttersList($) {
|
|||||||
'none'
|
'none'
|
||||||
) eq 'none'
|
) eq 'none'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
### associatedWith damit man sieht das der Rollladen mit einem ASC Device verbunden ist
|
||||||
|
readingsSingleUpdate(
|
||||||
|
$defs{$_},
|
||||||
|
'associatedWith',
|
||||||
|
(
|
||||||
|
ReadingsVal( $_, 'associatedWith', $name ) eq $name
|
||||||
|
? $name
|
||||||
|
: ReadingsVal( $_, 'associatedWith', 'none' ) . ',' . $name
|
||||||
|
),
|
||||||
|
0
|
||||||
|
);
|
||||||
}
|
}
|
||||||
readingsBulkUpdate( $hash, 'state', 'active' );
|
readingsBulkUpdate( $hash, 'state', 'active' );
|
||||||
readingsEndUpdate( $hash, 0 );
|
readingsEndUpdate( $hash, 0 );
|
||||||
@ -1281,9 +1293,22 @@ sub EventProcessingBrightness($@) {
|
|||||||
)
|
)
|
||||||
or (
|
or (
|
||||||
(
|
(
|
||||||
int( gettimeofday() / 86400 ) != int(
|
(
|
||||||
computeAlignTime( '24:00', $shutters->getTimeUpEarly ) /
|
(
|
||||||
86400
|
int( gettimeofday() / 86400 ) != int(
|
||||||
|
computeAlignTime( '24:00',
|
||||||
|
$shutters->getTimeUpEarly ) / 86400
|
||||||
|
)
|
||||||
|
and not IsWe()
|
||||||
|
)
|
||||||
|
or (
|
||||||
|
int( gettimeofday() / 86400 ) != int(
|
||||||
|
computeAlignTime( '24:00',
|
||||||
|
$shutters->getTimeUpWeHoliday ) / 86400
|
||||||
|
)
|
||||||
|
and IsWe()
|
||||||
|
and $ascDev->getSunriseTimeWeHoliday eq 'on'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
and int( gettimeofday() / 86400 ) == int(
|
and int( gettimeofday() / 86400 ) == int(
|
||||||
computeAlignTime( '24:00', $shutters->getTimeUpLate ) /
|
computeAlignTime( '24:00', $shutters->getTimeUpLate ) /
|
||||||
@ -1859,6 +1884,9 @@ sub EventProcessingPartyMode($) {
|
|||||||
|
|
||||||
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
|
foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) {
|
||||||
$shutters->setShuttersDev($shuttersDev);
|
$shutters->setShuttersDev($shuttersDev);
|
||||||
|
next
|
||||||
|
if ( $shutters->getPartyMode eq 'off' );
|
||||||
|
|
||||||
if ( not IsDay($shuttersDev)
|
if ( not IsDay($shuttersDev)
|
||||||
and $shutters->getModeDown ne 'off'
|
and $shutters->getModeDown ne 'off'
|
||||||
and IsAfterShuttersManualBlocking($shuttersDev) )
|
and IsAfterShuttersManualBlocking($shuttersDev) )
|
||||||
@ -4325,7 +4353,7 @@ sub getPartyMode {
|
|||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $name = $self->{name};
|
my $name = $self->{name};
|
||||||
|
|
||||||
return ReadingsVal( $name, 'partyMode', 'none' );
|
return ReadingsVal( $name, 'partyMode', 'off' );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getHardLockOut {
|
sub getHardLockOut {
|
||||||
@ -5083,7 +5111,8 @@ sub getblockAscDrivesAfterManual {
|
|||||||
<li>ASC_Time_Down_Late - Sunset späteste Zeit zum Runterfahren / default 22:00 wenn nicht gesetzt</li>
|
<li>ASC_Time_Down_Late - Sunset späteste Zeit zum Runterfahren / default 22:00 wenn nicht gesetzt</li>
|
||||||
<li>ASC_Time_Up_Early - Sunrise frühste Zeit zum Hochfahren / default 05:00 wenn nicht gesetzt</li>
|
<li>ASC_Time_Up_Early - Sunrise frühste Zeit zum Hochfahren / default 05:00 wenn nicht gesetzt</li>
|
||||||
<li>ASC_Time_Up_Late - Sunrise späteste Zeit zum Hochfahren / default 08:30 wenn nicht gesetzt</li>
|
<li>ASC_Time_Up_Late - Sunrise späteste Zeit zum Hochfahren / default 08:30 wenn nicht gesetzt</li>
|
||||||
<li>ASC_Time_Up_WE_Holiday - Sunrise frühste Zeit zum Hochfahren am Wochenende und/oder Urlaub (holiday2we wird beachtet). / default 08:00 wenn nicht gesetzt</li>
|
<li>ASC_Time_Up_WE_Holiday - Sunrise frühste Zeit zum Hochfahren am Wochenende und/oder Urlaub (holiday2we wird beachtet). / default 08:00 wenn nicht gesetzt
|
||||||
|
ACHTUNG!!! in Verbindung mit Brightness für ASC_Up muss die Uhrzeit kleiner sein wie die Uhrzeit aus ASC_Time_Up_Late</li>
|
||||||
<li>ASC_Up - astro/time/brightness - bei astro wird Sonnenaufgang berechnet, bei time wird der Wert aus ASC_Time_Up_Early als Fahrzeit verwendet und bei brightness muss ASC_Time_Up_Early und ASC_Time_Up_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Up_Late Zeit, es wird aber in der Zeit zwischen ASC_Time_Up_Early und ASC_Time_Up_Late geschaut, ob die als Attribut im Moduldevice hinterlegte ASC_brightnessMinVal erreicht wurde. Wenn ja, wird der Rollladen hoch gefahren / default astro wenn nicht gesetzt</li>
|
<li>ASC_Up - astro/time/brightness - bei astro wird Sonnenaufgang berechnet, bei time wird der Wert aus ASC_Time_Up_Early als Fahrzeit verwendet und bei brightness muss ASC_Time_Up_Early und ASC_Time_Up_Late korrekt gesetzt werden. Der Timer läuft dann nach ASC_Time_Up_Late Zeit, es wird aber in der Zeit zwischen ASC_Time_Up_Early und ASC_Time_Up_Late geschaut, ob die als Attribut im Moduldevice hinterlegte ASC_brightnessMinVal erreicht wurde. Wenn ja, wird der Rollladen hoch gefahren / default astro wenn nicht gesetzt</li>
|
||||||
<li>ASC_Ventilate_Pos - in 10 Schritten von 0 bis 100, Default ist abhängig vom Attribut ASC</li>
|
<li>ASC_Ventilate_Pos - in 10 Schritten von 0 bis 100, Default ist abhängig vom Attribut ASC</li>
|
||||||
<li>ASC_Ventilate_Window_Open - auf lüften, wenn das Fenster gekippt/geöffnet wird und aktuelle Position unterhalb der Lüften-Position ist / default on wenn nicht gesetzt</li>
|
<li>ASC_Ventilate_Window_Open - auf lüften, wenn das Fenster gekippt/geöffnet wird und aktuelle Position unterhalb der Lüften-Position ist / default on wenn nicht gesetzt</li>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user