Comments (7)
Hello,
I ran into exact same problem. My boiler is Baxi Prime HT 1.240. According to the manual, it is able to work with Siemens QAA73 room thermostat, which uses OpenTherm.
I have connected an Arduino using Ihor Melnyk's adapter. I can read the status (cmd ID 0), configuration (cmd ID 3), fault flags (cmd ID 5), relative modulation level (cmd ID 17), boiler temperature (cmd ID 25), slave OpenTherm version (cmd ID 125, for some reason it replies "9.02") and slave version (cmd ID 127).
I can write control setpoint (cmd ID 1), maximum relative modulation level (cmd ID 14) and cmd IDs 124 and 126. Strangely, I cannot read the outside temperature, since it is supported on QAA73. And the main problem, the boiler wont start, although control setpoint is higher than boiler temperature.
What am I missing?
EDIT:
I got it working. After reading slave configuration (cmd ID 3), the MemberID code is received in the response. After that, master configuration write command (cmd ID 2) needs to be sent with the same MemberID code. It even states in the OpenTherm 2.2 specification that "A valid Read Slave Configuration and Write Master Configuration message exchange is recommended before
control and status information is transmitted."
Best regards.
from opentherm_library.
@Llenas09 check my mentions, this is the code snippet you need
//read slave config
unsigned int data = 0;
unsigned long request = ot.buildRequest(
OpenThermRequestType::READ,
OpenThermMessageID::SConfigSMemberIDcode,
data);
unsigned long response = ot.sendRequest(request);
data = ot.getUInt(response);
data &= 0xFF; //clear high byte
Serial.println("Boiler Member Id: " + String(data));
//write the same data as master id
request = ot.buildRequest(
OpenThermRequestType::WRITE,
OpenThermMessageID::MConfigMMemberIDcode,
data);
response = ot.sendRequest(request);
from opentherm_library.
Hello @Llenas09
I pushed my last version to GitHub and set it to public. It is not a perfect code, it is just a fork of my own code that I use with the ESP8266/32 normally with the different types of sensors.
https://github.com/pavon87/opentherm-mqtt
I hope that it will be useful.
KR
from opentherm_library.
I got it working. After reading slave configuration (cmd ID 3), the MemberID code is received in the response. After that, master configuration write command (cmd ID 2) needs to be sent with the same MemberID code. It even states in the OpenTherm 2.2 specification that "A valid Read Slave Configuration and Write Master Configuration message exchange is recommended before control and status information is transmitted."
Can you post a code example or something ? I have same issue with a viessman vitodens 100-w :(
Thanks
from opentherm_library.
@pavon87 Hi can you share your code?. I'm on the same situation I get a Baxi Boiler to.
from opentherm_library.
Thanks for the info @littlej956 but i'm interested on the MQTT part to. This is why I asked for all the code from @pavon87. Thanks for the help!
Baxi has a mode that you can connect an outdoor temp sensor and respond to extra demand if the temp is very low. Any try with this?
from opentherm_library.
I got it working. After reading slave configuration (cmd ID 3), the MemberID code is received in the response. After that, master configuration write command (cmd ID 2) needs to be sent with the same MemberID code. It even states in the OpenTherm 2.2 specification that "A valid Read Slave Configuration and Write Master Configuration message exchange is recommended before control and status information is transmitted."
Can you post a code example or something ? I have same issue with a viessman vitodens 100-w :(
Thanks
Sorry for a very late reply, hopefully this is still useful. I skipped all the checking of the boiler responses for errors.
unsigned long getSlaveCfg = ot.buildRequest(OpenThermRequestType::READ_DATA, OpenThermMessageID::SConfigSMemberIDcode, 0);
Serial.println("Sending slave cfg request");
unsigned long response = ot.sendRequest(getSlaveCfg);
OpenThermResponseStatus responseStatus = ot.getLastResponseStatus();
unsigned long MasterID = response & 0x000F;
Serial.println("Slave OT Member ID: " + String(MasterID));
unsigned long setMasterMemberID = ot.buildRequest(OpenThermRequestType::WRITE_DATA, OpenThermMessageID::MConfigMMemberIDcode, MasterID);
Serial.println("Sending master member ID code");
response = ot.sendRequest(setMasterMemberID);
`
Regards.
from opentherm_library.
Related Issues (20)
- ISR not in IRAM! HOT 2
- [question] Data timing HOT 3
- Compilation issue in Tasmota ESP32 build with BLE and OpenTherm enabled
- Room thermostat values not available HOT 24
- ported to esp-idf framework HOT 1
- Cannot communicate with Intergas Kompakt HR 22 HOT 3
- Add method getLastResponse HOT 3
- Setting hot water temperature fails (Tasmota) HOT 1
- Nest Thermostat
- Only getting invalid response on Master side HOT 2
- ICACHE_RAM_ATTR is deprecated
- Help needed - boiler not starting - viessman vitodens 100-w HOT 4
- Not compiling when "thingProperties.h" is used. HOT 4
- [HELP] OpenTherm Master Schematic HOT 1
- OpenTherm monitor HOT 5
- Protocol instability, request for help HOT 1
- OpenThermMessageID 50 missing HOT 2
- Can you add the possibility to invert the Pin signals, as some schematics are different
- [HELP] Boilers goes berserk when communication with opentherm is lost HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opentherm_library.