Skip to content

Repository files navigation

Plum ecoMAX boiler controller integration for Home Assistant

ci Code Coverage hacs_badge stability-release-candidate Ruff


πŸ“– Overview

This Home Assistant integration provides support for ecoMAX controllers manufactured by Plum Sp. z o.o..

It uses the PyPlumIO library and supports connection to ecoMAX controllers via RS-485 over Ethernet/Wi‑Fi converters or RS-485 to USB adapters.

ecoMAX controllers

πŸ“‘ Table of contents

πŸ”Œ Connect the ecoMAX

You can connect your ecoMAX controller in two ways:

  • Directly to the machine running Home Assistant using an RS-485 to USB adapter.
  • Wirelessly via an RS-485 to Wi‑Fi converter so the Home Assistant host can be remote from the boiler.

Locate the RS-485 terminal on the ecoMAX (pins labeled "D+" and "D-") and wire your adapter as follows:

Adapter ecoMAX
A D+
B D-
GND GND (optional)

ecoNET 300

This integration is built upon the PyPlumIO library, which was originally designed as an alternative to the ecoNET 300 device. For users who possess the original ecoNET 300 from Plum, Patryk B has developed an excellent Home Assistant integration.

The development of this ecoNET 300 integration has been resumed by jontofront, ensuring that it receives regular updates and fixes. If you own an ecoNET 300 device, I encourage you to explore this integration.

πŸ“¦ Installation

HACS

HACS is the recommended installation method. Click the button below to install via HACS:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Manual

Manual installation (click to expand)
  1. Clone the repository:
git clone https://github.com/denpamusic/homeassistant-plum-ecomax
  1. Copy the custom_components directory to your Home Assistant configuration folder (next to configuration.yaml):
cp -r ./homeassistant-plum-ecomax/custom_components ~/.homeassistant
  1. Restart Home Assistant.

βš™οΈ Configuration

Add the Plum ecoMAX integration from Home Assistant's UI:

Settings β†’ Devices & Services β†’ Add Integration β†’ search for "Plum ecoMAX".

Choose the connection type:

  • Network (RS-485 to Wi‑Fi): provide Host and Port.
  • Serial: provide Device path and Baudrate.

If running Home Assistant in Docker, ensure the adapter device is mapped into the container.

🏠 Entities

The integration exposes entities on the main controller device and its sub-devices. Available entities depend on your controller model and connected modules. Unsupported entities will be disabled during setup.

Note: ecoMAX pellet boiler controller model names use a "p" suffix (e.g., ecoMAX 850p), while installation controllers use an "i" suffix (e.g., ecoMAX 850i).

Legend:

  • i β€” ecoMAX installation controller
  • p β€” ecoMAX pellet boiler controller

Note: Temperature changes smaller than 0.1Β°C are > ignored to reduce Home Assistant database clutter.

πŸ”₯ Controller

Sensors (click to expand)
  • Heating temperature
  • Heating temperature
  • Water heater temperature
  • Outside temperature
  • Heating target temperature
  • Water heater target temperature
  • Heating mode
  • Exhaust temperature
  • Feeder temperature
  • Return temperature
  • Heating load
  • Fan power
  • Fuel level
  • Fuel consumption
  • Total fuel burnedΒΉ
  • Heating power
  • Lower buffer temperatureΒ²
  • Upper buffer temperatureΒ²
  • Flame intensityΒ²
  • Oxygen levelΒ³
  • Solar temperature i
  • Fireplace temperature i

ΒΉ Meter entity: counts burned fuel while Home Assistant runs.
Β² Requires controller support.
Β³ Requires ecoLAMBDA module.

Binary sensors (click to expand)
  • Heating pump state
  • Water heater pump state
  • Circulation pump state
  • Fan state
  • Lighter state
  • Exhaust fan state
  • Fireplace pump state i
  • Solar pump state i
Selects (click to expand)
  • Summer mode (on, off, auto)
Switches (click to expand)
  • Controller power
  • Water heater disinfection
  • Water heater pump
  • Weather control p
  • Fuzzy logic p
  • Heating schedule p
  • Water heater schedule p
Numbers (click to expand)
  • Heating temperature p
  • Minimum heating power p
  • Maximum heating power p
  • Minimum heating temperature p
  • Maximum heating temperature p
  • Grate mode temperature p
  • Fuel calorific value p
Diagnostics (click to expand)
  • Alert
  • Connection status
  • Service password
  • Connected modules

πŸ’§ Water heater

The integration provides a Home Assistant water heater entity for indirect water heaters. You can set target temperature, toggle priority mode, or turn the heater off.

Home Assistant heater states map to ecoMAX modes:

Home Assistant Heater State ecoMAX Heater Mode
Performance Priority Mode
Eco Non-Priority Mode

🌑️ Thermostats

Each connected ecoSTER thermostat is exposed as a Home Assistant climate entity, allowing monitoring and control of room temperature and ecoSTER modes.

πŸ”€ Mixers (Circuits)

Mixers (called circuits on installation controllers) are logical devices detected once when the integration is added.

Sensors:

  • Mixer temperature
  • Mixer target temperature

Binary sensors:

  • Mixer pump

Selects:

  • Work mode (off, heating, floor, pump_only) p

Switches:

  • Enable mixer i
  • Enable in summer mode
  • Weather control p
  • Disable pump on thermostat p

Numbers:

  • Mixer temperature
  • Minimum mixer temperature
  • Maximum mixer temperature
  • Day target mixer temperature i β€” second circuit only
  • Night target mixer temperature i β€” second circuit only

πŸ“’ Events

The integration uses the following events:

plum_ecomax_alert

Fired when the ecoMAX controller issues an alert.

Event data:

  • name β€” Config entry name
  • code β€” Alert code
  • from β€” Datetime object representing alert start time
  • to 1 β€” Datetime object representing alert end time

1 Only present if the alert has ended.


βš™οΈ Actions

This integration provides the following actions:

πŸ” Get parameter

Retrieve a device parameter by name.

Fields: name
Targets: ecomax, mixer

Response:

  • name β€” Parameter name
  • value β€” Parameter value
  • min_value β€” Minimum allowed value
  • max_value β€” Maximum allowed value
  • device_type β€” Device type
  • device_uid β€” Device unique identifier
  • device_index 1 β€” Sub-device identifier

1 Root device (controller) is 0; connected mixers are 1–5.

πŸ“ Set parameter

Set a device parameter by name.

Fields: name, value
Targets: ecomax, mixer

πŸ“… Get schedule

Retrieve schedules from the device.

Fields: type (heating, water_heater), weekdays (monday, tuesday, etc.)

Response: schedules β€” Dictionary of schedule states keyed by start times

πŸ“… Set schedule

Configure device schedules.

Fields: type (heating, water_heater), weekdays, preset (day, night), start, end

πŸ“Š Calibrate meter

Set a meter entity to a specific value.

Fields: value
Targets: total_fuel_burned

πŸ”„ Reset meter

Reset a meter entity value.

Targets: total_fuel_burned

πŸ“„ License

This product is distributed under MIT license.

About

Plum ecoMAX boiler controller integration for Home Assistant.

Topics

Resources

Code of conduct

Security policy

Stars

49 stars

Watchers

9 watching

Forks

Releases

Used by

Contributors

Languages