msvisser/remeha_home

"List index out of range" issue?

petarlaf opened this issue · 8 comments

I've just installed the app and I'm struggling with this issue below. Any ideas?

023-09-26 08:59:36.993 DEBUG (MainThread) [custom_components.remeha_home.coordinator] Requested technical information for appliance 66682eae-c916-4fdf-896b-57b285d63ee7: {'applianceName': 'EHC-04', 'internetConnectedGateways': [{'name': 'RU2', 'serialNumber': '20250C14', 'softwareVersion': '2.23.4', 'hardwareVersion': '6', 'controlledZoneName': None}]}
2023-09-26 08:59:36.993 ERROR (MainThread) [custom_components.remeha_home.coordinator] Unexpected error fetching remeha_home data: list index out of range
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/remeha_home/coordinator.py", line 80, in _async_update_data
technical_info = self.technical_info[appliance_id][
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: list index out of range
2023-09-26 08:59:36.996 DEBUG (MainThread) [custom_components.remeha_home.coordinator] Finished fetching remeha_home data in 0.999 seconds (success: False)
2023-09-26 08:59:36.996 WARNING (MainThread) [homeassistant.config_entries] Config entry 'XXXXX@gmail.com' for remeha_home integration not ready yet: list index out of range; Retrying in background

ssayol commented

I'm having exactly the same issue. Not sure is due to the fact I'm having different locations and was only ready for one...

I have only 1 'location', but I do have 2 thermostats in that location? Could that be it?

If I understand the log correctly, it seems there are multiple zones, but there is only a single internet connected thermostat. Right now the code was assuming that there is always a thermostat per climate zone, but this is probably incorrect.

Could you add a logging line in coordinator.py after line 44, which logs the content of the data variable? If you can share this, I can have a look if I can solve your problem.

I think you are right - it is something related to that. I do have 2 zones and 2 thermostats. But in fact, the remaha app only adds 1 thermostat per home for me. But that seems to be sufficient to still control both zones/thermostats. If I try to add the 2nd thermostat manually, it creates a brand new home. So I get 2 homes, with 1 thermostat each, but each of them allow me to control both zones and both thermostats...

Can you please confirm what exact command I need to enter? I'm not familiar with the HA logger - the basic print(data) didn't work :)

Ok got it I think ! See below - this is now with both thermostats connected - but as I explained above, it goes to two separate "houseName"s

