diff --git a/73_AutoShuttersControl.pm b/73_AutoShuttersControl.pm index 636fb50..5795356 100644 --- a/73_AutoShuttersControl.pm +++ b/73_AutoShuttersControl.pm @@ -53,7 +53,9 @@ sub AutoShuttersControl_Initialize($) { . 'ASC_residentsDeviceReading ' . 'ASC_rainSensorDevice ' . 'ASC_rainSensorReading ' - . 'ASC_rainSensorShuttersClosedPos:0,10,20,30,40,50,60,70,80,90,100 '; + . 'ASC_rainSensorShuttersClosedPos:0,10,20,30,40,50,60,70,80,90,100 ' + . 'ASC_brightnessMinVal ' + . 'ASC_brightnessMaxVal '; ## Da ich mit package arbeite müssen in die Initialize für die jeweiligen hash Fn Funktionen der Funktionsname # und davor mit :: getrennt der eigentliche package Name des Modules @@ -66,8 +68,7 @@ sub AutoShuttersControl_Initialize($) { $hash->{AttrList} = 'ASC_guestPresence:on,off ' . 'ASC_tempSensor ' - . 'ASC_brightnessMinVal ' - . 'ASC_brightnessMaxVal ' + . 'ASC_brightness ' . 'ASC_autoShuttersControlMorning:on,off ' . 'ASC_autoShuttersControlEvening:on,off ' . 'ASC_autoShuttersControlShading:on,off ' @@ -593,6 +594,7 @@ sub ShuttersDeviceScan($) { CommandAttr(undef,$name . ' ASC_tempSensor '.AttrVal($name,'ASC_temperatureSensor','none').':'.AttrVal($name,'ASC_temperatureReading','temperature')) if ( AttrVal($name,'ASC_temperatureSensor','none') ne 'none' ); CommandAttr(undef,$name . ' ASC_residentsDev '.AttrVal($name,'ASC_residentsDevice','none').':'.AttrVal($name,'ASC_residentsDeviceReading','state')) if ( AttrVal($name,'ASC_residentsDevice','none') ne 'none' ); CommandAttr(undef,$name . ' ASC_rainSensor '.AttrVal($name,'ASC_rainSensorDevice','none').':'.AttrVal($name,'ASC_rainSensorReading','rain').':'.AttrVal($name,'ASC_rainSensorShuttersClosedPos',50)) if ( AttrVal($name,'ASC_rainSensorDevice','none') ne 'none' ); + CommandAttr(undef,$name . ' ASC_brightness '.AttrVal($name,'ASC_brightnessMinVal',500).':'.AttrVal($name,'ASC_brightnessMaxVal',800)) if ( AttrVal($name,'ASC_brightnessMinVal','none') ne 'none' ); CommandDeleteAttr(undef,$name . ' ASC_temperatureSensor') if ( AttrVal($name,'ASC_temperatureSensor','none') ne 'none' ); CommandDeleteAttr(undef,$name . ' ASC_temperatureReading') if ( AttrVal($name,'ASC_temperatureReading','none') ne 'none' ); @@ -601,6 +603,8 @@ sub ShuttersDeviceScan($) { CommandDeleteAttr(undef,$name . ' ASC_rainSensorDevice') if ( AttrVal($name,'ASC_rainSensorDevice','none') ne 'none' ); CommandDeleteAttr(undef,$name . ' ASC_rainSensorReading') if ( AttrVal($name,'ASC_rainSensorReading','none') ne 'none' ); CommandDeleteAttr(undef,$name . ' ASC_rainSensorShuttersClosedPos') if ( AttrVal($name,'ASC_rainSensorShuttersClosedPos','none') ne 'none' ); + CommandDeleteAttr(undef,$name . ' ASC_brightnessMinVal') if ( AttrVal($name,'ASC_brightnessMinVal','none') ne 'none' ); + CommandDeleteAttr(undef,$name . ' ASC_brightnessMaxVal') if ( AttrVal($name,'ASC_brightnessMaxVal','none') ne 'none' ); $hash->{NOTIFYDEV} = "global," . $name . $shuttersList; @@ -3757,9 +3761,6 @@ sub getBrightnessMinVal { my $name = $self->{name}; my $default = $self->{defaultarg}; - $default = 8000 if ( not defined($default) ); - return AttrVal( $name, 'ASC_brightnessMinVal', $default ); - return $self->{ASC_brightness}->{triggermin} if ( exists($self->{ASC_brightness}->{LASTGETTIME}) and (gettimeofday() - $self->{ASC_brightness}->{LASTGETTIME}) < 2); $self->{ASC_brightness}->{LASTGETTIME} = int(gettimeofday()); $ascDev->getBrightnessMaxVal; @@ -3779,8 +3780,8 @@ sub getBrightnessMaxVal { ## erwartetes Ergebnis # max:min - $self->{ASC_brightness}->{triggermin} = ( $triggermin ne 'none' ? $triggermin : -1 ); - $self->{ASC_brightness}->{triggermax} = ( $triggermax ne 'none' ? $triggermax : -1 ); + $self->{ASC_brightness}->{triggermin} = ( $triggermin ne 'none' ? $triggermin : 500 ); + $self->{ASC_brightness}->{triggermax} = ( $triggermax ne 'none' ? $triggermax : 800 ); return $self->{ASC_brightness}->{triggermax}; } @@ -4232,10 +4233,8 @@ sub getWindSensorReading {