long state

This commit is contained in:
Sebastian 2022-05-07 20:29:16 +02:00
parent 948f68515c
commit 91fd570896
3 changed files with 29 additions and 26 deletions

View File

@ -1 +1 @@
Log Debug change debug

View File

@ -888,12 +888,15 @@ sub setState {
my $activ_watering = 0; my $activ_watering = 0;
if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' ){ if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' ){
my $opened_ventils = 0; my $opened_ventils = 0;
my $state_string = '';
## clac bit wise 1 - 6 dec => 1 - 63 dec ( 0011 1111 ) ## clac bit wise 1 - 6 dec => 1 - 63 dec ( 0011 1111 )
for (my $i = 1; $i < 7; $i++){ for (my $i = 1; $i < 7; $i++){
$activ_watering = 0;
my $zahl = ( ReadingsVal( $name, "watering-watering_timer_".$i."_duration", 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms ) ? ($i -1) : 0; my $zahl = ( ReadingsVal( $name, "watering-watering_timer_".$i."_duration", 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms ) ? ($i -1) : 0;
$activ_watering = $i if ( $zahl > 0 );
$opened_ventils=$opened_ventils+(2**$zahl) if ( $zahl > 0 ); $opened_ventils=$opened_ventils+(2**$zahl) if ( $zahl > 0 );
Log3 $name, 3, "[DEBUG] - GardenaSmartDevice ($name) / watering-watering_timer_".$i."_duration - wasser timer($i) =-1 ( $zahl ) : $opened_ventils"; Log3 $name, 3, "[DEBUG] - GardenaSmartDevice ($name) / watering-watering_timer_".$i."_duration - wasser timer($i) =-1 ( $zahl ) : $opened_ventils";
}
# $activ_watering = 1 if ( ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms ); # $activ_watering = 1 if ( ReadingsVal( $name, 'watering-watering_timer_1_duration', 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms );
# $activ_watering = 2 if ( ReadingsVal( $name, 'watering-watering_timer_2_duration', 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms ); # $activ_watering = 2 if ( ReadingsVal( $name, 'watering-watering_timer_2_duration', 0 ) =~ m{\A[1-9]([0-9]+)?\z}xms );
@ -904,29 +907,29 @@ sub setState {
# Log3 $name, 3, "[DEBUG] - GardenaSmartDevice ($name) - wasser timer: $activ_watering"; # Log3 $name, 3, "[DEBUG] - GardenaSmartDevice ($name) - wasser timer: $activ_watering";
# ### eventuell auf binare bits und shiften # ### eventuell auf binare bits und shiften
my $state_string = $activ_watering > 0 $state_string .= $activ_watering > 0
# offen # offen
? ?
( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering, '' ) eq '' ) ( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering, '' ) eq '' )
# leer ( zeitplan aktiv ... ) # leer ( zeitplan aktiv ... )
? sprintf( (RigReadingsValue($hash, 'will be irrigated %.f minutes remaining.').' '.RigReadingsValue($hash, 'next watering: %s')), (ReadingsVal( $name, 'watering-watering_timer_'.$activ_watering.'_duration', 0 )/60), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-scheduled_watering_next_start', '')) ) ? sprintf( (RigReadingsValue($hash, 'will be irrigated %.f minutes remaining.').' '.RigReadingsValue($hash, 'next watering: %s')), (ReadingsVal( $name, 'watering-watering_timer_'.$activ_watering.'_duration', 0 )/60), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-scheduled_watering_next_start', '')) )
# zeitplan pausiert # zeitplan pausiert
:
( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '') 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_'.$activ_watering.'_duration', 0 )/60) )
# naechter termin
: sprintf( RigReadingsValue($hash , 'paused until %s'), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '')) )
# zu
: :
( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '') eq '2038-01-18T00:00:00.000Z') ( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '' ) eq '' )
# pause bis dauerhaft # zeitplan aktiv
? sprintf( (RigReadingsValue($hash, 'will be irrigated %.f minutes remaining.').' '.RigReadingsValue($hash , 'schedule permanently paused')), (ReadingsVal( $name, 'watering-watering_timer_'.$activ_watering.'_duration', 0 )/60) ) ? sprintf( (RigReadingsValue($hash, 'closed') .'. '.RigReadingsValue($hash, 'next watering: %s')), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-scheduled_watering_next_start', '') ) )
# naechter termin # zeitplan pausiert
: sprintf( RigReadingsValue($hash , 'paused until %s'), RigReadingsValue($hash, ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '')) ) : RigReadingsValue($hash, 'closed')
# zu ;
:
( ReadingsVal($name, 'scheduling-schedules_paused_until_'.$activ_watering , '' ) 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')
;
}
# if ($activ_watering > 0) # if ($activ_watering > 0)
# { # {
# # ein ventil offen # # ein ventil offen

View File

@ -1,2 +1,2 @@
UPD 2022-05-07_13:41:51 49520 FHEM/73_GardenaSmartBridge.pm UPD 2022-05-07_20:23:00 49520 FHEM/73_GardenaSmartBridge.pm
UPD 2022-05-07_17:58:31 66021 FHEM/74_GardenaSmartDevice.pm UPD 2022-05-07_20:28:37 66165 FHEM/74_GardenaSmartDevice.pm