Browse Source

Fixed _process_wosensorth() in __init__.py (#25)

This commit fixed bugs of _process_wosensorth().
- fixed wrong sign flag process
- fixed KeyError caused by _wosensorth_data
Monotrea 2 years ago
parent
commit
1219996455
1 changed files with 2 additions and 1 deletions
  1. 2 1
      switchbot/__init__.py

+ 2 - 1
switchbot/__init__.py

@@ -77,11 +77,12 @@ def _process_wosensorth(data) -> dict:
 
     _sensor_data = binascii.unhexlify(data.encode())
 
-    _temp_sign = _sensor_data[4] & 0b10000000
+    _temp_sign = 1 if _sensor_data[4] & 0b10000000 else -1
     _temp_c = _temp_sign * ((_sensor_data[4] & 0b01111111) + (_sensor_data[3] / 10))
     _temp_f = (_temp_c * 9 / 5) + 32
     _temp_f = (_temp_f * 10) / 10
 
+    _wosensorth_data["temp"] = {}
     _wosensorth_data["temp"]["c"] = _temp_c
     _wosensorth_data["temp"]["f"] = _temp_f