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.
Files changed (27) hide show
  1. {python-tado-0.17.4/python_tado.egg-info → python_tado-0.17.6}/PKG-INFO +1 -1
  2. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/const.py +19 -0
  3. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/interface.py +16 -3
  4. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/zone.py +36 -0
  5. {python-tado-0.17.4 → python_tado-0.17.6/python_tado.egg-info}/PKG-INFO +1 -1
  6. {python-tado-0.17.4 → python_tado-0.17.6}/setup.py +1 -1
  7. {python-tado-0.17.4 → python_tado-0.17.6}/AUTHORS +0 -0
  8. {python-tado-0.17.4 → python_tado-0.17.6}/LICENSE +0 -0
  9. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/__init__.py +0 -0
  10. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/__main__.py +0 -0
  11. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/exceptions.py +0 -0
  12. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/http/__init__.py +0 -0
  13. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/http/http.py +0 -0
  14. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/logging/__init__.py +0 -0
  15. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/logging/logging.py +0 -0
  16. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/polyfill/__init__.py +0 -0
  17. {python-tado-0.17.4 → python_tado-0.17.6}/PyTado/polyfill/strenum.py +0 -0
  18. {python-tado-0.17.4 → python_tado-0.17.6}/README.md +0 -0
  19. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/SOURCES.txt +0 -0
  20. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/dependency_links.txt +0 -0
  21. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/entry_points.txt +0 -0
  22. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/not-zip-safe +0 -0
  23. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/requires.txt +0 -0
  24. {python-tado-0.17.4 → python_tado-0.17.6}/python_tado.egg-info/top_level.txt +0 -0
  25. {python-tado-0.17.4 → python_tado-0.17.6}/setup.cfg +0 -0
  26. {python-tado-0.17.4 → python_tado-0.17.6}/tests/test_tado.py +0 -0
  27. {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.4
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.4
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.4',
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