change Modul Attribut antiFreezeTemp to freezTemp
This commit is contained in:
@ -38,7 +38,7 @@ package main;
|
|||||||
use strict;
|
use strict;
|
||||||
use warnings;
|
use warnings;
|
||||||
|
|
||||||
my $version = "0.1.92.18";
|
my $version = "0.1.93";
|
||||||
|
|
||||||
sub AutoShuttersControl_Initialize($) {
|
sub AutoShuttersControl_Initialize($) {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
@ -76,8 +76,9 @@ sub AutoShuttersControl_Initialize($) {
|
|||||||
. "ASC_autoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 "
|
. "ASC_autoAstroModeMorningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 "
|
||||||
. "ASC_autoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON "
|
. "ASC_autoAstroModeEvening:REAL,CIVIL,NAUTIC,ASTRONOMIC,HORIZON "
|
||||||
. "ASC_autoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 "
|
. "ASC_autoAstroModeEveningHorizon:-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9 "
|
||||||
. "ASC_antifreezeTemp:-5,-4,-3,-2,-1,0,1,2,3,4,5 "
|
. "ASC_freezeTemp:-5,-4,-3,-2,-1,0,1,2,3,4,5 "
|
||||||
. "ASC_timeUpHolidayDevice "
|
. "ASC_timeUpHolidayDevice "
|
||||||
|
. "ASC_timeUpHolidayReading "
|
||||||
. "ASC_shuttersDriveOffset "
|
. "ASC_shuttersDriveOffset "
|
||||||
. $readingFnAttributes;
|
. $readingFnAttributes;
|
||||||
$hash->{NotifyOrderPrefix} = "51-"; # Order Nummer für NotifyFn
|
$hash->{NotifyOrderPrefix} = "51-"; # Order Nummer für NotifyFn
|
||||||
@ -208,6 +209,9 @@ my %posSetCmds = (
|
|||||||
CUL_HM => 'pct',
|
CUL_HM => 'pct',
|
||||||
ROLLO => 'pct',
|
ROLLO => 'pct',
|
||||||
SOMFY => 'position',
|
SOMFY => 'position',
|
||||||
|
tahoma => 'dim',
|
||||||
|
KLF200Node => 'pct',
|
||||||
|
DUOFERN => 'position',
|
||||||
);
|
);
|
||||||
|
|
||||||
my $shutters = new ASC_Shutters();
|
my $shutters = new ASC_Shutters();
|
||||||
@ -238,7 +242,7 @@ sub Define($$) {
|
|||||||
readingsSingleUpdate(
|
readingsSingleUpdate(
|
||||||
$hash,
|
$hash,
|
||||||
"state",
|
"state",
|
||||||
"please set attribut 'ACS' with value 1 or 2 to all your auto controlled shutters and then do 'set DEVICENAME scanForShutters",
|
"please set attribute ASC with value 1 or 2 in all auto controlled shutter devices and then execute 'set DEVICENAME scanForShutters'",
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
CommandAttr( undef, $name . ' room ASC' )
|
CommandAttr( undef, $name . ' room ASC' )
|
||||||
@ -255,10 +259,12 @@ sub Define($$) {
|
|||||||
if ( $ascDev->getAutoShuttersControlEvening eq 'none' );
|
if ( $ascDev->getAutoShuttersControlEvening eq 'none' );
|
||||||
CommandAttr( undef, $name . ' ASC_temperatureReading temperature' )
|
CommandAttr( undef, $name . ' ASC_temperatureReading temperature' )
|
||||||
if ( $ascDev->getTempReading eq 'none' );
|
if ( $ascDev->getTempReading eq 'none' );
|
||||||
CommandAttr( undef, $name . ' ASC_antifreezeTemp 3' )
|
CommandAttr( undef, $name . ' ASC_freezeTemp 3' )
|
||||||
if ( $ascDev->getAntifreezeTemp eq 'none' );
|
if ( $ascDev->getAntifreezeTemp eq 'none' );
|
||||||
CommandAttr( undef, $name . ' devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense inactive:status_open day.open:scene_day night close:scene_night' )
|
CommandAttr( undef,
|
||||||
if ( AttrVal($name,'devStateIcon','none') eq 'none' );
|
$name
|
||||||
|
. ' devStateIcon selfeDefense.terrace:fts_door_tilt created.new.drive.timer:clock .*asleep:scene_sleeping roommate.(awoken|home):user_available residents.(home|awoken):status_available manual:fts_shutter_manual selfeDefense.active:status_locked selfeDefense inactive:status_open day.open:scene_day night close:scene_night'
|
||||||
|
) if ( AttrVal( $name, 'devStateIcon', 'none' ) eq 'none' );
|
||||||
|
|
||||||
addToAttrList('ASC:0,1,2');
|
addToAttrList('ASC:0,1,2');
|
||||||
|
|
||||||
@ -518,12 +524,13 @@ sub Set($$@) {
|
|||||||
elsif ( lc $cmd eq 'wiggle' ) {
|
elsif ( lc $cmd eq 'wiggle' ) {
|
||||||
return "usage: $cmd" if ( @args > 1 );
|
return "usage: $cmd" if ( @args > 1 );
|
||||||
|
|
||||||
($args[0] eq 'all' ? wiggleAll($hash) : wiggle($hash,$args[0]));
|
( $args[0] eq 'all' ? wiggleAll($hash) : wiggle( $hash, $args[0] ) );
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
my $list = "scanForShutters:noArg";
|
my $list = "scanForShutters:noArg";
|
||||||
$list .=
|
$list .=
|
||||||
" renewSetSunriseSunsetTimer:noArg partyMode:on,off lockOut:on,off sunriseTimeWeHoliday:on,off selfDefense:on,off wiggle:all," . join(',',@{$hash->{helper}{shuttersList}})
|
" renewSetSunriseSunsetTimer:noArg partyMode:on,off lockOut:on,off sunriseTimeWeHoliday:on,off selfDefense:on,off wiggle:all,"
|
||||||
|
. join( ',', @{ $hash->{helper}{shuttersList} } )
|
||||||
if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out' );
|
if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out' );
|
||||||
$list .= " createNewNotifyDev:noArg"
|
$list .= " createNewNotifyDev:noArg"
|
||||||
if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out'
|
if ( ReadingsVal( $name, 'userAttrList', 'none' ) eq 'rolled out'
|
||||||
@ -661,7 +668,7 @@ sub ShuttersDeviceScan($) {
|
|||||||
$shutters->setLastPos( $shutters->getStatus );
|
$shutters->setLastPos( $shutters->getStatus );
|
||||||
$shutters->setDelayCmd('none');
|
$shutters->setDelayCmd('none');
|
||||||
$shutters->setNoOffset(0);
|
$shutters->setNoOffset(0);
|
||||||
$shutters->setPosSetCmd($posSetCmds{$hash->{TYPE}});
|
$shutters->setPosSetCmd( $posSetCmds{ $hash->{TYPE} } );
|
||||||
}
|
}
|
||||||
$hash->{NOTIFYDEV} = $hash->{NOTIFYDEV} . $shuttersList;
|
$hash->{NOTIFYDEV} = $hash->{NOTIFYDEV} . $shuttersList;
|
||||||
|
|
||||||
@ -1444,7 +1451,7 @@ sub wiggleAll($) {
|
|||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
|
|
||||||
foreach ( @{ $hash->{helper}{shuttersList} } ) {
|
foreach ( @{ $hash->{helper}{shuttersList} } ) {
|
||||||
wiggle($hash,$_);
|
wiggle( $hash, $_ );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1471,8 +1478,7 @@ sub wiggle($$) {
|
|||||||
else { $shutters->setDriveCmd( $shutters->getStatus + 5 ); }
|
else { $shutters->setDriveCmd( $shutters->getStatus + 5 ); }
|
||||||
}
|
}
|
||||||
|
|
||||||
InternalTimer( gettimeofday() + 60,
|
InternalTimer( gettimeofday() + 60, 'AutoShuttersControl::SetCmdFn', \%h );
|
||||||
'AutoShuttersControl::SetCmdFn', \%h );
|
|
||||||
}
|
}
|
||||||
####
|
####
|
||||||
|
|
||||||
@ -1686,7 +1692,7 @@ sub GetMonitoredDevs($) {
|
|||||||
my $aHref;
|
my $aHref;
|
||||||
|
|
||||||
# create define Link
|
# create define Link
|
||||||
# $aHref="<a href=\"".$::FW_httpheader->{host}."/fhem?cmd=set".$::FW_CSRF."\">Create new NOTIFYDEV structure</a>";
|
# $aHref="<a href=\"".$::FW_httpheader->{host}."/fhem?cmd=set+".$::FW_CSRF."\">Create new NOTIFYDEV structure</a>";
|
||||||
# $aHref="<a href=\"/fhem?cmd=set+\">Create new NOTIFYDEV structure</a>";
|
# $aHref="<a href=\"/fhem?cmd=set+\">Create new NOTIFYDEV structure</a>";
|
||||||
# $aHref="<a href=\"".$headerHost[0]."/fhem?cmd=define+".makeDeviceName($dataset->{station}{name})."+Aqicn+".$dataset->{uid}.$FW_CSRF."\">Create Station Device</a>";
|
# $aHref="<a href=\"".$headerHost[0]."/fhem?cmd=define+".makeDeviceName($dataset->{station}{name})."+Aqicn+".$dataset->{uid}.$FW_CSRF."\">Create Station Device</a>";
|
||||||
|
|
||||||
@ -2063,7 +2069,7 @@ sub IsHoliday($) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
ReadingsVal( AttrVal( $name, 'ASC_timeUpHolidayDevice', 'none' ),
|
ReadingsVal( AttrVal( $name, 'ASC_timeUpHolidayDevice', 'none' ),
|
||||||
'state', 0 ) == 1 ? 1 : 0
|
AttrVal( $name, 'ASC_timeUpHolidayReading', 'state' ), 0 ) == 1 ? 1 : 0
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2161,8 +2167,9 @@ sub setDriveCmd {
|
|||||||
|
|
||||||
InternalTimer( gettimeofday() + int( rand($offSet) ),
|
InternalTimer( gettimeofday() + int( rand($offSet) ),
|
||||||
'AutoShuttersControl::SetCmdFn', \%h )
|
'AutoShuttersControl::SetCmdFn', \%h )
|
||||||
if ( $offSet > 0 and not $shutters->getNoOffset);
|
if ( $offSet > 0 and not $shutters->getNoOffset );
|
||||||
AutoShuttersControl::SetCmdFn( \%h ) if ( $offSet == 0 or $shutters->getNoOffset );
|
AutoShuttersControl::SetCmdFn( \%h )
|
||||||
|
if ( $offSet == 0 or $shutters->getNoOffset );
|
||||||
$shutters->setNoOffset(0);
|
$shutters->setNoOffset(0);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -2265,7 +2272,10 @@ sub getShuttersPosCmdValueNegate {
|
|||||||
sub getPosSetCmd {
|
sub getPosSetCmd {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
|
|
||||||
return (defined($self->{ $self->{shuttersDev} }{posSetCmd}) ? $self->{ $self->{shuttersDev} }{posSetCmd} : $shutters->getPosCmd);
|
return (
|
||||||
|
defined( $self->{ $self->{shuttersDev} }{posSetCmd} )
|
||||||
|
? $self->{ $self->{shuttersDev} }{posSetCmd}
|
||||||
|
: $shutters->getPosCmd );
|
||||||
}
|
}
|
||||||
|
|
||||||
sub getNoOffset {
|
sub getNoOffset {
|
||||||
@ -2803,7 +2813,8 @@ sub setStateReading {
|
|||||||
my $name = $self->{name};
|
my $name = $self->{name};
|
||||||
my $hash = $defs{$name};
|
my $hash = $defs{$name};
|
||||||
|
|
||||||
readingsSingleUpdate( $hash, 'state', (defined($value) ? $value : $shutters->getLastDrive), 1 );
|
readingsSingleUpdate( $hash, 'state',
|
||||||
|
( defined($value) ? $value : $shutters->getLastDrive ), 1 );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3269,7 +3280,8 @@ sub getRainSensorShuttersClosedPos {
|
|||||||
<li>ASC_autoShuttersControlMorning - on/off,ob Morgens die Rolläden automatisch nach Zeit gesteuert werden sollen</li>
|
<li>ASC_autoShuttersControlMorning - on/off,ob Morgens die Rolläden automatisch nach Zeit gesteuert werden sollen</li>
|
||||||
<li>ASC_temperatureReading - Reading für die Aussentemperatur</li>
|
<li>ASC_temperatureReading - Reading für die Aussentemperatur</li>
|
||||||
<li>ASC_temperatureSensor - Device für die Aussentemperatur</li>
|
<li>ASC_temperatureSensor - Device für die Aussentemperatur</li>
|
||||||
<li>ASC_timeUpHolidayDevice - Device zur Urlaubserkennung oder Sonstiges / muss 0 oder 1 im Reading state beinhalten.</li>
|
<li>ASC_timeUpHolidayDevice - Device zur Urlaubserkennung oder Sonstiges / muss 0 oder 1 im Reading beinhalten.</li>
|
||||||
|
<li>ASC_timeUpHolidayReading - passendes Reading zum ASC_timeUpHolidayDevice zur Urlaubserkennung oder Sonstiges / muss 0 oder 1 beinhalten.</li>
|
||||||
<li>ASC_residentsDevice - Devicenamen vom Residents Device der obersten Ebene</li>
|
<li>ASC_residentsDevice - Devicenamen vom Residents Device der obersten Ebene</li>
|
||||||
<li>ASC_residentsDeviceReading - Status Reading vom Residents Device der obersten Ebene</li>
|
<li>ASC_residentsDeviceReading - Status Reading vom Residents Device der obersten Ebene</li>
|
||||||
<li>ASC_brightnessMinVal - minimaler Lichtwert ab welchen Schaltbedingungen geprüft werden sollen</li>
|
<li>ASC_brightnessMinVal - minimaler Lichtwert ab welchen Schaltbedingungen geprüft werden sollen</li>
|
||||||
|
Reference in New Issue
Block a user