Git Product home page Git Product logo

Comments (9)

rsciriano avatar rsciriano commented on August 26, 2024

Hi @serhat-ozkara, the pins configuratios is in opentherm_component.h, review this and change it with your values

from esphome-opentherm.

rsciriano avatar rsciriano commented on August 26, 2024

@serhat-ozkara, also you can use the current pins

const int inPin = D5; 
const int outPin = D6; 

from esphome-opentherm.

serhat-ozkara avatar serhat-ozkara commented on August 26, 2024

@rsciriano Hello,

I managed to get it working by defining

const int inPin = D2; const int outPin = D1;

Now opentherm works!
But OT values from boiler seems to be not working:
Screen Shot 2021-03-29 at 17 43 30

from esphome-opentherm.

rsciriano avatar rsciriano commented on August 26, 2024

@serhat-ozkara try to change the constructor of OpenthermComponent class

from

  OpenthermComponent(): PollingComponent(15000) {

  }

to

  OpenthermComponent(): PollingComponent(3000) {

  }

from esphome-opentherm.

serhat-ozkara avatar serhat-ozkara commented on August 26, 2024

@rsciriano Actually, I noticed this on opentherm_component.h:

`// Read sensor values
/*
float boilerTemperature = ot.getBoilerTemperature();
float ext_temperature = getExternalTemperature();
float pressure = getPressure();
float modulation = getModulation();

// Publish sensor values
//flame->publish_state(isFlameOn); 
external_temperature_sensor->publish_state(ext_temperature);
return_temperature_sensor->publish_state(return_temperature);
boiler_temperature->publish_state(boilerTemperature);
pressure_sensor->publish_state(pressure);
modulation_sensor->publish_state(modulation);
*/`

They're all commented-out :)

from esphome-opentherm.

rsciriano avatar rsciriano commented on August 26, 2024

@rsciriano Actually, I noticed this on opentherm_component.h:

`// Read sensor values
/*
float boilerTemperature = ot.getBoilerTemperature();
float ext_temperature = getExternalTemperature();
float pressure = getPressure();
float modulation = getModulation();

// Publish sensor values
//flame->publish_state(isFlameOn); 
external_temperature_sensor->publish_state(ext_temperature);
return_temperature_sensor->publish_state(return_temperature);
boiler_temperature->publish_state(boilerTemperature);
pressure_sensor->publish_state(pressure);
modulation_sensor->publish_state(modulation);
*/`

They're all commented-out :)

Yes, I commented that code because I tried without the opentherm adapter. The important thing is the heating climate and return temperature values.

from esphome-opentherm.

serhat-ozkara avatar serhat-ozkara commented on August 26, 2024

Hello again @rsciriano
I got it working with both uncommenting those lines & reducing polling to 3000. The values on the screenshot I marked are not changing and I get intermittent -1 values.
It seems to be working, but I had to set heating water to heat (auto turns off boiler completely), PID to auto (Heat seems to always enable boiler regardless of the temperature). Also Boiler target temp jumping from max boiler temp to 10 degrees, you can see from the screenshot.
Also there's a big delay between PID thermostat switching to heating and heating water swtiching from off to heating.
What does "termostato ambiante" switch does? Do I have to turn it on or off?

Thank you for your effort on this BTW :)
Screen Shot 2021-03-30 at 17 31 10

from esphome-opentherm.

Aliskin-Papa avatar Aliskin-Papa commented on August 26, 2024

Switch "Termostato ambiante" -> calculate Target temperature without PID.

from esphome-opentherm.

rsciriano avatar rsciriano commented on August 26, 2024

Hi @serhat-ozkara, sorry for the delay

I answer you in parts

I got it working with both uncommenting those lines & reducing polling to 3000. The values on the screenshot I marked are not changing and I get intermittent -1 values.

  • Flame: was doubly commented on, will remain commented on
  • Return Temperature: there could be a communication problem with the boiler. You could try this:
    • Increse the polling time from 3000 to 5000
    • Change the 160 line of code to show boilerTemperature instead of return_temperature on the climate component
    heatingWaterClimate->current_temperature = boilerTemperature;
    

It seems to be working, but I had to set heating water to heat (auto turns off boiler completely),

Yes, the auto option is not implemented

PID to auto (Heat seems to always enable boiler regardless of the temperature). Also Boiler target temp jumping from max boiler temp to 10 degrees, you can see from the screenshot.
Screen Shot 2021-03-30 at 17 31 10

I think it is because the PID parameters are not appropriate. You should run the Autotuning mode to get the parameters that adjust to your home.

I've tried it but it doesn't work fine.

image

Also there's a big delay between PID thermostat switching to heating and heating water swtiching from off to heating.

I think this is the behaviour of the PID, the behaviour of my original Baxi thermostat (OpenTherm wired) was similar.

I set it first to ON and then to AUTO.

What does "termostato ambiante" switch does? Do I have to turn it on or off?

As @Aliskin-Papa rightly says, calculate Target temperature without PID.

I was previously using the Generic Thermostat from Home Assistant, the "termostato ambiente" switch is for this

from esphome-opentherm.

Related Issues (20)

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.