patch-async_run_parseJson #48
@@ -744,6 +744,8 @@ sub WriteReadings {
 | 
				
			|||||||
        $abilities--;
 | 
					        $abilities--;
 | 
				
			||||||
    } while ( $abilities >= 0 );
 | 
					    } while ( $abilities >= 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    my $winter_mode;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    do {
 | 
					    do {
 | 
				
			||||||
#Log3 $name, 1, "Settings pro Device : ".$decode_json->{settings}[$settings]{name};
 | 
					#Log3 $name, 1, "Settings pro Device : ".$decode_json->{settings}[$settings]{name};
 | 
				
			||||||
#Log3 $name, 1, " - KEIN ARRAY" if ( ref( $decode_json->{settings}[$settings]{value} ) ne "ARRAY");
 | 
					#Log3 $name, 1, " - KEIN ARRAY" if ( ref( $decode_json->{settings}[$settings]{value} ) ne "ARRAY");
 | 
				
			||||||
@@ -770,6 +772,8 @@ sub WriteReadings {
 | 
				
			|||||||
            readingsBulkUpdateIfChanged( $hash, 'winter_mode',
 | 
					            readingsBulkUpdateIfChanged( $hash, 'winter_mode',
 | 
				
			||||||
                $decode_json->{settings}[$settings]{value} )
 | 
					                $decode_json->{settings}[$settings]{value} )
 | 
				
			||||||
              if ( $decode_json->{settings}[$settings]{name} eq 'winter_mode' );
 | 
					              if ( $decode_json->{settings}[$settings]{name} eq 'winter_mode' );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            # $winter_mode =
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if ( ref( $decode_json->{settings}[$settings]{value} ) eq "ARRAY"
 | 
					        if ( ref( $decode_json->{settings}[$settings]{value} ) eq "ARRAY"
 | 
				
			||||||
@@ -803,6 +807,25 @@ sub WriteReadings {
 | 
				
			|||||||
        $settings--;
 | 
					        $settings--;
 | 
				
			||||||
    } while ( $settings >= 0 );
 | 
					    } while ( $settings >= 0 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if ( ReadingsVal( $name, 'winter_mode', 'awake' ) ne 'hibernate' ) {
 | 
				
			||||||
 | 
					        setState();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					        readingsBulkUpdate( $hash, 'state',
 | 
				
			||||||
 | 
					            RigReadingsValue( $hash, 'hibernate' ) );
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    readingsEndUpdate( $hash, 1 );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Log3 $name, 4, "GardenaSmartDevice ($name) - readings was written";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sub setState {
 | 
				
			||||||
 | 
					    my $hash = shift;
 | 
				
			||||||
 | 
					    my $name = $hash->{NAME};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    my $online_state =
 | 
					    my $online_state =
 | 
				
			||||||
      ReadingsVal( $name, 'device_info-connection_status', 'unknown' );
 | 
					      ReadingsVal( $name, 'device_info-connection_status', 'unknown' );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -864,10 +887,6 @@ sub WriteReadings {
 | 
				
			|||||||
        ReadingsVal( $name, 'power-power_timer', 'no info from power-timer' ) )
 | 
					        ReadingsVal( $name, 'power-power_timer', 'no info from power-timer' ) )
 | 
				
			||||||
      if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
 | 
					      if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    readingsEndUpdate( $hash, 1 );
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    Log3 $name, 4, "GardenaSmartDevice ($name) - readings was written";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return;
 | 
					    return;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -977,7 +996,8 @@ sub ReadingLangGerman {
 | 
				
			|||||||
        'closed'                      => 'geschlossen',
 | 
					        'closed'                      => 'geschlossen',
 | 
				
			||||||
        'included'                    => 'inbegriffen',
 | 
					        'included'                    => 'inbegriffen',
 | 
				
			||||||
        'active'                      => 'aktiv',
 | 
					        'active'                      => 'aktiv',
 | 
				
			||||||
        'inactive'                    => 'nicht aktiv'
 | 
					        'inactive'                    => 'nicht aktiv',
 | 
				
			||||||
 | 
					        'hibernate'                   => 'Winterschlaf',
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (
 | 
					    if (
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,2 +1,2 @@
 | 
				
			|||||||
UPD 2022-02-01_18:41:32 49520 FHEM/73_GardenaSmartBridge.pm
 | 
					UPD 2022-02-01_18:41:32 49520 FHEM/73_GardenaSmartBridge.pm
 | 
				
			||||||
UPD 2022-02-01_18:41:58 56817 FHEM/74_GardenaSmartDevice.pm
 | 
					UPD 2022-02-08_11:55:50 57225 FHEM/74_GardenaSmartDevice.pm
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user