testing #80

Merged
marko merged 137 commits from testing into main 2022-12-22 07:04:47 +00:00
3 changed files with 53 additions and 6 deletions
Showing only changes of commit bae27c39c1 - Show all commits

View File

@ -1 +1 @@
[fix] - translation [enhancement] - commandref

View File

@ -845,14 +845,61 @@ sub WriteReadings {
readingsBulkUpdateIfChanged( $hash, 'scheduling-schedules_events_count', readingsBulkUpdateIfChanged( $hash, 'scheduling-schedules_events_count',
scalar( @{$decode_json->{scheduled_events} } ) ); scalar( @{$decode_json->{scheduled_events} } ) );
my $valve_id =1; my $event_id = 0; # ic24 [1..6] | wc, pump [1] my $valve_id =1; my $event_id = 0; # ic24 [1..6] | wc, pump [1]
## valcid zahlen. readings mit valvid aber
my @soll = (); ##
for my $event_schedules ( @{ $decode_json->{scheduled_events} } ) { # validiere schedules
while ( my ( $r, $v ) = each %{ $event_schedules } ) { my @soll = ();my @ist=();
for my $cloud_schedules ( @{ $decode_json->{scheduled_events} } ) {
while ( my ( $r, $v ) = each %{ $cloud_schedules } ) {
push @soll, $v if $r eq 'id'; # cloud hat SOLL push @soll, $v if $r eq 'id'; # cloud hat SOLL
} }
} }
use Data::Dumper;
foreach my $dev_schedules ( sort keys %{ $hash->{READINGS} } ) {
my $dev_reading = ReadingsVal( $name, $dev_schedules, "error" );
push @ist, $dev_reading if $dev_schedules =~ /.*_id/; # push reading _id
push @ist, $1 if $dev_schedules =~ /.*_(\d)_id/; # push readigs d from x_id
Log3 $name, 5, "[DEBUG] - Key ist : $dev_schedules ";
Log3 $name, 5, "[DDDDD] - ID FOUND $dev_reading" if $dev_schedules =~ /.*_id/; # cloud hat SOLL
}
Log3 $name, 5, "[OOOU] Cloud ".Dumper(@soll) . "- Ist:". Dumper(@ist);
## delete only if cloud != (ist/2)
if (scalar(@soll) != scalar(@ist/2)
&& scalar(@soll) > 0
&& scalar(@ist) > 0){
while(my $element = shift(@soll)) {
my $schedule_step_int = 0;
foreach my $sist (@ist) {
my $step = scalar(@ist) > 1 ? 2:1;
if ($element eq $sist){
# splice(@ist, $schedule_step_int, 1); # more than 2 items del them, otherwise 1
splice(@ist, $schedule_step_int, $step); # more than 2 items del them, otherwise 1
#$schedule_step_int++;
}
# $schedule_step_int++;
$schedule_step_int += $step;
}
}
}
Log3 $name, 5, "[REST] ". Dumper(@ist);
if (scalar(@ist) > 0){
while (my $old_schedule_id = shift(@ist)) {
if (length($old_schedule_id) == 1) {
foreach (keys %{$hash->{READINGS}}) {
delete $hash->{READINGS}->{$_} if($_ =~ /scheduling-schedules_event_$old_schedule_id.*/);
}
}# fi
Log3 $name, 5, "[DEBUG] - $name : deletereading scheduling-schedules_event_$old_schedule_id.*" if length($old_schedule_id) == 1;
}
}
#### /validiere schedules
for my $event_schedules ( @{ $decode_json->{scheduled_events} } ) { for my $event_schedules ( @{ $decode_json->{scheduled_events} } ) {
$valve_id = $event_schedules->{valve_id} if ( exists($event_schedules->{valve_id} ) ); #ic24 $valve_id = $event_schedules->{valve_id} if ( exists($event_schedules->{valve_id} ) ); #ic24
$event_id++; # event id $event_id++; # event id

View File

@ -1,2 +1,2 @@
UPD 2022-07-21_19:43:48 49634 FHEM/73_GardenaSmartBridge.pm UPD 2022-07-21_19:43:48 49634 FHEM/73_GardenaSmartBridge.pm
UPD 2022-08-04_15:46:35 105511 FHEM/74_GardenaSmartDevice.pm UPD 2022-08-06_13:11:33 107424 FHEM/74_GardenaSmartDevice.pm