h4de5 / vaillant-component

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vaillant-component

Please note that this component is still in beta test, so I may do (unwanted) breaking changes.

Ideas are welcome ! Don't hesitate to create issue to suggest something, it will be really appreciated.

Please download the vaillant folder and put it inside your custom_components folder.

You can configure it through the UI using integration. You have to provided your username and password (same as multimatic app)

It is strongly recommended to use a dedicated user for HA, for 2 reasons:

  • As usual for security reason, if your HA is compromised somehow, you know which user to block
  • I cannot strongly confirm it, but it seems vaillant API only accept the same user to be connected at the same time

Releases

1.0.0

First release using config flow

1.1.0

  • Move everything to async
  • Bugfix for circulation (no considered on when hot water boost was activated)
  • Removed boiler temperature and boiler water pressure in favor of report entity (breaking change)
  • Better error handling
  • Automatic re-authentication in case of error

1.2.0

  • Adding a way to specify serial number in case you have multiple
  • some error log improvement/fix
  • adding some none check

1.2.1

  • warning log fix

1.2.2

  • Better error handling
  • Component does a reconnection every time an error occurs

1.2.3

  • Adapt to HA 0.110 deprecation/warning
  • Add some None-check in case of error when component is starting
  • Fix issue with set_holiday_mode (ValueError: unconverted data remains: T00:00:00.000Z)

1.3.0

  • request hvac update is not done by the component automatically. Instead, there is a new service request_hvac_update. If you have any issue with refresh time of the data, you can use an automation to call the service. I recommend to do it very 1 hour. If you really hove data refresh issue, you can do down until every 30min. Doing it more often will likely end up in an error at vaillant API. You can use something like this as automation:
- id: "Refresh vaillant data"
  alias: "Refresh vaillant data"
  trigger:
    - platform: time_pattern
      hours: "/1"
  action:
    - service: vaillant.request_hvac_update

Provided entities

  • 1 water_heater entity, if any water heater: water_heater.vaillant_<water heater id>, basically water_heater.vaillant_control_dhw
  • 1 climate entity per zone (expect if the zone is controlled by room) climate.vaillant_<zone id>
  • 1 climate entity per room climate.vaillant_<room name>
  • 1 binary_sensor entity binary_sensor.vaillant_control_dhw reflecting if the circulation is on or off
  • 1 binary_sensor entity climate.vaillant_<room name>_window per room reflecting the state of the "open window" in a room (this is a feature of the vaillant API, if the temperature is going down pretty fast, the API assumes there is an open window and heating stops)
  • 1 binary_sensor entity climate.vaillant_<sgtin>_lockper device reflecting if valves are "child locked" or not
  • 1 binary_sensor entity binary_sensor.vaillant_<sgtin>_battery reflecting battery level for each device (VR50, VR51) in the system
  • 1 binary_sensor entity binary_sensor.vaillant_<sgtin>_battery reflecting connectivity for each device (VR50, VR51) in the system
  • 1 binary_sensor entity binary_sensor.vaillant_system_updateto know if there is an update pending
  • 1 binary_sensor entity binary_sensor.vaillant_system_online to know if the vr900/920 is connected to the internet
  • 1 binary_sensor entity binary_sensor.vaillant_<boiler model> to know if there is an error at the boiler. Some boiler does not provide this information, so entity won't be available.
  • 1 temperature sensor sensor.vaillant_outdoor_temperature for outdoor temperature
  • 1 sensor for each report in live_report
  • 1 binary sensor binary_sensor.vaillant_quick_mode to know a quick mode is running on
  • 1 binary sensor binary_sensor.vaillant_holiday to know the holiday mode is on/off
  • dynamic binary sensors if there are extra errors coming from the api.

Provided devices

  • 1 device per VR50 or VR51
  • 1 device for the boiler (if supported). Some boiler don't provide enough information to be able to create a device in HA.
  • 1 device for the gateway (like VR920)

For the climate and water heater entities, you can also found

  • the 'real vaillant mode' running on (AUTO, MANUAL, DAY, etc)
  • the next setting (DAY, NIGHT for a zone) or next target temperature for a room (when auto)
  • when the current setting ends (when auto)

For the boiler error entity, you can also found

  • the last update (this is not the last HA update, this is the last time vaillant checks the boiler)
  • the status code (these can be found in your documentation)
  • the title (human readable description of the status code)

For the binary_sensor.vaillant_quick_mode, when on, you have the current quick mode name is available For the binary_sensor.vaillant_holiday, when on, you have the start date, end date and temperature

Provided services

  • vaillant.set_holiday_mode to set the holiday mode (see services in HA ui to get the params)
  • vaillant.remove_holiday_mode .. I guess you get it
  • vaillant.set_quick_mode to set a quick mode
  • vaillant.remove_quick_mode don't tell me you don't get it
  • vaillant.set_quick_veto to set a quick veto for a climate entity
  • vaillant.remove_quick_veto to remove a quick veto for a climate entity
  • vaillant.request_hvac_update to tell vaillant API to fetch data from your installation and made them avaible in the API

This will allow you to create some buttons in UI to activate/deactivate quick mode or holiday mode with a single click

Expected behavior

On room climate:

  • Changing temperature while on MANUAL mode will simply change the target temperature
  • Changing temperature while on other modes (included quick veto) will create a a quick veto with the selected temperature and configured quick_veto_duration
  • Changing hvac mode to AUTO will set vaillant mode to AUTO (so it will follow the time program)
  • Changing hvac mode to OFF will set vaillant mode to OFF
  • if there is a quick mode (or holiday mode) impacting room, it will be removed upon change
  • QM_SYSTEM_OFF and holiday mode will lead to hvac OFF

On zone climate:

  • Changing temperature will lead to a quick veto with selected temperature for 6 hours (quick veto duration is not configurable for a zone)
  • Changing hvac mode to AUTO will set vaillant mode to AUTO (so it will follow the time program)
  • Changing hvac mode to OFF will set vaillant mode to OFF
  • Changing hvac mode to HEAT will set vaillant mode to DAY
  • Changing hvac mode to COOL will set vaillant mode to NIGHT
  • if there is a quick mode (or holiday mode) impacting zone, it will be removed upon change
  • QM_SYSTEM_OFF and holiday mode will lead to hvac OFF
  • QM_ONE_DAY_AT_HOME will lead to hvac AUTO (but with the time program of the sunday)
  • QM_PARTY -> HVAC_MODE_HEAT
  • QM_VENTILATION_BOOST -> HVAC_MODE_FAN_ONLY
  • ONE_DAY_AWAY -> hvac OFF

About


Languages

Language:Python 100.0%