ndexError: list index out of range
2023-10-04 21:50:52.443 DEBUG (MainThread) [custom_components.remeha_home.coordinator] {'appliances': [{'applianceId': '66682eae-c916-4fdf-896b-57b285d63ee7', 'applianceOnline': True, 'applianceConnectionStatus': 'Connected', 'applianceType': 'HeatPump', 'pairingStatus': 'Paired', 'houseName': 'Home Barcelona', 'errorStatus': 'Running', 'activeThermalMode': 'Idle', 'operatingMode': 'ForcedCooling', 'outdoorTemperature': 24.0, 'outdoorTemperatureSource': 'Wired', 'outdoorTemperatureInformation': {'outdoorTemperatureSource': 'Wired', 'internetOutdoorTemperature': None, 'applianceOutdoorTemperature': 24.0, 'utilizeOutdoorTemperature': None, 'internetOutdoorTemperatureExpected': False, 'isDayTime': False, 'weatherCode': 'partly cloudy', 'cloudOutdoorTemperature': 24, 'cloudOutdoorTemperatureStatus': 'Ok'}, 'currentTimestamp': None, 'holidaySchedule': {'startTime': '0001-01-01T00:00:00Z', 'endTime': '0001-01-01T00:00:00Z', 'active': False}, 'autoFillingMode': 'NotAvailable', 'autoFilling': {'mode': 'NotAvailable', 'status': 'NotAvailable'}, 'waterPressure': 1.5, 'waterPressureOK': True, 'capabilityEnergyConsumption': True, 'capabilityCooling': True, 'capabilityPreHeat': True, 'capabilityMultiSchedule': True, 'capabilityPowerSettings': False, 'capabilityOutdoorTemperature': True, 'capabilityUtilizeOutdoorTemperature': False, 'capabilityInternetOutdoorTemperatureExpected': False, 'hasOverwrittenActivityNames': True, 'gasCalorificValue': None, 'isActive': True, 'hotWaterZones': [{'hotWaterZoneId': '6bae63a4-dab7-4d36-0234-08dbbdc26530', 'applianceId': '66682eae-c916-4fdf-896b-57b285d63ee7', 'name': 'DHW', 'zoneType': 'DHW', 'dhwZoneMode': 'Scheduling', 'dhwStatus': 'Idle', 'dhwType': 'Tank', 'nextSwitchActivity': 'Comfort', 'capabilityBoostMode': True, 'dhwTemperature': 38.7, 'targetSetpoint': 10.0, 'reducedSetpoint': 10.0, 'comfortSetPoint': 43.0, 'setPointMin': 40.0, 'setPointMax': 65.0, 'setPointRanges': {'comfortSetpointMin': 40.0, 'comfortSetpointMax': 65.0, 'reducedSetpointMin': 10.0, 'reducedSetpointMax': 60.0}, 'boostDuration': '00:30', 'boostModeEndTime': '0001-01-01T00:00:00Z', 'nextSwitchTime': '2023-10-05T03:00:00Z', 'activeDwhTimeProgramNumber': 1}], 'climateZones': [{'climateZoneId': '58fddd7b-ba71-43be-b52e-08dbbdc2652e', 'applianceId': '66682eae-c916-4fdf-896b-57b285d63ee7', 'name': 'Planta 1', 'zoneIcon': 3, 'zoneType': 'CH', 'activeComfortDemand': 'Idle', 'zoneMode': 'FrostProtection', 'controlStrategy': 'Automatic', 'firePlaceModeActive': False, 'capabilityFirePlaceMode': True, 'roomTemperature': 27.0, 'setPoint': 20.0, 'nextSetpoint': 25.5, 'nextSwitchTime': '2023-10-04T23:00:00Z', 'setPointMin': 5.0, 'setPointMax': 30.0, 'currentScheduleSetPoint': 24.0, 'activeHeatingClimateTimeProgramNumber': 3, 'capabilityCooling': True, 'capabilityTemporaryOverrideEndTime': True, 'preHeat': {'enabled': True, 'active': False}, 'temporaryOverride': {'endTime': '0001-01-01T00:00:00Z'}}, {'climateZoneId': '4f6e2c8c-f79d-48b5-b52f-08dbbdc2652e', 'applianceId': '66682eae-c916-4fdf-896b-57b285d63ee7', 'name': 'Planta 2', 'zoneIcon': 2, 'zoneType': 'CH', 'activeComfortDemand': 'Idle', 'zoneMode': 'FrostProtection', 'controlStrategy': 'Automatic', 'firePlaceModeActive': False, 'capabilityFirePlaceMode': True, 'roomTemperature': 27.5, 'setPoint': 19.5, 'nextSetpoint': 30.0, 'nextSwitchTime': '2023-10-04T23:00:00Z', 'setPointMin': 5.0, 'setPointMax': 30.0, 'currentScheduleSetPoint': 25.0, 'activeHeatingClimateTimeProgramNumber': 2, 'capabilityCooling': True, 'capabilityTemporaryOverrideEndTime': True, 'preHeat': {'enabled': True, 'active': False}, 'temporaryOverride': {'endTime': '0001-01-01T00:00:00Z'}}]}, {'applianceId': '3bc1c139-b1d9-4828-b91d-93345dc8cef3', 'applianceOnline': True, 'applianceConnectionStatus': 'Connected', 'applianceType': 'HeatPump', 'pairingStatus': 'Paired', 'houseName': 'Home', 'errorStatus': 'Running', 'activeThermalMode': 'Idle', 'operatingMode': 'ForcedCooling', 'outdoorTemperature': 24.0, 'outdoorTemperatureSource': 'Wired', 'outdoorTemperatureInformation': {'outdoorTemperatureSource': 'Wired', 'internetOutdoorTemperature': None, 'applianceOutdoorTemperature': 24.0, 'utilizeOutdoorTemperature': None, 'internetOutdoorTemperatureExpected': False, 'isDayTime': None, 'weatherCode': None, 'cloudOutdoorTemperature': None, 'cloudOutdoorTemperatureStatus': 'NoLocation'}, 'currentTimestamp': None, 'holidaySchedule': {'startTime': '0001-01-01T00:00:00Z', 'endTime': '0001-01-01T00:00:00Z', 'active': False}, 'autoFillingMode': 'NotAvailable', 'autoFilling': {'mode': 'NotAvailable', 'status': 'NotAvailable'}, 'waterPressure': 1.5, 'waterPressureOK': True, 'capabilityEnergyConsumption': True, 'capabilityCooling': True, 'capabilityPreHeat': True, 'capabilityMultiSchedule': True, 'capabilityPowerSettings': False, 'capabilityOutdoorTemperature': True, 'capabilityUtilizeOutdoorTemperature': False, 'capabilityInternetOutdoorTemperatureExpected': False, 'hasOverwrittenActivityNames': False, 'gasCalorificValue': None, 'isActive': True, 'hotWaterZones': [{'hotWaterZoneId': 'd7456df4-cab1-49c1-fb9c-08dbbdc5257d', 'applianceId': '3bc1c139-b1d9-4828-b91d-93345dc8cef3', 'name': 'DHW', 'zoneType': 'DHW', 'dhwZoneMode': 'Scheduling', 'dhwStatus': 'Idle', 'dhwType': 'Tank', 'nextSwitchActivity': 'Comfort', 'capabilityBoostMode': True, 'dhwTemperature': 38.5, 'targetSetpoint': 10.0, 'reducedSetpoint': 10.0, 'comfortSetPoint': 43.0, 'setPointMin': 40.0, 'setPointMax': 65.0, 'setPointRanges': {'comfortSetpointMin': 40.0, 'comfortSetpointMax': 65.0, 'reducedSetpointMin': 10.0, 'reducedSetpointMax': 60.0}, 'boostDuration': '00:30', 'boostModeEndTime': '0001-01-01T00:00:00Z', 'nextSwitchTime': '2023-10-05T03:00:00Z', 'activeDwhTimeProgramNumber': 1}], 'climateZones': [{'climateZoneId': 'c307e18c-c31e-4b66-7918-08dbbdc5257c', 'applianceId': '3bc1c139-b1d9-4828-b91d-93345dc8cef3', 'name': 'Planta 1', 'zoneIcon': 3, 'zoneType': 'CH', 'activeComfortDemand': 'Idle', 'zoneMode': 'FrostProtection', 'controlStrategy': 'Automatic', 'firePlaceModeActive': False, 'capabilityFirePlaceMode': True, 'roomTemperature': 27.0, 'setPoint': 20.0, 'nextSetpoint': 25.5, 'nextSwitchTime': '2023-10-04T23:00:00Z', 'setPointMin': 5.0, 'setPointMax': 30.0, 'currentScheduleSetPoint': 24.0, 'activeHeatingClimateTimeProgramNumber': 3, 'capabilityCooling': True, 'capabilityTemporaryOverrideEndTime': True, 'preHeat': {'enabled': True, 'active': False}, 'temporaryOverride': {'endTime': '0001-01-01T00:00:00Z'}}, {'climateZoneId': '7aaf4e77-05c3-49de-7919-08dbbdc5257c', 'applianceId': '3bc1c139-b1d9-4828-b91d-93345dc8cef3', 'name': 'Planta 2', 'zoneIcon': 2, 'zoneType': 'CH', 'activeComfortDemand': 'Idle', 'zoneMode': 'FrostProtection', 'controlStrategy': 'Automatic', 'firePlaceModeActive': False, 'capabilityFirePlaceMode': True, 'roomTemperature': 27.5, 'setPoint': 19.5, 'nextSetpoint': 30.0, 'nextSwitchTime': '2023-10-04T23:00:00Z', 'setPointMin': 5.0, 'setPointMax': 30.0, 'currentScheduleSetPoint': 25.0, 'activeHeatingClimateTimeProgramNumber': 2, 'capabilityCooling': True, 'capabilityTemporaryOverrideEndTime': True, 'preHeat': {'enabled': True, 'active': False}, 'temporaryOverride': {'endTime': '0001-01-01T00:00:00Z'}}]}]}
2023-10-04 21:50:52.721 DEBUG (MainThread) [custom_components.remeha_home.coordinator] Requested technical information for appliance 66682eae-c916-4fdf-896b-57b285d63ee7: {'applianceName': 'EHC-04', 'internetConnectedGateways': [{'name': 'RU2', 'serialNumber': '20250C14', 'softwareVersion': '2.23.4', 'hardwareVersion': '6', 'controlledZoneName': None}]}
2023-10-04 21:50:52.721 ERROR (MainThread) [custom_components.remeha_home.coordinator] Unexpected error fetching remeha_home data: list index out of range
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 290, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/remeha_home/coordinator.py", line 81, in _async_update_data
technical_info = self.technical_info[appliance_id][
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: list index out of range
2023-10-04 21:50:52.724 DEBUG (MainThread) [custom_components.remeha_home.coordinator] Finished fetching remeha_home data in 0.631 seconds (success: False)
2023-10-04 21:50:52.724 WARNING (MainThread) [homeassistant.config_entries] Config entry 'p.XXXX@gmail.com' for remeha_home integration not ready yet: list index out of range; Retrying in background

In the code I made the assumption that there would a thermostat for every climate zone. This seems to not be the case, so for now I'm assuming a single thermostat per appliance.

I have pushed version 0.1.13, which should fix the issues you are seeing. Let me know if that is not the case.

Thank you - I can confirm this works now!

ssayol commented