Commit bcf05dfed65c172f07f4906bad9f0a8535c57ce8

Authored by Jeroen88
1 parent 2ef2e0f7

Minor textual changes in README.md

Showing 1 changed file with 23 additions and 7 deletions
README.md
@@ -10,9 +10,9 @@ To connect the boiler, you will need an [OpenTherm controller](https://www.tindi @@ -10,9 +10,9 @@ To connect the boiler, you will need an [OpenTherm controller](https://www.tindi
10 ## Installation 10 ## Installation
11 - Download the library from [GitHub](https://github.com/Jeroen88/EasyOpenTherm/archive/refs/heads/main.zip) 11 - Download the library from [GitHub](https://github.com/Jeroen88/EasyOpenTherm/archive/refs/heads/main.zip)
12 - Install the library named EasyOpenTherm-main.zip using the Arduino IDE library manager 12 - Install the library named EasyOpenTherm-main.zip using the Arduino IDE library manager
13 -- 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 13 +- 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
14 - Connect the pins marked '3v3' and 'GND' to the ESP32 pins '3v3; and 'GND' 14 - Connect the pins marked '3v3' and 'GND' to the ESP32 pins '3v3; and 'GND'
15 -- 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) 15 +- 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)
16 16
17 ## Usage 17 ## Usage
18 ```cpp 18 ```cpp
@@ -23,12 +23,12 @@ Select two free GPIO pins, one to send data to the boiler and one to receive dat @@ -23,12 +23,12 @@ Select two free GPIO pins, one to send data to the boiler and one to receive dat
23 #define OT_RX_PIN (34) 23 #define OT_RX_PIN (34)
24 #define OT_TX_PIN (17) 24 #define OT_TX_PIN (17)
25 ``` 25 ```
26 -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! 26 +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!
27 Create an OpenTherm class instance 27 Create an OpenTherm class instance
28 ```cpp 28 ```cpp
29 OpenTherm thermostat(OT_RX_PIN, OT_TX_PIN); 29 OpenTherm thermostat(OT_RX_PIN, OT_TX_PIN);
30 ``` 30 ```
31 -Make sure that only one instance of this object is alive at a time. So make it global or ```static``` like in the examples 31 +Make sure that only one instance of this object is alive at a time. So make it global or ```static``` like in the examples.
32 Start communicating with the boiler (or HVAC) e.g. request activation of the services of the boiler and request it's status flags 32 Start communicating with the boiler (or HVAC) e.g. request activation of the services of the boiler and request it's status flags
33 ```cpp 33 ```cpp
34 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); 34 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; @@ -36,7 +36,7 @@ uint8_t statusFlags;
36 thermostat.status(primaryFlags, statusFlags); 36 thermostat.status(primaryFlags, statusFlags);
37 ``` 37 ```
38 This command will return _true_ on success and _false_ otherwise 38 This command will return _true_ on success and _false_ otherwise
39 -All other interaction with the boiler is done using ```read()```, ```write()``` or ```readWrite()``` functions, e.g. 39 +All other interaction with the boiler is done using the ```read()```, ```write()``` or ```readWrite()``` functions, e.g.
40 ```cpp 40 ```cpp
41 thermostat.write(OpenTherm::WRITE_DATA_ID::CONTROL_SETPOINT_CH, CH_SETPOINT) 41 thermostat.write(OpenTherm::WRITE_DATA_ID::CONTROL_SETPOINT_CH, CH_SETPOINT)
42 ``` 42 ```
@@ -46,8 +46,24 @@ All these functions take an OpenTherm DATA-ID as _first_ parameter. The DATA-ID @@ -46,8 +46,24 @@ All these functions take an OpenTherm DATA-ID as _first_ parameter. The DATA-ID
46 - float marked as f8.8 (because actually it is a sint_16 / 256) 46 - float marked as f8.8 (because actually it is a sint_16 / 256)
47 - 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``` 47 - 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```
48 48
  49 +Remember: the thermostat is always the _primary_ device and the boiler always the _secondary_.
  50 +
  51 +## Glossary
  52 +- _primary_: the device issuing the requests, in this context also called _thermostat_
  53 +- _secondary_: the device handling the requests and sending responses, also called _boiler_ or _HVAC_
  54 +- _CH_: Central Heating
  55 +- _DHW_: Domestic Hot Water
  56 +- _OTC_: Outside Temperature Compensation
  57 +- _HVAC_: Heating, Ventilation and Air Conditioning
  58 +- _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
  59 +- _on/off_: a non digital control mode switching the boiler on and off (by shortening the thermostat wires and opening them)
  60 +- _ modulation_: a technique of lowering the flame when less power is needed
  61 +- _flow_: water leaving the boiler
  62 +- _return_: water returning to the boiler
  63 +
  64 +
49 ## License 65 ## License
50 -© 2022 Jeroen Döll, licensed under the [GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.html) 66 +© 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!
  67 +
51 68
52 69
53 -Remember: the thermostat is always the _primary_ device and the boiler always the _secondary_.