Skip to content

denpamusic/homeassistant-plum-ecomax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1,278 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Plum ecoMAX boiler controller integration for Home Assistant

ci Code Coverage hacs_badge stability-release-candidate Ruff


โš ๏ธ Important Announcement
Due to personal health reasons, this project is now on hold until April, 2026. No support and no updates will be available until then, however PR's are still very much welcome and will be reviewed ASAP. Thank you for the understanding and sorry for any inconvenience!


๐Ÿ“– 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

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors

Languages