From b8210c1bcf26a3451782bd39b2834959d49aa776 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 4 Jun 2021 21:39:16 +0200 Subject: [PATCH] fixes, noch debug stuff inkl. --- controls_HailoLibero.txt | 2 +- lib/FHEM/Hailo/Libero.pm | 36 ++++++++++++++++++++---------------- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/controls_HailoLibero.txt b/controls_HailoLibero.txt index f8bed7c..ffb7572 100644 --- a/controls_HailoLibero.txt +++ b/controls_HailoLibero.txt @@ -1,2 +1,2 @@ UPD 2021-06-04_14:34:38 5174 FHEM/73_HailoLibero.pm -UPD 2021-06-04_14:34:26 12009 lib/FHEM/Hailo/Libero.pm +UPD 2021-06-04_21:35:27 12105 lib/FHEM/Hailo/Libero.pm diff --git a/lib/FHEM/Hailo/Libero.pm b/lib/FHEM/Hailo/Libero.pm index 525f522..500c2c0 100644 --- a/lib/FHEM/Hailo/Libero.pm +++ b/lib/FHEM/Hailo/Libero.pm @@ -241,7 +241,7 @@ sub Set { Log3 $name, 3, "setter write $payload to libero"; Write($hash, $payload); - getSettings($hash); + #getSettings($hash); } # open door write($hash,'open') @@ -291,6 +291,7 @@ sub setSettings { Write( $hash, 'settings', undef, undef ); } + sub getSettings { my $hash = shift; my $name = $hash->{NAME}; @@ -339,7 +340,7 @@ sub ErrorHandling { my $name = $hash->{NAME}; my $dhash = $hash; - Log3 $name, 4, "HailoLibero ($name) - ErrorHandling ".Dumper($param); + Log3 $name, 4, "HailoLibero ($name) - ErrorHandling ".$data; if ( ReadingsVal( $name, 'cookie', 'none' ) eq 'none' ){ my ($logintry) = ($data =~ /(Invalid.+)

(\d*)/g); - my ($eject_power) = ($data =~ /pwr'>(\d*)/g); - my ($detection_area) = ($data =~ /dist'>(\d*)/g); - my ($detection_sensitivity) = ($data =~ /delay'>(\d*)/g); - my ($eject_delay) = ($data =~ /pdelay'>(\d*)/g); - readingsBeginUpdate($hash); - readingsBulkUpdateIfChanged($hash, 'led_brightness', $led_brightness); - readingsBulkUpdateIfChanged($hash, 'eject_power', $eject_power); - readingsBulkUpdateIfChanged($hash, 'detection_area', $detection_area); - readingsBulkUpdateIfChanged($hash, 'detection_sensitivity', $detection_sensitivity); - readingsBulkUpdateIfChanged($hash, 'eject_delay', $eject_delay); - readingsEndUpdate( $hash, 1 ); + if ($data eq 'OK'){ + getSettings($hash); + }elsif (length($data) > 3 ){ + my ($led_brightness) = ($data =~ /led'>(\d*)/g); + my ($eject_power) = ($data =~ /pwr'>(\d*)/g); + my ($detection_area) = ($data =~ /dist'>(\d*)/g); + my ($detection_sensitivity) = ($data =~ /delay'>(\d*)/g); + my ($eject_delay) = ($data =~ /pdelay'>(\d*)/g); + readingsBeginUpdate($hash); + readingsBulkUpdateIfChanged($hash, 'led_brightness', $led_brightness); + readingsBulkUpdateIfChanged($hash, 'eject_power', $eject_power); + readingsBulkUpdateIfChanged($hash, 'detection_area', $detection_area); + readingsBulkUpdateIfChanged($hash, 'detection_sensitivity', $detection_sensitivity); + readingsBulkUpdateIfChanged($hash, 'eject_delay', $eject_delay); + readingsEndUpdate( $hash, 1 ); + } } return; @@ -390,7 +394,7 @@ sub createHttpValueStrings { && $payload ne ''){ $uri .= '/settings'; } elsif ( $payload eq 'open'){ - $uri .= '/open'; + $uri .= '/push'; }else { $uri .= '/admin'; $method = 'GET';