Merge branch 'master' of https://git.cavogrenier.fr/fjumelle/domoticz-Heatzy
This commit is contained in:
14
plugin.py
14
plugin.py
@@ -4,7 +4,7 @@
|
||||
#
|
||||
#pylint: disable=line-too-long,broad-exception-caught,possibly-used-before-assignment
|
||||
"""
|
||||
<plugin key="Heatzy_FJU" name="Heatzy Pilote" author="fjumelle" version="1.0.2" wikilink="" externallink="">
|
||||
<plugin key="Heatzy_FJU" name="Heatzy Pilote" author="fjumelle" version="1.0.4" wikilink="" externallink="">
|
||||
<description>
|
||||
<h2>Heatzy Pilote</h2><br/>
|
||||
Implementation of Heatzy Pilote as a Domoticz Plugin.<br/>
|
||||
@@ -41,6 +41,9 @@ if None is not None: #Fake statement to remove warning on global Domoticz variab
|
||||
Images = Images # type: ignore #NOSONAR #pylint: disable=undefined-variable,self-assigning-variable
|
||||
Devices = Devices # type: ignore #NOSONAR #pylint: disable=undefined-variable,self-assigning-variable
|
||||
|
||||
global Parameters
|
||||
global Devices
|
||||
|
||||
HEATZY_MODE = {
|
||||
'停止': 'OFF',
|
||||
'解冻': 'FROSTFREE',
|
||||
@@ -146,6 +149,10 @@ class BasePlugin:
|
||||
Domoticz.Status("No connection to Heatzy API ==> Device disabled for 15 minutes")
|
||||
self.pooling_current_step = - 15 * 60 // self.pooling + self.pooling_steps
|
||||
self.retry = self.max_retry
|
||||
#Force refresh token/did
|
||||
Domoticz.Status("Force refresh token and device id.")
|
||||
self.token = ""
|
||||
self.did = ""
|
||||
return
|
||||
|
||||
self.mode = self.get_mode()
|
||||
@@ -273,6 +280,7 @@ class BasePlugin:
|
||||
|
||||
headers = {
|
||||
'Accept': 'application/json',
|
||||
'X-Gizwits-User-token': self.token,
|
||||
'X-Gizwits-Application-Id': 'c70a66ff039d41b4a220e198b0fcc8b3',
|
||||
}
|
||||
url = f"https://euapi.gizwits.com/app/devdata/{self.did}/latest"
|
||||
@@ -324,6 +332,10 @@ class BasePlugin:
|
||||
#Invalid token
|
||||
self.token = ""
|
||||
self.did = ""
|
||||
elif 'attr' in response and len(response["attr"]) == 0:
|
||||
#attr is empty...
|
||||
Domoticz.Status("We force a setMode to try to get the correct mode at the next try...")
|
||||
self.setMode(HEATZY_MODE_VALUE['FROSTFREE'])
|
||||
return ""
|
||||
|
||||
return mode
|
||||
|
||||
Reference in New Issue
Block a user