From bcf05dfed65c172f07f4906bad9f0a8535c57ce8 Mon Sep 17 00:00:00 2001 From: Jeroen88 Date: Mon, 24 Oct 2022 21:44:42 +0200 Subject: [PATCH] Minor textual changes in README.md --- README.md | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 8b08147..e929b88 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ To connect the boiler, you will need an [OpenTherm controller](https://www.tindi ## Installation - Download the library from [GitHub](https://github.com/Jeroen88/EasyOpenTherm/archive/refs/heads/main.zip) - Install the library named EasyOpenTherm-main.zip using the Arduino IDE library manager -- Connect the pins marked 'OT' of the [OpenTherm controller](https://www.tindie.com/products/jeroen88) with two wires to the boiler. You can use the existing wires from your current thermostat. The order of the wires is not important, they are interchangable +- Connect the pins marked 'OT' of the [OpenTherm controller](https://www.tindie.com/products/jeroen88) with two wires to the boiler. You can use the existing wires from your current thermostat. The order of the wires is not important, they are interchangeable - Connect the pins marked '3v3' and 'GND' to the ESP32 pins '3v3; and 'GND' -- Connect the pin marked 'RxD' to a pin supporting OUTPUT of the ESP32 and the pin marked 'TxD'to a pin supporting interrupts. The pins you use should be defined in the program (see below) +- Connect the pin marked 'RxD' to a pin supporting OUTPUT of the ESP32 and the pin marked 'TxD' to a pin supporting interrupts. The pins you use should be defined in the program (see below) ## Usage ```cpp @@ -23,12 +23,12 @@ Select two free GPIO pins, one to send data to the boiler and one to receive dat #define OT_RX_PIN (34) #define OT_TX_PIN (17) ``` -In this case GPIO34 is used for receiving and GPIO17 is used for sending data. Note that the Rx pin is connected to the TxD pin of the [OpenTherm controller](https://www.tindie.com/products/jeroen88) and vice versa! +In this case GPIO34 is used for receiving and GPIO17 is used for sending data. Note that the *Rx* pin is connected to the *TxD* pin of the [OpenTherm controller](https://www.tindie.com/products/jeroen88) and vice versa! Create an OpenTherm class instance ```cpp OpenTherm thermostat(OT_RX_PIN, OT_TX_PIN); ``` -Make sure that only one instance of this object is alive at a time. So make it global or ```static``` like in the examples +Make sure that only one instance of this object is alive at a time. So make it global or ```static``` like in the examples. Start communicating with the boiler (or HVAC) e.g. request activation of the services of the boiler and request it's status flags ```cpp uint8_t primaryFlags = uint8_t(OpenTherm::STATUS_FLAGS::PRIMARY_DHW_ENABLE) | uint8_t(OpenTherm::STATUS_FLAGS::PRIMARY_CH_ENABLE) | uint8_t(OpenTherm::STATUS_FLAGS::PRIMARY_COOLING_ENABLE) | uint8_t(OpenTherm::STATUS_FLAGS::PRIMARY_OTC_ENABLE); @@ -36,7 +36,7 @@ uint8_t statusFlags; thermostat.status(primaryFlags, statusFlags); ``` This command will return _true_ on success and _false_ otherwise -All other interaction with the boiler is done using ```read()```, ```write()``` or ```readWrite()``` functions, e.g. +All other interaction with the boiler is done using the ```read()```, ```write()``` or ```readWrite()``` functions, e.g. ```cpp thermostat.write(OpenTherm::WRITE_DATA_ID::CONTROL_SETPOINT_CH, CH_SETPOINT) ``` @@ -46,8 +46,24 @@ All these functions take an OpenTherm DATA-ID as _first_ parameter. The DATA-ID - float marked as f8.8 (because actually it is a sint_16 / 256) - Two times a uint8_t marked as flag8, u8 or s8. If it is a flag the meaning of bits is defined in an enum class with a name inding in _FLAG, e.g. ```enum class STATUS_FLAGS``` +Remember: the thermostat is always the _primary_ device and the boiler always the _secondary_. + +## Glossary +- _primary_: the device issuing the requests, in this context also called _thermostat_ +- _secondary_: the device handling the requests and sending responses, also called _boiler_ or _HVAC_ +- _CH_: Central Heating +- _DHW_: Domestic Hot Water +- _OTC_: Outside Temperature Compensation +- _HVAC_: Heating, Ventilation and Air Conditioning +- _setpoint_: the desired value of a parameter, e.g. the desired temperature of the temperature of the water of the boiler is called CH (Central Heating) setpoint +- _on/off_: a non digital control mode switching the boiler on and off (by shortening the thermostat wires and opening them) +- _ modulation_: a technique of lowering the flame when less power is needed +- _flow_: water leaving the boiler +- _return_: water returning to the boiler + + ## License -© 2022 Jeroen Döll, licensed under the [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.html) +© 2022 Jeroen Döll, licensed under the [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.html). Enjoy using the library, feedback is wellcome! + -Remember: the thermostat is always the _primary_ device and the boiler always the _secondary_. -- libgit2 0.21.4