fix numerix RegEx and value none for rain
This commit is contained in:
		| @@ -44,7 +44,7 @@ use strict; | |||||||
| use warnings; | use warnings; | ||||||
| use FHEM::Meta; | use FHEM::Meta; | ||||||
|  |  | ||||||
| my $version = '0.6.2'; | my $version = '0.6.2.1'; | ||||||
|  |  | ||||||
| sub AutoShuttersControl_Initialize($) { | sub AutoShuttersControl_Initialize($) { | ||||||
|     my ($hash) = @_; |     my ($hash) = @_; | ||||||
| @@ -1187,7 +1187,7 @@ sub EventProcessingRain($@) { | |||||||
|     my $name    = $device; |     my $name    = $device; | ||||||
|     my $reading = $ascDev->getRainSensorReading; |     my $reading = $ascDev->getRainSensorReading; | ||||||
|  |  | ||||||
|     if ( $events =~ m#$reading:\s(\d+|rain|dry)# ) { |     if ( $events =~ m#$reading:\s(\d+(\.\d+)?|rain|dry)# ) { | ||||||
|         my $val; |         my $val; | ||||||
|         my $triggerMax = $ascDev->getRainTriggerMax; |         my $triggerMax = $ascDev->getRainTriggerMax; | ||||||
|         my $triggerMin = $ascDev->getRainTriggerMin; |         my $triggerMin = $ascDev->getRainTriggerMin; | ||||||
| @@ -1223,7 +1223,7 @@ sub EventProcessingWind($@) { | |||||||
|     $shutters->setShuttersDev($shuttersDev); |     $shutters->setShuttersDev($shuttersDev); | ||||||
|  |  | ||||||
|     my $reading = $ascDev->getWindSensorReading; |     my $reading = $ascDev->getWindSensorReading; | ||||||
|     if ( $events =~ m#$reading:\s(\d+)# ) { |     if ( $events =~ m#$reading:\s(\d+(\.\d+)?)# ) { | ||||||
|         foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { |         foreach my $shuttersDev ( @{ $hash->{helper}{shuttersList} } ) { | ||||||
|             $shutters->setShuttersDev($shuttersDev); |             $shutters->setShuttersDev($shuttersDev); | ||||||
|  |  | ||||||
| @@ -1340,7 +1340,7 @@ sub EventProcessingBrightness($@) { | |||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     my $reading = $shutters->getBrightnessReading; |     my $reading = $shutters->getBrightnessReading; | ||||||
|     if ( $events =~ m#$reading:\s(\d+)# ) { |     if ( $events =~ m#$reading:\s(\d+(\.\d+)?)# ) { | ||||||
|         my $brightnessMinVal; |         my $brightnessMinVal; | ||||||
|         if ( $shutters->getBrightnessMinVal > -1 ) { |         if ( $shutters->getBrightnessMinVal > -1 ) { | ||||||
|             $brightnessMinVal = $shutters->getBrightnessMinVal; |             $brightnessMinVal = $shutters->getBrightnessMinVal; | ||||||
| @@ -1533,7 +1533,7 @@ sub EventProcessingShadingBrightness($@) { | |||||||
|           . ' - Es wird nun geprüft ob der übergebene Event ein nummerischer Wert vom Brightnessreading ist.' |           . ' - Es wird nun geprüft ob der übergebene Event ein nummerischer Wert vom Brightnessreading ist.' | ||||||
|     ); |     ); | ||||||
|  |  | ||||||
|     if ( $events =~ m#$reading:\s(\d+)# ) { |     if ( $events =~ m#$reading:\s(\d+(\.\d+)?)# ) { | ||||||
|         Log3( |         Log3( | ||||||
|             $name, 4, |             $name, 4, | ||||||
| "AutoShuttersControl ($shuttersDev) - EventProcessingShadingBrightness | "AutoShuttersControl ($shuttersDev) - EventProcessingShadingBrightness | ||||||
| @@ -3963,9 +3963,10 @@ sub getWindMax { | |||||||
|     ## Erwartetes Ergebnis |     ## Erwartetes Ergebnis | ||||||
|     # max:hyst pos |     # max:hyst pos | ||||||
|  |  | ||||||
|     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggermax} = $max; |     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggermax} = $max | ||||||
|  |       ; | ||||||
|     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggerhyst} = |     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{triggerhyst} = | ||||||
|       $hyst; |       ( $hyst ne 'none' ? $max - $hyst : $max - 20 ); | ||||||
|     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{closedPos} = |     $self->{ $self->{shuttersDev} }->{ASC_WindParameters}->{closedPos} = | ||||||
|       ( $pos ne 'none' ? $pos : $shutters->getOpenPos ); |       ( $pos ne 'none' ? $pos : $shutters->getOpenPos ); | ||||||
|  |  | ||||||
| @@ -4647,9 +4648,9 @@ sub _getRainSensor { | |||||||
|       ( $reading ne 'none' ? $reading : 'state' ); |       ( $reading ne 'none' ? $reading : 'state' ); | ||||||
|     $self->{ASC_rainSensor}->{triggermax} = ( $max ne 'none' ? $max : 1000 ); |     $self->{ASC_rainSensor}->{triggermax} = ( $max ne 'none' ? $max : 1000 ); | ||||||
|     $self->{ASC_rainSensor}->{triggerhyst} = |     $self->{ASC_rainSensor}->{triggerhyst} = | ||||||
|       ( $hyst ne 'none' ? $max - $hyst : ( $max * 0 ) ); |       ( $hyst ne 'none' ? $max - $hyst : ( $self->{ASC_rainSensor}->{triggermax} * 0 ) ); | ||||||
|     $self->{ASC_rainSensor}->{shuttersClosedPos} = |     $self->{ASC_rainSensor}->{shuttersClosedPos} = | ||||||
|       ( $pos ne 'none' ? $pos : 50 ); |       ( $pos ne 'none' ? $pos : $shutters->getClosedPos ); | ||||||
|  |  | ||||||
|     return $self->{ASC_rainSensor}->{device}; |     return $self->{ASC_rainSensor}->{device}; | ||||||
| } | } | ||||||
| @@ -5129,7 +5130,7 @@ sub getblockAscDrivesAfterManual { | |||||||
|       <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> | ||||||
|       <li>ASC_WiggleValue - Wert um welchen sich die Position des Rollladens ändern soll / default 5 wenn nicht gesetzt</li> |       <li>ASC_WiggleValue - Wert um welchen sich die Position des Rollladens ändern soll / default 5 wenn nicht gesetzt</li> | ||||||
|       <li>ASC_WindParameters - TRIGGERMAX[:HYSTERESE] [DRIVEPOSITION] / Angabe von Max Wert ab dem für Wind getriggert werden soll, Hytsrese Wert ab dem der Windschutz aufgehoben werden soll TRIGGERMAX - HYSTERESE / Ist es bei einigen Rollläden nicht gewünscht das gefahren werden soll, so ist der TRIGGERMAX Wert mit -1 an zu geben. / default '50:20 ClosedPosition' wenn nicht gesetzt</li> |       <li>ASC_WindParameters - TRIGGERMAX[:HYSTERESE] [DRIVEPOSITION] / Angabe von Max Wert ab dem für Wind getriggert werden soll, Hytsrese Wert ab dem der Windschutz aufgehoben werden soll TRIGGERMAX - HYSTERESE / Ist es bei einigen Rollläden nicht gewünscht das gefahren werden soll, so ist das Attribut ASC_WindProtection auf off zu setzen. / default '50:20 ClosedPosition' wenn nicht gesetzt</li> | ||||||
|       <li>ASC_WindProtection - on/off aktiviert den Windschutz für diesen Rollladen. / default on wenn nicht gesetzt.</li> |       <li>ASC_WindProtection - on/off aktiviert den Windschutz für diesen Rollladen. / default on wenn nicht gesetzt.</li> | ||||||
|       <li>ASC_WindowRec - Name des Fensterkontaktes, an dessen Fenster der Rollladen angebracht ist / default none wenn nicht gesetzt</li> |       <li>ASC_WindowRec - Name des Fensterkontaktes, an dessen Fenster der Rollladen angebracht ist / default none wenn nicht gesetzt</li> | ||||||
|       <li>ASC_WindowRec_subType - Typ des verwendeten Fensterkontaktes: twostate (optisch oder magnetisch) oder threestate (Drehgriffkontakt) / default twostate wenn nicht gesetzt</li> |       <li>ASC_WindowRec_subType - Typ des verwendeten Fensterkontaktes: twostate (optisch oder magnetisch) oder threestate (Drehgriffkontakt) / default twostate wenn nicht gesetzt</li> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user