diff --git a/FHEM/73_HailoLibero.pm b/FHEM/73_HailoLibero.pm index 9d26d25..00a314c 100644 --- a/FHEM/73_HailoLibero.pm +++ b/FHEM/73_HailoLibero.pm @@ -63,13 +63,12 @@ sub Initialize { $hash->{UndefFn} = 'FHEM::Hailo::Libero::Undef'; $hash->{DeleteFn} = 'FHEM::Hailo::Libero::Delete'; $hash->{RenameFn} = 'FHEM::Hailo::Libero::Rename'; - $hash->{NotifyFn} = 'FHEM::Hailo::Libero::Notify'; + $hash->{NotifyFn} = 'FHEM::Hailo::Libero::Notify'; $hash->{AttrFn} = 'FHEM::Hailo::Libero::Attr'; $hash->{AttrList} = - 'debugJSON:0,1 ' - . 'disable:1 ' + 'disable:1 ' . 'LiberoIP ' . $readingFnAttributes; $hash->{parseParams} = 1; @@ -191,7 +190,7 @@ sub Initialize { ], "release_status": "stable", "license": "GPL_2", - "version": "v1.1.5", + "version": "v1.1.7", "author": [ "Sebastian Schwarz " ], diff --git a/controls_HailoLibero.txt b/controls_HailoLibero.txt index 6447d35..2ae620a 100644 --- a/controls_HailoLibero.txt +++ b/controls_HailoLibero.txt @@ -1,2 +1,2 @@ -UPD 2021-05-29_23:25:02 5197 FHEM/73_HailoLibero.pm -UPD 2021-05-29_23:28:10 11675 lib/FHEM/Hailo/Libero.pm +UPD 2021-05-30_22:16:22 5174 FHEM/73_HailoLibero.pm +UPD 2021-06-02_19:59:03 11968 lib/FHEM/Hailo/Libero.pm diff --git a/lib/FHEM/Hailo/Libero.pm b/lib/FHEM/Hailo/Libero.pm index 16d2e0c..2fa8b3d 100644 --- a/lib/FHEM/Hailo/Libero.pm +++ b/lib/FHEM/Hailo/Libero.pm @@ -152,6 +152,7 @@ sub Notify { my $devname = $dev->{NAME}; my $devtype = $dev->{TYPE}; my $events = deviceEvents( $dev, 1 ); + return if ( !$events ); getCookie($hash) @@ -183,6 +184,9 @@ sub Notify { grep /^cookie:.*$/, @{$events} ) + && ( + ReadingsVal( $name, 'cookie', 'none' ) ne 'none' + ) ) { getSettings($hash); @@ -216,6 +220,7 @@ sub Set { return q{password successfully saved} if ( defined($passResp) and !defined($passErr) ); + getCookie($hash); } elsif ( lc $cmd =~ /open|led_brightness|eject_power|eject_delay|detection_area|detection_sensitivity/ ) { return "please set Attribut LiberoIP first" @@ -310,7 +315,7 @@ sub Write { method => $method, header => $header, ignoreredirects => 1, - #doTrigger => 1, + doTrigger => 1, callback => \&ErrorHandling } ); @@ -333,8 +338,12 @@ sub ErrorHandling { my $name = $hash->{NAME}; my $dhash = $hash; - + Log3 $name, 4, "HailoLibero ($name) - ErrorHandling ".Dumper($param); if ( ReadingsVal( $name, 'cookie', 'none' ) eq 'none' ){ + + my ($logintry) = ($data =~ /(Invalid.+)

{httpheader} =~ /Set-Cookie: (.*)\s/g); foreach my $cookie (@cookies){ readingsSingleUpdate( $hash, 'state', 'connected', 1 );