change Modul Attribut antiFreezeTemp to freezTemp

This commit is contained in:
Marko Oldenburg
2018-11-08 08:32:47 +01:00
parent b0ed44c2df
commit 16e6b946b5

View File

@ -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');
@ -523,7 +529,8 @@ sub Set($$@) {
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'
@ -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
); );
} }
@ -2162,7 +2168,8 @@ 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&auml;den automatisch nach Zeit gesteuert werden sollen</li> <li>ASC_autoShuttersControlMorning - on/off,ob Morgens die Roll&auml;den automatisch nach Zeit gesteuert werden sollen</li>
<li>ASC_temperatureReading - Reading f&uuml;r die Aussentemperatur</li> <li>ASC_temperatureReading - Reading f&uuml;r die Aussentemperatur</li>
<li>ASC_temperatureSensor - Device f&uuml;r die Aussentemperatur</li> <li>ASC_temperatureSensor - Device f&uuml;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&uuml;ft werden sollen</li> <li>ASC_brightnessMinVal - minimaler Lichtwert ab welchen Schaltbedingungen gepr&uuml;ft werden sollen</li>