python-tado 0.17.4__tar.gz → 0.17.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python-tado-0.17.4/python_tado.egg-info → python_tado-0.17.6}/PKG-INFO +1 -1
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/const.py +19 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/interface.py +16 -3
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/zone.py +36 -0
- {python-tado-0.17.4 → python_tado-0.17.6/python_tado.egg-info}/PKG-INFO +1 -1
- {python-tado-0.17.4 → python_tado-0.17.6}/setup.py +1 -1
- {python-tado-0.17.4 → python_tado-0.17.6}/AUTHORS +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/LICENSE +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/__init__.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/__main__.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/exceptions.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/http/__init__.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/http/http.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/logging/__init__.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/logging/logging.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/polyfill/__init__.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/polyfill/strenum.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/README.md +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/SOURCES.txt +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/dependency_links.txt +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/entry_points.txt +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/not-zip-safe +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/requires.txt +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/top_level.txt +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/setup.cfg +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/tests/test_tado.py +0 -0
- {python-tado-0.17.4 → python_tado-0.17.6}/tests/test_zone.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-tado
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.6
|
|
4
4
|
Summary: PyTado from chrism0dwk, modfied by w.malgadey, diplix, michaelarnauts, LenhartStephan, splifter, syssi, andersonshatch, Yippy, p0thi, Coffee2CodeNL, chiefdragon
|
|
5
5
|
Home-page: https://github.com/wmalgadey/PyTado
|
|
6
6
|
Author: chrism0dwk, w.malgadey
|
|
@@ -22,6 +22,25 @@ CONST_FAN_LOW = "LOW"
|
|
|
22
22
|
CONST_FAN_MIDDLE = "MIDDLE"
|
|
23
23
|
CONST_FAN_HIGH = "HIGH"
|
|
24
24
|
|
|
25
|
+
CONST_FAN_SPEED_OFF = "OFF"
|
|
26
|
+
CONST_FAN_SPEED_AUTO = "AUTO"
|
|
27
|
+
CONST_FAN_SPEED_SILENT = "SILENT"
|
|
28
|
+
CONST_FAN_SPEED_LEVEL1 = "LEVEL1"
|
|
29
|
+
CONST_FAN_SPEED_LEVEL2 = "LEVEL1"
|
|
30
|
+
CONST_FAN_SPEED_LEVEL3 = "LEVEL3"
|
|
31
|
+
CONST_FAN_SPEED_LEVEL4 = "LEVEL4"
|
|
32
|
+
|
|
33
|
+
CONST_VERTICAL_SWING_OFF = "OFF"
|
|
34
|
+
CONST_VERTICAL_SWING_ON = "ON"
|
|
35
|
+
|
|
36
|
+
CONST_HORIZONTAL_SWING_OFF = "OFF"
|
|
37
|
+
CONST_HORIZONTAL_SWING_ON = "ON"
|
|
38
|
+
CONST_HORIZONTAL_SWING_LEFT = "LEFT"
|
|
39
|
+
CONST_HORIZONTAL_SWING_MID_LEFT = "MID_LEFT"
|
|
40
|
+
CONST_HORIZONTAL_SWING_MID = "MID"
|
|
41
|
+
CONST_HORIZONTAL_SWING_MID_RIGHT = "MID_RIGHT"
|
|
42
|
+
CONST_HORIZONTAL_SWING_RIGHT = "RIGHT"
|
|
43
|
+
|
|
25
44
|
# When we change the temperature setting, we need an overlay mode
|
|
26
45
|
CONST_OVERLAY_TADO_MODE = "NEXT_TIME_BLOCK" # wait until tado changes the mode automatic
|
|
27
46
|
CONST_OVERLAY_MANUAL = "MANUAL" # the user has change the temperature or mode manually
|
|
@@ -509,7 +509,8 @@ class Tado:
|
|
|
509
509
|
|
|
510
510
|
# <editor-fold desc="Deprecated">
|
|
511
511
|
def setZoneOverlay(self, zone, overlayMode, setTemp=None, duration=None, deviceType='HEATING', power="ON",
|
|
512
|
-
mode=None, fanSpeed=None, swing=None
|
|
512
|
+
mode=None, fanSpeed=None, swing=None, fanLevel=None, verticalSwing=None,
|
|
513
|
+
horizontalSwing=None):
|
|
513
514
|
"""Set current overlay for a zone (Deprecated)"""
|
|
514
515
|
warnings.warn("The 'setZoneOverlay' method is deprecated, "
|
|
515
516
|
"use 'set_zone_overlay' instead", DeprecationWarning, 2)
|
|
@@ -522,12 +523,17 @@ class Tado:
|
|
|
522
523
|
power=power,
|
|
523
524
|
mode=mode,
|
|
524
525
|
fan_speed=fanSpeed,
|
|
525
|
-
swing=swing
|
|
526
|
+
swing=swing,
|
|
527
|
+
fan_level=fanLevel,
|
|
528
|
+
vertical_swing=verticalSwing,
|
|
529
|
+
horizontal_swing=horizontalSwing
|
|
530
|
+
)
|
|
526
531
|
|
|
527
532
|
# </editor-fold>
|
|
528
533
|
|
|
529
534
|
def set_zone_overlay(self, zone, overlay_mode, set_temp=None, duration=None, device_type='HEATING', power="ON",
|
|
530
|
-
mode=None, fan_speed=None, swing=None
|
|
535
|
+
mode=None, fan_speed=None, swing=None, fan_level=None, vertical_swing=None,
|
|
536
|
+
horizontal_swing=None):
|
|
531
537
|
"""
|
|
532
538
|
Set current overlay for a zone
|
|
533
539
|
"""
|
|
@@ -541,8 +547,15 @@ class Tado:
|
|
|
541
547
|
post_data["setting"]["temperature"] = {"celsius": set_temp}
|
|
542
548
|
if fan_speed is not None:
|
|
543
549
|
post_data["setting"]["fanSpeed"] = fan_speed
|
|
550
|
+
elif fan_level is not None:
|
|
551
|
+
post_data["setting"]["fanLevel"] = fan_level
|
|
544
552
|
if swing is not None:
|
|
545
553
|
post_data["setting"]["swing"] = swing
|
|
554
|
+
else:
|
|
555
|
+
if vertical_swing is not None:
|
|
556
|
+
post_data["setting"]["verticalSwing"] = vertical_swing
|
|
557
|
+
if horizontal_swing is not None:
|
|
558
|
+
post_data["setting"]["horizontalSwing"] = horizontal_swing
|
|
546
559
|
|
|
547
560
|
if mode is not None:
|
|
548
561
|
post_data["setting"]["mode"] = mode
|
|
@@ -15,6 +15,10 @@ from .const import (
|
|
|
15
15
|
TADO_HVAC_ACTION_TO_MODES,
|
|
16
16
|
TADO_MODES_TO_HVAC_ACTION,
|
|
17
17
|
TYPE_AIR_CONDITIONING,
|
|
18
|
+
CONST_VERTICAL_SWING_OFF,
|
|
19
|
+
CONST_HORIZONTAL_SWING_OFF,
|
|
20
|
+
CONST_FAN_SPEED_AUTO,
|
|
21
|
+
CONST_FAN_SPEED_OFF,
|
|
18
22
|
)
|
|
19
23
|
|
|
20
24
|
_LOGGER = logging.getLogger(__name__)
|
|
@@ -35,8 +39,11 @@ class TadoZone:
|
|
|
35
39
|
self._is_away = False
|
|
36
40
|
self._current_hvac_action = None
|
|
37
41
|
self._current_fan_speed = None
|
|
42
|
+
self._current_fan_level = None
|
|
38
43
|
self._current_hvac_mode = None
|
|
39
44
|
self._current_swing_mode = None
|
|
45
|
+
self._current_vertical_swing_mode = None
|
|
46
|
+
self._current_horizontal_swing_mode = None
|
|
40
47
|
self._target_temp = None
|
|
41
48
|
self._available = False
|
|
42
49
|
self._power = None
|
|
@@ -169,6 +176,11 @@ class TadoZone:
|
|
|
169
176
|
"""TADO Fan speed (tado const)."""
|
|
170
177
|
return self._current_fan_speed
|
|
171
178
|
|
|
179
|
+
@property
|
|
180
|
+
def current_fan_level(self):
|
|
181
|
+
"""TADO Fan level (tado const)."""
|
|
182
|
+
return self._current_fan_level
|
|
183
|
+
|
|
172
184
|
@property
|
|
173
185
|
def link(self):
|
|
174
186
|
"""Link (internet connection state)."""
|
|
@@ -189,6 +201,16 @@ class TadoZone:
|
|
|
189
201
|
"""TADO SWING Mode (tado const)."""
|
|
190
202
|
return self._current_swing_mode
|
|
191
203
|
|
|
204
|
+
@property
|
|
205
|
+
def current_vertical_swing_mode(self):
|
|
206
|
+
"""TADO VERTICAL SWING Mode (tado const)."""
|
|
207
|
+
return self._current_vertical_swing_mode
|
|
208
|
+
|
|
209
|
+
@property
|
|
210
|
+
def current_horizontal_swing_mode(self):
|
|
211
|
+
"""TADO HORIZONTAL SWING Mode (tado const)."""
|
|
212
|
+
return self._current_horizontal_swing_mode
|
|
213
|
+
|
|
192
214
|
@property
|
|
193
215
|
def target_temp(self):
|
|
194
216
|
"""Target temperature (C)."""
|
|
@@ -255,10 +277,13 @@ class TadoZone:
|
|
|
255
277
|
setting = data["setting"]
|
|
256
278
|
|
|
257
279
|
self._current_fan_speed = None
|
|
280
|
+
self._current_fan_level = None
|
|
258
281
|
# If there is no overlay, the mode will always be
|
|
259
282
|
# "SMART_SCHEDULE"
|
|
260
283
|
self._current_hvac_mode = CONST_MODE_OFF
|
|
261
284
|
self._current_swing_mode = CONST_MODE_OFF
|
|
285
|
+
self._current_vertical_swing_mode = CONST_VERTICAL_SWING_OFF
|
|
286
|
+
self._current_horizontal_swing_mode = CONST_HORIZONTAL_SWING_OFF
|
|
262
287
|
|
|
263
288
|
if "mode" in setting:
|
|
264
289
|
# v3 devices use mode
|
|
@@ -267,6 +292,12 @@ class TadoZone:
|
|
|
267
292
|
if "swing" in setting:
|
|
268
293
|
self._current_swing_mode = setting["swing"]
|
|
269
294
|
|
|
295
|
+
if "verticalSwing" in setting:
|
|
296
|
+
self._current_vertical_swing_mode = setting["verticalSwing"]
|
|
297
|
+
|
|
298
|
+
if "horizontalSwing" in setting:
|
|
299
|
+
self._current_horizontal_swing_mode = setting["horizontalSwing"]
|
|
300
|
+
|
|
270
301
|
self._power = setting["power"]
|
|
271
302
|
if self._power == "ON":
|
|
272
303
|
self._current_hvac_action = CONST_HVAC_IDLE
|
|
@@ -288,6 +319,11 @@ class TadoZone:
|
|
|
288
319
|
CONST_FAN_AUTO if self._power == "ON" else CONST_FAN_OFF
|
|
289
320
|
)
|
|
290
321
|
|
|
322
|
+
if "fanLevel" in setting:
|
|
323
|
+
self._current_fan_level = setting.get(
|
|
324
|
+
"fanLevel", CONST_FAN_SPEED_AUTO if self._power == "ON" else CONST_FAN_SPEED_OFF
|
|
325
|
+
)
|
|
326
|
+
|
|
291
327
|
self._preparation = "preparation" in data and data["preparation"] is not None
|
|
292
328
|
self._open_window = "openWindow" in data and data["openWindow"] is not None
|
|
293
329
|
self._open_window_detected = (
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-tado
|
|
3
|
-
Version: 0.17.
|
|
3
|
+
Version: 0.17.6
|
|
4
4
|
Summary: PyTado from chrism0dwk, modfied by w.malgadey, diplix, michaelarnauts, LenhartStephan, splifter, syssi, andersonshatch, Yippy, p0thi, Coffee2CodeNL, chiefdragon
|
|
5
5
|
Home-page: https://github.com/wmalgadey/PyTado
|
|
6
6
|
Author: chrism0dwk, w.malgadey
|
|
@@ -19,7 +19,7 @@ readme = open(here('README.md')).read()
|
|
|
19
19
|
requirements = [x.strip() for x in open(here('requirements.txt')).readlines()]
|
|
20
20
|
|
|
21
21
|
setup(name='python-tado',
|
|
22
|
-
version='0.17.
|
|
22
|
+
version='0.17.6',
|
|
23
23
|
description='PyTado from chrism0dwk, modfied by w.malgadey, diplix, michaelarnauts, LenhartStephan, splifter, syssi, andersonshatch, Yippy, p0thi, Coffee2CodeNL, chiefdragon',
|
|
24
24
|
long_description=readme,
|
|
25
25
|
keywords='tado',
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|