/esphome-ewh

Control Ballu Water Heater via uart

Primary LanguageC++MIT LicenseMIT

Electrolux Water Heater (Ballu SMART WiFi DRY+ dirty version)

Version License ESPHome release Open in Visual Studio Code Telegram Community Forum Support author Support author PayPal.Me

This is a ESPHome component to control Electrolux Water Heater and possibly other boilers (Ballu, Zanussi) using uart protocol.

Control is possible via custom dongle. You can make it yourself or buy a ready made. For example look at iot-uni-dongle it fully opensource and also availale for order.

The communucation uart protocol is reversed on 99.9% and fully described at reverse.md file.

At this moment the componet is build using climate platform and allows the following:

  • Control current temperature
  • Change target boil temperature
  • Change boil power to 1300W
  • Change boil power to 2000W

Build ESPHome firmware

Sample configuration (available for download):

substitutions:
  # main prefix for all entities
  name: "Water Heater"
  # name of your node
  node_name: "water-heater"
  # use "esp12e" for iot-uni-dongle, "esp8285" for coolrf-heatstick, or your own if you know it
  board: "esp12e"
  # time platform: "sntp" or "homeassistant"
  time_platform: "sntp"
  # SSID of your wifi
  wifi_ssid: !secret wifi_ssid
  # password of your wifi
  wifi_password: !secret wifi_password
  # password for fallback wifi hotspot
  wifi_ap_password: !secret wifi_ap_password
  # version of ewh
  ewh_version: "2022.1.2"

# please do not change packeages order it is very important, just comment/uncomment
packages:
  # required package, do not comment
  ewh: github://vm03/esphome-ewh/ewh-pkg-ewh.yaml@$ewh_version

  ## optional package, uncomment next line to enable additional diagnostic clock sensor
  # clock: github://vm03/esphome-ewh/ewh-pkg-clock.yaml@$ewh_version

  ## optional package, uncomment next line to enable additional diagnostic timer sensor
  # timer: github://vm03/esphome-ewh/ewh-pkg-timer.yaml@$ewh_version

  ## optional package, uncomment next line to enable standalone web ui
  # web: github://vm03/esphome-ewh/ewh-pkg-web.yaml@$ewh_version

  ## optional package, uncomment next line to enable experimental cloud support
  # cloud: github://vm03/esphome-ewh/ewh-pkg-cloud.yaml@$ewh_version

  # required package, do not comment
  core: github://vm03/esphome-ewh/ewh-pkg-core.yaml@$ewh_version

Expiremental cloud support

Please see instructions here.

Known issues

Sometimes a command, for example, to change a mode or temperature is not executed and a second change is required.

Help needed

When the water is heated to the required temperature, the boiler can enter to an idle mode (display shows 0 and temperature) but unfortunally I can't get this state yet. Obtaining this state will allow to make energy calculation. If you know the command that can be sent to the boiler to get this state - it will be superior. Please let me know it.

Your thanks

If this project was useful to you, you can buy me a Cup of coffee via Card2Card or PayPal :)