Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OT Not communicating #1

Closed
serhat-ozkara opened this issue Mar 29, 2021 · 9 comments
Closed

OT Not communicating #1

serhat-ozkara opened this issue Mar 29, 2021 · 9 comments
Labels
bug Something isn't working question Further information is requested

Comments

@serhat-ozkara
Copy link

Hello @rsciriano ,

I've successfully uploaded bin file, but there's no opentherm communication with boiler. May be a pin configuration issue?

I'm using Ihor's adapter
Screen Shot 2021-03-29 at 12 09 11

@rsciriano
Copy link
Owner

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

@rsciriano
Copy link
Owner

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

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

@serhat-ozkara
Copy link
Author

@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

@rsciriano
Copy link
Owner

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

from

  OpenthermComponent(): PollingComponent(15000) {

  }

to

  OpenthermComponent(): PollingComponent(3000) {

  }

@serhat-ozkara
Copy link
Author

@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 :)

@rsciriano
Copy link
Owner

rsciriano commented Mar 29, 2021

@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.

@serhat-ozkara
Copy link
Author

serhat-ozkara commented Mar 30, 2021

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

@Aliskin-Papa
Copy link

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

@rsciriano rsciriano added bug Something isn't working question Further information is requested labels Apr 22, 2021
@rsciriano
Copy link
Owner

rsciriano commented Apr 22, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants