Code Monkey home page Code Monkey logo

duepi_evo's Introduction

hacs_badge ko-fi

Duepi-EVO

The Duepi EVO climate platform is a reverse engineered implementation of the app which is controlling Pellet stove heaters using a Duepi Evo Wifi module. With this module it is possible to control your pellet stove with HomeAssistant. This is in no way associated with the company Duepi and comes with no guarantees or warranty. Use at your own risk.

image

Prerequisites

Hardware

This uses an ESP01 board with 5/3.3v adapter with ser2net software.

I recently found a config for ESPHome (which has my preference, but I switched back, as it wasn't very stable. You will find a configureation example here https://github.com/aceindy/Duepi_EVO/blob/main/ESPHome/duepi-pelletstove.yaml

ESPLink works for sure:

You must have the ESP01 Module installed and flash it with https://github.com/jeelabs/esp-link. Baudrate 115200, 8N1. Pin layout is mentioned in the pdf (pcb, J8)

Easiest way to install ESP-Link is to use this page from my GitHub site ESP-Link Note that I have re-compiled the firmware to host on ports 23 and 2000, which allows to use the newer myDPRemote app too (as it has port 2000 hardcoded). In order to install the newer firmware, first install the firmware normally, then use the upgrade page on the web interface to install user2.bin (use the raw download button on the right)

As well as Espeasy (info from a Duroflame Rembrand user):

Optionally one can use the Wemos D1 flashed with ESPeasy. This device has a 5V input and integrated CH340 for easy flashing. The only tweak needed was to add 5ms timeout delay in the serial device settings of espeasy to get robust data from the pellet stove. In Esp_easy flashed device select the Device: Communication - Serial Server and fill in the appropiate fields (harware serial GPIO-3 and -1, port 1234 (or any) baud rate 115200, serial config 8N1,RX receive 5ms, 256 buffer).

Functionality

  • Control target temperature.
  • Control system on/off.
  • Control fan speed (only when actual temperature below target temperature) 1-5

Configuration

Add the following to your configuration.yaml file:

# Example configuration.yaml entry
climate:
  - platform: duepi_evo
    name: <your heaters name here>
    host: 192.168.1.123
    port: 2000
    scan_interval: 60
    min_temp: 20
    max_temp: 30
    auto_reset: True
    unique_id: <unique_name>
    temp_nofeedback: 16

Configuration variables:

  • name (optional): The name of your climate entity. Defaults to "Duepi Evo".
  • host (required): The IP address used for the serial@tcp device.
  • port (optional): The port being used. Defaults to 2000. (when using my ESPLink version, you can also use the default telnet port 23)
  • scan_interval (required): The scan interval being used in seconds.
  • min/max_temperature (optional): The available setpoint range within HA. Default is 16-30 degs celsius.
  • auto_reset (optional): Auto reset the stove when "Ignition failed" or "Out of pellets" defaults to False.
  • unique_id (optional): A unique name for the device. Defaults to "duepi_unique". Change when using multiple stoves
  • temp_nofeedback (optional): The default setpoint temperature for stoves that do not store the current setpoint. Defauls to 16.

Troubleshooting

Please set your logging for the custom_component to debug:

logger:
  default: warn
  logs:
    custom_components.duepi_evo: debug

Example lovelace entities card:

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 8100 plus2
  • AMG
  • Artel
  • Centrometal
  • Duroflame Carré
  • Duroflame Pelle
  • Duroflame Rembrand
  • Foco
  • Interstove
  • Julia Next
  • Kalor
  • Qlima Viola 85 S-Line
  • Wamsler Westminster Quatro 6

Big thanks go to Pascal Bornat (who initially started reverse engineering for Jeedom) and Oxan van Leeuwen (for the Stream server for ESPHomeproject)

Buy Me A Coffee! ☕

duepi_evo's People

Contributors

aceindy avatar marceldejongnl avatar mvroosmalen avatar mvroosmalen1970 avatar osvaldoac avatar wrt54g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

duepi_evo's Issues

new data

Hi how do i het the new data in my Ha. i have the climate card but also want the fan speed etc. I did the update but i cant find the data should it be in the same climate entity?

Got a warning notification after update to latest version==>implements HVACMode(s): heat, off without setting the proper ClimateEntityFeature.

2024-03-17 10:52:30.247 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.duepi_evo.climate.DuepiEvoDevice'>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/aceindy/Duepi_EVO/issues

Onduidelijk

Mijn versie heeft geen open telnet poort, kan ik dit open zetten. Of gaat het dan gewoon niet lukken en heb ik een ESP nodig?

Current temperature from another sensor

Hi,

First, thanks for this AMAZING job

I have a request for this integration, it is possible to set another sensor for the current temperature ?

Regards,

connected status/off

hello, I'm finishing an ESPhome, based on wemos mini D1 and a level shutter, I think I'm ready to get it to work, the esp communicates with homeassitant, but I don't have any feedback from the stove when I start it manually, nor change the status of the stove when I change to homeassistant.
I also don't know what I should do from the code

log:
default: warn
logs:
custom_components.duepi_evo: debug

sorry, I'm not very good with code, and just discovering HA

Feature idea: No-pellet detection

Hi!

I'm not shure if you want to integrate this in your home-assistant integration, but it may be interesting for some users:

Situation: You are running out of pellets and your fire dies. After some 20 minutes the stove cools down an beeps until you refill and reset the error.

Idea: Prevent the faulty state.

Possible solution: Track the exhaust gas temperature. If the stoves exhaust gas temperature is below 95°C for longer than 10 min send a warning message. If the temperature is low for > 15 min stop the stove, before it does it itself.

I testet this with my own system for couple weeks now. It works fine. After 10 min low temp you can still "save" the fire by immediately refilling pellets. After ~20 min below 95°C, the stove sets its state to faulty - so we should act beforehand.

Best

Pascal

Fan mode doesn't work

In the current Duepi_EVO the fan option doesn't work. Found the root cause in the replace function x is found twice. The solution is available in my branch/fork. Please review and merge. My pellet stove (duroflame) start and stop correctly, but the fan speed is not changed. After changing it with the plugin to 5 directly after start up it runs as expected.

Can't get it to work, component won't connect

Hi, i'm trying to.connect my artel julia next 2 but i cant get it to work. The component says

Time out when polling host

My set-up:

Artel Julia Next 2
Wemos d1 mini with esp easy.
20231231_183512
20231231_183443
20231231_183427

On wemos Orange goes to tx red goes to rx...

Anybody an idea what i'm doing wrong?

Beginners issue

Hi Aceindy. First, many thanks for your great job here!
I am struggling with the use of the integration and I have a very basic issue, not sure if here is the better place to ask sorry... I have all set all the yaml configuration, custom components, etc as you suggested, HW is wired as expected, but I am unable to even see the climate entities in my HA ... :(

Would you have a suggestion please? It will be highly appreciated, I am trying since weeks to control my pellet heater for the winter :)
thanks in beforehand!!!!

Fan mode

Hello,

Iam using scripts to call different fan modes in combination with Google Assistant.

This works great! I can tell google this way to set fan speed from 1 to 5

But after the change of 1 to 5 for min to max in climate.py
I was unable to call HVAC fan mode medium.
Somehow this is to long and not working in a script.

I have changed medium to med in climate.py and now it's working perfect.

Best regards

Bas

Nolonger availabe in HACS

Hi!

I yesterday tried to find yourimplementation in HACS. But I get a "Platform error climate.duepi_evo - Integration 'duepi_evo' not found." error.

I also cant find your implementation in HACS Integrations anymore... Any suggestions?

Best regards

Pascal

Create integration interface in device tab

Feature request.

Can we create an integration interface so users can enter the settings there and when changes have been made to the code we can reload the new code.

Mark

Hardware setup issue

Hello

Thank you for this great project.
I am trying to use it with my stove, but I am having some issues ... on the hardware part.

I have those one

  • NodeMcu V3 4MB flash ESP8266 12E
  • TXB0104 Bi-Directional Level Shifter
    with a evacalor stove (PUNTO FUOCO Nelly 9.5 kw + duepi)

So far, I managed to flash the NodeMCU, connect it on wifi, (setup the custom_component on ha.)
On the hardware part I plugged it like this

image

The issue is that if I plug it with the stove, I get the 5V output, but nothing at the output of the level shifter where I should get the 3V.
I also tried to plug the nodeMCU with usb, I get the 3V output, but not the 5V on the level shifter. I guess that it should work as the level shifter is bi-directional
I try also by pluging the OE pin to the low level (3v). still the same...
Did I miss or misunderstood something ? Could you confirm that my setup is ok ? or should I buy and try with another level shifter ...

Also do I need to configure any thing on esplink for the pin assigment to set the serial pin TX/RX ?
Once plugged, is there some command I can run directly on esplink console to validate setup ?
If I send \x1bRD90005f& for instance, should I see the result in the esp console directly ?

Thanks a lot

Persistent values

Since the stove does not send any setpoint data, the last used values of setpoint temperature and fan-speed must be saved when shutting down/restarting HA

Centrometal serial protocol?

Have you been able to integrate to centrometal serial interface? Do you have some details on the protocol it uses?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.