| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -195,6 +195,11 @@ sub Define {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{eco_mode_id}               = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{button_config_time_id}     = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{winter_mode_id}            = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # Electroni Pressure Pump
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{operating_mode_id}         = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{leakage_detection_id}      = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{turn_on_pressure_id}       = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $hash->{helper}{_id} = '';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -294,7 +299,7 @@ sub Set {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        || AttrVal( $name, 'model', 'unknown' ) eq 'watering_computer' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $abilities = 'power'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $abilities = 'manual_watering'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    $abilities = 'watering'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### mower
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -355,12 +360,12 @@ sub Set {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#$abilities['service_id'] = $hash->{helper}{SCHEDULESID}  if ( $mainboard_version > 10.30 );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### electronic_pressure_pump
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'pumptimer' ) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        $payload =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          '"name":"pump_manual_watering_timer","parameters":{"duration":'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          . $aArg->[0] . '}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### watering_computer
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # elsif ( lc $cmd eq 'pumptimer' ) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #     $payload =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #       '"name":"pump_manual_watering_timer","parameters":{"duration":'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #       . $aArg->[0] . '}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### watering_computer & electronic pump
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'manualoverride' ) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        $payload =
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            '"properties":{"name":"watering_timer_1'
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -477,7 +482,41 @@ sub Set {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          . '","device":"'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          . $hash->{DEVICEID} . '"}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### Sensors
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### Watering_pressure_pump
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'operatingmode') {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      my $op_mode = $aArg->[0];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $payload = '"settings":{"name":"operating_mode",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"value":"'.$op_mode.'",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"device":"'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 . $hash->{DEVICEID}.'"}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $abilities = 'watering_pressure_pump_settings';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $service_id = $hash->{helper}->{ 'operating_mode_id' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'leakagedetection') {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      my $leakdetection_mode = $aArg->[0];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $payload = '"settings":{"name":"leakage_detection",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"value":"'.$leakdetection_mode.'",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"device":"'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 . $hash->{DEVICEID}.'"}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $abilities = 'watering_pressure_pump_settings';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $service_id = $hash->{helper}->{ 'leakage_detection_id' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'turnonpressure') {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      my $turnonpressure = $aArg->[0];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $payload = '"settings":{"name":"turn_on_pressure",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"value":"'.$turnonpressure.'",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .'"device":"'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 . $hash->{DEVICEID}.'"}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $abilities = 'watering_pressure_pump_settings';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $service_id = $hash->{helper}->{ 'turn_on_pressure_id' };
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'resetvalveerrors') {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $payload = '"name":"reset_valve_errors",'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                 .' "parameters": {}';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $abilities = 'error';
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ### Sensors 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    elsif ( lc $cmd eq 'refresh' ) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        my $sensname = $aArg->[0];
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -529,6 +568,9 @@ sub Set {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				'closeAllValves:noArg stopScheduleValve:selectnumbers,1,1,6,0,lin resumeScheduleValve:selectnumbers,1,1,6,0,lin manualDurationValve1:slider,1,1,90 manualDurationValve2:slider,1,1,90 manualDurationValve3:slider,1,1,90 manualDurationValve4:slider,1,1,90 manualDurationValve5:slider,1,1,90 manualDurationValve6:slider,1,1,90 cancelOverrideValve1:noArg cancelOverrideValve2:noArg cancelOverrideValve3:noArg cancelOverrideValve4:noArg cancelOverrideValve5:noArg cancelOverrideValve6:noArg'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        $list .= 'manualOverride:slider,1,1,90 cancelOverride:noArg operatingMode:automatic,scheduled leakageDetection:watering,washing_machine,domestic_water_supply,off turnOnpressure:slider,2,0.2,3.0,1 resetValveErrors:noArg'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        $list .= 'refresh:temperature,humidity'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          if ( AttrVal( $name, 'model', 'unknown' ) =~ /sensor.?/ );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -761,7 +803,10 @@ sub WriteReadings {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            && ( $decode_json->{settings}[$settings]{name} =~
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                   /schedules_paused_until_?\d?$/
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'eco_mode'
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'winter_mode' )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'winter_mode' 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'operating_mode' 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'leakage_detection' 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'turn_on_pressure' )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				          )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if ( $hash->{helper}
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -778,6 +823,14 @@ sub WriteReadings {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    $decode_json->{settings}[$settings]{value} );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            # save electroni presse pump settings as readings
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if ( $decode_json->{settings}[$settings]{name} eq 'operating_mode' 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'leakage_detection' 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                || $decode_json->{settings}[$settings]{name} eq 'turn_on_pressure' ) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                readingsBulkUpdateIfChanged( $hash, $decode_json->{settings}[$settings]{name},
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    $decode_json->{settings}[$settings]{value} );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            # save winter mode as reading
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if ( $decode_json->{settings}[$settings]{name} eq 'winter_mode' ) {
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -867,7 +920,6 @@ sub setState {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # 4. Ventil manuell geoeffnet, Zeitpläne deaktiviert.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #   App zeigt: "Wird bewässert   xx Minuten verbleibend"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( AttrVal( $name, 'model', 'unknown' ) eq 'watering_computer' ){
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         my $state_string = ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 ) =~
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              m{\A[1-9]([0-9]+)?\z}xms
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            # offen
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -941,6 +993,39 @@ sub setState {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ReadingsVal( $name, 'power-power_timer', 'no info from power-timer' ) )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #electronic water pump
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if ( AttrVal( $name, 'model', 'unknown' ) eq 'electronic_pressure_pump' ) {  #        | ok | pump_not_filled (Pumpe nicht gefüllt)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				         my $state_string = ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 ) =~
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              m{\A[1-9]([0-9]+)?\z}xms
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            # offen
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ? 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              ( ReadingsVal($name, 'scheduling-schedules_paused_until', '' ) eq '' )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              # leer ( zeitplan aktiv ... ) 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              ? sprintf( (RigReadingsValue($hash, 'will be irrigated %.f minutes remaining.').' '.RigReadingsValue($hash, 'next watering: %s')), (ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 )/60), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-scheduled_watering_next_start', '')) ) 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              # zeitplan pausiert
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              : 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                ( ReadingsVal($name, 'scheduling-schedules_paused_until', '') eq '2038-01-18T00:00:00.000Z')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                # pause bis  dauerhaft
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                ? sprintf( (RigReadingsValue($hash, 'will be irrigated %.f minutes remaining.').' '.RigReadingsValue($hash , 'schedule permanently paused')), (ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 )/60) )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                # naechter termin
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                : sprintf( RigReadingsValue($hash , 'paused until %s'), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-schedules_paused_until', '')) )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            # zu
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            :
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              ( ReadingsVal($name, 'scheduling-schedules_paused_until', '' ) eq '' )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              # zeitplan aktiv
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              ? sprintf( (RigReadingsValue($hash, 'closed') .'. '.RigReadingsValue($hash, 'next watering: %s')),  RigReadingsValue($hash, ReadingsVal($name, 'scheduling-scheduled_watering_next_start', '') ) )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              # zeitplan pausiert
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				              : RigReadingsValue($hash, 'closed')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            ;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      # state offline | override
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $state_string = 'offline' if ($online_state eq 'offline');
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      # check valv error, override state 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      my $error_type = ReadingsVal( $name, 'error-valve_error_1_type', 'ok' );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      $state_string = ( $error_type ne 'ok' ) ? $error_type : $state_string;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				      readingsBulkUpdate(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        $hash, 'state',  RigReadingsValue( $hash, $state_string ) );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    return;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1054,6 +1139,7 @@ sub ReadingLangGerman {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        'paused until %s'                => 'pausiert bis %s',        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        'will be irrigated %.f minutes remaining.'=> 'Wird bewässert. %.f Minuten verbleibend.',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        'next watering: %s'              => 'Nächste Bewässerung: %s',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        'pump_not_filled'                => 'Pumpe nicht gefüllt',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    );
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    if (
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -1535,7 +1621,7 @@ sub SetPredefinedStartPoints {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  ],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "release_status": "stable",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "license": "GPL_2",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "version": "v2.4.3",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "version": "v2.5.2",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  "author": [
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    "Marko Oldenburg <fhemdevelopment@cooltux.net>"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  ],
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				 
 |