From 6b87b19f0db67d67b6bc79c257d0634ea4823a60 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 14 Apr 2022 16:42:18 +0200 Subject: [PATCH] add valve_name and paused_untel for schedule --- FHEM/74_GardenaSmartDevice.pm | 41 +++++++++++++++++++++++---------- controls_GardenaSmartDevice.txt | 2 +- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/FHEM/74_GardenaSmartDevice.pm b/FHEM/74_GardenaSmartDevice.pm index fac69b5..f7206d4 100644 --- a/FHEM/74_GardenaSmartDevice.pm +++ b/FHEM/74_GardenaSmartDevice.pm @@ -777,9 +777,25 @@ sub WriteReadings { readingsBulkUpdateIfChanged( $hash, 'scheduling-schedules_paused_until', $decode_json->{settings}[$settings]{value} ); } + ##### + #ic24 schedules pause until + if ($decode_json->{settings}[$settings]{name} =~ /schedules_paused_until_?\d?$/) { + #my $ventil = substr($decode_json->{settings}[$settings]{name}, -1); # => 1 - 6 + readingsBulkUpdateIfChanged( $hash, 'scheduling-'.$decode_json->{settings}[$settings]{name}, + $decode_json->{settings}[$settings]{value} ); + } + if ($decode_json->{settings}[$settings]{name} eq 'valve_names' + && ref( $decode_json->{settings}[$settings]{value} ) eq "ARRAY" ) { + #_name_1 = + my @valves = @{$decode_json->{settings}[$settings]{value}}; + foreach my $valve( @valves ) { + readingsBulkUpdateIfChanged( $hash, 'valve-valve_name_'.$valve->{"id"}, + $valve->{"name"} ); + } + } + ###### # save winter mode as reading - if ( $decode_json->{settings}[$settings]{name} eq 'winter_mode' ) { readingsBulkUpdateIfChanged( $hash, 'winter_mode', $decode_json->{settings}[$settings]{value} ); @@ -848,6 +864,18 @@ sub setState { : 'offline' ) if ( AttrVal( $name, 'model', 'unknown' ) eq 'mower' ); + # ic24 + readingsBulkUpdate( + $hash, 'state', + 'scheduled watering next start: ' + . ( + ReadingsVal( + $name, 'scheduling-scheduled_watering_next_start', + 'no timer' + ) + ) + ) if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' ); + #online state water control # zeitplan -> dauert pausiert wenn 2038-01-18T00:00:00.000Z @@ -926,17 +954,6 @@ sub setState { $online_state eq 'online' ? RigReadingsValue( $hash, $state_string) : RigReadingsValue( $hash, 'offline') ); } - readingsBulkUpdate( - $hash, 'state', - 'scheduled watering next start: ' - . ( - ReadingsVal( - $name, 'scheduling-scheduled_watering_next_start', - 'no timer' - ) - ) - ) if ( AttrVal( $name, 'model', 'unknown' ) eq 'ic24' ); - readingsBulkUpdate( $hash, 'state', ReadingsVal( $name, 'power-power_timer', 'no info from power-timer' ) ) if ( AttrVal( $name, 'model', 'unknown' ) eq 'power' ); diff --git a/controls_GardenaSmartDevice.txt b/controls_GardenaSmartDevice.txt index 3810d2c..1b22647 100644 --- a/controls_GardenaSmartDevice.txt +++ b/controls_GardenaSmartDevice.txt @@ -1,2 +1,2 @@ UPD 2022-03-29_13:42:09 49520 FHEM/73_GardenaSmartBridge.pm -UPD 2022-04-12_08:40:29 61278 FHEM/74_GardenaSmartDevice.pm +UPD 2022-04-14_16:41:41 62247 FHEM/74_GardenaSmartDevice.pm