cjkrolak / ThermostatSupervisor

supervisor to detect and correct thermostat deviations
MIT License
0 stars 0 forks source link

Honeywell invalid zone error #815

Open cjkrolak opened 6 months ago

cjkrolak commented 6 months ago
[log_msg]: Traceback (most recent call last):
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 280, in get_zones_info_with_retries
    return_val = func()
                 ^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 754, in get_zones_info
    name = self._get_name_for_device_id(device_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 515, in decorator
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 616, in _get_name_for_device_id
    name = re.findall(r'id=\s?"ZoneName"\s?>(.*) Control<', result.text)[0]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

[log_msg]: ERROR: unhandled exception list index out of range during get_zones_info_with_retries
Traceback (most recent call last):
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 94, in get_target_zone_id
    zone_id = self._get_zone_device_ids()[zone]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 80, in _get_zone_device_ids
    for _, zone in enumerate(self.get_zones_info()):
                             ^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 255, in get_zones_info
    return get_zones_info_with_retries(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 359, in get_zones_info_with_retries
    raise ex
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 280, in get_zones_info_with_retries
    return_val = func()
                 ^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 754, in get_zones_info
    name = self._get_name_for_device_id(device_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 515, in decorator
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/.local/lib/python3.11/site-packages/pyhtcc/pyhtcc.py", line 616, in _get_name_for_device_id
    name = re.findall(r'id=\s?"ZoneName"\s?>(.*) Control<', result.text)[0]
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/supervise.py", line 131, in <module>
    exec_supervise(debug=True, argv_list=argv_inputs)
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/supervise.py", line 113, in exec_supervise
    supervisor(
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/supervise.py", line 50, in supervisor
    Thermostat = mod.ThermostatClass(zone_num)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 64, in __init__
    self.device_id = self.get_target_zone_id(self.zone_name)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pi/github/ThermostatSupervisor/thermostatsupervisor/honeywell.py", line 96, in get_target_zone_id
    raise ValueError(
ValueError: zone '0' type<class 'int'> is not a valid choice for this Honeywell thermostat, valid choices are: [1457408]