mypyllant-component
mypyllant-component copied to clipboard
Recovair 260 Support?
Did take a look into https://github.com/signalkraft/mypyllant-component/issues/32 and wonder if this enabled generic support for all RecoVairs or if there is anythign special ( logs etc. ) requried to get the RecoVair260 working?
My Recovair 260/4 is not recognized either
I also have a Recovair 360/4 with bus coupler and address 2, but it ist working in my case.. but it is useless, because i only can switch beten normal and reduced mode.. but i cant select the
fan levels. Ideas is using an Co2 Sensor to select the levels .
It would be enough for me if I could just switch between normal and reduced ventilation levels. You couldn't do more with the Multimatic integration. But I only have two sensors under the VAR 260/4 and no climate control.
@swDomass you need to enable debug logs and ideally also post test data. Instructions are in the documentation, or in the template when you open a new ticket.
I am also missing my recovair 360/e, here is my testdata:
homes:
- homeName: 3549acf2becc817fd2c2e577561aee1887211eaf
serialNumber: 01e54e49018f038468465dcdc0d140abd9f4c819
systemId: 0b6c4887abf9f7cb955c9a0f50f983538d859a22
productMetadata:
productType: VR900
productionYear: "17"
productionWeek: "13"
articleNumber: "0020197116"
state: CLAIMED
migrationState: FINISHED
migrationFinishedAt: "2024-02-12T10:41:19.302600207Z"
onlineState: ONLINE
firmware:
version: 0331.40.34
updateEnabled: true
updateRequired: false
nomenclature: VR 900
cag: false
countryCode: DE
productInformation: VR900
firmwareVersion: 0331.40.34
0b6c4887abf9f7cb955c9a0f50f983538d859a22:
control_identifier:
controlIdentifier: vrc700
time_zone:
timeZone: Europe/Berlin
diagnostic_trouble_codes:
- serialNumber: 007c2b49626839339e068159b0662f1a6625894f
articleNumber: "0020266797"
codes:
- code: "3" type: MAINTENANCE title: Probleme mit Ihrem Heizungssystem description: Ihr Heizungssystem hat Fehler gemeldet. Bitte überprüfen. occurrenceTimestamp: "2024-03-13T23:02:13Z"
- serialNumber: 8fd9cc58d6c789022db1a35d40d13f12bc00c023 articleNumber: "0010016422" codes: []
- serialNumber: 01e54e49018f038468465dcdc0d140abd9f4c819 articleNumber: "0020197116" codes: []
- serialNumber: 31b1e5015f8faa88c721002ea6e76cba1ccdf9ae articleNumber: "0000000000" codes: []
- serialNumber: 31b1e5015f8faa88c721002ea6e76cba1ccdf9ae articleNumber: "0000000000" codes: []
- serialNumber: 16a223eee99b9bbcc98278c5f5865bcfd44bc37d
articleNumber: "0010016349"
codes: []
connection_status:
connected: true
system:
state:
system:
outdoorTemperature: 11.375
outdoorTemperatureAverage24h: 6.5273438
systemFlowTemperature: 33.5625
systemWaterPressure: 1.9
legionellaProtectionStartWeekday: "OFF"
energyManagerState: STANDBY
systemOff: false
zones:
- index: 1 desiredRoomTemperatureSetpointHeating: 21 desiredRoomTemperatureSetpoint: 21 currentSpecialFunction: QUICK_VETO circuits:
- index: 1 circuitState: HEATING currentCircuitFlowTemperature: 33.1875 heatingCircuitFlowSetpoint: 28.846807 calculatedEnergyManagerState: HEATING_ACTIVE domesticHotWater:
- index: 255 currentSpecialFunction: NONE currentDomesticHotWaterTemperature: 51 ventilations:
- index: 0 currentSpecialFunction: NONE properties: system: controllerType: VRC700 controllerRevision: R6 systemScheme: 8 backupHeaterType: CONDENSING backupHeaterAllowedFor: DISABLED moduleConfigurationVR71: 3 energyProvidePowerCutBehavior: DISABLE_HEATPUMP smartPhotovoltaicBufferOffset: 10 externalEnergyManagementActivation: false zones:
- index: 1 isActive: true zoneBinding: NONE associatedCircuitIndex: 1 circuits:
- index: 1 mixerCircuitTypeExternal: HEATING heatingCircuitType: MIXER_CIRCUIT_EXTERNAL isCoolingAllowed: false domesticHotWater:
- index: 255 minSetpoint: 35 maxSetpoint: 70 ventilations:
- index: 0 configuration: system: continuousHeatingStartSetpoint: -26 alternativePoint: -21 heatingCircuitBivalencePoint: -10 domesticHotWaterBivalencePoint: -10 adaptiveHeatingCurve: false domesticHotWaterMaximumLoadingTime: 60 domesticHotWaterHysteresis: 5 domesticHotWaterFlowSetpointOffset: 10 maxFlowSetpointHeatpumpError: 25 domesticHotWaterMaximumTemperature: 80 hybridControlStrategy: BIVALENCE_POINT paralellTankLoadingAllowed: false zones:
- index: 1 general: name: Heizung holidayStartDateTime: "2001-01-01T00:00:00Z" holidayEndDateTime: "2001-01-01T00:00:00Z" holidaySetpoint: 5 heating: operationModeHeating: AUTO setBackTemperature: 14 dayTemperatureHeating: 21.5 timeProgramHeating: metaInfo: minSlotsPerDay: 0 maxSlotsPerDay: 3 setpointRequiredPerSlot: false monday: - startTime: 310 endTime: 1250 tuesday: - startTime: 310 endTime: 1250 wednesday: - startTime: 310 endTime: 1250 thursday: - startTime: 310 endTime: 1250 friday: - startTime: 310 endTime: 1250 saturday: - startTime: 310 endTime: 1250 sunday: - startTime: 310 endTime: 1250 circuits:
- index: 1 heatingCurve: 0.29999998 heatingFlowTemperatureMinimumSetpoint: 15 heatingFlowTemperatureMaximumSetpoint: 55 heatDemandLimitedByOutsideTemperature: 21 heatingCircuitFlowSetpointExcessOffset: 0 setbackModeEnabled: true roomTemperatureControlMode: NON domesticHotWater:
- index: 255 operationModeDomesticHotWater: DAY tappingSetpoint: 52 holidayStartDateTime: "2001-01-01T00:00:00Z" holidayEndDateTime: "2001-01-01T00:00:00Z" timeProgramDomesticHotWater: metaInfo: minSlotsPerDay: 0 maxSlotsPerDay: 3 setpointRequiredPerSlot: false monday: [] tuesday: [] wednesday: [] thursday: [] friday: [] saturday: [] sunday: [] timeProgramCirculationPump: metaInfo: minSlotsPerDay: 0 maxSlotsPerDay: 3 setpointRequiredPerSlot: false monday: - startTime: 340 endTime: 500 - startTime: 690 endTime: 870 - startTime: 1020 endTime: 1260 tuesday: - startTime: 340 endTime: 500 - startTime: 690 endTime: 870 - startTime: 1020 endTime: 1260 wednesday: - startTime: 340 endTime: 500 - startTime: 690 endTime: 870 - startTime: 1020 endTime: 1260 thursday: - startTime: 340 endTime: 500 - startTime: 690 endTime: 870 - startTime: 1020 endTime: 1260 friday: - startTime: 340 endTime: 500 - startTime: 690 endTime: 870 - startTime: 1020 endTime: 1260 saturday: - startTime: 340 endTime: 1270 sunday: - startTime: 380 endTime: 1390 ventilations:
- index: 0 maximumDayFanStage: 4 maximumNightFanStage: 6 operationModeVentilation: AUTO holidayStartDateTime: "2001-01-01T00:00:00Z" holidayEndDateTime: "2001-01-01T00:00:00Z" timeProgramVentilation: metaInfo: minSlotsPerDay: 0 maxSlotsPerDay: 3 setpointRequiredPerSlot: false monday: - startTime: 480 endTime: 1290 tuesday: - startTime: 480 endTime: 1290 wednesday: - startTime: 480 endTime: 1290 thursday: - startTime: 480 endTime: 1290 friday: - startTime: 480 endTime: 1290 saturday: - startTime: 480 endTime: 1290 sunday: - startTime: 480 endTime: 1290 current_system: system_type: HEATPUMP has_emf_capable_devices: true primary_heat_generator: device_uuid: b0a1fda7b996df73d03092ddea11ccfb4e48072b ebus_id: HMU00 spn: 304 bus_coupler_address: 0 article_number: "0010016422" emfValid: true device_serial_number: 8fd9cc58d6c789022db1a35d40d13f12bc00c023 device_type: HEATPUMP first_data: "2020-02-28T00:00:00Z" last_data: "2024-03-25T06:45:44.302Z" data:
- operation_mode: DOMESTIC_HOT_WATER value_type: CONSUMED_ELECTRICAL_ENERGY calculated: false from: "2020-02-28T00:00:00Z" to: "2024-03-25T06:45:40.958Z"
- operation_mode: HEATING value_type: CONSUMED_ELECTRICAL_ENERGY calculated: false from: "2020-02-28T00:00:00Z" to: "2024-03-25T06:45:40.598Z"
- operation_mode: DOMESTIC_HOT_WATER value_type: EARNED_ENVIRONMENT_ENERGY calculated: false from: "2024-02-12T11:45:45Z" to: "2024-03-25T06:45:42.036Z"
- operation_mode: HEATING value_type: EARNED_ENVIRONMENT_ENERGY calculated: false from: "2020-02-28T00:00:00Z" to: "2024-03-25T06:45:41.661Z"
- operation_mode: HEATING value_type: HEAT_GENERATED calculated: true from: "2020-02-28T00:00:00Z" to: "2024-03-25T06:45:40.598Z"
- operation_mode: DOMESTIC_HOT_WATER value_type: HEAT_GENERATED calculated: true from: "2024-02-12T11:45:45Z" to: "2024-03-25T06:45:40.958Z" product_name: flexoTHERM exclusive secondary_heat_generators: [] electric_backup_heater: null solar_station: null ventilation: device_uuid: 231c4021ff65343e5ceef44df2acb120bcc0cbbe ebus_id: recoV spn: 302 bus_coupler_address: 24 article_number: "0010016349" emfValid: false device_serial_number: 16a223eee99b9bbcc98278c5f5865bcfd44bc37d device_type: VENTILATION first_data: "2024-02-12T11:45:50Z" last_data: "2024-03-25T06:45:47.006Z" data:
- operation_mode: HEATING value_type: CONSUMED_ELECTRICAL_ENERGY calculated: false from: "2024-02-12T11:45:50Z" to: "2024-03-25T06:45:47.006Z" product_name: VAR 360/4 E gateway: null mpc: devices: [] rts: statistics:
- deviceId: b0a1fda7b996df73d03092ddea11ccfb4e48072b operationTime: 357120 onOffCycles: null device_buckets: startDate: "2024-03-24T00:00:00Z" endDate: "2024-03-25T00:00:00Z" resolution: HOUR operationMode: DOMESTIC_HOT_WATER energyType: CONSUMED_ELECTRICAL_ENERGY totalConsumption: 10998.88834844371 data:
- startDate: "2024-03-24T00:00:00Z" endDate: "2024-03-24T01:00:00Z" value: 0
- startDate: "2024-03-24T01:00:00Z" endDate: "2024-03-24T02:00:00Z" value: 0
- startDate: "2024-03-24T02:00:00Z" endDate: "2024-03-24T03:00:00Z" value: 0
- startDate: "2024-03-24T03:00:00Z" endDate: "2024-03-24T04:00:00Z" value: 0
- startDate: "2024-03-24T04:00:00Z" endDate: "2024-03-24T05:00:00Z" value: 479.57766046123925
- startDate: "2024-03-24T05:00:00Z" endDate: "2024-03-24T06:00:00Z" value: 1519.8666296193387
- startDate: "2024-03-24T06:00:00Z" endDate: "2024-03-24T07:00:00Z" value: 239.7336293007769
- startDate: "2024-03-24T07:00:00Z" endDate: "2024-03-24T08:00:00Z" value: 760.266370699223
- startDate: "2024-03-24T08:00:00Z" endDate: "2024-03-24T09:00:00Z" value: 719.1666666666667
- startDate: "2024-03-24T09:00:00Z" endDate: "2024-03-24T10:00:00Z" value: 2280.8333333333335
- startDate: "2024-03-24T10:00:00Z" endDate: "2024-03-24T11:00:00Z" value: 239.36613844870723
- startDate: "2024-03-24T11:00:00Z" endDate: "2024-03-24T12:00:00Z" value: 1000.2225927985827
- startDate: "2024-03-24T12:00:00Z" endDate: "2024-03-24T13:00:00Z" value: 999.4328701953303
- startDate: "2024-03-24T13:00:00Z" endDate: "2024-03-24T14:00:00Z" value: 1000.211287151131
- startDate: "2024-03-24T14:00:00Z" endDate: "2024-03-24T15:00:00Z" value: 760.2111697693804
- startDate: "2024-03-24T15:00:00Z" endDate: "2024-03-24T16:00:00Z" value: 0
- startDate: "2024-03-24T16:00:00Z" endDate: "2024-03-24T17:00:00Z" value: 239.65565120799778
- startDate: "2024-03-24T17:00:00Z" endDate: "2024-03-24T18:00:00Z" value: 760.3443487920023
- startDate: "2024-03-24T18:00:00Z" endDate: "2024-03-24T19:00:00Z" value: 0
- startDate: "2024-03-24T19:00:00Z" endDate: "2024-03-24T20:00:00Z" value: 0
- startDate: "2024-03-24T20:00:00Z" endDate: "2024-03-24T21:00:00Z" value: 0
- startDate: "2024-03-24T21:00:00Z" endDate: "2024-03-24T22:00:00Z" value: 0
- startDate: "2024-03-24T22:00:00Z" endDate: "2024-03-24T23:00:00Z" value: 0
- startDate: "2024-03-24T23:00:00Z" endDate: "2024-03-25T00:00:00Z" value: 0 rbr: rbrCapable: false
- serialNumber: 007c2b49626839339e068159b0662f1a6625894f
articleNumber: "0020266797"
codes:
Thanks, that helped! Ventilation entities work differently on VRC700 controllers, it should work better with this pre-release: https://github.com/signalkraft/mypyllant-component/releases/tag/v0.8.3b1
However, I had to guess all the valid options for operationModeVentilation from their naming in similar VRC700 entities. If you see errors about the fan mode, it's likely because of that. In that case, please generate test data again so I can add the correct value.
Setting modes and fan speeds will probably require reverse engineering to find the correct API endpoints for VRC700 controllers. They are almost always different to the other controller types.
thank you very much for your fast reply and the build. the ventialtion device now shows up, but ventilation modes can not be changed.
Logger: homeassistant.components.websocket_api.http.connection Quelle: components/websocket_api/commands.py:239 Integration: Home Assistant WebSocket API (Dokumentation, Probleme) Erstmals aufgetreten: 11:56:20 (8 Vorkommnisse) Zuletzt protokolliert: 11:57:04
[546070737344] 400, message='Bad Request, response was: {"title":"Bad Request","status":400,"detail":"400 BAD_REQUEST \"Failed to read HTTP message\""}', url=URL('https://api.vaillant-group.com/service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode') Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 239, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2319, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2356, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 905, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 975, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 680, in async_handle_set_fan_mode_service await self.async_set_fan_mode(fan_mode) File "/config/custom_components/mypyllant/ventilation_climate.py", line 154, in async_set_fan_mode await self.coordinator.api.set_ventilation_operation_mode( File "/usr/local/lib/python3.12/site-packages/myPyllant/api.py", line 976, in set_ventilation_operation_mode await self.aiohttp_session.patch( File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 691, in _request await raise_for_status(resp) File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 49, in on_raise_for_status raise e File "/usr/local/lib/python3.12/site-packages/myPyllant/http_client.py", line 46, in on_raise_for_status response.raise_for_status() File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 1060, in raise_for_status raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request, response was: {"title":"Bad Request","status":400,"detail":"400 BAD_REQUEST \"Failed to read HTTP message\""}', url=URL('https://api.vaillant-group.com/service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode')
Like I suspected, someone needs to reverse engineer the correct API endpoints for VRC700 controllers.
thanks, I'll try my best as soon as possible
flows.zip i finally managed it. i hope it helps
PATCH /service-connected-control/vrc700/v1/systems/3705f5d1-68bf-4dfc-b156-d5b259bfa753/ventilation/0/operation-mode HTTP/1.1 accept: application/json ocp-apim-subscription-key: 1e0a2f3511fb4c5bbb1c7f9fedd20b1c x-client-locale: de-DE x-app-identifier: VAILLANT x-app-version: 2.16.1 x-app-build: 21428 authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJKVW1FU3l3VU9Ea1JYMTZpQl9ZelppWnhXeDEzdHNZdml4NHdNMmc0VkQ0In0.eyJleHAiOjE3MTI4NDY0MDAsImlhdCI6MTcxMjg0NjEwMCwiYXV0aF90aW1lIjoxNzEyODQ1OTcwLCJqdGkiOiI3NDI0NzllZC00NTYwLTRhNTktODRhYi1kMGI5OWQwOTMwZjQiLCJpc3MiOiJodHRwczovL2lkZW50aXR5LnZhaWxsYW50LWdyb3VwLmNvbS9hdXRoL3JlYWxtcy92YWlsbGFudC1nZXJtYW55LWIyYyIsInN1YiI6IjU1MmZmMGQ4LTk4MzAtNGI2MC1hOWI5LTQyZDhhNjFmODRhYiIsInR5cCI6IkJlYXJlciIsImF6cCI6Im15dmFpbGxhbnQiLCJzZXNzaW9uX3N0YXRlIjoiMDVkM2E1ODUtZGM0ZC00YWFjLTg2ZWYtYzI1MWZhNzEyYWUyIiwiYWNyIjoiMCIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL2VuZHVzZXJ2YWlsbGFudC5wYWdlLmxpbmsiLCJodHRwczovL3ZnLWlvdC1maXJlYmFzZS53ZWIuYXBwIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJkZWZhdWx0LXJvbGVzLXZhaWxsYW50LWdlcm1hbnktYjJjIiwib2ZmbGluZV9hY2Nlc3MiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MgcHJvZmlsZSBlbWFpbCIsInNpZCI6IjA1ZDNhNTg1LWRjNGQtNGFhYy04NmVmLWMyNTFmYTcxMmFlMiIsInNhbGVzZm9yY2VDb250YWN0SWQiOiIwMDM2OTAwMDAzbjViR1NBQVkiLCJjb3VudHJ5IjoiREUiLCJicmFuZE5hbWUiOiJ2YWlsbGFudCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiQmVybmhhcmQgS2VwcGxlciIsInByZWZlcnJlZF91c2VybmFtZSI6ImJlcm5oYXJkLmtlcHBsZXJAZ21haWwuY29tIiwibG9jYWxlIjoiZGVfREUiLCJnaXZlbl9uYW1lIjoiQmVybmhhcmQiLCJmYW1pbHlfbmFtZSI6IktlcHBsZXIiLCJzYWxlc2ZvcmNlQWNjb3VudElkIjoiMDAxNjkwMDAwM0ZuYXdjQUFCIiwiZW1haWwiOiJiZXJuaGFyZC5rZXBwbGVyQGdtYWlsLmNvbSIsInNhbGVzZm9yY2VCcmFuZERldGFpbENvbnRhY3RJZCI6ImEyWTY5MDAwMDBGUW5BSUVBMSJ9.byG9Fum_rJddTqWO1N1Wfz-Tesd5btfspipdc59_962semPZuX6IBg20F9JE8z4tbu6dw65XmVL9nvgzfN4OX6cGpw03zhE9zHnVIT-J_JoxX0cXp5fpK4sZL6iHVNjtaJEFMRKYjRroBtbAiNG7gRlUPCAoK6oH8gvIPHX1Ai0lLom29p0y0mQfYfRVt4RPmMjEKmJw4oOhunCs3Jfy7cAJJAWlFwJRAaItv9sZJVVSQGjTHabczkYJpGK3Xjx3qFMgTpc5GFG1Kk5DokfQYVEti93CRF4t9TWnn4zPLtHlmOXTaJsyKXoqrGVeSd4EjlqugYBANK3RtJNgm7ltsQ x-b3-traceid: 09d8b080bc38c860 x-b3-spanid: 09d8b080bc38c860 x-idm-identifier: KEYCLOAK X-INSTANA-ANDROID: 14a29e44-35a4-4168-93ee-9703b02e369c Content-Type: application/json Content-Length: 24 Host: api.vaillant-group.com Connection: Keep-Alive Accept-Encoding: gzip User-Agent: okhttp/4.9.2
{"operationMode":"AUTO"}
HTTP/1.1 202 Accepted Content-Length: 53 Content-Type: application/json Server-Timing: intid;desc=c9ee28e2ceca2121 Strict-Transport-Security: max-age=31536000; includeSubDomains Set-Cookie: route=1712846303.398.21872.274700|e6cc3949b436847b1e6a533340bcc5f3; Expires=Sat, 13-Apr-24 14:38:22 GMT; Max-Age=172800; Path=/; Secure; HttpOnly Request-Context: appId=cid-v1:8a4f690a-c4b6-4cc6-96f6-9a7b0dbe65f2 Date: Thu, 11 Apr 2024 14:38:21 GMT Set-Cookie: TS01e49a1a=01bc99c52dd1b3dfd05100509a900840309be0af1d18a52ed546ab9af303e67d076490ffc406914e8c2d72a2062c881fb851753831; Path=/; Domain=.api.vaillant-group.com
{"messageEid":"be5312e0-db6b-4e5f-a8d2-976edeea8bea"}