Skip to content

Commit b312d25

Browse files
committed
Add webserver support with OTA
1 parent a0f29b4 commit b312d25

File tree

10 files changed

+1118
-593
lines changed

10 files changed

+1118
-593
lines changed

README.md

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ The main problem with centrally controlling them is the limited range of BLE. Th
1616
+ [JSON-Format of status topic](#json-format-of-status-topic)
1717
+ [Read current status](#read-current-status)
1818
+ [MQTT Topics](#mqtt-topics)
19+
+ [Web interface](#web-interface)
1920
* [Usage Summary](#usage-summary)
2021
* [Developer notes](#developer-notes)
2122
* [Testing](#testing)
@@ -32,18 +33,23 @@ When using calorBT some very basic security is employed. This security however l
3233

3334
On first use the ESP32 will start in access-point mode appearing as 'HeatingController'. Connect to this AP (password is 'password' or unset) and browse to the device IP address (192.168.4.1). The device configuration parameters can be set here:
3435

35-
| Parameter | Description | Exampels |
36+
| Parameter | Description | Examples |
3637
| ------------- | ------------- | ------------- |
3738
| ssid | the AP to connect to for normal operation | |
3839
| password | the password for the AP | |
3940
| mqtturl | url to access the mqtt broker<br>allowed values:<br><br>- IP-Address, Hostname or Domainname only ("mqtt://" is used in this case)<br>- URL with scheme mqtt, ws, wss, tco, ssl (only mqtt is tested yet)| 192.168.0.2<br>mqtt://192.168.0.2<br>ws://192.168.0.2 |
4041
| mqttuser | mqtt broker username | |
4142
| mqttpass | mqtt broker password | |
4243
| mqttid | the unique id for this device to use with the mqtt broker __(max 20 characters)__ | livingroom |
44+
| ntp enabled | enable network time protocol support | |
45+
| ntp server | url for ntp server | pool.ntp.org |
46+
| timezone | timezone in TZ format | GMT0BST,M3.5.0/2,M11.5.0/2 |
4347
| ip | fixed IP for WiFi network (leave blank to DHCP) | |
4448
| gw | gateway IP for WiFi network (leave blank for DHCP) | |
4549
| netmask | netmask for WiFi network (leave blank for DHCP) | |
4650

51+
Once the ESP32 is running in client mode the configuration page can be accessed on the webserver at /config
52+
4753
#### Reset configuration
4854

4955
The application can be forced into config mode by pressing and holding the `BOOT` key AFTER the `EN` key has been released.
@@ -60,9 +66,9 @@ where the device is indicated by its bluetooth address (MAC)
6066

6167
### Supported commands
6268

63-
| Parameter | Description | Paramters | Exampels | Stable since |
69+
| Parameter | Description | Parameters | Examples | Stable since |
6470
| ------------- | ------------- | ------------- | ------------- | ------------- |
65-
| settime | sets the current time on the valve | settime has an additional parameter of the hexadecimal encoded current time.<br>parm is 12 characters hexadecimal yymmddhhMMss (e.g. 13010c0c0a00 is 2019/Jan/12 12:00.00) | *`/<mqttid>radin/trv <eq-3-address> settemp 13010c0c0a00`*<br><br>`/livingroomradin/trv ab:cd:ef:gh:ij:kl settemp 13010c0c0a00` | v1.20 |
71+
| settime | sets the current time on the valve | settime has an optional parameter of the hexadecimal encoded current time.<br>parm is 12 characters hexadecimal yymmddhhMMss (e.g. 13010c0c0a00 is 2019/Jan/12 12:00.00)<br>if no parameter is submitted and ntp is enabled the ntp time (with timezone offset) will be used | *`/<mqttid>radin/trv <eq-3-address> settemp 13010c0c0a00`*<br><br>`/livingroomradin/trv ab:cd:ef:gh:ij:kl settemp 13010c0c0a00` | v1.20 |
6672
| boost | sets the boost mode | -none - | *`/<mqttid>radin/trv <eq-3-address> boost`*<br><br>`/livingroomradin/trv ab:cd:ef:gh:ij:kl boost` | v1.20 |
6773
| unboost | reset to unboost mode | -none - | *`/<mqttid>radin/trv <eq-3-address> unboost`*<br><br>`/livingroomradin/trv ab:cd:ef:gh:ij:kl unboost` | v1.20 |
6874
| lock | locks the front-panel controls | -none - | *`/<mqttid>radin/trv <eq-3-address> lock`*<br><br>`/livingroomradin/trv ab:cd:ef:gh:ij:kl lock` | v1.20 |
@@ -80,7 +86,7 @@ This can be used as an acknowledgement of a successful command to remote mqtt cl
8086

8187
| Key | Description | Exampls | Since Version |
8288
| ------------- | ------------- | ------------- | ------------- |
83-
| trv | Bluetooth-Address of the corroesponding thermostat | `"trv":"ab:cd:ef:gh:ij:kl"` | 1.20 |
89+
| trv | Bluetooth-Address of the corresponding thermostat | `"trv":"ab:cd:ef:gh:ij:kl"` | 1.20 |
8490
| temp | the current target room-temperature is set | `"temp":"20.0"` | 1.20 |
8591
| offsetTemp | the current offset temperature is set | `"offsetTemp":"0.0"` | 1.30 (upstream merge in dev) |
8692
| mode | the current thermostate programm mode<br><br>`"auto"` = internal temperature/time program is used<br>`"manual"` = internal temperature/time program is disabled<br>`"holiday"` = holiday mode is used | `"mode":"auto"`<br> `"mode":"manual"`<br> `"mode":"holiday"` | 1.20 <sup>1)</sup> |
@@ -103,7 +109,12 @@ It is probably not advisable to poll the valve with the unboost command.
103109
| `/<mqttid>radout/devlist` | list of avalibile bluetooth devices | X | |
104110
| `/<mqttid>radout/status ` | show a status message each time a trv is contacted | X | |
105111
| `/<mqttid>radin/trv <command> [param]` | sends a command to the trv | | X |
106-
| `/<mqttid>radin/scan` | scan for avalibile bluetooth devices | | X |
112+
| `/<mqttid>radin/scan` | scan for available bluetooth devices | | X |
113+
114+
### Web interface
115+
116+
When running in client mode the ESP32 presents a web interface that can be used to control TRVs and administer the EQ3-mqtt application.
117+
Software OTA feature can be used to apply new software binary files available in future without the need for usb/serial connection.
107118

108119
## Usage Summary
109120

@@ -143,7 +154,7 @@ mosquitto_pub -h 127.0.0.1 -p 1883 -t "<mqttid>radin/trv" -m "ab:cd:ef:gh:ij:kl
143154
<sup>2)</sup> Many aliases for "Eqiva eQ-3 Bluetooth Smart" devices exists. Most of all are characterized by a combination of "Eqiva", "eQ-3", "Bluetooth", "Smart".<br>
144155
&nbsp;&nbsp;&nbsp;&nbsp;e.g. `"eQ-3 AG Eqiva BLUETOOTH® Smart"`, `"eqiva Bluetooth Smart Radiator Thermostat"`, `"eQ-3 eqiva Heizkörperthermostat Typ N"`, `"Eqiva Bluetooth Smart"`
145156

146-
**Don't by Models without Bluetooth logo. They won't work with this "hub". e.g. "Eqiva Model N, 132231K0A"**
157+
**Don't buy Models without Bluetooth logo. They won't work with this "hub". e.g. "Eqiva Model N, 132231K0A"**
147158

148159
## Credits
149160

@@ -154,4 +165,4 @@ mosquitto_pub -h 127.0.0.1 -p 1883 -t "<mqttid>radin/trv" -m "ab:cd:ef:gh:ij:kl
154165

155166
* Paul ([@softypit](https://github.com/softypit))
156167
* [@ul-gh](https://github.com/ul-gh)
157-
* Peter Becker ([@floyddotnet](https://github.com/floyddotnet))
168+
* Peter Becker ([@floyddotnet](https://github.com/floyddotnet))

0 commit comments

Comments
 (0)