Found someone on Jeedom who partially reverse engineered the serial line.
Now I reverse engineered it some more and adapted it for HA.
Since it relies on a serial2lan solution, I use ESP-Link.
There is also a ESPhome solution available (which I don’t find that stable), as well as an ESPEasy solution. Both are confirmed working, but for now I’ll stick to ESP-Link.
The easiest way to install ESP-Link is to use this page from my GitHub site ESP-Link You should use a supported browser and an usb2serial port must be available on your machine.
Note that I have re-compiled the firmware to host on ports 23 and 2000, which enables the use of the newer myDPRemote app too (as it has port 2000 hardcoded; on the older app it was configurable).
The HA Integration can be found on HACS
and is configured like this example:
# Example configuration.yaml entry
climate:
- platform: duepi_evo
name: your heaters name here # Just some name
unique_id: some unique name # A unique name (handy when having more than one stove)
host: 192.168.0.11 # The IP address or UNQ name
port: 2000 # The port used. When using my ESP-link you can also use port 23 (standard Telnet) or port 2000 (used by new MyDPRemote app)
scan_interval: 30 # The interval it tries to retrieve data from the stove, advice to not make it smaller to 30s
min_temp: 16 # Minimum temperate setpoint in climate entity
max_temp: 30 # Maximum temperate setpoint in climate entity
auto_reset: True # Auto reset (and shutdown) stove when alarm is raised f.e. out-of-pellets
PS: The advice is to set the scan_interval at least at 30s, you don’t want to send a new request before the unit finished replying to the previous request
and my LoveLace card yaml:
- type: vertical-stack
cards:
- type: thermostat
entity: climate.pellet_stove
features:
- type: climate-hvac-modes
hvac_modes:
- heat
- 'off'
- type: history-graph
entities:
- entity: climate.pellet_stove
hours_to_show: 4
- type: entities
entities:
- entity: climate.pellet_stove
type: attribute
name: Burner Status
attribute: burner_status
- entity: climate.pellet_stove
type: attribute
name: Error code
attribute: error_code
- entity: climate.pellet_stove
type: attribute
name: Exhaust fan speed
attribute: exh_fan_speed
- entity: climate.pellet_stove
type: attribute
name: Flu gas temperature
attribute: flu_gas_temp
- entity: climate.pellet_stove
type: attribute
name: Pellet speed
attribute: pellet_speed
- entity: climate.pellet_stove
type: attribute
name: Power level
attribute: power_level
Confirmed working on:
- Amesti 7100/8100 plus2
- AMG
- Artel
- Centrometal
- Duroflame Carré
- Duroflame Pelle
- Duroflame Rembrand
- FireShop Dinamica 6
- Foco
- Interstove
- Italia mod 8 el
- Julia Next
- Kalor
- Qlima Viola 85 S-Line
- Wamsler Westminster Quatro 6
All info and more is available on GitHub
How to physically connect:
If you like to help out, join us on Telegram
Big thanks go to Pascal Bornat (who initially started reverse engineering for Jeedom).