From b717a51436c7d7a1a8a9829a05c6aab25e941b75 Mon Sep 17 00:00:00 2001 From: stefanknotzer <67198194+stefanknotzer@users.noreply.github.com> Date: Mon, 3 Jul 2023 17:43:30 +0200 Subject: [PATCH] Tapo: retry login on error (#8733) --- meter/tapo/connection.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meter/tapo/connection.go b/meter/tapo/connection.go index 49e24f491..ef81c4cc8 100644 --- a/meter/tapo/connection.go +++ b/meter/tapo/connection.go @@ -292,6 +292,17 @@ func (d *Connection) DoSecureRequest(uri string, taporequest map[string]interfac return nil, err } + // Login atempt in case of tapo switch connection hicups + if res.ErrorCode == 9999 { + if err := d.Login(); err != nil { + return nil, err + } + + if err := d.DoJSON(req, &res); err != nil { + return nil, err + } + } + if err := d.CheckErrorCode(res.ErrorCode); err != nil { return nil, err }