From 95a0da0a1b84c806117c5eecd3bfc82a4cb39ec4 Mon Sep 17 00:00:00 2001
From: rapster <>
Date: Mon, 24 Aug 2015 05:41:10 +0000
Subject: [PATCH] 74_Unifi: Added re-login immediately if cookie gets invalid
git-svn-id: https://svn.fhem.de/fhem/trunk@9123 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/74_Unifi.pm | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/fhem/FHEM/74_Unifi.pm b/fhem/FHEM/74_Unifi.pm
index 957c46346..a2e93e617 100644
--- a/fhem/FHEM/74_Unifi.pm
+++ b/fhem/FHEM/74_Unifi.pm
@@ -1,5 +1,5 @@
###############################################################################
-# $Id: 74_Unifi.pm 2015-08-23 23:00 - rapster - rapster at x0e dot de $
+# $Id: 74_Unifi.pm 2015-08-24 07:10 - rapster - rapster at x0e dot de $
package main;
use strict;
@@ -362,8 +362,13 @@ sub Unifi_GetClients_Receive($) {
if (defined($data->{meta}->{msg})) {
Log3 $name, 5, "$name: GetClients_Receive - Failed! - state:'$data->{meta}->{rc}' - msg:'$data->{meta}->{msg}'";
if($data->{meta}->{msg} eq 'api.err.LoginRequired') {
- Log3 $name, 5, "$name: GetClients_Receive - LoginRequired detected. Set state to disconnected...";
- readingsSingleUpdate($hash,"state","disconnected",1) if($hash->{READINGS}->{state}->{VAL} ne "disconnected");
+ Log3 $name, 5, "$name: GetClients_Receive - LoginRequired detected...";
+ if($hash->{STATE} ne 'disconnected') {
+ Log3 $name, 5, "$name: GetClients_Receive - I am the first who detected LoginRequired. Do re-login...";
+ readingsSingleUpdate($hash,"state","disconnected",1);
+ RemoveInternalTimer($hash);
+ Unifi_DoUpdate($hash);
+ }
}
} else {
Log3 $name, 5, "$name: GetClients_Receive - Failed (without message)! - state:'$data->{meta}->{rc}'";
@@ -453,7 +458,6 @@ The device will be still connected, even it is in PowerSave-Mode. (In this mode
Notes:
-