Open Krzysztonek opened 1 week ago
Anything we can do about it?
Anybody looking into this? Some feedback would be nice ,😀
Pretty sure this is fixed pal. Have you updated the Integration?
Pretty sure this is fixed pal.
Not true... I'm still facing this issue, even after updating this integration to the last available version. All myPyllant sensors are being skipped:
This error originated from a custom integration.
Logger: custom_components.mypyllant.coordinator
Source: helpers/update_coordinator.py:386
integration: myVAILLANT (documentation, issues)
First occurred: October 15, 2024 at 7:00:41 PM (440 occurrences)
Last logged: 12:15:52 AM
Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
Anything we can do about it?
Anybody looking into this? Some feedback would be nice ,😀
Pretty sure this is fixed pal. Have you updated the Integration?
It is not fixed, otherwise I would not ask for it ;-)
I am on v0.8.17 and the same errors since 1 week.
I know it is a private project and involves a lot of work, but it would be nice to let us know if at least someone works on a solution.
I am Also on 8.17 and other HA versions are updated as well. Unfortunately same existing issue on the Integration.....
Pretty sure this is fixed pal.
Not true... I'm still facing this issue, even after updating this integration to the last available version.
All myPyllant sensors are being skipped:
This error originated from a custom integration. Logger: custom_components.mypyllant.coordinator Source: helpers/update_coordinator.py:386 integration: myVAILLANT (documentation, issues) First occurred: October 15, 2024 at 7:00:41 PM (440 occurrences) Last logged: 12:15:52 AM Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
Isn't this issue due to your code calling the api too often and so getting blocked. There are some options on the configuration of the integration that govern how often the integration polls the api. Maybe you have amended these and it is requesting data too often?
Isn't this issue due to your code calling the api too often and so getting blocked. There are some options on the configuration of the integration that govern how often the integration polls the api. Maybe you have amended these and it is requesting data too often?
I don't think I'm exceeding any of the api parameters. They are my current settings:
Even if I set them to the longer values, nothing changes and all myPyllant sensor remain unavailable.
Isn't this issue due to your code calling the api too often and so getting blocked. There are some options on the configuration of the integration that govern how often the integration polls the api. Maybe you have amended these and it is requesting data too often?
I don't think I'm exceeding any of the api parameters. They are my current settings:
Even if I set them to the longer values, nothing changes and all myPyllant sensor remain unavailable.
Not that's Not the same. If too many calls to the API then the vaillant own app ist available too. But in iur case you get all data and functikns working with the vaillant app so its another API failure of the own HA INTEGRATION
Pretty sure this is fixed pal.
Not true... I'm still facing this issue, even after updating this integration to the last available version.
All myPyllant sensors are being skipped:
This error originated from a custom integration. Logger: custom_components.mypyllant.coordinator Source: helpers/update_coordinator.py:386 integration: myVAILLANT (documentation, issues) First occurred: October 15, 2024 at 7:00:41 PM (440 occurrences) Last logged: 12:15:52 AM Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/homes, skipping update of myVAILLANT data for another 10800s
Isn't this issue due to your code calling the api too often and so getting blocked. There are some options on the configuration of the integration that govern how often the integration polls the api. Maybe you have amended these and it is requesting data too often?
The settings are the same as before, so obviously this hint is not useful at all. It is a bug in the integration which needs to be fixed, so that we can all enjoy the data again.
I encountered the same problem yesterday. When I restart the integration I will receive values from the api, but once the next call is made (after 60 secs following the configuration) I will get the error above: Quota exceeded. My version is 0.8.17
I have had the same problem for a few days. Is it possible that Vaillant API is blocking our IP address? When I am connected to my own wifi, I have the same problems with the Vaillant app. Without my wifi, the app works fine.
During the second request I get the following message in HA The action climate/set_hvac_mode could not be executed. expected HVASMode or one of "üff", "heat", "cool", "heat_coll", "auto", "dry", "fan_only" for dictionary value @ data["havac_mode!]
I don't think so. The myVailliant app works for me. I forced a new IP but nothing changes: integration fetches the data properly once I reload the integration. But shortly after all entities become unavailable. I have two identical Vaillant heat pumps in the app and both also show up in the integration - both with the same faulty behavior.
I think Vaillant may have forced some kind of reset for some users. Here is my situation, it may not be relevant but there is no such thing as too much information:
2024-10-18 14:30:18.128 ERROR (MainThread) [custom_components.mypyllant.coordinator] Error fetching myVAILLANT data: Quota Exceeded on https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/emf/v2/GUID/buckets?resolution=HOUR&operationMode=DOMESTIC_HOT_WATER&energyType=CONSUMED_ELECTRICAL_ENERGY&startDate=2024-10-18T00:00:00.000%2B01:00&endDate=2024-10-19T00:00:00.000%2B01:00, skipping update of myVAILLANT data for another 10800s
Make of this what you will!
Thanky you - very interesting. Same error message as mine, same behavior (single time success then failure). I will mess with the passwords on app and website and see where that leads.
I altered my password for website & app and then also had to change it for the integration obviously. But it didn't matter: still the same failure. When I reload or even re-install the integration I will get a one-time reading - and then the aforementioned error strikes. It worked totally fine until yesterday afternoon.
Edit: I just realized that the myVaillant app generally works, but the energy info overview (bottom right bar graph symbol) where you can look up the energy consumtion etc. doesn't load and the app then crashes. May this be related?
Quick update. It's lasted an hour, and now I'm in the same situation as you. Even deleting the integration and putting it back in does little.
However I've tried playing with the python module, specifically "generate.test.data" and I get this
>python -m myPyllant.tests.generate_test_data myusername mypassword vaillant --country unitedkingdom
Generating test data for 8d2cd2b7d4426296cd8be75e66868f03ed8fb8dd...
Error fetching https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/emf/v2/bf7981f6-08ad-40ba-b81a-52a1e3f7df6d/devices/ab67a924-6cc4-5829-b91b-e0b812f469ce/buckets?resolution=HOUR&operationMode=DOMESTIC_HOT_WATER&energyType=CONSUMED_ELECTRICAL_ENERGY&startDate=2024-10-17T00%3A00%3A00Z&endDate=2024-10-18T00%3A00%3A00Z: 403, message='Quota Exceeded', url='https://api.vaillant-group.com/service-connected-control/end-user-app-api/v1/emf/v2/GUID/devices/GUID/buckets?resolution=HOUR&operationMode=DOMESTIC_HOT_WATER&energyType=CONSUMED_ELECTRICAL_ENERGY&startDate=2024-10-17T00:00:00Z&endDate=2024-10-18T00:00:00Z'
This seems to indicate (along with the fact a reload gets a single data point) that this is Vaillant doing something rather than anything wrong with the integration. I'm going to disable it for an hour or two and see what happens over the next day or 3.
@Boeroer yes my app crashes too in the energy section. (I see they've also added heating curve adjustment?)
Based on what we have learned, my complete and utter guess is this. Vaillant has a problem with the energy consumed data API. Because of this the app crashes when trying to access it Because of this the integration has different behaviour and instead keeps repeatedly polling for it. Until at least it hits API limits and then the whole integration starts to fail.
(I have no idea what my password situation had to do with it)
I'm going to disable my energy consumption entities and see what happens
@rprdan - I agree: I also think it's something that Vaillant did to their api.
Polling: I didn't alter code but I disabled the option (in the integration's config) to pull the energy consumption data. That had no effect unfortunately. But I don't know (yet) how that's implemented...
To be fair, I've noticed that the Vaillant API has been very bad of late. It's made me consider doing it local only with EEBUS! It looks a bit of a project but the way Vaillant seem to be handling their API it could be a better long term solution.
I have a huge amount of appreciation to @signalkraft for this integration and the work they and the other contributors have put into this integration. I love it and it's my most useful integration in Home Assistant by far.
I agree. @signalkraft did a great job. I mainly used the integration to ramp up the hot water temperature and activate the boost as soon as I had enough unused solar power and also to pause when electricity prices went high (Tibber) - while I was able to monitor the temperature and so on. That was very convenient (no need to wire some relay to the circuit board and all that) and made it the most impactful part of my Home Assistant system so far (besides the evcc addon + integration).
Vaillant, like so many hardware manufacturers with a long tradition, seems to struggle with solid software engineering and development. Too bad. I still hope it gets fixed somehow...
I would be interested in a EEBUS solution as well.
The last notes do not seem to be related to the originally reported error of the integration. This integration needs to be fixed.
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.mypyllant.coordinator
Quelle: helpers/update_coordinator.py:354
Integration: myVAILLANT (Dokumentation, Probleme)
Erstmals aufgetreten: 08:39:50 (2 Vorkommnisse)
Zuletzt protokolliert: 08:39:51
Unexpected error fetching myVAILLANT data
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data
data = [
^
File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 358, in get_systems
system = System.from_api(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 944, in from_api
Circuit.from_api(system_id=system.id, timezone=system.timezone, **c)
File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 83, in from_api
return cls(**data)
^^^^^^^^^^^
File "pydantic/dataclasses.py", line 329, in pydantic.dataclasses._add_pydantic_validation_attributes.new_init
File "pydantic/dataclasses.py", line 293, in pydantic.dataclasses._add_pydantic_validation_attributes.handle_extra_init
TypeError: Circuit.__init__() missing 1 required positional argument: 'circuit_state'
@dataclass(config=MyPyllantConfig)
class Circuit(MyPyllantDataClass):
system_id: str
index: int
circuit_state: CircuitState | None = None
mixer_circuit_type_external: str | None = None
set_back_mode_enabled: bool | None = None
zones: list = field(default_factory=list)
is_cooling_allowed: bool | None = None
current_circuit_flow_temperature: float | None = None
heating_curve: float | None = None
heating_flow_temperature_minimum_setpoint: float | None = None
heating_flow_temperature_maximum_setpoint: float | None = None
min_flow_temperature_setpoint: float | None = None
calculated_energy_manager_state: str | None = None
This seems to work, but I’m not a programmer and unfortunately cannot implement it myself.
I updated my system to version 0.8.17, but I still unable to fetch myVAILLANT data. Here is the traceback:
2024-10-10 07:46:42.998 ERROR (MainThread) [custom_components.mypyllant.coordinator] Unexpected error fetching myVAILLANT data Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 312, in _async_refresh self.data = await self._async_update_data() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/mypyllant/coordinator.py", line 177, in _async_update_data data = [ ^ File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 358, in get_systems system = System.from_api( ^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 944, in from_api Circuit.from_api(system_id=system.id, timezone=system.timezone, **c) File "/usr/local/lib/python3.12/site-packages/myPyllant/models.py", line 83, in from_api return cls(**data) ^^^^^^^^^^^ File "pydantic/dataclasses.py", line 329, in pydantic.dataclasses._add_pydantic_validation_attributes.new_init File "pydantic/dataclasses.py", line 293, in pydantic.dataclasses._add_pydantic_validation_attributes.handle_extra_init TypeError: Circuit.__init__() missing 1 required positional argument: 'circuit_state'
Here is the output of
mypyllant.generate_test_data
system: state: system: outdoorTemperature: 14.125 outdoorTemperatureAverage24h: 11.0703125 systemFlowTemperature: 29.8125 systemWaterPressure: 1.3 legionellaProtectionStartWeekday: MONDAY energyManagerState: HEATING systemOff: false zones: - index: 0 desiredRoomTemperatureSetpointHeating: 0 desiredRoomTemperatureSetpoint: 0 currentRoomTemperature: 29.8125 currentRoomHumidity: 31 currentSpecialFunction: NONE circuits: - index: 0 circuitState: STANDBY currentCircuitFlowTemperature: 29.8125 heatingCircuitFlowSetpoint: 0 calculatedEnergyManagerState: HEATING_STANDBY - index: 2 circuitState: STANDBY heatingCircuitFlowSetpoint: 0 calculatedEnergyManagerState: HEATING_STANDBY - index: 1 calculatedEnergyManagerState: HEATING_STANDBY domesticHotWater: - index: 255 currentSpecialFunction: NONE currentDomesticHotWaterTemperature: 47.5 ventilations: [] properties: system: controllerType: VRC700 controllerRevision: R4 systemScheme: 1 backupHeaterType: CONDENSING backupHeaterAllowedFor: DOMESTIC_HOT_WATER_AND_HEATING temporaryAllowBackupHeater: DISABLED moduleConfigurationVR71: 3 energyProvidePowerCutBehavior: DISABLE_HEATPUMP smartPhotovoltaicBufferOffset: 10 externalEnergyManagementActivation: false operationModeEffect: ALL zones: - index: 0 isActive: true zoneBinding: CENTRAL_CONTROL associatedCircuitIndex: 0 circuits: - index: 0 mixerCircuitTypeExternal: HEATING heatingCircuitType: DIRECT_HEATING_CIRCUIT isCoolingAllowed: false - index: 2 - index: 1 mixerCircuitTypeExternal: FIX_VALUE heatingCircuitType: DIRECT_HEATING_CIRCUIT isCoolingAllowed: false domesticHotWater: - index: 255 minSetpoint: 35 maxSetpoint: 65 ventilations: []
Indeed, here is a circuit with index 1, which has no state and other properties data. I don't know what is this. I made
circuit_state
positional argument optional, and now it works like a charm!@dataclass(config=MyPyllantConfig) class Circuit(MyPyllantDataClass): system_id: str index: int circuit_state: CircuitState | None = None mixer_circuit_type_external: str | None = None set_back_mode_enabled: bool | None = None zones: list = field(default_factory=list) is_cooling_allowed: bool | None = None current_circuit_flow_temperature: float | None = None heating_curve: float | None = None heating_flow_temperature_minimum_setpoint: float | None = None heating_flow_temperature_maximum_setpoint: float | None = None min_flow_temperature_setpoint: float | None = None calculated_energy_manager_state: str | None = None
Where did you change that?
docker exec -it homeassistant /bin/bash
vi /usr/local/lib/python3.12/site-packages/myPyllant/models.py
I encountered the same problem yesterday. When I restart the integration I will receive values from the api, but once the next call is made (after 60 secs following the configuration) I will get the error above: Quota exceeded. My version is 0.8.17
Exactly same thing here since 2 weeks. Updates to 0.8.17 and HA core is upgrade to 2024.10.3.
I’ve been experiencing more outages again over the past few days. Version 8.17 and the latest Home Assistant installation. It’s unfortunate, especially now that the heating season is starting here. I use the integration a lot.
Ditto.. 8.17 & latest available HA and pretty much all sensors unavailable.. oddly I can still see the basic sensors of the remote thermostat controller (sensoHOME) but everything else is currently dead.
Before submitting a new issue
Problem description
Unexpected error fetching myVAILLANT data
Logs
The app works fine for me. And what is strange, I'm able to run
TEST DATA
action from HA: