-
-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathchangelog
1044 lines (697 loc) · 38.6 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# v0.0.1
first public version
---
# v0.0.2
## what's new
new command to switch between different heating programs
```
Topic: esp_heizung/setvalue/hk1_programm
Payload: 0..8
```
0=Eigen
1=Familie
2=Frueh
3=Spaet
4=Vormittag
5=Nachmittag
6=Mittag
7=Single
8=Senior
## changelog
- add program information to mqtt messages
---
# v1.0.0
## what's new
add support for "Heating Circuit 2"
- [X] added Config values
- [X] added Status values
- [X] added Commands
for more informations take a look at the **[wiki](https://github.com/dewenni/ESP_Buderus_KM271/wiki)**
## changelog
- add support for "Heating Circuit 2"
----------------------------------------------------------------
# v1.1.0
## what's new
add Program Timer Information to the config values.
Each **program** has up to **42 switch points** (SP).
Each switch point includes the **day**, **time** and **switch state** (on/off).
example for heating circuit 1:
```
HK1_Timer01 = SP01: Mo 05:30 (An) | SP02: Mo 22:00 (Aus) | SP03: Di 05:30 (An)
HK1_Timer02 = SP04: Di 22:00 (Aus) | SP05: Mi 05:30 (An) | SP06: Mi 22:00 (Aus)
HK1_Timer03 = SP07: Do 05:30 (An) | SP08: Do 22:00 (Aus) | SP09: Fr 05:30 (An)
HK1_Timer04 = SP10: Fr 23:00 (Aus) | SP11: Sa 06:30 (An) | SP12: Sa 23:30 (Aus)
HK1_Timer05 = SP13: So 07:00 (An) | SP14: So 22:00 (Aus) | SP15: frei
HK1_Timer06 = SP16: frei | SP17: frei | SP18: frei
HK1_Timer07 = SP19: frei | SP20: frei | SP21: frei
HK1_Timer08 = SP22: frei | SP23: frei | SP24: frei
HK1_Timer09 = SP25: frei | SP26: frei | SP27: frei
HK1_Timer10 = SP28: frei | SP29: frei | SP30: frei
HK1_Timer11 = SP31: frei | SP32: frei | SP33: frei
HK1_Timer12 = SP34: frei | SP35: frei | SP36: frei
HK1_Timer13 = SP37: frei | SP38: frei | SP39: frei
HK1_Timer14 = SP40: frei | SP41: frei | SP42: frei
```
## changelog
- add new timer information to mqtt config messages
---
# v1.2.1
## what's new
You can switch between german and english mqtt topics.
There is a new config option in **[/include/config.h](https://github.com/dewenni/ESP_Buderus_KM271/blob/aa369b0bc6e71b8ec41ad1284f3467846cb56dcc/include/config.h)**
```
#define LANG 0 // 0=GERMAN / 1=ENGLISH
```
You can also change or add the used texts, by editing **[/include/language.h](https://github.com/dewenni/ESP_Buderus_KM271/blob/0439aeb246c99b3b6733f8a491dcddebd77829e8/include/language.h)**
With that, I hope you have all the flexibility to adapt this software for your needs and your smart home environment.
## changelog
- add multi language support
---
# v1.3.3
---
**:heavy_exclamation_mark: I have changed the linked tag of this release from v1.3.1 to v1.3.3 because the was a mistake in v1.3.1**
---
## what's new
### new alarm messages
with this release, the software also supports the last 4 alarm messages from the Logamatic.
The informations are from the messages (0x0300, 0x0307, 0x030e, 0x0315), and will be send with the MQTT topic: "/alarm/"
If the failure is still active, you will get a message in this format:
```
failure outdoor sensor (>> 16:31 -3 days)
```
If the failure is already gone, you will get a message in this format:
```
failure outdoor sensor (>> 16:31 -3 days | << 20:40 -2 days)
```
the language of the alarm texts are also depending on the language config Flag and are available in german and english.
### new set values
- ```/setvalue/hc1_holidays``` and ```/setvalue/hc2_holidays```
Resolution: 1 day - Setting range: 0 - 99 days
Note: This value is reduced by 1 every day by the controller.
- ```/setvalue/hc1_day_setpoint ``` and ```/setvalue/hc2_day_setpoint```
Resolution: 0.5 °C - Range: 10 – 30 °C
- ```/setvalue/hc1_night_setpoint``` and ```/setvalue/hc2_night_setpoint```
Resolution: 0.5 °C - Range: 10 – 30 °C
- ```/setvalue/hc1_holiday_setpoint``` and ```/setvalue/hc2_holiday_setpoint```
Resolution: 0.5 °C - Range: 10 – 30 °C
## changelog
- add alarm messages
- add new set values
---
# v1.3.4
## what's new
As not every Logamatic Model seems to support the alarm messages, I have added a config flag to be able to disable this messages.
## changelog
- Alarm message configurable #8
---
# v2.0.0
## what's new
this release brings a new onboard webUI to monitor and control your Logamatic from the web browser. 🥳
The webUI can be enabled/disabled within the config.h settings and can be accessed by the ip-address of your ESP.
The values are automatically refreshed if they change.
<img width="1062" alt="image" src="https://user-images.githubusercontent.com/46074831/212485914-3ac7b0ae-12a0-479a-bb8a-3af1ae9e0853.png">
**more details and screenshots can be found in the additional [wiki section](https://github.com/dewenni/ESP_Buderus_KM271/wiki/4.-WebUI)**
## changelog
- new webUI
- improved String handling (changed type String to type char for most variables)
- added calculated oil consumption (see config.h) #3
---
# v2.1.0
## what's new
new function to set date and time from webUI
If the NTP Server is used, you can set the actual ESP time to the Logamatic.
But it is also possible to set date and time manually from the webUI.
<img width="472" alt="image" src="https://user-images.githubusercontent.com/46074831/213874759-0197cd4c-2237-43cc-b2d3-01a699afb070.png">
## changelog
- change remaining Strings from type String to type char
- add limit function for cfgArray index
- km271SetDateTime() - day of week was wrong, fix mqtt response message
- rename km271SetDateTime() to km271SetDateTimeNTP()
- new function km271SetDateTimeDTI() to set time manually from webUI
- config options for NTP-Server and km271SetDateTimeNTP()
- config options for hardware settings
- rename mqtt "info message" to "debug"
- add new info message with relevant logamatic status values
---
# v2.2.0
## what's new
- new function to set the operation cycles of the warm water circulation pump over mqtt (#14)
```
command: warm water pump cycles
topic: {"setvalue/ww_pumpen_zyklus", setvalue/ww_pump_cycles"}
payload: Resolution: 1 [cyles/hour] - Range: 0:OFF | 1..6 | 7:ON
```
and also from the webUI:
<img width="471" alt="image" src="https://user-images.githubusercontent.com/46074831/215259504-e05c46c8-2c93-48e2-8328-d9b9b635e2ee.png">
- There is also a new **[param.txt](https://github.com/dewenni/ESP_Buderus_KM271/blob/1c3b92ba8c515077c627aaf876f2f54df3c393f8/param.txt)** that contains a List of all mqtt commands and status values.
---
# v2.3.0
## what's new
CHANGE: ```summer mode threshold``` and ```frost_mode_threshold``` divided into separate values for heating circuit 1 and heating circuit 2 (#19)
❗️Attention: the mqtt commands changed ❗️
```
// NEW: Heating circuit 1
command: heating circuit 1: summer mode threshold Temperature
topic: {"setvalue/hk1_sommer_ab", setvalue/hc1_summer_mode_threshold"}
payload: Resolution: 1 [°C] - Range: 9:Summer | 10°..30° | 31:Winter
command: heating circuit 2: summer mode threshold Temperature
topic: {"setvalue/hk2_sommer_ab", setvalue/hc2_summer_mode_threshold"}
payload: Resolution: 1 [°C] - Range: 9:Summer | 10°..30° | 31:Winter
// NEW: Heating circuit 2
command: heating circuit 1: frost mode threshold Temperature
topic: {"setvalue/hk1_frost_ab", setvalue/hc1_frost_mode_threshold"}
payload: Resolution: 1 [°C] - Range: -20 ... +10 [°C]
command: heating circuit 2: frost mode threshold Temperature
topic: {"setvalue/hk2_frost_ab", setvalue/hc2_frost_mode_threshold"}
payload: Resolution: 1 [°C] - Range: -20 ... +10 [°C]
```
Also the **webUI** changed a bit depending this values. The values moved from "general values" to "heating circuit 1" and "heating circuit 2"
## changelog
- #19 ```summer mode threshold``` and ```frost_mode_threshold``` divided into separate values for heating circuit 1 and heating circuit 2
- #19 bugfix in callback of operation modes (heating circuit 1, heating circuit 2 and hot water) in webUI - did not work before!
- bugfix a typo in description for ```summer mode threshold``` (9:winter / 31:summer => 9:summer / 31:winter)
---
# v3.0.0
## what's new
🎉 this is a major update with a lot of cool new features! 🎉
The webUI was redesigned for a better availability and stability. It reacts faster and the resource problem could hopefully be solved.
There is also a completely new configuration section in the webUI, where you can configure all the settings.
Its also now possible to show heating circuit 1 and heating circuit 2 in parallel.
The OTA Library has changed from ArduinoOTA to AsyncElegantOTA. With that, there is also the possibility to update the Software without PlatformIO.
In Future you can update the software with the `firmware.bin` files from the release section and upload this directly on the webUI.
To get access to the webUI, even when there is no valid WiFi configuration, there is a new "Setup-Mode".
The "Setup-Mode" starts automatically if the configuration is invalid or missing and can be activated manually.
To enable it manually, press the Reset-Button on the ESP and click it again within 5 Seconds.
If the ESP goes into "Setup Mode", it will automatically create a own network access point with ssid 📶 `"ESP-Buderus-KM271"`
After you are connected to this network, you can open the webUI on ip-address **"http://192.168.4.1"**
## changelog
- re-work of the webUI value Tables for better stability
- remove `credentials.h`
- remove configuration options in `config.h`
- add new possibility to configure everything in the webUI
- new "Setup-Mode" with fallback Access-Point
- remove Wiki and extend `README.md`
---
# v3.0.1
## what's new
this is a bugfix Version of the latest major release V3
see all details of the first V3 release here: [Release v3.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v3.0.0)
## changelog
- fix some Translation issues #23
- increase char length of mqtt server from 20 to 128
- change datapoint of mqtt-port from int to uint16_t
---
# v3.1.0
## what's new
- new Widget with outdoor temperatures on the dashboard
see all details of the first V3 release here: [Release v3.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v3.0.0)
## changelog
- fix LED config for Setup-Mode (for the78Mole Board, LED on GPIO21 is used to show Setup-Mode)
- fix virtual oilmeter is not shown in webUI #24
- fix mqtt info response message for ww_opmode
---
# v3.2.0
## what's new
- new Option to configure config messages from Logamatic in mqtt as retain #28
see all details of the first V3 release here: [Release v3.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v3.0.0)
## changelog
- mqtt option to set config messages as retain #28
- change format specifier for printf #27
- fix some typos in [param.txt](Doc/param.txt)
---
# v3.2.1
## what's new
Handling for WiFi and mqtt redesigned. Blocking while-loop with delay was removed. In the past this could lead to an unwanted activation of the setup mode. Also the mqtt Library was changed from [pubsubclient](https://github.com/knolleary/pubsubclient) to [async-mqtt-client](https://github.com/marvinroger/async-mqtt-client)
see all details of the first V3 release here: [Release v3.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v3.0.0)
## changelog
- change blocking mqtt reconnect handling to non-blocking implementation #33
- mqtt client Library changed to implementation based on AsyncTCP ([async-mqtt-client](https://github.com/marvinroger/async-mqtt-client))
- change blocking WiFi reconnect handling to non-blocking implementation
- Prevent division by ZERO if parameter Oil density is not set.
- Prevent writing the time on the Logamatic, 1 hour after the boot-up
---
# v3.2.2
## what's new
New release assets:
- ESP_Buderus_KM271_v3.2.2_install.bin (for initital installation)
- ESP_Buderus_KM271_v3.2.2_OTA_update.bin (for OTA Update of the application)
see detailed description in README.md in chapter **ESP-Flash-Tool**
## changelog
- bugfix in Heating Circuit 2 - #37
- mqtt bootup message (Topic: "../message" - Payload: "restarted!") - can be used to ignore alarms after reboot
---
# v3.2.3
## what's new
update release assets:
- buderus_km271_esp32_flash_v3.2.3.bin (for initital installation of esp32 boards like the78mole boards)
- buderus_km271_ota_update_v3.2.3.bin (for OTA Update of the application)
see detailed description in README.md in chapter **ESP-Flash-Tool**
## changelog
- changed bin-file creation in platformio_release.py
---
# v3.2.4
## what's new
New Tools Tab with embedded Update functionality and new Filemanager functionality.
With the new Filemanager functionality you can download and upload the config.json for backup and restore.
The embedded Update functionality allows you to update the firmware as before by uploading the .bin file at the browser.

**Attention:**
the new embedded OTA function runs now on Port 80 as the normal WebUI.
Therefore the ```upload_port``` in ```platformio.ini``` has changed now (Port 8080 removed).
## changelog
- new "Tools" Tab with embedd ota and filemanager
- fix WebUI Dashboard Status of Summer/Winter #41
- Memory optimization with new Version of ESPUI
- modified platfrom.ini file - separate "extra_scripts" #43
---
# v3.2.5
## what's new
After some feedback that v3.2.4 is not stable for some users, I have downgraded espressif32 platform from 6.4.0 (in v3.2.4) back to 5.4.0
To be honest, I am not sure if this will fix the problem, but we give it a try.
**>>Attention:<<**
I have also updated the partition schema from "default" to "min_spiffs" because we are on the limit of the free flash space (4 MB).
With the default partition schema there was about 1,3 MB of flash space for the Program, and wit the new partition schema we will have 1,9 MB.
The new partition schema will only applied if you flash the new firmware by serial cable to your ESP. This is why there is no OTA file for this version!
Be aware that this will delete your settings!
But with v3.2.4 you are able to download the config.json in the Tool Section of the WebUI.
## changelog
- fix wrong temperature value in WebUI #51
- Wrong position in the telegram used for hc1_switch_on_temperature #61
- implement service interface via mqtt #60
- implement additional setvalue for "switch on temperature / Aufschalttemperatur" #60
- fix some typo in param.txt
- add new system info in WebUI for flash size usage
- bugfix #67
- add EspStrUtil::readJSONstring() to check if parameter is valid
---
# v3.3.0
## what's new
This Versions brings some new features 🎉
### Manual ip parameters
There is now the possibility to set manual ip parameters instead of DHCP Mode.
<img src="Doc/ip-settings.png" alt="IP-Settings" width="50%">
### Web-Authentication
There also the possibility to activate a new web-authentication. If the option is enabled, you have to enter username and password.
To manually logout, you can click on the "Logout" button below the settings. This seems to work fine on Chrome Browsers, but unfortunately it seems not to work on Safari.
<img src="Doc/authentication.png" alt="web-auth" width="50%">
### HC Reduction Mode
Added the command for "reductin mode" of heating circuits as mqtt command and to the webUI
```
command: heating circuit 1: reduction mode
topic: {"setvalue/hk1_absenkungsart", setvalue/hc1_reduction_mode"}
payload: Number 0..3 (Abschalt,Reduziert,Raumhalt,Aussenhalt) / {off,fixed,room,outdoors)
command: heating circuit 2: reduction mode
topic: {"setvalue/hk2_absenkungsart", setvalue/hc2_reduction_mode"}
payload: Number 0..3 (Abschalt,Reduziert,Raumhalt,Aussenhalt) / {off,fixed,room,outdoors)
```
<img src="Doc/reductionmode.png" alt="Reduction-Mode" width="50%">
(control to change the reduction mode)
### optional oneWire Sensor
You can now configure additional OneWire Sensors. In the configuration you can setup one ore two sensors.
The Sensor value will shown on the Dashboard and will also be send by mqtt with Topic `sensor` and the name that you can configure.
If you only configure one sensor, it will be shown as a single control. If you enable both sensors, it will be shown in a combined control.
<img src="Doc/opt_sensor_dash2.png" alt="opt-sensor-dash2" width="40%">
(single control)
<img src="Doc/opt_sensor_dash1.png" alt="opt-sensor-dash1" width="40%">
(combined control)
<img src="Doc/opt_sensor_cfg.png" alt="opt-sensor-config" width="50%">
(settings)
### Debug Filter
there is a new filter function for debug messages. Debug messages are send via mqtt with topic `debug_message`.
With the filter function you can influence what messages are sent.
The filter must consist of 11 hex values separated by a `_`. You can use `XX` as a wildcard instead of a hex value.
Example: `08_15_XX_XX_XX_XX_XX_XX_XX_XX_XX` will send all messages that begins with 08_15_...
You can also disable and enable debug mode with the mqtt command `cmd/debug` and payload 0 or 1.
```
command: debug function - on/off
topic: {cmd/debug", cmd/debug"}
payload: 0/1
command: debug function - set Filter
topic: {cmd/setdebugflt", cmd/setdebugflt"}
payload: 11 hex values separated with "_" (example: 08_15_XX_XX_XX_XX_XX_XX_XX_XX_XX)
command: debug function - get Filter
topic: {cmd/getdebugflt", cmd/getdebugflt"}
payload: none (return value at message topic)
```
> [!NOTE]
> Remember that there is also a new service interface since v3.2.5 to send any command you like to the Logamatic.
```
command: Service interface - only for Experts - use at your own risk!!!
topic: {cmd/service", cmd/service"}
payload: 8 hex values separated with "_" (example: 08_15_04_65_65_65_65_65)
```
## changelog
- add manual IP-parameters instead of DHCP #56
- add authentication in WebUI #49
- add new command "reduction mode" for mqtt and webUI
- add new debug filter function
- calculate summer/winter if Logamatic is in manual mode #47
- add OneWire support #2
## Assets
> [!IMPORTANT]
> Please only use the OTA update if you have already flashed v3.2.5 to the Board via the serial cable to activate the larger partition scheme.
> If you want to update from a version <= 3.2.4 to this version, please flash it by cable.
> If you have already flashed the v3.2.5 by cable, then you can also use the OTA update.
---
# v3.4.0
## what's new
This Versions is all about messages and brings some great new features 🎉
### Messaging option - Pushover
There is now the possibility to get messages via Pushover.
Depending on the parameter "Filter", you can define what kind of messages you want to receive.
In the settings you can find all necessary parameters to setup the client.
Each application, service, or utility that sends notifications through Pushover's API needs to have its own API token which uniquely identifies all of the API requests that it makes.
API tokens are free and can be registered through [Pushover website](https://pushover.net/apps/build).
<img src="./Doc/pushover.png" width="75%">
### WebUI-Logger
There is also a new log function with which you can record various messages depending on the filter and display them via the WebUI. This can be useful for your own debugging and also for the further development of the software.
<img src="./Doc/logger.png" width="75%">
## changelog
- rework messaging function. mqtt publish function was replaced with a generic messaging function for further options.
- add messaging option for "Pushover" #31
- add WebUI-Logger #70
- bugfix for updating OneWire sensor values if not enabled
- remove mqtt message "info = {"burner":0,"pump":100,"ww_temp":57,"boiler_temp":38}"
- improve behavior for incoming mqtt messages without payload (this could lead to problems in the past)
## Assets
> [!IMPORTANT]
> Please only use the OTA update if you have already flashed v3.2.5 or v3.3.1 to the Board via the serial cable to activate the larger partition scheme.
> If you want to update from a version <= 3.2.4 to this version, please flash it by cable.
> If you have already flashed the v3.2.5 or v3.3.1 by cable, then you can also use the OTA update.
---
# v4.0.0
## what's new
This major Update brings a completely new web frontend 🎉
Instead of previous that was based on ESPUI-Library, the new one is build on basic html, css and javascript.
Also the communication between server and client has changed from websocket to SSE (Server-Sent Events) and Fetch-API.
The new webUI Desktop style:

(Desktop Version)
and in fact that the new WebUI has responsive design, it offers also a mobile layout:
<img style="display: inline;
margin-right: 50px;
width: 200px;" src="./Doc/webui_mobile_1.png">
<img style="display: inline;
margin-right: 50px;
width: 200px;" src="./Doc/webui_mobile_2.png">
<img style="display: inline;
margin-left: auto;
width: 200px;" src="./Doc/webui_mobile_3.png">
(Mobile Version)
### Messaging option - Pushover
There is now the possibility to get messages via Pushover.
Depending on the parameter "Filter", you can define what kind of messages you want to receive.
In the settings you can find all necessary parameters to setup the client.
Each application, service, or utility that sends notifications through Pushover's API needs to have its own API token which uniquely identifies all of the API requests that it makes.
API tokens are free and can be registered through [Pushover website](https://pushover.net/apps/build).
<img src="./Doc/pushover.png" width="75%">
### WebUI-Logger
There is also a new log function with which you can record various messages depending on the filter and display them via the WebUI. This can be useful for your own debugging and also for the further development of the software.
<img src="./Doc/logger.png" width="75%">
### Telnet
In addition to the WebUI and MQTT, there is also a new Telnet interface to communicate with the ESP.
The interface offers several commands to read out information and send commands.
An overview of the commands can be called up using the "help" command.
To connect, a simple Telnet connection can be started via the corresponding IP address of the ESP.
Example:
```
> telnet 192.168.178.135
```
<img src="./Doc/telnet.png" width="75%">
## changelog
- update to espressif32 6.6.0
- complete new web UI.
- OTA and Config import/export was redesigned
- login authentication was redesigned
- rework messaging function. mqtt publish function was replaced with a generic messaging function for further options.
- add messaging option for "Pushover" #31
- separate mqtt language option independent of webUI language
- add WebUI-Logger #70
- upgrade to ArduinoJSON 7 #71
- bugfix for updating OneWire sensor values if not enabled
- Prevent zero values from being sent at startup for "info = {"burner":0,"pump":100,"ww_temp":57,"boiler_temp":38}"
- improve behavior for incoming mqtt messages without payload (this could lead to problems in the past)
- change DoubleResetDetection time from 10s to 3s
- local copy of ESPAsyncWebServer and AsyncTCP with bugfixes of known issues
- add "Simulation-Mode" for testing purposes. Can be activated in config settings and will provide sample Data of a Logamatic 2107.
- add Telnet Server as an additional operator interface with different command options
- add Version information from github. If you click on the version info on the bottom left, a dialog with the version information of the latest github release is shown.
> [!IMPORTANT]
> With this version, the dependency of the WebUI language and the MQTT messages has been removed. There is now a separate language setting in the MQTT settings that is used for the MQTT topics!
---
# v4.0.1
## what's new
this is a minor bugfix version of the major release 4.0.0
For further details of the major release, see [release v4.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v4.0.0)
## changelog
- bugfix Refresh issue of operation mode #48
- improve input behavior of pushover test message and oil meter set value #83
- bugfix oil meter value on dashboard #83
---
# v4.0.2
## what's new
this is a minor bugfix version of the major release 4.0.0
For further details of the major release, see [release v4.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v4.0.0)
## changelog
- bugfix value of virtual oil meter #85
- bugfix HC1_HeatingForwardActualTemp (was the same as HC1_HeatingForwardTargetTemp)
- bugfix of ntp enable switch in settings section
- add automatically reconnect of SSE connection #84
- update to bblanchon/ArduinoJson @7.0.4
- fix warnings in OneWire Library
---
# v4.0.3
## what's new
this is a minor bugfix version of the major release 4.0.0
For further details of the major release, see [release v4.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v4.0.0)
## changelog
- add internal restart reasons (ota-update, mqtt-command, telnet-command, webUI, lost WiFi connection, lost mqtt connection)
- change format of burner runtime in webUI to years, days, hours, minutes
- fix gpio templates in webUI settings #86
- fix mqtt command language setting #90
---
# v4.0.4
## what's new
this is a minor update of the major release 4.0.0
For further details of the major release, see [release v4.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v4.0.0)
### new footer bar
there is a new footer bar indicates that reading data from the Logamatic is active after restart
### feature-request: set Logamatic time with NTP automatically after power loss
I have added a feature-request that the ntp time of the ESP is automatically send to the Logamatic after restart of the ESP.
This can be activated in the "date and time" settings.
### add further pushover commands
```
{"ESP hat neu gestartet!", "ESP has been restarted!"}
{"Heizung hat in Sommerbetrieb gewechselt ☀️", "Heating has changed to summer mode ☀️"}
{"Heizung hat in Winterbetrieb gewechselt ❄️", "Heating has changed to winter mode ❄️"}
{"Heizkreis 2 hat in Sommerbetrieb gewechselt ☀️","Heating Circuit 2 has changed to summer mode ☀️"}
{"Heizkreis 2 hat in Winterbetrieb gewechselt ❄️","Heating Circuit 2 has changed to winter mode ❄️"}
{"Heizung hat in Frostmodus gewechselt ❄️", "Heating has changed to frost mode ❄️"}
{"Heizkreis 2 hat in Frostmodus gewechselt ❄️", "Heating Circuit 2 has changed to frost mode ❄️"}
{"Heizung hat den Frostmodus verlassen ❄️", "Heating has exited frost mode ❄️"}
{"Heizkreis 2 hat den Frostmodus verlassen ❄️", "Heating Circuit 2 has exited frost mode ❄️"}
```
and in addition there is als a message when the ESP receives a mqtt or webUI command
## changelog
- add "receiving data" footer bar - indicates that reading data from the Logamatic is active
- feature-request: set Logamatic time with NTP automatically after power loss #87
- add further Pushover Info Messages #92
- fix handling special characters from user input #94
- fix description of Setup-Mode #96
---
# v4.1.0
## what's new
with this version comes the first implementation of mqtt discovery for Home Assistant 🎉
Unfortunately I have to do some breaking changes!
### Home Assistant mqtt auto Discovery
MQTT discovery for Home Assistant makes it easy to get all values in Home Assistant.
The Logamatic values will automatically visible as mqtt device in Home Assistant.
The config values and the status values are displayed. Some config values can also be changed as in the WebUI.
This is the first implementation, therefore lets see this an experimental state.
I am open for feedback and further improvements. Please use the issues and discussion section.
### BREAING CHANGES!!!
> [!IMPORTANT]
> In the past, there were separate mqtt topics defined for the setvalues of the logamatic config values.
These topics were similar to the config Topics itself, but unfortunately there were some differences.
Now the setvalue topics are the same as the config topics.
some examples:
OLD: {"/setvalue/hk1_tag_soll", "/setvalue/hc1_day_setpoint"} => NEW {"/setvalue/HK1_Tagtemperatur", "/setvalue/hc1_day_temp"}
OLD: {"/setvalue/hk1_frost_ab", "/setvalue/hc1_frost_mode_threshold"} => NEW {"/setvalue/HK1_Frost_ab", "/setvalue/hc1_frost_protection_threshold"}
OLD: {"/setvalue/hk1_ferien_tage", "/setvalue/hc1_holidays"} => NEW {"/setvalue/HK1_Ferien_Tage", "/setvalue/hc1_holiday_days"}
To be more compatible, it is possible to use upper and lower case letters in the german setvalue topics.
It is also now possible to use the "string options" instead of num values as this is necessary for the home assistant integration.
example:
- hc_operation_mode - payload: "day", "night", "auto"
- hc1_reduction_mode - payload: "off", "fixed", "room", "outdoors"
- hc_program - payload: "custom", "family", "early", "late", "AM", "PM", "noon", "single", "senior"
## changelog
- fix value of HC1_SwitchOffOptimizationTime, HC2_SwitchOffOptimizationTime, HW_SwitchOffOptimizationTime (was not set before)
- If there is a whitespace in optional sensor name, it will be replaced in the responding mqtt topic
- Fixes the saving of the hostname. This was previously saved incorrectly as wifi.ssid which made the WiFi settings unusable. #98
---
# v4.1.1
## what's new
some smaller changes and fixes
## changelog
- fix login problem #109
- add info dialog for GPIO settings
- add exhaust temp for HA discovery
---
# v4.1.2
## what's new
There are some changes to MQTT Discovery for Home Assistant
## changelog
- fixes the behavior that the devices are "not available" in Home Assistant, after Home Assistant has restarted. #108
- change control for "summer threshold" from Slider to DropDown
- add support to control "warm water pump circulation" at Home Assistant #110
- add restart button in Home Assistant
---
# v4.1.3
## what's new
There are some changes to MQTT Discovery for Home Assistant
> [!IMPORTANT]
> with v4.1.2 the discovery config for "HK1_Sommer_ab", "hc1_summer_mode_threshold and "WW_Zirkulation", "ww_circulation" has changed.
> Therefore, it may be necessary to delete the old Discovery Config manually.
> This can be achieved by manually sending an MQTT message with the appropriate topic and an **empty** payload.
> Alternatively, with this version you can also reset all config messages via Telnet (ha resetconfig) and also resend the config via command (ha sendconfig)
>
> Example for german Topics (payload empty):
> `old Topic: homeassistant/number/Logamatic/HK1_Sommer_ab/config`
> `old Topic: homeassistant/sensor/Logamatic/WW_Zirkulation/config`
## changelog
- bugfix Home Assistant setvalues not working - this bug was introduced in v4.1.2 #108
- add function to send MQTT discovery manually via Telnet (> ha sendconfig)
- add function to reset MQTT discovery manually via Telnet (> ha resetconfig)
---
# v4.1.4
## what's new
only stability improvements
## changelog
- bugfix possible problems when connecting webUI clients. #116
---
# v5.0.0
## what's new
This is a major update with some new features and some redesign under the hood.
The Framework is updated to the new Arduino v3 based on ESP-IDF v5.1+
Several modifications have been made to achieve better performance and stability.
### Performance and stability improvements
Various improvements have been made to increase performance and stability. In particular, the communication between ESP and the web server has been redesigned and improved. The protocol was changed from SSE (Server-Sent-Events) to Websockets.
The maximum number of client connections is monitored and limited to the number of 2 active connections.
### Ethernet Support W5500
There is a new support for W5500 Ethernet Modules. This brings the possibility to use ethernet connection in parallel to WiFi connection.
This could be useful in situations where the WiFi connection is not available or stable.
For mor details, please have a look at the [documentation](https://github.com/dewenni/ESP_Buderus_KM271?tab=readme-ov-file#optional-ethernet-module-w5500)
### Solar Support FM244
Support for optional Buderus Solar Module FM244 added. You can activate this in the same way as the heating circuits and hot-water.
Values are send by mqtt and are also available in the webUI.
### System Logger
The logging function has been extended. The mode can now also be switched to ‘System log’. In this case, the serial monitor is redirected to the log and you can see the messages that are normally only visible when you are connected via cable.
### new HC1/HC2 Control Elements
There are new HC1/HC2 control elements on the web UI
- HC1 Day Temperature / HC2 Day Temperature
- HC1 Night Temperature / HC2 Night Temperature
- HC1 Holiday Temperature / HC2 Holiday Temperature
- HC1 Switch-On Temperature / HC2 Switch-On Temperature
### additional Status Information in the web UI
There are some additional information in the status Tab of the web UI
- Status information about Ethernet connection
- Status information about KM271 connection
- Status information about MQTT connection
### BREAKING CHANGES!!!
> [!IMPORTANT]
> In the past, there was a separate setting for the static IP. Now we have two possible interfaces and therefore the static IP setting is also duplicated and is located together with the WiFi and Ethernet settings. If you previously used static IP, you will need to adjust your settings.
>
>**I would recommend deactivating the static IP before the update!**
## changelog
- update to espressif/arduino-esp32 V3.07
- change AsyncTCP library to [mathieucarbou/AsyncTCP](https://github.com/mathieucarbou/AsyncTCP) v3.2.14
- update ESPAsyncWebServer [mathieucarbou/ESPAsyncWebServer](https://github.com/mathieucarbou/ESPAsyncWebServer) v3.3.22
- change communication from ServerSentEvents to websockets
- optimization and reduction of the data sent from the ESP to the web server
- remove "uptime" from MQTT discovery, because it floods the log #108
- fix typo "Ferhler" in OTA Dialog #108
- fix name of exported config.json file
- clean unused webUI texts
- direct apply of the settings after import of config.json
- update Descriptions for Ethernet and Exhaust Sensor in README.md
- add Task Watchdog to automatically reboot if ESP is getting stuck
- add Solar FM244 support #64
- add status icons for WiFi and Ethernet
- add "Mode: SystemLog" to the WebUI Logger function that shows the ESP_LOG messages
- add Status information about Ethernet connection
- add Status information about KM271 connection
- add Status information about MQTT connection
- add control for HC1 Day Temperature / HC2 Day Temperature
- add control for HC1 Night Temperature / HC2 Night Temperature to webUI
- add control for HC1 Holiday Temperature / HC2 Holiday Temperature to webUI
- add control for HC1 Switch-On Temperature / HC2 Switch-On Temperature to webUI
---
# v5.1.0
## what's new
This is a minor update version, but it is based on a major update 5.0.0
Please see here what´s changed in [release v5.0.0](https://github.com/dewenni/ESP_Buderus_KM271/releases/tag/v5.0.0)
> [!IMPORTANT]
> unfortunately there was a bug in the MQTT handling in v5.0.0 which led to commands not being accepted correctly. Therefore please update to this version if you are already using 5.0.0!
### reminder Ethernet Extention
I would also like to point out again that since V5 it is possible to connect the ESP via Ethernet.
Daniel already has a great expansion board designed for this, which you are welcome to register for.
https://www.tindie.com/products/the78mole/km271-wifi-ethernet-extension
### new functions
- now the active Page is highlighted in the navigation bar.
- due to the increased number of possible used GPIO´s - there is a check whether the GPIOs are valid and individual GPIOs are not configured multiple times
## changelog
- bugfix incorrect handling of received mqtt payload #131
- bugfix incorrect heap usage value
- change mqtt client-id back to WiFi-Hostname #128
- no restart of the ESP if the WiFi connection cannot be established but there is an Ethernet connection.
- interval for renewed mqtt connection attempt increases with each attempt by a further 10s (max. 50s). The ESP restarts after 5 failed attempts
- change previous used Libraries for DS18B20 sensors to [mathieucarbou/MycilaDS18](https://github.com/mathieucarbou/MycilaDS18)
- add function to check whether the configured GPIOs are valid and have not been assigned twice
- highlight active page in sidebar navigation
- update Readme.md
---
# v5.2.0
## what's new
some minor bugfixes, updates and changes
## changelog
- fix [[BUG] ws.closeAll() causes a crash on Safari](https://github.com/mathieucarbou/ESPAsyncWebServer/issues/162)
- fix "Solar Collector Temperature wrong" #133
- fix HCx_MixingValue (change from unsigned to signed value) #133
- update ArduinoJSON @ 7.2.1
- update AsyncTCP @ 3.3.1
- update ESPAsyncWebServer @ 3.4.5
- update to Arduino core 3.1.0 based on IDF 5.3.2.241210
- added a scrollbar to the sidebar navigation to ensure accessibility for content exceeding the viewport height.
- added information about actual used HCx programs
- added command queue for incoming mqtt messages to ensure that no message get lost even if they are received in a very short time
- uploaded files via "config-upload" are now automatically renamed to config.json, regardless of the original filename.
- reorganize internal Libraries with new Libraries EspStrUtil and EspSysUtil