2640 Commits

Author SHA1 Message Date
Proddy
86919c1684 Merge branch 'origin/dev' 2023-09-09 14:12:07 +02:00
Proddy
677f6c5a6e Merge pull request #1290 from proddy/dev
#1280 sample value is a string for enums
2023-09-09 13:43:09 +02:00
Proddy
3ce67b8e6e Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-09-09 13:42:29 +02:00
Proddy
aad9c12a7e fixes MQTT enum index option leads to error in HA #1280 2023-09-09 13:42:28 +02:00
Proddy
877d60f46f Merge pull request #1289 from MichaelDvP/dev
Fixes from testbuild
2023-09-09 12:32:57 +02:00
MichaelDvP
bf02b0ad1c Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-09-09 12:29:01 +02:00
MichaelDvP
2f5b7cd0aa add back process dest, fixes #1275 2023-09-09 12:25:18 +02:00
MichaelDvP
4bec32ea56 HA register all values from custom and scheduler 2023-09-09 12:11:30 +02:00
Proddy
33ea1c6863 Merge pull request #1288 from proddy/dev
fix for MQTT enum index option leads to error in HA #1280
2023-09-09 10:26:25 +02:00
Proddy
09ff892b91 fix for MQTT enum index option leads to error in HA #1280 2023-09-09 10:25:14 +02:00
Proddy
f462afb547 update pacakges 2023-09-09 10:25:05 +02:00
Proddy
83211e0ef8 Merge pull request #1286 from MichaelDvP/dev
show color wifi-quality in network selector
2023-09-08 15:26:05 +02:00
MichaelDvP
b7b3cb177f show wifi-quality in network selector 2023-09-08 10:35:39 +02:00
Proddy
04fd04b2ab Merge pull request #1285 from proddy/dev
mqtt fix
2023-09-08 09:26:50 +02:00
Proddy
6e3c2b2ec9 update example for debug 2023-09-08 08:34:19 +02:00
Proddy
98e29516b0 fix mqtt enum in discovery #1280 2023-09-08 08:30:51 +02:00
Proddy
6db5058e3d updated to 3.6.1-dev.2 2023-09-08 08:30:24 +02:00
Proddy
b3ada4a01f 3.6.1-dev.2 2023-09-08 08:30:17 +02:00
Proddy
f38e0abf73 package updates 2023-09-08 08:30:05 +02:00
Proddy
27aa72eda1 Merge pull request #1284 from MichaelDvP/dev
fix for espressif@6.4.0
2023-09-06 10:59:49 +02:00
MichaelDvP
01f6024776 color network antenna icon for wifi quality 2023-09-06 10:33:58 +02:00
MichaelDvP
aa5730c683 stay on platform 6.3.2 for esp32 until heap issue is solved 2023-09-06 09:20:31 +02:00
MichaelDvP
fcc2a48192 Update to espressif32@6.4.0, v3.6.1-dev.1 2023-09-06 08:05:45 +02:00
Proddy
9ebcfe38bc Merge pull request #1279 from proddy/dev
add missing translations and show value type in table
2023-09-02 13:41:58 +02:00
Proddy
57a585741d addd missing translations and show value type in table 2023-09-02 13:40:33 +02:00
Proddy
243aec37fd Merge pull request #1277 from proddy/dev
minor changes
2023-09-02 11:14:30 +02:00
Proddy
fb44e020fc fix standalone build 2023-09-02 11:12:52 +02:00
Proddy
81842e544b auto formatting with clang 2023-09-02 11:10:32 +02:00
Proddy
6babdab8de change 3.7.0 to 3.6.1 as we need a critical patch soon 2023-09-02 11:10:16 +02:00
Proddy
93d50bbee1 update for 3.6.1 2023-09-02 11:09:55 +02:00
Proddy
e6f0ecce62 show green/red circles if active 2023-09-02 11:00:00 +02:00
Proddy
aba597aa6a searches both custom name and shortname, show writable 2023-09-02 10:54:13 +02:00
Proddy
7444fdceff package update 2023-09-02 10:53:31 +02:00
Proddy
f60197e9bf Merge pull request #1273 from MichaelDvP/dev
update Mqtt Client
2023-08-31 12:12:08 +02:00
MichaelDvP
4778206e3a changelog 2023-08-31 12:09:17 +02:00
MichaelDvP
005463c41f update espMqttClient 2023-08-31 11:50:31 +02:00
MichaelDvP
ae1bf1cbfb merge mqtt changes from bertmelis, dev2 2023-08-31 09:47:07 +02:00
MichaelDvP
bde06621bd add log message for mqtt low memory 2023-08-31 08:29:08 +02:00
MichaelDvP
647acf6a68 show rssi in networkstatus 2023-08-31 08:19:24 +02:00
MichaelDvP
120c0b5ca2 update espMqttClient, add own mqtt limit, fix queue display, 3.7.0-dev1d 2023-08-31 08:09:54 +02:00
MichaelDvP
7e45c89fcd add missing subscribes 2023-08-31 08:07:06 +02:00
MichaelDvP
b7611c67bb Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-08-31 07:51:36 +02:00
Proddy
d6ae55218f Merge pull request #1272 from proddy/dev 2023-08-30 22:35:49 +02:00
MichaelDvP
d17582d697 mqtt check 60k free heap (not maxalloc), dev1c 2023-08-30 13:39:19 +02:00
MichaelDvP
c3227a6352 mqtt:min alloc to 45k, fix memcheck for PSRAM, dev1b 2023-08-30 12:38:29 +02:00
MichaelDvP
d0c368f6a0 dont allow not_connected_publish, fix mqtt success/fail counters, v3.7.0-dev1a 2023-08-30 12:19:55 +02:00
Proddy
9aa9cc46e9 bump version 3.7.0-dev1 2023-08-29 22:34:09 +02:00
Proddy
4ee045b84e formatting and adding a t command in debug/standalone 2023-08-29 22:33:50 +02:00
Proddy
2fe18c14c7 text changes and formatting 2023-08-29 22:33:26 +02:00
Proddy
f46b002c5a API call for shower coldshot - #1267 2023-08-29 22:32:36 +02:00
Proddy
65ea11b48b formatting only 2023-08-29 22:31:35 +02:00
Proddy
b2113add02 update API tests from VSC 2023-08-29 22:31:18 +02:00
Proddy
152e6ce1b9 don't spell check C files 2023-08-29 22:31:05 +02:00
Proddy
78a5166e48 update packages 2023-08-29 22:30:48 +02:00
MichaelDvP
f6a4da0584 mqtt free mem to 40k, v3.7.0-dev1 2023-08-29 12:40:10 +02:00
MichaelDvP
1818057c4c update packages 2023-08-29 12:39:14 +02:00
Proddy
9c946b9808 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-08-20 16:55:15 +02:00
Proddy
c703106058 update packages 2023-08-20 16:55:14 +02:00
Proddy
1bc70f09c5 remove polling 2023-08-20 16:55:05 +02:00
Proddy
d049572239 Merge pull request #1266 from proddy/dev
update web packages
2023-08-19 10:07:50 +02:00
Proddy
0feaed8869 update web packages 2023-08-19 10:07:14 +02:00
Proddy
7496f482ab remove zipfs 2023-08-19 10:07:07 +02:00
Proddy
f6faad7255 Merge pull request #1263 from proddy/dev
build s3
2023-08-15 18:54:36 +02:00
Proddy
757757fa3f package update 2023-08-15 18:51:04 +02:00
Proddy
1fd3c11e12 build s3 2023-08-15 18:50:58 +02:00
Proddy
86e29515e7 build s3 2023-08-15 18:44:24 +02:00
Proddy
b1f2273bb5 Merge pull request #1261 from proddy/dev
prepare for 3.7.0
2023-08-13 14:40:29 +02:00
Proddy
e9cf3f5ab5 prepare for 3.7.0 2023-08-13 14:40:03 +02:00
Proddy
46eb4185d7 update with 3.6.0 2023-08-13 14:37:13 +02:00
Proddy
8da6761a48 Merge branch 'dev' 2023-08-13 14:32:41 +02:00
Proddy
f6c34ee2c9 Merge pull request #1258 from proddy/dev
minor updates
2023-08-11 21:19:31 +02:00
Proddy
b500076f32 bump version to v18 with Michael's upgrade fix 2023-08-11 21:19:00 +02:00
Proddy
e87ea67435 update packages 2023-08-11 21:18:23 +02:00
Proddy
86c965b94d move prettier - so "yarn run format" works 2023-08-11 21:18:16 +02:00
Proddy
faec42ac71 Merge pull request #1257 from MichaelDvP/dev 2023-08-11 20:43:49 +02:00
MichaelDvP
86737fb38a also Network 2023-08-11 19:33:06 +02:00
MichaelDvP
c8e64668e9 fix upload settings file #1256 2023-08-11 19:14:52 +02:00
MichaelDvP
89b7eaac1c fix MM10 pump command 2023-08-11 19:14:23 +02:00
Proddy
ac889d921f Merge pull request #1254 from MichaelDvP/dev
nl translations from BBQKees
2023-08-10 21:05:12 +02:00
MichaelDvP
a652a3a0c3 nl translations 2023-08-10 16:18:09 +02:00
Proddy
0f88b7cfbc Merge pull request #1253 from proddy/dev
update sonar scanner
2023-08-09 13:51:43 +02:00
Proddy
8bb2157cd9 update sonar scanner 2023-08-09 13:51:13 +02:00
Proddy
b96cede131 Merge pull request #1252 from proddy/dev
rename EMS-ESP Status to System Status so HA doesn't complain (fixes #1243)
2023-08-09 09:16:20 +02:00
Proddy
b2590fc9e0 Merge branch 'emsesp:dev' into dev 2023-08-09 09:15:15 +02:00
Proddy
8dfff29389 fixes #1243 2023-08-09 09:03:52 +02:00
Proddy
0ab081c135 package update 2023-08-09 09:03:44 +02:00
Proddy
7a3aca1220 Merge pull request #1251 from MichaelDvP/dev
Fix HM200 compressor speed
2023-08-08 17:09:56 +02:00
MichaelDvP
1360a5d35b Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-08-08 16:28:13 +02:00
Proddy
9226e5b303 Merge pull request #1250 from proddy/dev
small changes
2023-08-08 15:53:52 +02:00
Proddy
4e4cc93092 Merge branch 'emsesp:dev' into dev 2023-08-08 15:49:24 +02:00
Proddy
faa3479f0a make progmem work again 2023-08-08 15:49:08 +02:00
Proddy
0924f441cb update packages 2023-08-08 15:48:54 +02:00
Proddy
f39deefbb4 add vscode extensions 2023-08-08 15:48:45 +02:00
MichaelDvP
461f1bb102 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-08-08 12:28:54 +02:00
MichaelDvP
1d1aaef291 add back progmem generation 2023-08-08 12:06:24 +02:00
Proddy
3c51e80408 remove translation for Heatbeat 2023-08-08 10:36:14 +02:00
Proddy
ff68d23642 add style to Dialog boxes 2023-08-08 10:35:55 +02:00
Proddy
643b42469e hardcode colours 2023-08-08 10:34:45 +02:00
Proddy
a996d00f70 remove aria labels 2023-08-08 10:34:10 +02:00
MichaelDvP
6ccab21791 fix HM200 compressor speed, #1247 2023-08-08 09:07:09 +02:00
Proddy
b5b965e339 fix typo 2023-08-08 09:02:21 +02:00
Proddy
2b54db255e update prettier for windows 2023-08-08 09:02:14 +02:00
Proddy
45fc13f7a0 Merge pull request #1249 from proddy/dev
hardcode links to release notes
2023-08-08 07:59:04 +02:00
Proddy
94407e5192 Merge branch 'emsesp:dev' into dev 2023-08-08 07:58:13 +02:00
proddy
7e791e56ce hardcode links to release notes 2023-08-08 07:57:51 +02:00
Proddy
2698116c63 Merge pull request #1245 from proddy/dev
Enhance version check to differentiate between ESP32 and ESP32-S3 bin versions #1240
2023-08-08 07:51:20 +02:00
proddy
e17f709fe1 increase size of username/password fields 2023-08-08 07:50:03 +02:00
proddy
c4ec535a82 update packages 2023-08-08 07:49:50 +02:00
proddy
7efc7616f8 fix platform to espressif32@6.3.2 2023-08-08 07:49:37 +02:00
Proddy
9468248995 fix ci_s3 2023-08-06 22:57:29 +02:00
Proddy
a72cbe9c0c bump version 2023-08-06 22:57:25 +02:00
Proddy
171df2c5b7 hardcode "platform = espressif32@6.3.1" for all targets 2023-08-06 18:48:28 +02:00
proddy
ca2bb4ba6f language menu in login page 2023-08-06 18:33:01 +02:00
proddy
9b92bfa81c Enhance version check to differentiate between ESP32 and ESP32-S3 bin versions #1240 2023-08-04 16:42:37 +02:00
proddy
0cc14215e6 dev.15 2023-08-01 22:02:53 +02:00
proddy
2e1e294baf update packages 2023-08-01 22:02:30 +02:00
proddy
6cee81aeb0 README.md: Fix link to supported devices #1239 2023-08-01 21:54:33 +02:00
Proddy
6e653eea7e Merge pull request #1237 from MichaelDvP/dev
more tr translations #1076
2023-07-31 14:53:15 +02:00
MichaelDvP
f788be691f more tr translations 2023-07-31 08:17:27 +02:00
Proddy
c167aa90bc Merge pull request #1236 from proddy/dev
merge dev2
2023-07-30 22:38:25 +02:00
proddy
657056d774 bump version 2023-07-30 22:32:43 +02:00
proddy
1d979cc894 Merge remote-tracking branch 'origin/dev2' into dev 2023-07-30 22:26:15 +02:00
Proddy
dda2d6316d Merge pull request #1235 from MichaelDvP/dev2
tr translation (part), response api
2023-07-30 14:54:27 +02:00
MichaelDvP
cac7ddd6bb log_trace for response 2023-07-30 08:29:01 +02:00
MichaelDvP
f677616b22 notice telegram log only for read, not for response 2023-07-29 17:11:11 +02:00
MichaelDvP
26daf548ff update packages 2023-07-29 16:51:05 +02:00
MichaelDvP
d92974dd88 read all telegram parts in one poll 2023-07-29 16:40:39 +02:00
MichaelDvP
52de833b19 response error messages 2023-07-29 16:39:37 +02:00
MichaelDvP
bb39e8bd4c update tr translation 2023-07-29 11:43:38 +02:00
Proddy
4295b2d114 Merge pull request #1234 from MichaelDvP/dev2
add cooling state, make mqtt on_message more clear
2023-07-24 21:11:07 +01:00
MichaelDvP
01060574ab mqtt on_message: make char * conversion more clear 2023-07-24 19:56:07 +02:00
MichaelDvP
2e829b560d thermostat cooling state 2023-07-24 19:03:44 +02:00
MichaelDvP
a2f0cafc5c update packages 2023-07-24 19:02:16 +02:00
Proddy
6a675736eb Merge pull request #1232 from proddy/dev2
upgrade arduinojson 6.21.3 and other minor formatting
2023-07-24 08:37:58 +01:00
proddy
c8466df61d exclude arduinojson with Todo Tree 2023-07-24 08:31:49 +01:00
proddy
ded26feeb6 upgrade arduinojson 6.21.3 2023-07-24 08:16:37 +01:00
proddy
b2482b092c bump version 2023-07-24 08:16:08 +01:00
proddy
67397dc345 auto format 2023-07-24 08:15:56 +01:00
Proddy
4a11147467 Merge pull request #1231 from MichaelDvP/dev2
fix mqtt `on_message`
2023-07-24 08:03:39 +01:00
MichaelDvP
962131592f fix mqtt on_message 2023-07-23 13:51:40 +02:00
Proddy
168a31d331 Merge pull request #1230 from proddy/dev2
Dev2
2023-07-21 23:49:12 +02:00
proddy
00f08951db mention preact 2023-07-21 22:48:17 +01:00
proddy
96d7069e8d make standalone compile 2023-07-21 22:44:27 +01:00
proddy
a4ddacb29c package update 2023-07-21 22:44:16 +01:00
proddy
93bbf2570e terser package update 2023-07-21 22:44:08 +01:00
Proddy
ba409b808d Merge pull request #1229 from MichaelDvP/dev2
api/response, Gateway S3, small fixes
2023-07-21 23:33:47 +02:00
MichaelDvP
207d92be64 scheduler value info 2023-07-21 21:18:51 +02:00
MichaelDvP
e3c775d0dd Add BBQKees Gateway S3, update changelog 2023-07-21 12:02:13 +02:00
MichaelDvP
2bd7e04d18 update packages 2023-07-21 10:31:39 +02:00
MichaelDvP
8b58282bde Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-21 09:16:51 +02:00
Proddy
ad6be2d5ef Merge pull request #1227 from proddy/dev2
standalone compiling and some formatting
2023-07-19 07:25:19 +02:00
MichaelDvP
c47414dad5 response show combined telegram 2023-07-17 09:53:40 +02:00
proddy
d84a555171 make standalone compile on osx 2023-07-15 12:42:54 +02:00
MichaelDvP
7a5f13bcad respond all telegram parts if request length >= 32 2023-07-15 12:27:48 +02:00
Proddy
1b6e3b89b6 formatting 2023-07-15 11:40:35 +02:00
Proddy
ed694f4ec5 formatting 2023-07-15 11:36:18 +02:00
Proddy
b659218d13 use original formatting 2023-07-15 11:34:57 +02:00
Proddy
cbecebd80a formatting 2023-07-15 11:34:46 +02:00
Proddy
7bb6427ec9 updated comments 2023-07-15 11:34:38 +02:00
Proddy
37724814be changes to compile standalone 2023-07-15 11:33:38 +02:00
Proddy
98dd25c5bb make EMS-ESP compile standalone on osx/darwin and linux 2023-07-15 11:00:04 +02:00
proddy
ccd69c2c3a compile on mac osx 2023-07-15 10:24:43 +02:00
MichaelDvP
6d0bd099e1 Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-14 19:15:28 +02:00
MichaelDvP
660a715893 4M asym partitions for usb flash 2023-07-14 19:11:59 +02:00
Proddy
981cdaecf1 Merge pull request #1226 from proddy/dev2
dev2 - minor changes
2023-07-14 17:25:37 +02:00
Proddy
18e4c3aa88 fix odd spelling mistakes 2023-07-14 16:45:58 +02:00
Proddy
116c51443e dev.13d 2023-07-14 16:45:52 +02:00
Proddy
66799d0c6c update packages 2023-07-14 16:45:38 +02:00
Proddy
9ad9bc5536 default esp32_4M 2023-07-14 16:45:27 +02:00
Proddy
d1ebf378dc update example 2023-07-14 16:45:14 +02:00
Proddy
4730389668 remove log line 2023-07-14 16:45:01 +02:00
Proddy
7881abaca2 run make from vsc 2023-07-14 12:12:53 +02:00
Proddy
f3d3a386ee get standadlone working with espMqttClient 2023-07-14 12:11:48 +02:00
Proddy
1b623014c1 added log message 2023-07-14 12:11:22 +02:00
Proddy
af3ed871af text change 2023-07-14 12:10:29 +02:00
Proddy
2a9be94f6e package cleanup 2023-07-14 12:10:19 +02:00
MichaelDvP
08a5437210 packages, custom entiie small fixes 2023-07-14 08:52:06 +02:00
Proddy
9ff8d01e93 make standalone compile 2023-07-13 21:50:34 +02:00
Proddy
0afda87092 update packages 2023-07-13 21:50:26 +02:00
MichaelDvP
18d32de483 fix custom entity value info 2023-07-13 18:23:04 +02:00
MichaelDvP
d9ad835fbc Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-13 12:42:30 +02:00
MichaelDvP
afad1d7b95 small updates 2023-07-13 12:42:07 +02:00
Proddy
e2f5124db9 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-07-13 12:13:42 +02:00
Proddy
875507d7a9 Merge pull request #1225 from proddy/dev2
replace react with preact #1224
2023-07-13 12:10:48 +02:00
MichaelDvP
17b4964b01 test response and custom entity raw, #1212 2023-07-13 11:09:42 +02:00
Proddy
5af1f932bd Merge branch 'emsesp:dev2' into dev2 2023-07-13 08:28:22 +02:00
MichaelDvP
25ff2bd150 Merge branch 'dev2' of https://github.com/proddy/EMS-ESP32 into dev2 2023-07-12 19:17:16 +02:00
Proddy
3654003577 replace react with preact #1224 2023-07-12 13:26:47 +02:00
Proddy
ac96ea5308 Merge pull request #1223 from proddy/dev2
update changelog & version
2023-07-12 08:22:54 +02:00
Proddy
dde270a84c package update 2023-07-12 08:22:08 +02:00
Proddy
52c3153123 update changelog 2023-07-12 08:22:03 +02:00
Proddy
8557fec581 Merge pull request #1222 from MichaelDvP/dev2
MqttSecure, see #1178
2023-07-12 08:02:23 +02:00
MichaelDvP
b8e36eb13b Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-12 07:11:10 +02:00
Proddy
39624dcfcc Merge pull request #1219 from proddy/dev2
Add endpoint to read firmware capabilities #1218
2023-07-11 21:33:08 +02:00
Proddy
156d5a02d3 update text - bea0922ee8 2023-07-11 21:30:50 +02:00
Proddy
eb7ed0c524 don't render until we have a GET value 2023-07-11 21:28:19 +02:00
Proddy
0415ade906 show version on signin 2023-07-11 21:14:19 +02:00
Proddy
bf6c522918 remove features 2023-07-11 21:14:05 +02:00
Proddy
5f8f13e1a5 update lint & packages 2023-07-11 21:13:52 +02:00
Proddy
d92cd4ea2c Add endpoint to read firmware capabilities #1218 2023-07-11 13:28:29 +02:00
MichaelDvP
2c19b9369a Change MqttClient without restart, use secureClient for port >8800 2023-07-11 11:35:54 +02:00
MichaelDvP
78403adeb4 mqtt tls only for esp32-S3, certificate input strips header/footer/CR/LF 2023-07-11 07:50:13 +02:00
MichaelDvP
5374127d56 show WPA3 in networkselector 2023-07-11 07:08:30 +02:00
MichaelDvP
87f28e7804 adapt limits #1215, #1190 2023-07-11 07:07:45 +02:00
MichaelDvP
1e8adfb34f activate setInsecure to make tsl work 2023-07-10 15:22:33 +02:00
MichaelDvP
d3175e3d64 update packages 2023-07-10 12:44:27 +02:00
MichaelDvP
1b832b541a Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-10 12:38:56 +02:00
MichaelDvP
29557d764a Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-10 12:38:29 +02:00
MichaelDvP
ae46f40fce fix secure mqtt 2023-07-10 12:36:59 +02:00
Proddy
362d837baa Merge pull request #1211 from proddy/dev2
report on invalid extension - fixes #1210
2023-07-10 08:36:57 +02:00
MichaelDvP
2db7174068 fix cutting output of large numbers #1213 2023-07-10 07:57:24 +02:00
Proddy
1360ffaec0 remove bogus import 2023-07-09 20:08:03 +02:00
Proddy
91e0a29494 autoscroll in system log 2023-07-09 18:07:11 +02:00
Proddy
99b2da752f package update 2023-07-09 18:07:03 +02:00
Proddy
32884da60d Merge branch 'emsesp:dev2' into dev2 2023-07-09 17:43:38 +02:00
Proddy
d537247ead package updates 2023-07-09 10:55:30 +02:00
Proddy
d8364c5df2 close only on 406 2023-07-09 10:55:25 +02:00
MichaelDvP
f62b5548a3 add missing \n in certificate 2023-07-09 08:40:22 +02:00
MichaelDvP
443fe640b3 add optional secure mqtt 2023-07-08 16:24:44 +02:00
Proddy
365d246a89 fix prettier in vscode 2023-07-08 15:53:44 +02:00
Proddy
bea0922ee8 report on invalid extension - Validate file name extension on file upload #1210 2023-07-08 14:10:33 +02:00
Proddy
eb6e8d0c93 comments 2023-07-08 14:10:08 +02:00
Proddy
1b27ccf70e formatting 2023-07-08 14:08:25 +02:00
Proddy
3aa806ca65 formatting 2023-07-08 14:08:13 +02:00
Proddy
f99735921c package update, fixing lint 2023-07-08 14:07:58 +02:00
Proddy
c934e6617c some textual cleanup 2023-07-08 14:07:38 +02:00
Proddy
67ce23337f remove mention of scan devices 2023-07-08 14:07:25 +02:00
Proddy
b57bc11070 Merge pull request #1209 from proddy/dev2
add timeout so Wifi Scan works
2023-07-07 17:07:45 +02:00
Proddy
f3d1ed5596 add timeout so Wifi Scan works 2023-07-07 17:06:48 +02:00
Proddy
5112bf9e08 package update 2023-07-07 17:06:39 +02:00
Proddy
60594ff4b7 Merge pull request #1208 from proddy/dev2
refresh change log with all 3.6.0 updates
2023-07-07 14:43:14 +02:00
Proddy
dc3467e7fc package update 2023-07-06 20:37:37 +02:00
Proddy
bb87d064a5 formatting 2023-07-06 20:37:31 +02:00
Proddy
30388da021 refresh change log with all 3.6.0 updates 2023-07-06 20:37:25 +02:00
Proddy
1f7ddcec55 Merge pull request #1207 from MichaelDvP/dev2 2023-07-05 15:16:03 +02:00
MichaelDvP
942eba868a fix offsets for #1187 2023-07-05 15:13:30 +02:00
Proddy
d6e7b136a8 Merge pull request #1206 from proddy/dev2
order languages alphabetically
2023-07-05 09:39:38 +02:00
Proddy
55c33ef51f order languages alphabetically 2023-07-05 09:38:51 +02:00
Proddy
d33a554ab1 package update 2023-07-05 09:38:41 +02:00
Proddy
cbbe6ac589 Merge pull request #1205 from MichaelDvP/dev2
update it translations, etc
2023-07-03 21:32:42 +02:00
MichaelDvP
84b8fa8ff5 update it translations 2023-07-03 21:11:05 +02:00
MichaelDvP
3a7eb634de update packages 2023-07-03 21:10:20 +02:00
MichaelDvP
5977b0585d update mqtClient 2023-07-03 21:09:56 +02:00
Proddy
7b0d73e275 Merge pull request #1203 from MichaelDvP/dev2
reset dirty when saving
2023-07-03 13:15:38 +02:00
MichaelDvP
143ce8c80f Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-03 12:43:57 +02:00
MichaelDvP
4e736a4ff1 reset dirty when saving 2023-07-03 12:38:31 +02:00
Proddy
d2523fc5d2 upgrade ArduinoJson to 6.21.2 2023-07-03 11:44:37 +02:00
Proddy
ab4f8d46ad fix standalone build 2023-07-03 11:44:23 +02:00
Proddy
75defd0858 always add dump_entities for reference 2023-07-03 11:44:13 +02:00
Proddy
e52f0954cd fix build standalone 2023-07-03 11:43:50 +02:00
Proddy
98e9b62c85 fix lint warning 2023-07-03 10:18:52 +02:00
Proddy
40737ea552 fix typo 2023-07-03 10:02:30 +02:00
Proddy
523f501bd0 added yarn 2023-07-03 10:00:34 +02:00
Proddy
905c496fa3 ignore uploaded files 2023-07-03 10:00:03 +02:00
Proddy
2ad375884f add back json body parsing 2023-07-03 09:59:52 +02:00
Proddy
50b8db0c96 remove divider after EN. All countries are equals! 2023-07-03 09:59:34 +02:00
Proddy
36f88c772f increase timeout to 3 seconds 2023-07-03 09:59:12 +02:00
Proddy
7086358ebc fix for alova multi-cancel 2023-07-03 09:58:58 +02:00
Proddy
51769011be autoformatting 2023-07-03 08:56:08 +02:00
Proddy
d15de88065 Merge pull request #1202 from MichaelDvP/dev2
github action
2023-07-03 08:48:24 +02:00
Proddy
f909b32db8 remove todo 2023-07-02 23:45:01 +02:00
Proddy
e8e3fc5fb6 remove todo 2023-07-02 23:44:51 +02:00
Proddy
90a1bdd5d9 add back signon endpoint 2023-07-02 23:44:38 +02:00
Proddy
0b6eba294e add dutch translations 2023-07-02 23:44:21 +02:00
MichaelDvP
98b2a3a6e1 Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-02 22:10:45 +02:00
MichaelDvP
3bd21d4486 try to fix standalone 2023-07-02 22:10:34 +02:00
MichaelDvP
2094d42c3b readme 2023-07-02 22:09:52 +02:00
MichaelDvP
0156dd4956 test release 2023-07-02 22:02:43 +02:00
Proddy
da3e118444 fix restart monitor 2023-07-02 21:56:31 +02:00
Proddy
2663bc15f4 Merge pull request #1201 from MichaelDvP/dev2
Merge dev2
2023-07-02 15:43:16 +02:00
MichaelDvP
50939c1077 changelog 2023-07-02 13:57:34 +02:00
MichaelDvP
b0fc26b6eb remove unused async-mqtt-client-lib 2023-07-02 13:57:26 +02:00
MichaelDvP
476f84be77 Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2 2023-07-02 13:56:47 +02:00
Proddy
449bb4055c Merge pull request #1200 from proddy/dev-alova
Dev alova - #1112
2023-07-02 13:09:01 +02:00
Proddy
86daa13426 fix for cancel upload 2023-07-02 12:38:05 +02:00
MichaelDvP
09aea280b5 add it-translations 2023-07-02 12:09:14 +02:00
Proddy
34113c3698 fix progress bar when uploading 2023-07-02 10:12:31 +02:00
Proddy
9b21607da5 show EMS-ESP welcome message first 2023-07-02 10:12:17 +02:00
Proddy
985da48947 fix upload, except cancel 2023-07-01 17:01:08 +02:00
MichaelDvP
32f3c646f8 fix translation cooling 2023-07-01 15:51:26 +02:00
MichaelDvP
d27ef2530d fix crash on min/max check 2023-07-01 09:08:27 +02:00
proddy
fb41606e43 alova upload experiments 2023-06-30 14:25:01 +02:00
MichaelDvP
cbb7d46ede add cooling #1198, fix min limit of noreducetemp 2023-06-30 10:00:04 +02:00
MichaelDvP
3efe16c840 fix min/max adaption 2023-06-30 09:58:24 +02:00
MichaelDvP
8b800ded21 update packages 2023-06-30 09:57:49 +02:00
MichaelDvP
31220b3fde fix webEntity commands 2023-06-25 08:54:11 +02:00
MichaelDvP
f4cae5027e update packages 2023-06-25 08:53:20 +02:00
MichaelDvP
d17705db6c thermostat hpmodes 2023-06-25 08:52:55 +02:00
proddy
d6c5c87412 fix Cancel 2023-06-24 16:51:04 +02:00
proddy
89f14f1dba add comments 2023-06-24 16:50:59 +02:00
proddy
5fddb08330 increase timeout to 3 secs 2023-06-24 16:50:49 +02:00
proddy
f61c447ea5 add duplicate name check 2023-06-24 16:50:38 +02:00
Proddy
8b8b023665 update with 1196 2023-06-24 14:51:58 +02:00
Proddy
158617f56b fixes #1196 - use basename as ids in HA to support multiple EMS-ESP's 2023-06-24 13:28:48 +02:00
Proddy
27b9aa6ddd fix timeout 2023-06-24 09:09:34 +02:00
proddy
e615274f83 package updates 2023-06-23 19:12:29 +02:00
proddy
2b24f2585f optimize restart using alova lib 2023-06-21 23:15:38 +02:00
Proddy
0e52deae7b package updates 2023-06-20 22:52:16 +02:00
Proddy
bc6b48bd07 fix signin 2023-06-18 17:12:43 +02:00
Proddy
ce1b9f22cb alova - add interceptor 2023-06-18 16:35:32 +02:00
Proddy
b1d666d7b9 alova - refactor wifi scan 2023-06-18 10:46:50 +02:00
Proddy
ed55a96b80 more alova ports 2023-06-17 13:06:31 +02:00
proddy
2ae45ecd6e merging to sync - still need to fix system.ts 2023-06-16 06:44:49 +02:00
proddy
f58dbf6ec1 alova - update comments 2023-06-15 16:08:25 +02:00
proddy
adc4760b5f alova - implementing UpdateState 2023-06-14 23:30:52 +02:00
proddy
c44903e1b0 update #6 2023-06-13 23:36:50 +02:00
proddy
8e081ce04f alova update #6 2023-06-11 20:31:23 +02:00
proddy
5c6d704a48 alova updates #4 2023-06-08 16:50:40 +02:00
proddy
e11d5bed9d fix truncate of long device names in data box 2023-06-08 16:50:29 +02:00
proddy
5784bf744e added blur 2023-06-08 16:50:04 +02:00
Proddy
85716bc6bc update #4 - more alova 2023-06-05 22:40:21 +02:00
MichaelDvP
81e5ee8364 fix typo ventMode 2023-06-05 19:16:43 +02:00
Proddy
52d4505410 updates #3 2023-06-05 18:09:02 +02:00
MichaelDvP
b28865a283 use only espMqttClient queue 2023-06-05 10:06:19 +02:00
MichaelDvP
d2ff44e1cf Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-06-04 17:25:19 +02:00
MichaelDvP
9a34b2dd81 force mqtt disconnect on wifi disconnect 2023-06-04 17:24:03 +02:00
Proddy
43dc177a6d Merge pull request #1189 from emsesp/dev_fix 2023-06-04 16:41:39 +02:00
MichaelDvP
34046795b7 fix #1188 2023-06-04 16:40:42 +02:00
MichaelDvP
2c132a86b0 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-06-04 15:40:10 +02:00
MichaelDvP
759fe69909 fix prefix of customizations 2023-06-04 15:39:57 +02:00
MichaelDvP
181b672c1a add ventilation bypass 2023-06-04 15:32:43 +02:00
proddy
2e63d60273 alova implementation, testing 2023-06-04 15:22:09 +02:00
Proddy
46578dbe69 Update roboto.css - fix typo 2023-06-04 12:18:05 +02:00
MichaelDvP
cbc9607b26 apply changes/blocker for manage users 2023-06-03 17:46:26 +02:00
MichaelDvP
7865ddc51f use espMqttClient, qos2 fixed 2023-06-03 16:36:53 +02:00
Proddy
d9c2fe0fb9 Merge pull request #1186 from proddy/dev
suppress lint warning with make
2023-06-03 11:12:51 +04:00
proddy
02c386d76f supress lint warning wirh make 2023-06-03 09:11:43 +02:00
Proddy
ee0e6ed29f Merge pull request #1185 from proddy/dev
minor updates
2023-06-03 10:09:59 +04:00
Proddy
e858596658 package update 2023-06-03 08:09:23 +02:00
Proddy
b4519b40eb minor updates 2023-06-03 08:06:36 +02:00
Proddy
a0bc5fed35 update packages 2023-06-02 14:37:31 +02:00
Proddy
2a7bd7e963 remove DEBUG 2023-06-02 14:37:25 +02:00
Proddy
26b873da9e Merge pull request #1184 from emsesp/dev-fix
fix #1182
2023-05-31 23:18:48 +04:00
MichaelDvP
82a8f0481e fix #1182 2023-05-31 19:13:53 +02:00
Proddy
53c8d9372e Merge pull request #1180 from pswid/dev 2023-05-30 23:04:58 +04:00
Proddy
d314e1d050 Merge pull request #1181 from emsesp/dev-fix 2023-05-30 23:03:13 +04:00
MichaelDvP
e4a0799163 3 retrys on rejected tx, fixes #1179
please delete branch after merge. My dev branch contains the mqtt lib, so i edit on github directly.
2023-05-30 09:41:26 +02:00
pswid
685f987a8e automatic (some) columns expansion to avoid truncation 2023-05-29 12:54:58 +02:00
pswid
b57fff13eb Polish translation fixes 2023-05-29 12:43:55 +02:00
Proddy
4a3201f194 Merge pull request #1177 from proddy/dev
formatting
2023-05-27 09:43:41 +02:00
Proddy
8b948bc521 don't build web on pio clean target 2023-05-27 09:42:50 +02:00
Proddy
91f0da84d2 clang auto formatting 2023-05-27 09:42:33 +02:00
Proddy
551b2d900e package update 2023-05-27 09:42:21 +02:00
Proddy
06e3c0a41f Merge pull request #1176 from MichaelDvP/dev
AM20, HIU, Ventilation and other
2023-05-27 08:39:48 +02:00
MichaelDvP
ac3d16b2b4 version dev.12, update changelog 2023-05-26 10:48:30 +02:00
MichaelDvP
c8c4a3d450 build s3 bin 2023-05-26 10:26:25 +02:00
MichaelDvP
6aaccf4f90 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-05-26 09:46:16 +02:00
Proddy
2d70f637c9 Merge pull request #1175 from proddy/dev
Table sizes
2023-05-25 20:20:52 +02:00
Proddy
cf042271c3 Merge branch 'emsesp:dev' into dev 2023-05-25 20:20:26 +02:00
proddy
7330ca20f8 condensed table for entity data 2023-05-25 20:16:19 +02:00
MichaelDvP
b5ccf79f70 ventilation temperatures div10 2023-05-25 12:27:58 +02:00
MichaelDvP
9a2303ab73 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-05-25 10:17:41 +02:00
MichaelDvP
07102e0279 add ventilation air temperatures 2023-05-25 09:46:34 +02:00
Proddy
0c1042abc9 Merge pull request #1162 from proddy/dev
web render update - #1116
2023-05-24 20:42:36 +02:00
proddy
2571f5e5e6 package update 2023-05-24 20:41:01 +02:00
Proddy
c9a968c1a5 package update 2023-05-23 22:51:35 +02:00
Proddy
b74e56974e package update 2023-05-14 10:57:03 +02:00
Proddy
fabaa230de shorten greenstar 2023-05-14 10:56:58 +02:00
Proddy
c224abfc61 layout improvements 2023-05-13 16:55:49 +02:00
Proddy
26f5c9debf improvements to #1169 2023-05-13 10:51:18 +02:00
Proddy
ae9a86e796 remove comments 2023-05-13 10:51:06 +02:00
Proddy
c57a5c04d6 pacakge update 2023-05-12 08:26:08 +02:00
Proddy
d1df21cb8e add refresh to device data 2023-05-12 08:25:45 +02:00
Proddy
ff59276387 table formatting 2023-05-11 21:51:15 +02:00
Proddy
0e0ec7a7c7 improve layout 2023-05-11 21:37:24 +02:00
Proddy
3ecaeffec0 improve mobile layout 2023-05-11 21:26:41 +02:00
Proddy
4f8d3d27ba updates to data view 2023-05-11 18:19:47 +02:00
Proddy
6575e1d790 escape key closes data window 2023-05-11 00:23:35 +02:00
Proddy
b255b65dc4 experiment with a pop up device data table 2023-05-11 00:16:03 +02:00
Proddy
b1b15eef4c package update 2023-05-11 00:15:44 +02:00
MichaelDvP
2f5e5535c8 connect wifi or eth, only one 2023-05-10 18:48:36 +02:00
MichaelDvP
5abe9530d7 update packages 2023-05-10 18:48:00 +02:00
MichaelDvP
a5113eb90d add HIU 2023-05-10 18:47:39 +02:00
MichaelDvP
e6f839b554 Merge branch 'dev11' into dev 2023-05-10 18:47:07 +02:00
MichaelDvP
b2ad600de2 add ventilation device class 2023-05-10 16:55:03 +02:00
Proddy
ea71b43f78 package update 2023-05-08 17:59:49 +02:00
Proddy
d939795b8c fix pio for 6.1.7 2023-05-08 17:59:44 +02:00
Proddy
db9b9992d6 make menu pane less wide 2023-05-07 17:49:58 +02:00
Proddy
c8fd8c4928 replace msgpack with msgpackr - https://github.com/emsesp/EMS-ESP32/issues/1112 2023-05-07 17:34:13 +02:00
Proddy
a5fae64db6 fix typo 2023-05-07 17:28:10 +02:00
Proddy
5767d83c85 add notes about fonts 2023-05-07 14:26:34 +02:00
Proddy
7910893529 rename reset 2023-05-07 14:26:23 +02:00
proddy
3c003657b9 move device types to types.ts 2023-05-07 09:47:13 +02:00
proddy
348ffcd077 remove obsolete import 2023-05-07 09:46:52 +02:00
proddy
09ea35e340 add comment 2023-05-06 17:11:57 +02:00
proddy
fcac70a2ca update test data - Need fresh test data #1168 2023-05-06 17:11:48 +02:00
proddy
b5b890beaa package update 2023-05-06 17:11:26 +02:00
Proddy
ca964c13a7 fix row unselect 2023-05-05 20:37:48 +02:00
Proddy
979503256a package update 2023-05-05 20:25:59 +02:00
MichaelDvP
c9ab6b23ea fix #600, read telegram 486 2023-05-05 09:32:57 +02:00
Proddy
e84a3bc99a improve dv validation, add back ugly step 2023-05-03 08:54:57 +02:00
Proddy
310bb53985 package update 2023-05-03 08:54:36 +02:00
Proddy
5b87e74be8 update comment 2023-05-03 08:54:27 +02:00
Proddy
8aa7cd166b experiment showing only 1 device 2023-05-01 22:13:53 +02:00
Proddy
72f530b969 export setOrigData needed for systemlog 2023-05-01 22:13:39 +02:00
Proddy
b027ce0d91 remember old settings 2023-05-01 22:13:17 +02:00
Proddy
ff5247eaf5 update eslint 2023-05-01 22:13:00 +02:00
proddy
148e35ea53 improve device value helper text 2023-05-01 13:39:12 +02:00
Proddy
8a01a1e471 merge changes from Michael for #600 2023-04-30 20:35:29 +02:00
Proddy
c34208c3df fix logo on mobile devices 2023-04-30 20:25:04 +02:00
Proddy
bf5c11156a reduce margins so data fills plane 2023-04-30 20:24:50 +02:00
Proddy
6e3b36c070 update for 3.6.0-dev-11 2023-04-30 16:36:50 +02:00
Proddy
dc4bd64aff fixes PlatformIO 6.2.0 breaks compilation #1166 (thanks Michael) 2023-04-30 16:22:51 +02:00
proddy
0d9cd64619 rename upload finished to successful 2023-04-30 15:51:15 +02:00
proddy
cc10c494c6 version release text changes 2023-04-30 15:47:59 +02:00
Proddy
3ef3f561b9 text changes 2023-04-30 10:41:23 +02:00
Proddy
2d9627373c ignore internationl number settings when changing value 2023-04-30 10:41:01 +02:00
proddy
d618d09bdf min, max and step are sent as Numbers to the webUI 2023-04-30 09:57:25 +02:00
proddy
8a02f2a27a add check for min/max when sending device values 2023-04-30 09:53:10 +02:00
proddy
ceb63fa09f rename lint 2023-04-30 09:52:47 +02:00
proddy
a256d2573c remove unused lib 2023-04-30 09:52:35 +02:00
Proddy
5fe9049537 but device data in scrollable body 2023-04-29 16:26:20 +02:00
Proddy
6f681aa451 remove useWindowSize 2023-04-29 16:26:07 +02:00
Proddy
63d105437f comment change 2023-04-29 16:25:55 +02:00
Proddy
2254bf9c16 fix eslint warnings 2023-04-29 15:35:54 +02:00
Proddy
90a719561b remove comment 2023-04-29 15:35:33 +02:00
proddy
d06dc3e2cf fic dialog deviceentities 2023-04-29 14:34:56 +02:00
proddy
ff058b06a1 changed comment 2023-04-29 14:34:48 +02:00
proddy
26b0c67d13 update packages, but not router as it breaks 2023-04-29 14:34:34 +02:00
proddy
ab24695371 use blocker from main lib 2023-04-29 14:34:19 +02:00
Proddy
1861365124 removed SAVE 2023-04-28 21:03:29 +02:00
Proddy
321558c583 minor optimizations 2023-04-28 15:46:45 +02:00
Proddy
dd25900af4 make icon bigger 2023-04-28 15:46:37 +02:00
Proddy
28252b987b added missing analog_enabled 2023-04-28 15:46:24 +02:00
Proddy
b823366a82 fixed changing log settings - https://github.com/emsesp/EMS-ESP32/pull/1162#issuecomment-1525877550 2023-04-28 15:46:07 +02:00
MichaelDvP
90ce8bc8ce HP inputs #600, custom entity bool display 2023-04-28 14:36:35 +02:00
Proddy
1362976508 disable changing gpio 2023-04-28 14:13:09 +02:00
Proddy
cfe8c410ae Optimize WebUI rendering when using Dialog Boxes #1116 2023-04-28 12:46:59 +02:00
MichaelDvP
5f87718deb heatpump inputs, fix #600 2023-04-27 09:12:53 +02:00
MichaelDvP
f15fb9a5d1 custom entities: bool write, dashboard show and count 2023-04-27 09:07:38 +02:00
MichaelDvP
57cc39c087 Add Worcester Comfort RF Thermostat emsesp#1163 2023-04-25 18:17:32 +02:00
Proddy
b9402d3a01 remove unused libs 2023-04-24 21:56:40 +02:00
Proddy
b59c76df3b replace void with await 2023-04-24 21:39:30 +02:00
Proddy
7d526196a0 don't show uptime if disconnected 2023-04-24 21:39:16 +02:00
Proddy
f1b3cb9646 added test for bus disconnect 2023-04-24 21:38:52 +02:00
Proddy
67de1c6a47 add one more line to box so it fits 'patch' 2023-04-24 21:38:35 +02:00
Proddy
41b2a67f09 remove hidden spaces 2023-04-24 21:38:21 +02:00
Proddy
f2636d42a4 updated packages 2023-04-24 21:38:03 +02:00
Proddy
0c0ef80025 rename 'Tx issues - check Tx Mode' 2023-04-24 21:37:47 +02:00
Proddy
bcd0c5ac52 only show Update when changes made - https://github.com/emsesp/EMS-ESP32/pull/1162 2023-04-24 17:42:44 +02:00
Proddy
005485188f updates to https://github.com/emsesp/EMS-ESP32/pull/1162 2023-04-24 16:50:28 +02:00
Proddy
9553161b07 remove force from check_active() 2023-04-24 16:50:05 +02:00
Proddy
71e7887da3 replace MUI Slider, saves 5KB 2023-04-23 11:02:10 +02:00
Proddy
300fe721a1 tidy up files 2023-04-23 10:14:35 +02:00
Proddy
047eae2d40 package update 2023-04-23 09:45:12 +02:00
Proddy
c3e5e8d6d1 Merge branch 'dev' into dev 2023-04-23 01:05:36 +02:00
Proddy
466e9ec6fe rename endpoint to entities to be consistent 2023-04-22 21:20:00 +02:00
Proddy
74c88caa19 add empty entity test 2023-04-22 21:19:48 +02:00
Proddy
71d086a8db device_id and type_id as numbers 2023-04-22 21:04:54 +02:00
Proddy
728e15772f bump version 2023-04-22 21:04:37 +02:00
Proddy
e1ffd8860d optimize Settings Customization for rendering 2023-04-22 21:02:11 +02:00
Proddy
4b9bddd565 add comment 2023-04-22 21:01:39 +02:00
Proddy
f53921d068 device entity min/max as numbers 2023-04-22 21:01:19 +02:00
Proddy
445618d232 add min/max for entity customization 2023-04-22 21:01:04 +02:00
Proddy
b035e27bc8 device entity min/max sent as numbers 2023-04-22 21:00:43 +02:00
Proddy
cecbb25857 device_id and type_id sent as numbers 2023-04-22 21:00:29 +02:00
Proddy
c2823a5ed6 add SHOWING and SEARCH 2023-04-22 21:00:12 +02:00
MichaelDvP
3dba97239d AM200 with device-id 08 2023-04-22 16:49:03 +02:00
Proddy
209afc87bb fix lint warnings 2023-04-22 10:05:13 +02:00
Proddy
19e8e4a7a1 initial lint cleanup 2023-04-22 09:47:29 +02:00
Proddy
d8ff088231 formatting 2023-04-22 09:47:03 +02:00
Proddy
6f14fcb6e8 id no longer needed 2023-04-22 09:46:41 +02:00
Proddy
56e95d1d85 updated for custom entities 2023-04-22 09:46:11 +02:00
Proddy
e12083e3ba added more eslint rules 2023-04-22 09:45:54 +02:00
Proddy
fa263918ba updated packages 2023-04-22 09:45:37 +02:00
Proddy
e81b1b9277 rename entities_saved to updated 2023-04-22 09:45:12 +02:00
Proddy
84635ac889 autoformat 2023-04-22 09:44:39 +02:00
Proddy
f80764d72b refactor diallogs 2023-04-22 09:44:24 +02:00
Proddy
04dd9eef09 Polish translation update #1156 2023-04-22 08:46:13 +02:00
Proddy
6bd744f12e refactor dialog to prevent multiple parent renders 2023-04-18 22:04:00 +02:00
Proddy
6f155fab0b Merge pull request #1159 from MichaelDvP/dev
add writeable setting to custom entities
2023-04-15 18:32:50 +02:00
MichaelDvP
a54f3f7085 add writeable checkbox to custom entities 2023-04-15 10:45:41 +02:00
MichaelDvP
d86153a08e add custom entity with empty strings 2023-04-14 14:59:57 +02:00
Proddy
8eb7793cd0 update libs 2023-04-11 18:30:45 +02:00
Proddy
79bff902e1 Merge pull request #1154 from proddy/dev
standalone compile issues
2023-04-06 21:20:42 +02:00
proddy
825e33c3ea standalone compile issues 2023-04-06 21:19:24 +02:00
Proddy
0c8a7d51a8 Merge pull request #1151 from MichaelDvP/dev
Custom telegram handler #1079
2023-04-06 21:08:28 +02:00
Proddy
05e1bbf86b Merge branch 'dev' into dev 2023-04-06 21:08:18 +02:00
Proddy
004ec92d68 Merge pull request #1153 from proddy/dev
minor updates, can't remember what
2023-04-06 20:56:53 +02:00
proddy
f00502863f update packages 2023-04-06 20:55:18 +02:00
proddy
fe8aa8f727 don't use yarn pnp 2023-04-04 11:27:02 +02:00
Proddy
24eccf1e04 Merge branch 'emsesp:dev' into dev 2023-04-02 16:14:01 +02:00
proddy
5ef494b702 tsx config 2023-04-02 16:08:42 +02:00
Proddy
1673acd537 Merge pull request #1149 from pswid/dev
fixed PL and NO translation of "haclimate"
2023-04-02 10:57:48 +02:00
Proddy
d993b356f9 Merge pull request #1150 from minusdreidb/dev
Fix #1147 - Exhaust temperature always zero on GB125/MC110/RC310
2023-04-02 10:43:35 +02:00
marcel
e2fec03a21 Use exhaust temperature from 0xe4, remove from 0xe5 until verified, closes #1147. 2023-04-01 19:15:54 +02:00
MichaelDvP
5e2d97c0b9 Typo, fix string-compare standalone 2023-03-31 17:35:31 +02:00
MichaelDvP
594e79be5d update changelog, version dev.9 2023-03-31 16:52:23 +02:00
MichaelDvP
fa50846a05 add own entities read from ems-bus with free factor 2023-03-31 16:51:28 +02:00
MichaelDvP
36d5df65b8 env for asymetric partitions (loader) 2023-03-31 16:49:30 +02:00
MichaelDvP
486b365f9b update packages 2023-03-31 16:48:08 +02:00
marcel
5c59a20714 Accept exhaustTemp_ update from telegram 0xE5 if value is unequal zero. 2023-03-27 21:57:31 +02:00
pswid
1c10d8015c fixed PL and NO translation of "haclimate" 2023-03-27 09:55:30 +02:00
Proddy
d2d29afcbe update es build 2023-03-26 22:56:43 +02:00
marcel
982a43b8d4 Fix Exhaust Temperature for Logano plus GB125 with Logamatic MC110.
Exhaust Temperature was always zero prior to fix. On the setup

- Logano plus GB125 with Logamatic MM110 (SW-Version 02.10)
- Logamatic RC310 (SW-Version 74.03)
- MM100 (SW-Version 24.05)

the exhaust temperature ist found in telegram type 0xe4 at offset 31.
The original location in telegram 0xe5, offset 6 is always zero.
2023-03-26 17:49:01 +02:00
Proddy
17b108597e Merge pull request #1145 from MichaelDvP/dev
revert another wrong translation
2023-03-25 11:12:33 +01:00
MichaelDvP
28e42b7920 revert another wrong translation 2023-03-25 08:25:04 +01:00
Proddy
904403f8fa Merge pull request #1142 from MichaelDvP/dev
fixes
2023-03-24 20:32:16 +01:00
MichaelDvP
84e8eaf33c Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-03-24 14:17:52 +01:00
MichaelDvP
959e09f6c1 add missing german translation, add back //TODO translate 2023-03-24 13:41:40 +01:00
MichaelDvP
c8c4b36ebd Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-03-24 13:38:59 +01:00
Proddy
ddad1bbe09 Merge pull request #1141 from proddy/dev
minor fixes
2023-03-24 13:36:26 +01:00
Proddy
a2fc137ebe bump version with new NO translations 2023-03-24 13:35:11 +01:00
Proddy
936d887394 fix lint error 2023-03-24 13:34:47 +01:00
Proddy
a396d0335f formatting 2023-03-24 13:32:09 +01:00
Proddy
d575f3b3c2 package update 2023-03-24 13:32:03 +01:00
Proddy
0674426d29 Merge pull request #1139 from proddy/dev
use number as table id's - #1126
2023-03-24 12:14:17 +01:00
Proddy
80ec86361a Merge pull request #1138 from Vikingn/dev
Norwegian translations added again
2023-03-24 12:13:56 +01:00
Vikingn
1ebd38bf03 Norwegian Index.ts translated 2023-03-23 22:09:03 +01:00
Proddy
274855a19e Merge branch 'emsesp:dev' into dev 2023-03-23 20:40:15 +01:00
Proddy
d26d2ae556 Merge pull request #1137 from pswid/dev
improve view of settings pages (app and mqtt)
2023-03-23 20:37:06 +01:00
proddy
0a7e1f629e use number as table id's - #1126 2023-03-23 20:29:01 +01:00
MichaelDvP
a84e9e0923 update packages 2023-03-22 18:09:55 +01:00
MichaelDvP
aea2277e26 fix up/download scheduler files 2023-03-22 17:33:34 +01:00
MichaelDvP
a5d2beb3e7 missing translations 2023-03-22 17:31:55 +01:00
Vikingn
729832ae76 Norwegian fixed line 271-275 2023-03-22 17:22:53 +01:00
Vikingn
21f746d1fa Norwegian translation 2023-03-22 16:23:18 +01:00
Vikingn
d83de8bd15 Norwegian translations added again 2023-03-22 15:36:38 +01:00
pswid
12da8f9b67 improve view of app and mqtt settings pages
The appearance of the configuration pages has been unified. Additionally on very narrow screens (e.g. smartphones) only one parameter per row is displayed (on wider screens up to three per row).
2023-03-22 13:31:53 +01:00
MichaelDvP
70550a4866 enlarge uart stack to 2,5k, 2023-03-22 11:04:04 +01:00
MichaelDvP
789a4e1340 formatting 2023-03-22 11:03:18 +01:00
MichaelDvP
35c999e2fd fix fullname #1136 2023-03-22 07:19:55 +01:00
MichaelDvP
bfdffc14c5 package update 2023-03-20 15:05:12 +01:00
MichaelDvP
e74d3d4cd5 mqtt resend timeout from 10 min to 10 sec 2023-03-20 12:17:27 +01:00
MichaelDvP
514a96c8e4 merge "NO" translations from Vikingn 2023-03-20 09:34:25 +01:00
MichaelDvP
210181feef fix recreate HA config on language change (from discord) 2023-03-20 09:28:43 +01:00
MichaelDvP
942de63b83 fix heartbeat interval, #1131 2023-03-20 09:27:26 +01:00
Proddy
93d68996b4 Merge pull request #1128 from MichaelDvP/dev 2023-03-18 14:17:19 +01:00
MichaelDvP
369c7554f2 fix updating of board profile 2023-03-18 13:53:13 +01:00
MichaelDvP
c92d9123a0 fix enum order of nofrostmode 2023-03-18 10:18:48 +01:00
MichaelDvP
f0be8cf581 add boiler Greenstar HIU, #1127 2023-03-18 10:18:18 +01:00
MichaelDvP
bb85255ef1 add tr characters to css 2023-03-18 10:17:48 +01:00
Proddy
e46c5263d9 Merge pull request #1124 from MichaelDvP/dev
fix device icons in dashboard
2023-03-15 12:36:08 +01:00
MichaelDvP
e7372922d7 fix device icons in dashboard 2023-03-15 10:41:05 +01:00
Proddy
0c9c15f854 Merge pull request #1123 from MichaelDvP/dev
fix translations for EMSESP_EN_ONLY, EMSESP_DE_ONLY
2023-03-15 08:22:09 +01:00
MichaelDvP
216e7e5307 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-03-15 07:16:34 +01:00
MichaelDvP
a92474bf37 fix EMSESSP_EN_ONLY and EMSESP_DE_ONLY 2023-03-15 07:13:23 +01:00
Proddy
432220dc86 Merge pull request #1122 from proddy/dev
update ArduinoJson to 6.21.0
2023-03-14 22:06:17 +01:00
Proddy
a921b4c7b4 3.6.0-dev.7 2023-03-14 22:04:17 +01:00
Proddy
d1348f2be4 formatting 2023-03-14 22:03:28 +01:00
Proddy
f191f1c81d Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-03-14 21:59:41 +01:00
Proddy
3dfd34b7bf upgrade 6.21.0 2023-03-14 21:59:40 +01:00
Proddy
ada142ff29 add comment 2023-03-14 21:59:31 +01:00
Proddy
ec8b55c1e8 package updates 2023-03-14 21:59:25 +01:00
Proddy
70eb9e6b08 fix no web translations 2023-03-14 21:59:07 +01:00
Proddy
7eef95f57c lint warning fix 2023-03-14 21:58:54 +01:00
Proddy
bac266eadc Merge pull request #1121 from MichaelDvP/dev
some small fixes
2023-03-14 18:17:37 +01:00
MichaelDvP
4ba9f6f330 names for entityFormat and discoveryType 2023-03-14 15:17:16 +01:00
MichaelDvP
0b0ae2fbc2 fix update on S3 SOC 2023-03-14 15:16:16 +01:00
MichaelDvP
50bf7932a0 fix download settings and schedules 2023-03-14 15:05:23 +01:00
MichaelDvP
d3615d2961 fix stack overflow in lwip task 2023-03-14 15:04:48 +01:00
Proddy
2c572f8099 Merge pull request #1119 from pswid/dev
fix: tags in names in HA were not translated
2023-03-14 09:12:15 +01:00
pswid
944aa861f8 make 'eco+ switch_off' enity unique in v.3.4 format
HA ignores characters '+' in uniq_id/obj_id, so to make the entity 'eco+ switch_off' different from 'eco switch_off', it will be renamed to 'eco2 switch_off'.
2023-03-12 21:24:03 +01:00
pswid
62c3c91665 fixed entity id format v.3.4 2023-03-12 20:02:07 +01:00
pswid
ecafda86f1 fix: tags in names in HA were not translated 2023-03-12 19:14:28 +01:00
Proddy
354741a81d Merge pull request #1117 from proddy/dev
add EMSESP_EN_ONLY and EMSESP_DE_ONLY to be safe
2023-03-12 11:15:57 +01:00
proddy
63e6752bd1 add EMSESP_EN_ONLY and EMSESP_DE_ONLY to be safe 2023-03-12 11:14:03 +01:00
Proddy
1e1baa9781 Update sonar_check.yml 2023-03-12 10:59:22 +01:00
Proddy
94678a6726 Merge pull request #1114 from proddy/dev
#1112 - web optimizations
2023-03-12 08:49:45 +01:00
proddy
64b202225a rollback changes 2023-03-12 08:48:56 +01:00
Proddy
0d81dcde10 don't bold row selection 2023-03-11 17:42:02 +01:00
Proddy
d0ccbc2963 typo in table header height 2023-03-11 17:38:08 +01:00
Proddy
8b29c1973d DEMSESP_EN_ONLY 2023-03-11 17:31:33 +01:00
Proddy
c960db5180 added compile flag -DEMSESP_DE_ONLY 2023-03-11 17:23:41 +01:00
Proddy
9233f0dfcc v3.5.1 - merge with patch 2023-03-11 16:06:05 +01:00
Proddy
dc3c6cad05 success toast after upload 2023-03-11 15:41:46 +01:00
Proddy
77798085ce upgraded sonar 2023-03-11 15:32:14 +01:00
Proddy
3c03f4b18f test new sonar 2023-03-11 15:22:43 +01:00
Proddy
955c8b4346 remove minify 2023-03-11 13:45:05 +01:00
Proddy
a3759b1959 add minify and use terser 2023-03-11 11:31:33 +01:00
Proddy
00e87dc3b0 fix table not showing on edit 2023-03-11 11:09:27 +01:00
Proddy
13211249c9 toast styling 2023-03-11 11:09:14 +01:00
Proddy
c677fed916 cleanup 2023-03-11 11:08:56 +01:00
proddy
cc5a28ca14 remove bold font and replace notistack to save flash 2023-03-11 09:22:55 +01:00
Proddy
8cbae88dc3 replace notistack 2023-03-10 20:28:43 +01:00
Proddy
ae890dab37 Merge pull request #1113 from proddy/dev
rollback notistack to 2.0.8 so it fits flash
2023-03-10 17:25:57 +05:30
Proddy
45ec315252 3.6.0-dev.5 2023-03-10 12:54:55 +01:00
Proddy
d27cd392f6 rollback notistack to 2.0.8 so it fits flash 2023-03-10 12:54:29 +01:00
Proddy
751008dcf2 cleanup platforms 2023-03-10 12:54:05 +01:00
Proddy
c16b9968e1 Merge pull request #1108 from proddy/dev
fix standalone
2023-03-08 12:01:24 +05:30
proddy
ab798bee12 package updates, formatting 2023-03-08 11:59:47 +05:30
proddy
30561411e1 fix compile standalone 2023-03-08 11:58:46 +05:30
Proddy
e1e8c1064a Merge pull request #1107 from MichaelDvP/dev
add thermostat names, missing turk locale
2023-03-08 11:49:36 +05:30
Proddy
94ff01bf2c Merge pull request #1106 from pswid/dev
Polish translation update
2023-03-08 11:48:57 +05:30
MichaelDvP
4b1b0e74df add thermostat names, missing turk locale 2023-03-07 17:46:33 +01:00
pswid
78205d77f3 fix typo 2023-03-07 12:38:41 +01:00
pswid
53a0a41a02 Polish translation update 2023-03-07 12:37:30 +01:00
Proddy
8d437c31ce Merge pull request #1105 from MichaelDvP/dev
scheduler and fixes
2023-03-06 19:45:52 +01:00
MichaelDvP
6f396087d2 fix climate publish 2023-03-06 19:12:02 +01:00
MichaelDvP
a6cd5d2ddb Merge branch 'dev' of https://github.com/MichaelDvP/EMS-ESP32 into dev 2023-03-06 18:49:38 +01:00
MichaelDvP
261cfe3911 remove dallas/analo domoticz test 2023-03-06 18:48:57 +01:00
MichaelDvP
bafe23431e fix avty 2023-03-06 18:43:46 +01:00
MichaelDvP
5759012914 fix avty 2023-03-06 18:36:27 +01:00
MichaelDvP
c9dbf282f6 add scheduler api commands/info/value 2023-03-06 16:26:52 +01:00
MichaelDvP
db1a335509 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-03-06 16:15:28 +01:00
Proddy
cdb64a4c15 Merge pull request #1103 from proddy/dev
#701 scheduler web dialog updates
2023-03-05 18:28:33 +01:00
proddy
fd7cbdbdc4 green ticky circle thingy 2023-03-05 18:28:01 +01:00
proddy
bcbfc09bf4 yet another package update 2023-03-05 18:27:51 +01:00
MichaelDvP
5f3212afc4 fix domoticz setting (was ignored) 2023-03-05 18:17:57 +01:00
MichaelDvP
af7d072486 Test for domoticz discovery 2023-03-05 17:54:04 +01:00
MichaelDvP
a93fd314ec fix typo and text size 2023-03-05 15:32:45 +01:00
proddy
501f4a856a minor updates 2023-03-05 14:34:35 +01:00
proddy
55af79dfeb name message updated 2023-03-05 14:33:37 +01:00
proddy
607a725395 add type cast so compiles standalone 2023-03-05 14:33:01 +01:00
proddy
ef602ca70b remove TODO 2023-03-05 14:32:27 +01:00
proddy
50d489d3c1 use safer strcmp() instead of comparing pointers 2023-03-05 14:32:20 +01:00
proddy
3c10d750f0 add TODO for translations 2023-03-05 14:31:48 +01:00
proddy
cab93b16b6 id uses counter 2023-03-05 14:31:38 +01:00
proddy
d3d2270f80 typo 2023-03-05 14:31:27 +01:00
proddy
9b3b758be7 update TODOs 2023-03-05 14:31:14 +01:00
MichaelDvP
dfdaf596bc domoticz setting, analog boolformat, dallas discovery 2023-03-05 12:03:47 +01:00
proddy
8ee8998381 Scheduler #701 updates to dialog 2023-03-05 10:08:26 +01:00
proddy
de59434d95 vscode setup 2023-03-05 09:44:50 +01:00
Proddy
e6f9d9b3c8 scheduler dialog changes 2023-03-04 22:16:10 +01:00
Proddy
a41dc71965 test 2023-03-04 19:14:25 +01:00
Proddy
dd200f6d34 Merge pull request #1101 from MichaelDvP/dev
some case and nullptr checks
2023-03-04 18:43:08 +01:00
MichaelDvP
b1c42b8d8f some case and nullptr checks 2023-03-04 17:42:14 +01:00
Proddy
aba870f0ba Merge pull request #1099 from MichaelDvP/dev
mqtt/commands for scheduler
2023-03-04 16:03:34 +01:00
MichaelDvP
0380fe1fff mqtt/commands for scheduler 2023-03-04 14:10:32 +01:00
Proddy
78c4a646d2 Merge pull request #1097 from emsesp/fix_RC35Monitor
fix RC35Monitor active detection
2023-03-04 11:23:41 +01:00
MichaelDvP
44056318fd fix RC35Monitor active detection
editied direct on github, delete branch after merge.
2023-03-04 11:09:14 +01:00
Proddy
f1bb2c75a6 Merge pull request #1095 from proddy/dev
fix routing issue
2023-03-03 18:09:52 +01:00
Proddy
dd0489596e fix routing issue 2023-03-03 12:41:48 +01:00
Proddy
8389e06aae lint optimizations 2023-03-03 12:41:42 +01:00
Proddy
afbb670c78 package update 2023-03-03 12:41:21 +01:00
Proddy
666da8d4e3 Merge pull request #1094 from proddy/dev
edit name from dialog
2023-03-02 17:15:54 +01:00
Proddy
8bb42addc0 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2023-03-02 17:14:44 +01:00
Proddy
0dfd32412e edit name from dialog 2023-03-02 17:13:29 +01:00
Proddy
54eee7ca9f package update 2023-03-02 17:13:04 +01:00
Proddy
ad936c7f6c Merge pull request #1093 from proddy/dev
add name as unique id - #701
2023-03-01 21:50:35 +01:00
Proddy
ee5ec1b7d1 add name as unique id - #701 2023-03-01 21:49:17 +01:00
Proddy
d2c5ae8aa9 Merge pull request #1090 from proddy/dev
remove project router, make everything from root
2023-02-28 18:52:01 +01:00
Proddy
9e3c4134e1 remove project router, make everything from root 2023-02-28 18:48:00 +01:00
Proddy
c8ea1d0c8a Merge pull request #1088 from proddy/dev
show name not number in device dialog info box
2023-02-28 17:52:32 +01:00
Proddy
bba5c5472c fix device type name in pop up info dialog 2023-02-28 17:51:39 +01:00
Proddy
29c3923a52 package update 2023-02-28 17:51:22 +01:00
Proddy
1c20929886 package updates 2023-02-28 09:16:29 +01:00
Proddy
0078a2ef8e formatting 2023-02-28 09:16:24 +01:00
Proddy
ee1c70f608 remove obsolete defaults 2023-02-28 08:47:07 +01:00
Proddy
e29bc4e56a Merge pull request #1085 from MichaelDvP/dev
add TR (some translations still missing) #907
2023-02-28 08:43:12 +01:00
MichaelDvP
e1595daeb9 Merge branch 'tech-upgrade' into dev 2023-02-28 07:17:22 +01:00
Proddy
77e85f02de Merge pull request #1084 from proddy/dev
merge with tech-upgrade
2023-02-27 16:44:50 +01:00
Proddy
557892bbc7 updates for 3.6.0-dev-0 2023-02-27 16:38:56 +01:00
Proddy
f3bfc6f126 Merge remote-tracking branch 'origin/tech-upgrade' into dev 2023-02-27 16:38:38 +01:00
MichaelDvP
5937a0e3b2 Merge branch 'tech-upgrade' of https://github.com/emsesp/EMS-ESP32 into tech-upgrade 2023-02-27 15:22:26 +01:00
MichaelDvP
94749e4615 Add TR language (some still missing) #907 2023-02-27 15:22:17 +01:00
Proddy
ea093844b4 minor update 2023-02-27 14:35:43 +01:00
Proddy
4d496de488 Merge pull request #1082 from MichaelDvP/tech-upgrade
schedule commands timing, retry
2023-02-27 13:53:49 +01:00
Proddy
31bfc5388c Merge branch 'tech-upgrade' into tech-upgrade 2023-02-27 13:49:02 +01:00
MichaelDvP
e9cc86e072 scheduler-command: use const char*, publish response for queries 2023-02-27 12:04:41 +01:00
proddy
9ed32307d3 fix lint warnings 2023-02-27 10:51:41 +01:00
proddy
23cfdb95f2 update package 2023-02-27 10:51:33 +01:00
proddy
71ff695290 update packages 2023-02-27 10:51:00 +01:00
MichaelDvP
f48aeb0917 schedule commands timing, retry 2023-02-27 09:16:41 +01:00
Proddy
84c90dd587 align timing with EMS-ESP 2023-02-26 20:59:03 +01:00
Proddy
4c186606bd hide MAC and IPs 2023-02-26 19:16:53 +01:00
Proddy
2ffa5fbe36 fix system log in standalone 2023-02-26 16:43:56 +01:00
Proddy
471d18f7fa add automatic id so table renders 2023-02-26 15:20:55 +01:00
Proddy
0985cea3d3 add writeback for scheduler 2023-02-26 15:20:28 +01:00
Proddy
f0509ae333 remove ntp message 2023-02-26 15:20:18 +01:00
Proddy
127a20b29c update eslint 2023-02-26 13:45:07 +01:00
Proddy
f179030d6c replace deprecated JS substr() 2023-02-26 13:44:51 +01:00
Proddy
76db7b3d21 back-end implementation 2023-02-26 12:58:49 +01:00
Proddy
00a3d67707 calling backend services 2023-02-26 12:58:37 +01:00
Proddy
a165dd51c4 remove ntp, dow starts on Sun to match tm_weekday in C's time library 2023-02-26 12:58:11 +01:00
Proddy
05eaa3ce54 fix schedule endpoints typo 2023-02-26 12:57:19 +01:00
Proddy
d652bca32d package update 2023-02-26 12:57:03 +01:00
Proddy
0464030544 schedule upload & download feature 2023-02-26 12:56:48 +01:00
Proddy
5927781a6b added stub for webSchedulerService 2023-02-25 22:24:11 +01:00
Proddy
763efaf4af bump 2023-02-25 22:23:50 +01:00
Proddy
d9f4ce7347 added string2minutes() 2023-02-25 22:23:41 +01:00
Proddy
218cab3935 updated 2023-02-25 22:23:22 +01:00
Proddy
81c6351c93 added tester for minutes conversion 2023-02-25 22:23:11 +01:00
Proddy
dce29857d3 added test to convert HH:MM to minutes for scheduler 2023-02-25 22:22:59 +01:00
Proddy
3b9da0ecfd GET and POST now same for scheduler 2023-02-25 22:22:41 +01:00
Proddy
a728a4d779 minor improvements to add dialog 2023-02-25 18:40:31 +01:00
Proddy
9bae82592f add ADD and put in a validator as cmd can't be empty 2023-02-25 18:11:37 +01:00
Proddy
50400459ee add NTP check to scheduler 2023-02-25 16:13:47 +01:00
Proddy
2ede730cfb Scheduler #701 2023-02-25 14:06:40 +01:00
proddy
45609e30ea fix axios include 2023-02-24 12:13:26 +01:00
Proddy
20f817410f default OTA disabled, saves 1.5KB heap 2023-02-23 21:38:44 +01:00
Proddy
e276025d60 change imports suggested by lint 2023-02-23 20:15:29 +01:00
Proddy
a89a7b5430 fix uniq_id for HA sensors 2023-02-23 19:57:35 +01:00
Proddy
044807accb bump version 2023-02-23 19:57:21 +01:00
Proddy
3e9f63a913 cleanup 2023-02-23 19:29:38 +01:00
Proddy
c80470d8f5 cleanup unused variables 2023-02-23 19:28:32 +01:00
Proddy
55d19bbc2d comment 2023-02-23 19:28:11 +01:00
Proddy
a3f4376d8f removed DV_HA_CONFIG_RECREATE 2023-02-23 19:27:59 +01:00
Proddy
2466df0c3d climate renamed to haclimate and given a shortname 2023-02-23 19:27:25 +01:00
Proddy
425cf33f74 added back MAX_MQTT_MESSAGES 2023-02-23 19:26:58 +01:00
Proddy
077a9937fe comment 2023-02-23 19:26:45 +01:00
Proddy
e6d41f6697 added Michael's changes 2023-02-23 19:26:25 +01:00
Proddy
59791cdaa5 added Michael's changes 2023-02-23 19:25:40 +01:00
Proddy
c7a76f90ea updated tests for mqtt 2023-02-23 19:25:28 +01:00
Proddy
605e3c26d7 formatting 2023-02-23 19:25:08 +01:00
Proddy
a59fc3f3e7 copied in Michael's change 2023-02-23 19:24:53 +01:00
Proddy
b5667c17d3 package update 2023-02-23 19:24:37 +01:00
Proddy
bc80aaea63 rename publish functions to queue_* because that is what they do 2023-02-22 20:54:38 +01:00
Proddy
6746c9a2d3 updated comments, remove DV_HA_CONFIG_RECREATE 2023-02-22 19:45:56 +01:00
Proddy
11ad4d8a0f merge with https://github.com/emsesp/EMS-ESP32/pull/1077 2023-02-22 19:01:58 +01:00
Proddy
752f0177cf make it compile standalone 2023-02-22 13:16:20 +01:00
Proddy
2078305ff4 use heap check instead of message queue - https://github.com/emsesp/EMS-ESP32/issues/1067 2023-02-22 13:08:53 +01:00
Proddy
924502113e functions don't need to return std::shared_ptr<const MqttMessage> 2023-02-22 13:08:07 +01:00
Proddy
c95e804733 add brands as flash strings 2023-02-22 13:07:24 +01:00
proddy
6a356d4a45 show how to override platform 2023-02-22 09:38:48 +01:00
proddy
2bfcbd8fb1 added comments 2023-02-22 09:36:59 +01:00
proddy
19bfcea412 EMSESP_TEST uses EN language only 2023-02-22 09:36:51 +01:00
proddy
0d7a013bba update elint 2023-02-22 09:36:34 +01:00
Proddy
931b153290 now I know why michael shortened the names ! 2023-02-21 22:21:30 +01:00
Proddy
9f91fffcab bump version 2023-02-21 21:55:04 +01:00
Proddy
6aea27e30f tidy up EMSESP_DEBUG and EMSESP_TEST 2023-02-21 21:49:21 +01:00
Proddy
134f2671fb compiling with EMSESP_DEBUG only sends to DEBUG log 2023-02-21 21:28:49 +01:00
Proddy
6438d1ee57 compile with EMSESP_TEST to run tests (not DEBUG) 2023-02-21 21:28:19 +01:00
Proddy
a6a1d44204 Merge pull request #1075 from MichaelDvP/tech-upgrade
HA config recreate #1067
2023-02-21 15:37:42 +01:00
MichaelDvP
cf97c7eb59 HA config recreate #1067 2023-02-21 14:00:43 +01:00
Proddy
e8713ff260 go back to espressif 5.2.0 2023-02-21 12:56:30 +01:00
Proddy
993724d945 use en only in debug 2023-02-21 12:53:31 +01:00
Proddy
8c89fdec95 package update 2023-02-21 12:53:31 +01:00
proddy
a49bfec7d9 fix write back on standalone 2023-02-21 09:27:14 +01:00
Proddy
050ecd9290 Merge pull request #1069 from MichaelDvP/tech-upgrade
fix for #1067 and ems-esp restarting
2023-02-20 19:03:43 +01:00
MichaelDvP
395bd604ce fix for #1067 and ems-esp restarting 2023-02-20 18:30:56 +01:00
Proddy
4f91c78b4f Merge pull request #1068 from MichaelDvP/tech-upgrade
fix for #1067
2023-02-20 18:10:20 +01:00
Proddy
20405ae9ab updated comment 2023-02-20 18:09:39 +01:00
Proddy
c18640eab0 brand_to_string to brand_to_char. use const char * where possible 2023-02-20 18:09:32 +01:00
Proddy
854584138b update memory test 2023-02-20 18:08:41 +01:00
MichaelDvP
2d129f6233 recreate instaed of remove/recreate HA config when mqtt reconnecs #1067 2023-02-20 17:30:12 +01:00
MichaelDvP
4aa3e27880 fix appfree display for asymmetric partitions. 2023-02-20 17:27:51 +01:00
Proddy
094387335d minor package updates again 2023-02-20 14:25:03 +01:00
Proddy
ff1cf12e0c Merge pull request #1038 from proddy/dev
3.5.1
2023-02-19 11:29:46 +01:00
Proddy
2f44beccc2 typesafe-i18@5.24.1 2023-02-19 11:29:03 +01:00
Proddy
558e48f671 update gh issue template 2023-02-19 11:28:08 +01:00
Proddy
e60048f5fb v3.5.1 2023-02-19 11:27:58 +01:00
Proddy
6ad1dd1a77 update packages 2023-02-19 11:27:49 +01:00
Proddy
4bfbdf31e4 gh issue template update 2023-02-19 11:23:42 +01:00
Proddy
71c2b4b7e8 package updates 2023-02-19 11:23:31 +01:00
Proddy
292f743b14 Update bug_report.md 2023-02-19 11:18:08 +01:00
Proddy
dd6dfffd57 Delete questions---troubleshooting.md 2023-02-19 10:49:52 +01:00
Proddy
ec705a5307 Delete feature_request.md 2023-02-19 10:49:45 +01:00
Proddy
f45f071710 Create config.yml 2023-02-19 10:49:32 +01:00
Proddy
4630e4f4a0 #911 2023-02-18 13:13:00 +01:00
Proddy
d872ce0ab6 fix apply updates after change #911 2023-02-18 10:49:18 +01:00
Proddy
c04b032abf update packages 2023-02-18 10:48:54 +01:00
proddy
b218bf1d2e hardcode espressif 6.0.1 2023-02-13 22:46:03 +01:00
proddy
18f787703a update packages 2023-02-13 22:45:52 +01:00
proddy
a3719b12e5 fix mqtt enabled check 2023-02-13 22:45:35 +01:00
Proddy
8c91311c1e use node v18 2023-02-12 16:27:46 +01:00
proddy
096336042e minor changes to yarn 2023-02-12 15:35:51 +01:00
Proddy
4ca25fcfc2 experiment with moving from npm to yarn 2023-02-12 14:14:08 +01:00
proddy
12b4bd3795 Workaround for better Domoticz MQTT intergration? #904 2023-02-11 23:26:15 +01:00
proddy
ba96d587ab update 2023-02-11 23:25:30 +01:00
proddy
411f3be3aa fix native compiling on OSX 2023-02-11 20:53:46 +01:00
Proddy
ffacefb792 update copyright year 2023-02-11 19:06:02 +01:00
Proddy
2d1689b79a make syslog work again 2023-02-11 19:05:43 +01:00
Proddy
78e0d30687 add publish command to mqtt code 2023-02-11 18:46:25 +01:00
Proddy
deb0952266 fix syslog 2023-02-11 18:46:10 +01:00
Proddy
9f77cfd0bf formatting 2023-02-11 18:45:41 +01:00
Proddy
767c6da325 move log command to main context 2023-02-11 18:45:20 +01:00
Proddy
f034d908b6 add comment 2023-02-11 18:45:05 +01:00
Proddy
bc391d014e update packages 2023-02-11 18:43:46 +01:00
Proddy
d42cd8ebf9 remove comment 2023-02-11 18:43:38 +01:00
Proddy
ac5635b671 F2 calls 'show values' 2023-02-11 12:23:56 +01:00
Proddy
c76b250c3b fix warning when building native on windows 2023-02-11 12:14:46 +01:00
Proddy
4630287924 fix warning when building native on windows 2023-02-11 12:14:28 +01:00
proddy
d3cae8ec52 update packages 2023-02-11 10:40:15 +01:00
proddy
149fa72566 remove extra brackets 2023-02-11 10:40:09 +01:00
Proddy
a0d13df033 fix react-virtualized-auto-sizer to "1.0.7" 2023-02-10 20:33:24 +01:00
Proddy
c9a3fad9eb updates 2023-02-10 20:30:35 +01:00
Proddy
eeb96199f9 6.20.1 2023-02-10 20:27:45 +01:00
Proddy
765b1a1b39 esp32s3 2023-02-10 20:27:23 +01:00
Proddy
78eef7cb9d cleanup 2023-02-10 20:27:13 +01:00
Proddy
1ad9f8d9cf use descriptive telegrams when watching 2023-02-10 20:27:05 +01:00
Proddy
36734a4768 change version 2023-02-09 22:41:53 +01:00
Proddy
d0f91c5f43 add hosted for online demo 2023-02-09 22:41:47 +01:00
Proddy
1cd980f46a use espressif 6.0.1 and c+17 for testing 2023-02-09 20:38:35 +01:00
Proddy
74162ab4e7 bump to tec-3 2023-02-09 20:38:21 +01:00
Proddy
0ef5579540 update package 2023-02-09 20:38:14 +01:00
Proddy
9501f02aa2 replace React bunder based on webpack with Vite #952 2023-02-09 20:23:31 +01:00
Proddy
ea8850f8bd update packages 2023-02-07 21:30:30 +01:00
Proddy
949842118b add BundleAnalyzerPlugin (optional) 2023-02-07 21:30:22 +01:00
Proddy
a4d31711a0 use lodash-es to save space 2023-02-07 21:29:50 +01:00
Proddy
94f0d040ea smaller icon.png to save space 2023-02-07 21:29:28 +01:00
Proddy
bb6e2b9336 Update CHANGELOG_LATEST.md 2023-02-06 22:34:08 +01:00
Proddy
d0166f7f12 Update CHANGELOG.md 2023-02-06 22:33:16 +01:00
Proddy
3cef6d7a65 merge PR 944 - https://github.com/emsesp/EMS-ESP32/pull/947/files 2023-02-06 22:27:55 +01:00
Proddy
6a1bc00f04 Merge pull request #949 from proddy/dev
3.6.0-dev.0
2023-02-06 22:17:12 +01:00
Proddy
bee4b3970d 3.6.0-dev.0 2023-02-06 22:16:45 +01:00
Proddy
f3858546de Merge branch 'origin/dev' 2023-02-06 21:58:27 +01:00
Proddy
de40cb8920 Merge pull request #948 from proddy/dev
prepare 3.5.0
2023-02-06 21:29:00 +01:00
Proddy
8ddf1315eb update packages 2023-02-06 21:28:05 +01:00
Proddy
00d5b16de7 update screenshots 2023-02-06 21:27:57 +01:00
Proddy
0b02bb417a Merge pull request #947 from MichaelDvP/dev
add boiler pump operating mode #944, dev.18
2023-02-06 21:09:13 +01:00
MichaelDvP
d68260411d version to dev.18, changelog 2023-02-06 14:22:41 +01:00
MichaelDvP
7227937660 add boiler pump operating mode #944 2023-02-06 14:19:58 +01:00
proddy
2ac3640760 fix package conflicts 2023-02-05 22:12:27 +01:00
proddy
71de48fd32 Warn user in WebUI of unsaved changes #911 2023-02-05 18:53:13 +01:00
Proddy
834eceab16 update packages 2023-02-05 11:13:55 +01:00
Proddy
20de1734d1 formatting 2023-02-05 10:58:48 +01:00
Proddy
63e734b0aa in EMSESP_DEBUG only use EN language to save space 2023-02-05 10:58:32 +01:00
Proddy
cf53c56ac7 add listDir to debug too 2023-02-05 10:58:01 +01:00
Proddy
e82433c530 formatting 2023-02-05 10:57:28 +01:00
Proddy
3a4e6aa852 only publish if MQTT is enabled 2023-02-05 10:57:20 +01:00
Proddy
6c46770330 merge PR 940 - https://github.com/emsesp/EMS-ESP32/pull/940 2023-02-04 14:25:29 +01:00
Proddy
e66e2c40a6 Merge pull request #941 from proddy/dev
minor cleanup
2023-02-04 14:09:20 +01:00
Proddy
39bc0d5fb2 update packages 2023-02-04 14:08:49 +01:00
Proddy
50e73e2a04 formatting 2023-02-04 14:08:41 +01:00
Proddy
efa9875744 fix bug with custom name 2023-02-04 14:08:25 +01:00
Proddy
8182b0e95a Merge pull request #940 from MichaelDvP/dev
Entitiy blacklist (remove from mem, #891) and RC20/30 modes/seltemps #932
2023-02-04 13:53:21 +01:00
MichaelDvP
6091621858 update pkg 2023-01-31 11:42:17 +01:00
MichaelDvP
ba568581ff Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-01-31 11:40:04 +01:00
MichaelDvP
c78190c3a0 version b17, changelog 2023-01-31 09:24:22 +01:00
MichaelDvP
84c968e053 RC20/30 temperature for mode off, temp settings inline 2023-01-31 09:24:03 +01:00
Proddy
6b7da4068c Merge pull request #939 from pswid/dev
added hyperlink to the EMS-ESP web interface in Home Assistant (IPv4)
2023-01-30 20:21:32 +01:00
Proddy
6dc63907f1 merge PR https://github.com/emsesp/EMS-ESP32/pull/939 2023-01-30 20:21:28 +01:00
pswid
e3e14e7a66 fixed NTP status in HA (see #931)
I missed this one
2023-01-30 19:50:36 +01:00
pswid
997ced3938 system entities moved to "diagnostic" category in HA 2023-01-30 19:37:50 +01:00
proddy
e2f149caf9 package update 2023-01-30 19:01:50 +01:00
proddy
da94fc052d fix compile errors on OSX for standalone 2023-01-30 19:01:43 +01:00
pswid
b18da9064b fixed link to the EMS-ESP in HA
prefix "http:// " is needed though
2023-01-30 18:31:57 +01:00
Proddy
77a6304fc3 merge PR https://github.com/emsesp/EMS-ESP32/pull/936 2023-01-30 17:14:53 +01:00
Proddy
7c44f22c45 add comment 2023-01-30 17:04:44 +01:00
Proddy
d39d62c2f8 show mqtt disconnect error in log, on first connect only 2023-01-30 17:04:33 +01:00
Proddy
8f68163f90 fix exit not exiting in standalone mode 2023-01-30 17:04:10 +01:00
pswid
b3ee5f4d9a added link to the EMS-ESP web interface in HA (IPv4 only) 2023-01-30 12:05:16 +01:00
MichaelDvP
5398abb074 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-01-30 10:41:29 +01:00
MichaelDvP
65397d3e1e RC20/RC30 modes, #932 2023-01-30 10:41:00 +01:00
Proddy
887d53528b Merge pull request #937 from proddy/dev
fix dump_value_info()
2023-01-30 09:29:13 +01:00
Proddy
1603eafbb2 fix dump_value_info() 2023-01-30 09:22:03 +01:00
Proddy
33bcb54aaf Merge pull request #936 from pswid/dev
fixed 1/0 and true/false MQTT/API format options with HA enabled (#931)
2023-01-30 08:26:17 +01:00
pswid
d36f87707a removed "mode"+"step" in HA discovery for BOOL type entities 2023-01-29 19:08:17 +01:00
pswid
226c1fd6c5 fixed 1/0 and true/false MQTT/API format options with HA enabled (#931)
furthermore variable names in the HA discovery payload has been abbreviated according to: https://www.home-assistant.io/integrations/mqtt/#discovery-payload
2023-01-29 18:52:13 +01:00
Proddy
74b961ab29 Merge pull request #935 from proddy/dev
update packages, minor bug in
2023-01-29 12:17:53 +01:00
Proddy
e4358ba489 uptime in HA should be a string 2023-01-29 12:16:34 +01:00
Proddy
26522cb061 package update 2023-01-29 12:16:14 +01:00
Proddy
7a2038e124 uptime should be a string 2023-01-29 12:09:54 +01:00
Proddy
e98d84efdb update packages 2023-01-29 12:09:35 +01:00
Proddy
7faffafd8a remove duplicate cmdfunction_p 2023-01-29 12:09:27 +01:00
Proddy
bedfd3ee30 revert back to 5.2.0 2023-01-28 16:20:28 +01:00
Proddy
94473bdeaa merge PL translation update - https://github.com/emsesp/EMS-ESP32/pull/929 2023-01-28 16:20:16 +01:00
MichaelDvP
be128da9e0 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-01-28 15:53:31 +01:00
Proddy
381afcbb6d Merge pull request #929 from pswid/dev
PL translation update
2023-01-28 15:48:22 +01:00
MichaelDvP
1dc008855e Moduline 400 manual temp, #932 2023-01-28 15:48:16 +01:00
MichaelDvP
bbf4431b5f allow change customization device without reboot 2023-01-28 15:15:21 +01:00
MichaelDvP
c38ad8e382 allow upload of smaller loader bin 2023-01-28 15:13:18 +01:00
Proddy
59af1fd62a use espressif32 6.0.0 2023-01-28 12:19:28 +01:00
Proddy
55ae0bec93 Show MAC address without connecting to network #933 2023-01-28 12:19:13 +01:00
Proddy
64cb509d3b show MAC for ETH always 2023-01-27 18:00:52 +01:00
Proddy
9d67a56f29 ignore web build analysis files 2023-01-27 17:57:36 +01:00
Proddy
b5ee7100f4 remove showing MAC 2023-01-27 17:57:20 +01:00
Proddy
ee1515d787 testing brotlin compression 2023-01-27 17:57:05 +01:00
Proddy
6f0e98b1a1 testing brotlin compression 2023-01-27 17:56:50 +01:00
Proddy
b8e4430a14 testing with brotlin compression 2023-01-27 17:56:36 +01:00
Proddy
65e3187418 package updates 2023-01-27 17:56:19 +01:00
Proddy
ea48cf3722 show MAC address on startup, before connection 2023-01-25 21:37:29 +01:00
Proddy
2c0ad1a4cc minor changes to script 2023-01-25 21:28:07 +01:00
Proddy
7de8fd8b53 update packages 2023-01-25 21:22:18 +01:00
Proddy
7eddf4882c change help string 2023-01-25 21:22:07 +01:00
Proddy
58e95610e8 show MAC address if SSID is empty or ethernet present but not connected 2023-01-25 21:10:06 +01:00
pswid
1416bad9cc removed % from max log buffer size setting 2023-01-24 20:00:00 +01:00
MichaelDvP
0e0e9eccf1 Add blacklist/remove entities #891 2023-01-24 18:37:52 +01:00
Proddy
0dcc953100 add timing 2023-01-23 23:21:07 +01:00
Proddy
38fffd4932 add debug line to show we're using dummy entity values 2023-01-23 23:20:44 +01:00
Proddy
17c7ae7d7c fix syslog starting 2023-01-23 23:20:27 +01:00
Proddy
15760117ee add comment so we remember the reserve functions 2023-01-23 23:20:16 +01:00
Proddy
1cd5e0781d rename Saved to Updated 2023-01-23 18:52:10 +01:00
Proddy
f64fbd1040 added ping test 2023-01-23 15:59:54 +01:00
Proddy
ceb9246cf2 reset dirtyflags after successful save 2023-01-23 15:59:43 +01:00
pswid
032a631b61 capital first letter in the names of special EMS devices
should eventually be translated
2023-01-23 10:50:32 +01:00
pswid
5d0f6b665b SAVE instead of ADD in user edit box 2023-01-23 10:45:32 +01:00
pswid
4bbf096350 PL translation update (entities) 2023-01-23 10:43:26 +01:00
pswid
e1a950ec21 PL translation update 2023-01-23 10:40:47 +01:00
proddy
ff14fab492 add missing sv translations 2023-01-22 22:04:23 +01:00
Proddy
df66d0441c merge PR #926 - Additional SV translations#2 2023-01-22 21:20:20 +01:00
Proddy
ede8e7dfce Merge pull request #926 from mvjt/dev
Additional SV translations#2
2023-01-22 21:17:53 +01:00
proddy
4edfa4d244 HA - use box for numbers 2023-01-22 19:11:27 +01:00
Proddy
9d155d6a0e Merge pull request #927 from proddy/dev
HA use box for numbers now that HA supports this
2023-01-22 19:10:12 +01:00
proddy
1fa92eec57 HA use box for numbers now that HA supports this 2023-01-22 19:09:41 +01:00
Martin Hammarberg
7fc28fd1bb Additional SV translations#2 2023-01-22 17:33:12 +01:00
Proddy
bb24da92e4 merge PR #923 - fixes and the tested heatpump/heatsource entities by mvdp 2023-01-22 17:08:17 +01:00
Proddy
dd338f5f4b Merge pull request #925 from mvjt/dev
Additional SV translations
2023-01-22 17:03:33 +01:00
Martin Hammarberg
486bc5ac28 Additional SV translations 2023-01-22 16:59:08 +01:00
Proddy
68215f37f5 Merge pull request #924 from proddy/dev
preparing for 3.5.0 stable
2023-01-22 13:31:30 +01:00
Proddy
4449d3fce8 formatting 2023-01-22 13:30:19 +01:00
Proddy
cbb20439ed formatting 2023-01-22 13:29:05 +01:00
Proddy
ec357b71f1 formatting 2023-01-22 13:27:37 +01:00
Proddy
5acdb4dc31 default OTA is disabled (to save memory) 2023-01-22 13:27:30 +01:00
Proddy
dd959a7316 update packages 2023-01-22 13:27:20 +01:00
Proddy
0b6dbe8bfa default OTA is disabled (to save memory) 2023-01-22 13:27:03 +01:00
Proddy
78e6263a2e Merge pull request #923 from MichaelDvP/dev
fixes and the tested heatpump/heatsource entities
2023-01-22 13:06:23 +01:00
Proddy
7f5e3d3b4c merge PR #901 - added dhw alternating operation 2023-01-22 12:17:39 +01:00
Proddy
66d5d3db8c default back to c+11 2023-01-22 12:16:49 +01:00
MichaelDvP
3b2a4d1eb4 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_ 2023-01-22 10:48:37 +01:00
Proddy
485195e035 Merge pull request #901 from pswid/dev
added dhw alternating operation
2023-01-22 10:12:47 +01:00
MichaelDvP
d735f397d8 fix crash with non-en language 2023-01-21 14:22:49 +01:00
pswid
5e41481e27 capitalize more special chcaracters 2023-01-21 12:09:17 +01:00
MichaelDvP
d52c54d6fb update changelog, v3.5.0-dev.16 2023-01-21 11:34:17 +01:00
MichaelDvP
36c85eed5e change heatingpump2Mod to absBurnPow, #908 2023-01-21 11:31:02 +01:00
MichaelDvP
b09deb1494 add EMS+ wwCurFlow #918 2023-01-20 09:18:05 +01:00
proddy
71d22f6768 default to arduino/espressif core 6.0.0 2023-01-19 16:24:43 +01:00
proddy
b68e9dfd4b formatting 2023-01-19 16:14:32 +01:00
Proddy
b4362a4539 Merge pull request #909 from MichaelDvP/tech-upgrade
weblog send queue one by one, no json buffer needed
2023-01-19 16:06:36 +01:00
proddy
4e783d414c merge PR #909 (weblog send queue one by one, no json buffer needed #909) 2023-01-19 16:05:43 +01:00
proddy
9fe6b9d0e5 fix customizations Warn user in WebUI of unsaved changes #911 2023-01-19 15:51:27 +01:00
MichaelDvP
cb4cce119b map device type of integrated devices #917 2023-01-19 09:32:36 +01:00
proddy
665c33d1a9 updated packages 2023-01-19 09:22:37 +01:00
proddy
0ed3bfff4a rename SAVE to APPLY, show number of updates - #911 2023-01-19 09:11:59 +01:00
proddy
9ba0c6df37 add missing items 2023-01-19 09:11:30 +01:00
proddy
312b0d4665 update package 2023-01-19 09:11:12 +01:00
proddy
7acbda4cda un-used, saving for later 2023-01-19 09:10:59 +01:00
proddy
247fc6be8e remove unused colormode 2023-01-19 09:10:40 +01:00
proddy
1407a61f7a remove unused functions 2023-01-19 09:10:03 +01:00
proddy
a3c302176b formatting 2023-01-19 09:09:46 +01:00
proddy
03130d3de2 formatting 2023-01-19 09:09:34 +01:00
proddy
80d42d92db show number of edits on screen 2023-01-19 09:09:10 +01:00
proddy
115a596c1e remove import React 2023-01-19 09:08:33 +01:00
proddy
ab5815a944 remove import react 2023-01-19 09:05:01 +01:00
pswid
7e174a1b7d Fix first letter not capitalized in Polish 2023-01-18 21:43:29 +01:00
MichaelDvP
1f08940e47 add thermostat Rego 3000, TR120RF, heatpump modules, #917 2023-01-18 08:59:58 +01:00
MichaelDvP
8db5724b77 fix rounding of web number-inputs 2023-01-18 08:52:38 +01:00
MichaelDvP
a21352ae4f Check size for sneding customizations 2023-01-18 08:50:56 +01:00
MichaelDvP
a38f4978fa analogsensor publish wth single gpio number fix #915 2023-01-18 07:56:40 +01:00
pswid
4f05ddab93 fix for d72d2b3 (Polish boolean option "wł./wył.")
Because of compiler error, in Polish translation,  we don't use uppercase boolean option "WŁĄCZONO/WYŁĄCZONO" but "wł./wył." instead.
2023-01-15 13:00:22 +01:00
pswid
bbbeb155f0 tags in entity IDs (long format) always in English
now in mqtt discovery topics you can see e.g:
"uniq_id": "thermostat_OG1_mode_type" (for Polish lang.)

but should be:
"uniq_id": "thermostat_hc1_mode_type",
2023-01-13 21:45:29 +01:00
Proddy
0946254764 adjustments to syslog (still not 100% working) 2023-01-13 18:17:54 +01:00
Proddy
316dfd02e4 fix telnet not starting 2023-01-13 18:17:31 +01:00
Proddy
c35833fab1 moved dummy entity values to consts 2023-01-13 18:17:19 +01:00
MichaelDvP
81cd6ed764 weblog send queue one by one, no json buffer needed 2023-01-13 13:44:16 +01:00
proddy
63ff517b30 show Not Enabled like in MQTT instead of 'disabled' 2023-01-12 23:09:02 +01:00
proddy
30a2a9aa2a updated test runner 2023-01-12 23:08:37 +01:00
Proddy
cfc8570dca formatting 2023-01-12 17:48:12 +01:00
Proddy
7841b44b43 formatting 2023-01-12 17:41:24 +01:00
Proddy
e3f51b34b5 added comments 2023-01-12 17:40:18 +01:00
Proddy
dcedced8fe rename "HA climate config creation" to describe the entity name 2023-01-12 17:40:07 +01:00
Proddy
e437597ef4 typo 2023-01-12 17:39:36 +01:00
Proddy
6d3f768e92 in debug, don't show empty payloads 2023-01-12 17:39:24 +01:00
Proddy
c114581400 formatting 2023-01-12 17:39:14 +01:00
Proddy
fbfd792416 add back TZ to syslog 2023-01-12 17:39:07 +01:00
Proddy
755f1d17d6 added FS libs 2023-01-12 17:38:57 +01:00
Proddy
3e4f7fdc17 error handling in tests 2023-01-12 17:38:50 +01:00
MichaelDvP
f6238cd6ab rename auxmaxtemp->auxmaxlimit, add auxlimitstart 2023-01-12 17:37:00 +01:00
Proddy
754f4e8244 add arguments for test runner 2023-01-12 11:33:51 +01:00
Proddy
a2925011ed update test runner 2023-01-12 11:04:24 +01:00
MichaelDvP
d658b67e93 add fluegastemp #906 2023-01-12 07:31:57 +01:00
Proddy
9b7b5ebfa8 exclude most of tests when not in standalone 2023-01-11 23:35:31 +01:00
Proddy
b54777bccb add debug comment 2023-01-11 23:34:52 +01:00
Proddy
17b9b8ec3a script to perform memory test 2023-01-11 23:34:41 +01:00
Proddy
3dc2ab54ac systematically fetch heap mem settings, before allocating buffers so console and web show same results 2023-01-11 23:34:27 +01:00
proddy
97451d2b7a enable API for test 2023-01-11 20:47:36 +01:00
MichaelDvP
e2c675d9a5 add back wwcircmode off (not writable) #905 2023-01-11 18:40:33 +01:00
MichaelDvP
3e3a600a60 remove/recreate HA config for dallas/analog on change #888 2023-01-11 18:38:07 +01:00
MichaelDvP
1f0d2b147b Add ESP32S3 (Liligo) as S3 Mini 2023-01-11 18:33:44 +01:00
Proddy
c99aaf1e7d add debug 2023-01-10 22:19:20 +01:00
Proddy
7e87dc9de6 add back climate 2023-01-10 22:19:13 +01:00
Proddy
f556fb61ca include shortname in console show values 2023-01-10 22:19:04 +01:00
Proddy
84dca5e794 add back climate config creation 2023-01-10 22:18:34 +01:00
Proddy
60d4997985 optimize tests for ESP32 2023-01-10 22:18:19 +01:00
Proddy
d2900c347a typo/text changes 2023-01-10 22:18:09 +01:00
MichaelDvP
285b0dc01d package update 2023-01-10 17:38:51 +01:00
MichaelDvP
172153b840 fix scaling of auxMaxTemp #902 2023-01-10 17:19:04 +01:00
MichaelDvP
ce71b8b5f6 Add back "HA climate config creation", #903 2023-01-10 17:18:15 +01:00
pswid
d72d2b33bd fix Polish boolean option "wł./wył." not working
Because of compiler error, in Polish translation,  we don't use uppercase boolean option "WŁĄCZONO/WYŁĄCZONO" but "wł./wył." instead.
2023-01-10 12:04:27 +01:00
pswid
d15fbe7801 added dhw alternating operation 2023-01-10 11:50:02 +01:00
proddy
3627f884c3 file updates 2023-01-09 22:03:07 +01:00
proddy
e89260b8b0 added 'set mqtt on|off' for easier debugging 2023-01-09 21:49:59 +01:00
proddy
ab6267e122 update packages 2023-01-09 21:49:40 +01:00
Proddy
731ec684f0 loads 1 boiler/160 entities, crash with MQTT (no Discovery) 2023-01-08 21:44:04 +01:00
Proddy
bbf43a0744 updates packages 2023-01-08 21:43:32 +01:00
Proddy
ae51189953 minor changes 2023-01-08 19:51:36 +01:00
Proddy
9b54c1aa04 minor changes 2023-01-08 19:51:30 +01:00
MichaelDvP
caab1cae39 update packages 2023-01-08 15:20:37 +01:00
Proddy
da04a0d161 remove logout and t command 2023-01-08 15:16:54 +01:00
Proddy
9351b6c44a remove logout 2023-01-08 15:16:34 +01:00
Proddy
5d6231f51c removed unused strings 2023-01-08 15:16:24 +01:00
Proddy
945697c538 add max alloc 2023-01-08 15:16:11 +01:00
MichaelDvP
dced355a29 Add silentmode from/to #896 2023-01-08 14:12:53 +01:00
MichaelDvP
f133fdfb1c Allow reboot to smaller OTA partition or factory partition 2023-01-08 14:12:12 +01:00
proddy
687c76703b standalone test for memory optimizations (200+ entities) 2023-01-08 09:42:48 +01:00
proddy
e5558f7fa9 remove Serial 2023-01-07 21:28:42 +01:00
proddy
60b424705d replace STANDALONE_DUMP with a parameter set during tests call test_test_set_all_active 2023-01-07 21:28:33 +01:00
proddy
6ed378086b remove Serial 2023-01-07 21:26:23 +01:00
proddy
66d7dde79e rename Customizaton to Customizations 2023-01-07 18:30:22 +01:00
MichaelDvP
80ea1e95ee Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_ 2023-01-07 15:33:18 +01:00
MichaelDvP
4098cef279 add 9 heatpump settings #892 (without translation) 2023-01-07 14:47:45 +01:00
proddy
c7628ac07f NUM_TAGS is used to check of overflow 2023-01-07 14:39:30 +01:00
proddy
8cd08fa765 comment 2023-01-07 14:38:58 +01:00
proddy
1f493b208c replace std::string with const char #869 2023-01-07 14:38:49 +01:00
proddy
3e8d175242 rename num_languages 2023-01-07 14:38:02 +01:00
proddy
360240ee58 fixes to num_entities 2023-01-07 14:37:46 +01:00
proddy
95c5fb7391 merge with MichaelDvP's PR 870 - https://github.com/emsesp/EMS-ESP32/pull/870 2023-01-06 21:51:17 +01:00
proddy
fcd221a9b0 ignore vscode 2023-01-06 19:38:24 +01:00
proddy
397522292c change default_envs 2023-01-06 19:38:17 +01:00
MichaelDvP
d0aac18b88 fix ignore entity, add weblog level OFF 2023-01-06 18:56:58 +01:00
Proddy
fbf799e4c4 use pio native to build standalone 2023-01-06 14:14:03 +01:00
MichaelDvP
7bb35812ff aloow flag entities not to register, test for #891 2023-01-06 13:44:02 +01:00
MichaelDvP
ad49267b29 add one entity #886 2023-01-06 09:29:13 +01:00
Proddy
88404bcb56 Merge pull request #887 from proddy/dev
README update and one change to api_data
2023-01-05 16:04:01 +01:00
Proddy
33af6ec57e update README 2023-01-05 15:56:40 +01:00
Proddy
4b3a0bf4e2 use const char * instead of arduino String 2023-01-05 15:56:26 +01:00
MichaelDvP
508dd399be add entities #886 2023-01-05 15:52:39 +01:00
Proddy
ad2dbd6fc5 formatting 2023-01-05 15:14:26 +01:00
Proddy
a51bc276b5 use new SIZES 2023-01-05 15:11:34 +01:00
Proddy
132acaf758 updated console based on latest uuid::console 2023-01-05 15:11:15 +01:00
Proddy
cd807cd035 move shell to main app, check for thread safe 2023-01-05 15:10:22 +01:00
Proddy
df547de5f6 adjusted comment 2023-01-05 15:09:55 +01:00
Proddy
e1ed362d7b optimize for uuid 2023-01-05 15:09:43 +01:00
Proddy
4cbf7e2a2d added max_alloc to heartbeat, use new SIZE names 2023-01-05 15:09:32 +01:00
Proddy
1ec00bceed use new SIZES and optimize for new uuid 2023-01-05 15:09:07 +01:00
Proddy
68ebe55ca4 remove console, remove syslog destination(host) 2023-01-05 15:08:24 +01:00
Proddy
be854ec14c 3.5.0-tec.0 2023-01-05 15:07:32 +01:00
Proddy
ca8647578b current version is 3.5.0-dev 2023-01-05 15:07:22 +01:00
Proddy
c90a1ca9ea add comment on translations 2023-01-05 15:07:10 +01:00
Proddy
45734d52af added word console 2023-01-05 15:06:49 +01:00
Proddy
da0850124c new console library handling multiple streams 2023-01-05 15:06:39 +01:00
Proddy
3eb86fd6c3 add C++17 and optional espressif 5.3.0 libs 2023-01-05 15:06:23 +01:00
Proddy
df2a0f6ec4 remove loop() from testing 2023-01-05 15:06:02 +01:00
Proddy
3b196fc90d updated uuid libs 2023-01-05 15:05:30 +01:00
Proddy
6370296c53 add comment for EMS-ESP testing 2023-01-05 15:05:12 +01:00
Proddy
6ffb0d9676 update package 2023-01-05 15:04:47 +01:00
Proddy
0e85b54cba remove PROGMEM 2023-01-05 15:04:27 +01:00
Proddy
d1b948aa56 typo 2023-01-05 15:04:18 +01:00
Proddy
5e85c4f8ec standalone optimization 2023-01-05 15:04:05 +01:00
MichaelDvP
8b2466dcde Merge pull request #870 from MichaelDvP/dev
Changes to heatsource, api, console
2023-01-05 14:48:12 +01:00
MichaelDvP
c754d19015 translate sensor device in web 2023-01-05 11:37:00 +01:00
MichaelDvP
ad680de897 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-01-05 11:19:26 +01:00
MichaelDvP
78ae4d7a7d typo, rename from #787, mark missing translations, add #883 2023-01-05 09:56:58 +01:00
Proddy
74acf2fe0f Merge pull request #885 from proddy/dev
#872
2023-01-05 09:45:55 +01:00
proddy
bab9fd8ec4 updates to Translate Device Name #872 2023-01-05 09:45:33 +01:00
Proddy
cfce36c212 small change 2023-01-03 15:00:04 +01:00
Proddy
5c6d6da4f9 update packages 2023-01-03 14:50:56 +01:00
Proddy
5005d06507 Translate Device Name #872 2023-01-03 14:50:50 +01:00
Proddy
9a09062a84 bump version 2023-01-03 14:48:57 +01:00
Proddy
6dc993a276 add note to investigate xTaskSuspend and static buffer size 2023-01-03 14:48:48 +01:00
Proddy
c45ceec33b remove comment 2023-01-03 14:48:20 +01:00
Proddy
c28de99907 remove comments 2023-01-03 14:48:08 +01:00
Proddy
b587c08768 tag missing translations 2023-01-03 14:47:57 +01:00
MichaelDvP
71043963e7 pvCooling, pvEnable, fix #878 2023-01-02 21:40:50 +01:00
MichaelDvP
04b17a15bb Register 0x68/0x69 as cascaded controller for testing! 2023-01-02 16:42:55 +01:00
MichaelDvP
4aa9d11574 calculate command ids from tag names 2023-01-02 15:29:33 +01:00
MichaelDvP
56b5739cfc add EMS1.0 Cascade (MC40?) 2023-01-02 15:07:44 +01:00
MichaelDvP
bb1704ed7a auxMaxTemp, pvRaise/Lower to Kelvin 2023-01-02 15:06:56 +01:00
MichaelDvP
9163fc74d4 fix reading maxHeat values 2023-01-02 12:16:46 +01:00
MichaelDvP
49113edeff add values/settings for #878, #879, #880 2023-01-02 10:45:00 +01:00
MichaelDvP
718ede8439 prevent writing empty settings 2023-01-02 10:08:00 +01:00
MichaelDvP
5ee49d8dad Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2023-01-01 21:02:24 +01:00
MichaelDvP
c19885d730 weblog buffer size 2023-01-01 18:38:51 +01:00
Proddy
d2e64468d5 Merge pull request #876 from proddy/dev
Fix Swedish - #874 and #875
2023-01-01 17:46:46 +01:00
proddy
e3b6a3308f remove parse-ms 2023-01-01 16:49:00 +01:00
proddy
c3f88ae0c8 SE to SV - Plural of "days" under EMS Status not working for Swedish #874 2023-01-01 16:48:21 +01:00
proddy
31a5868864 remove parse-ms 2023-01-01 16:46:31 +01:00
proddy
4cb50a1dff fix #875 2023-01-01 16:46:15 +01:00
MichaelDvP
2062703565 fix #874 plural of days 2023-01-01 15:21:18 +01:00
MichaelDvP
5e00f07fd8 fix #875 typo 2023-01-01 15:20:35 +01:00
MichaelDvP
3bf2110df1 command prefix ahs1 2022-12-31 18:48:55 +01:00
MichaelDvP
c3ff60dced move hs1..hs16 to heatsource, AM200 as ahs1 2022-12-31 15:41:43 +01:00
MichaelDvP
7cf3b8f1a9 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-31 11:35:38 +01:00
MichaelDvP
4536d60e3e v3.5.0-dev.15 2022-12-31 11:35:25 +01:00
MichaelDvP
2f1ea4da67 output api_data to console 2022-12-31 11:25:29 +01:00
MichaelDvP
34f6b412f6 fix #841, call <device> hcx show info 2022-12-31 11:04:24 +01:00
MichaelDvP
b16a16d100 2. fix #865 2022-12-31 11:02:59 +01:00
MichaelDvP
55750844ea fix #865 2022-12-30 19:11:00 +01:00
Proddy
6c09134552 Merge pull request #866 from proddy/dev
add test for #865
2022-12-30 18:45:11 +01:00
proddy
8fa74c63c9 add test for #865 2022-12-30 18:43:51 +01:00
MichaelDvP
275ac351fe Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-30 15:48:40 +01:00
MichaelDvP
b728827324 update packages 2022-12-30 15:46:55 +01:00
Proddy
2db99a3e32 Merge pull request #864 from proddy/dev
fix again for #828
2022-12-30 15:35:01 +01:00
Proddy
263c011a7b fix again for #828 2022-12-30 15:36:25 +01:00
Proddy
8eeebb0cef use espressif32 5.2.0 - #862 2022-12-30 11:50:52 +01:00
Proddy
f055e53987 Merge pull request #858 from proddy/dev
fix for #828 - show thermostat hc1 and mixer wwc
2022-12-30 11:48:01 +01:00
Proddy
6dce5f5931 more fixes for Create table of all EMS-ESP entities, by device, shortname/fullname and characteristics #828 2022-12-29 22:02:36 +01:00
Proddy
14cfbf78bd update package 2022-12-29 22:02:04 +01:00
Proddy
6de577839b update package 2022-12-29 22:01:48 +01:00
MichaelDvP
bfcdf3ef98 fix #860, wwactivated in offset 5 2022-12-29 18:43:35 +01:00
MichaelDvP
ffa7ddebb8 add icon, rename to AM200, show web log buffer filling, #857 2022-12-29 16:18:01 +01:00
MichaelDvP
29838a433a fix #857, add class heatsource 2022-12-29 12:16:47 +01:00
Proddy
1f1422bedd fix for #828 - show thermostat hc1 and mixer wwc 2022-12-28 22:18:43 +01:00
Proddy
d41e634611 Merge pull request #856 from MichaelDvP/dev
HA firstrun only delete config, create HA in next loop (mqtt queue)
2022-12-28 21:05:07 +01:00
MichaelDvP
22cc890cab HA firstrun only delete config, create HA in next loop (mqtt queue) 2022-12-28 18:52:18 +01:00
MichaelDvP
15e940bd2d Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-28 18:46:37 +01:00
Proddy
c788f53bb9 Merge pull request #854 from mvjt/dev
Additional SE translations
2022-12-28 18:07:56 +01:00
mvjt
10f1c5781e Additional SE translation (corrections) 2022-12-28 16:48:58 +01:00
mvjt
75b0869a77 Additional SE translation 2022-12-28 16:37:46 +01:00
Proddy
c4c341922b Merge pull request #851 from proddy/dev
#828 dump all out entities (standalone only)
2022-12-28 15:41:07 +01:00
Proddy
43b4adc618 changes to #828 2022-12-28 15:39:34 +01:00
Proddy
bad982dbdd update ArduinoJson to latest v6.20.0 (saves 1600 bytes in flash. whoot!) 2022-12-28 13:11:57 +01:00
Proddy
5d45064c2d update ArduinoJson to latest v6.20.0 (saves 1600 bytes in flash. whoot!) 2022-12-27 21:48:03 +01:00
Proddy
6390f4aa48 update packages 2022-12-27 21:47:08 +01:00
Proddy
bb94d56bd0 Merge branch 'emsesp:dev' into dev 2022-12-27 21:19:11 +01:00
Proddy
14f3d9ab12 Merge pull request #849 from MichaelDvP/dev
fix #846, #848, remove double values hpsuctionGas/hpHotGas, stick to hpTr5/hpTr6
2022-12-27 21:16:58 +01:00
MichaelDvP
d9ecf0efb8 remove double values hpsuctionGas/hpHotGas, stick to hpTr5/hpTr6 2022-12-27 18:03:10 +01:00
Proddy
9b66b02e46 Merge branch 'emsesp:dev' into dev 2022-12-27 17:26:00 +01:00
proddy
feca878fdd Create table of all EMS-ESP entities, by device, shortname/fullname and characteristics #828 2022-12-27 16:27:57 +01:00
Proddy
f53fd74873 Merge pull request #845 from MichaelDvP/dev
fix copy/paste error
2022-12-27 11:49:23 +01:00
MichaelDvP
bbaf892523 add silentMode #831 2022-12-27 11:34:42 +01:00
MichaelDvP
451b3abddf fix copy/paste error 2022-12-27 10:46:19 +01:00
Proddy
ba03add3d3 Merge pull request #842 from MichaelDvP/dev
fix #841
2022-12-27 10:27:37 +01:00
MichaelDvP
a41de7ed1c Avoid 507, reduce buffer stepwise until it fits 2022-12-27 10:22:28 +01:00
MichaelDvP
28de5bb097 fix #841 2022-12-27 09:02:15 +01:00
Proddy
d08a1224e2 Merge pull request #840 from proddy/dev
added version upgrade/downgrade #832
2022-12-26 15:07:55 +01:00
proddy
327cf7ec75 rollback to c++11 to save on flash 2022-12-25 20:05:46 +01:00
Proddy
83438129a2 fixes #833 2022-12-25 16:50:19 +01:00
Proddy
9b3b7fc8ff Support upgrade/downgrade between versions #832 2022-12-25 16:47:17 +01:00
Proddy
8000497302 check for fresh install 2022-12-25 13:21:21 +01:00
Proddy
84589a4b40 add version to settings file 2022-12-25 13:08:59 +01:00
Proddy
067129f5a9 banner text changes 2022-12-25 13:08:17 +01:00
Proddy
ffcf98b06b move defines for board types 2022-12-25 13:08:01 +01:00
Proddy
b2f001e416 minor text change 2022-12-25 13:06:51 +01:00
Proddy
44c31c9c61 3.5.0-dev.14 2022-12-25 13:05:47 +01:00
Proddy
8aa659eee2 c++17 2022-12-25 13:05:31 +01:00
Proddy
51bf163149 change version name 2022-12-25 13:05:02 +01:00
Proddy
d5c02f6b94 added 2022-12-25 13:04:52 +01:00
Proddy
55fa968afb remove unneeded variables 2022-12-25 13:04:41 +01:00
Proddy
a9aac33a46 rename lib 2022-12-25 13:03:32 +01:00
Proddy
1f45506b37 add semver lib 2022-12-25 13:03:09 +01:00
Proddy
9d9d88b171 compile with limited set of tests (flash mem overload) 2022-12-25 13:02:54 +01:00
Proddy
291da3f7fe Merge pull request #836 from MichaelDvP/dev
fixes and enhancements #826, #835, #820
2022-12-24 17:03:01 +01:00
MichaelDvP
70cfbc3715 cleanup and formatting 2022-12-24 15:46:04 +01:00
MichaelDvP
9d80c2cea7 add generic controller without product id #835 2022-12-24 15:45:11 +01:00
MichaelDvP
a7f7959f91 typo 2022-12-24 12:21:23 +01:00
MichaelDvP
082268d9fc Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-24 12:15:49 +01:00
MichaelDvP
945ef2f1b0 rename setting to "max buffer size", show used buffer in info 2022-12-24 12:06:27 +01:00
MichaelDvP
1f1feed3ae fix limit weblog buffer 2022-12-24 09:54:05 +01:00
Proddy
290890f6e7 Merge pull request #830 from proddy/dev
#822 and #829
2022-12-24 08:09:44 +01:00
proddy
b7bfd803eb kB back to KB, L back to l 2022-12-24 08:09:11 +01:00
Proddy
2151905d46 test upgrade 2022-12-23 18:28:09 +01:00
MichaelDvP
fdde118af1 buffer back to 20k 2022-12-23 15:24:23 +01:00
Proddy
5f9ba2e04b add TODO for missing translations 2022-12-23 14:58:15 +01:00
Proddy
ca871f654b Remove the test.mosquitto.org URL in the MQTT settings #829 2022-12-23 14:40:24 +01:00
Proddy
3c91ac27dc Set device_class to duration in HA sensor definitions #822 2022-12-23 13:42:59 +01:00
MichaelDvP
94b4cb0baf Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-23 12:02:26 +01:00
MichaelDvP
1b956c6ad7 check log_buffer before expanding 2022-12-23 11:11:40 +01:00
MichaelDvP
b9b79bbd9a webbuffer 12k to reduce http:507 messages 2022-12-23 10:59:41 +01:00
Proddy
9802581301 Merge pull request #827 from pswid/dev
Polish translation update
2022-12-23 08:01:13 +01:00
MichaelDvP
c1f39fbf57 Dashboard/Customization Buffer 16k, measure and and log size. 2022-12-22 21:27:59 +01:00
MichaelDvP
f66e7712c3 fix crashes, clean up, update packages 2022-12-22 19:12:39 +01:00
pswid
2bb6d985cc Polish translation update 2022-12-22 14:59:53 +01:00
MichaelDvP
d300ed38ea readonly check with device_id 2022-12-22 14:25:20 +01:00
MichaelDvP
9cbb810fe4 add device_id to commands, fix #826 2022-12-22 14:01:55 +01:00
MichaelDvP
cfa486d8cc Add mixing module MM300, product-id 193 2022-12-22 09:48:52 +01:00
MichaelDvP
ab1924d266 fix #820, 4byte-values 2022-12-22 09:02:05 +01:00
Proddy
d6de0f6fa8 Merge pull request #825 from pswid/dev
added "compressor temp." for more hp types
2022-12-21 09:27:31 +01:00
pswid
d1afea104e added dhw eco+ switch off temp
tested on the Buderus WSW196iT
2022-12-21 09:19:33 +01:00
pswid
fae8cf83cd Merge branch 'emsesp:dev' into dev 2022-12-20 19:11:07 +01:00
pswid
5a69ac074f added "compressor temp." for more hp types
tested with Buderus WSW196iT
2022-12-20 12:01:41 +01:00
Proddy
15f0560005 Merge pull request #819 from MichaelDvP/dev
Some more entities and small fixes
2022-12-20 10:23:09 +01:00
MichaelDvP
6f7fa6abd9 fix #820, NOTSET check for 4 byte values. 2022-12-20 08:26:00 +01:00
MichaelDvP
cbd55b0366 uom "Kelvin" to HA temperature 2022-12-19 13:31:31 +01:00
MichaelDvP
f1dbd3018d dhw comf/eco switch off temps #803 2022-12-19 13:23:32 +01:00
MichaelDvP
502613b433 add uom K, heatpump difftemp #803 2022-12-19 09:14:24 +01:00
Proddy
2bdc0d59cf Merge pull request #818 from MichaelDvP/dev
add step to numeric command-values in HA discovery
2022-12-18 18:16:36 +01:00
MichaelDvP
ce0ee49ebf add step to numeric command-values in HA discovery 2022-12-18 16:22:18 +01:00
Proddy
bc3bdb1221 Merge pull request #817 from MichaelDvP/dev
Next fixes for #803
2022-12-18 15:20:04 +01:00
MichaelDvP
3bea7576b5 FR translations from manual #803 2022-12-18 11:49:55 +01:00
MichaelDvP
d70b5d7dc0 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-18 11:11:40 +01:00
MichaelDvP
eb30c1e5c7 fixes, nl translation #803 2022-12-18 11:11:21 +01:00
Proddy
17cbd2623f fix another silly mistake 2022-12-17 21:17:57 +01:00
Proddy
dc27a44c0c fix typo 2022-12-17 20:50:29 +01:00
Proddy
f72b02ab0b Merge pull request #815 from MichaelDvP/dev
Additions for #802, #803
2022-12-17 20:42:05 +01:00
Proddy
c0946f1e0c Merge branch 'dev' into dev 2022-12-17 20:41:56 +01:00
Proddy
575fdcb8cd Merge pull request #816 from proddy/dev
support 3 types of MQTT discovery entity id - #804
2022-12-17 19:21:36 +01:00
proddy
783ea7901c support 3 types of MQTT discovery entity id 2022-12-17 19:20:31 +01:00
MichaelDvP
44e6bb79a2 add auxHeaterStatus 2022-12-17 16:32:21 +01:00
MichaelDvP
ab3b9f13b5 Sort languages alphabetical 2022-12-17 13:01:50 +01:00
MichaelDvP
dc6e7f7b1b changelog 2022-12-17 12:05:29 +01:00
MichaelDvP
94b75dda24 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-17 11:14:53 +01:00
MichaelDvP
a529879889 some aux heater trnlations 2022-12-17 11:10:23 +01:00
Proddy
4b7bbb3d50 minor cleanup and testing 2022-12-17 11:05:20 +01:00
Proddy
88c98efd94 Merge pull request #808 from proddy/dev
add v3.4 entity id flag to MQTT settings
2022-12-17 11:04:42 +01:00
Proddy
147be12583 fixes for #804 2022-12-16 22:57:59 +01:00
MichaelDvP
137e047205 auxheaterdelay and hyst #803 2022-12-16 15:11:56 +01:00
MichaelDvP
4bd6db31c0 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-12-16 11:10:58 +01:00
MichaelDvP
1350638fb3 rename auxheater 2022-12-16 11:10:37 +01:00
Proddy
b6de431a56 add French MQTT entity format strings (in EN) 2022-12-15 23:19:53 +01:00
Proddy
1aef27da33 Merge branch 'emsesp:dev' into dev 2022-12-15 23:14:20 +01:00
Proddy
1e78979ed0 default multiple_instances is enabled 2022-12-15 23:14:44 +01:00
Proddy
ba90ebda4c merge multiple_instances with entity_format 2022-12-15 21:51:11 +01:00
MichaelDvP
7c1bade54d add auxilliary heater setting #803 2022-12-15 13:22:54 +01:00
MichaelDvP
a46b394714 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-15 10:21:22 +01:00
Proddy
6dff1136c5 Merge pull request #807 from PopaSchKing/dev
Add FR language to EMS-ESP
2022-12-15 09:45:25 +01:00
Proddy
ccbb56d403 add v3.4 entity id flag to MQTT settings 2022-12-14 22:07:42 +01:00
PopaSchKing
4f3a7e5451 Fix missing elements from merge with off. dev branch 2022-12-14 19:06:02 +01:00
MichaelDvP
e4cda4087e Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-14 18:52:37 +01:00
MichaelDvP
6eeb8de02c fix #806 2022-12-14 18:46:29 +01:00
PopaSchKing
29c4fec90a Update changelog 2022-12-14 17:48:59 +01:00
MichaelDvP
5c9ba8de43 fetch heatpump telegrams 2022-12-14 17:27:45 +01:00
PopaSchKing
2358f6a9c9 Merge branch 'emsesp:dev' into dev 2022-12-14 17:16:13 +01:00
PopaSchKing
7097279dca Fix wrong language name 2022-12-14 16:02:09 +01:00
MichaelDvP
c3eb553425 UOMs 2022-12-14 15:53:40 +01:00
PopaSchKing
24f64fac6b Update FR 2022-12-14 15:39:23 +01:00
MichaelDvP
4cdd5e9f20 add values/settings #803 2022-12-14 14:20:32 +01:00
MichaelDvP
de9e261807 Test for #802 2022-12-13 11:43:37 +01:00
Proddy
c26793c68d Merge pull request #801 from MichaelDvP/dev
delete empty response
2022-12-12 21:47:40 +01:00
MichaelDvP
11fd833cdb delete empty response 2022-12-11 11:13:56 +01:00
Proddy
2b21a0c31f Merge pull request #800 from MichaelDvP/dev
Avoid blank page (NULL) as response
2022-12-10 20:23:07 +01:00
MichaelDvP
7e888f6408 Avoid blank page (NULL) as response 2022-12-10 18:14:10 +01:00
Proddy
bba70ce852 replace HA ~ with hardcoded base name 2022-12-10 11:58:32 +01:00
Proddy
e96b5af0c8 HA ems_esp status to system_status to be uniform with the other naming conventions 2022-12-10 11:58:00 +01:00
Proddy
5f5e786c0e added comments 2022-12-10 11:57:17 +01:00
Proddy
8d66e43117 Merge pull request #798 from proddy/dev
minor updates and renaming system status entity in HA
2022-12-10 11:57:03 +01:00
Proddy
ccbc809ecf upgrade packages 2022-12-10 11:56:39 +01:00
Proddy
e67fde24f1 formatting 2022-12-10 11:56:28 +01:00
Proddy
923494fdce mention breaking change in HA entity names 2022-12-10 11:55:59 +01:00
MichaelDvP
73bff2cabe Merge pull request #797 from MichaelDvP/dev
Some actual additions/changes, see description
2022-12-09 10:11:40 +01:00
PopaSchKing
c20fc5a345 Update FR translations 2022-12-08 19:28:38 +01:00
MichaelDvP
f71c62f167 restart when changing CORS settings 2022-12-08 16:54:27 +01:00
SchKing
bdaf9e6dc6 Add FR language 2022-12-07 22:26:09 +01:00
MichaelDvP
a2730fb17c extra debug message for payload only ifdef EMSESP_DEBUG
Signed-off-by: MichaelDvP <github@mdvp.de>
2022-12-07 19:13:43 +01:00
MichaelDvP
5061ddf38e add CORS option to network 2022-12-07 13:51:53 +01:00
MichaelDvP
1735c036cc move multiple instances setting to HA section 2022-12-07 13:10:31 +01:00
MichaelDvP
fa703db41e heartbeat time in standalone 2022-12-07 12:53:35 +01:00
MichaelDvP
9665f4136a Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-12-07 07:41:25 +01:00
Proddy
abeef2be4a Merge pull request #793 from proddy/dev
option to enable multiple instances using a flag
2022-12-06 17:36:37 +01:00
Proddy
995420354e remove breaking change note about MQTT discovery 2022-12-06 11:15:14 +01:00
proddy
1af1a1863a #759 add option to enable multiple instances to keep backward compatibllity with v3.4 2022-12-05 21:33:10 +01:00
proddy
fd04f8be5a add multiple_sessions 2022-12-05 20:37:39 +01:00
Proddy
ccc9e6dcfb Merge pull request #791 from MichaelDvP/dev
small changes for #759
2022-12-05 20:34:20 +01:00
MichaelDvP
9e23710c6d add heartbeat interval to mqtt settings 2022-12-05 19:27:56 +01:00
MichaelDvP
3878a3ee0b analogsensor float->double #789 2022-12-05 18:26:18 +01:00
MichaelDvP
0c9d0a4d15 show mqtt payload in debug log 2022-12-05 14:19:41 +01:00
MichaelDvP
739c007c95 sync sensors and status to same entitiy in path, uniq_id, objdect_id 2022-12-05 14:13:25 +01:00
MichaelDvP
6f27253441 log calling command in debug level 2022-12-05 14:10:05 +01:00
MichaelDvP
b900932574 hardcode maxTopicLength to settingfunction 2022-12-05 14:09:25 +01:00
Proddy
0903b31fcf highlight breaking changes 2022-12-05 10:06:50 +01:00
Proddy
d080f5db0f fix dutch NUM_MINUTES #787 2022-12-04 15:52:31 +01:00
Proddy
5029a1625e remove TODO 2022-12-04 15:51:56 +01:00
Proddy
2950f167aa Merge pull request #780 from MichaelDvP/dev
allow raw telegram sending with other src-id
2022-12-04 13:01:16 +01:00
Proddy
afdf9a3dfb Merge pull request #781 from proddy/dev
#751 and #759
2022-12-04 13:00:49 +01:00
Proddy
132ca9d106 fix mqtt topic length which broke PR #781 2022-12-04 12:45:23 +01:00
Proddy
990d75d42a debug comments 2022-12-04 12:44:57 +01:00
Proddy
1c48aa8444 fixes #787 2022-12-04 12:44:44 +01:00
Proddy
67e07813cb adding missing translations for Value (single/plural) 2022-12-04 10:33:13 +01:00
Proddy
7fbeed88a9 package updates 2022-12-04 10:32:50 +01:00
Proddy
9053e7ac88 minor renaming 2022-12-04 10:32:37 +01:00
Proddy
e3c94cc1f7 updates for #759 2022-11-30 21:21:32 +01:00
Proddy
e8d6c4d451 add new ReturnCmd error called INVALID 2022-11-30 21:21:19 +01:00
Proddy
ba1813c767 removed en_name 2022-11-30 21:21:03 +01:00
Proddy
bcd8992abc added INVALID command return err, so detects when incorrect hc given in a command 2022-11-30 21:20:47 +01:00
Proddy
557b532f74 added comment 2022-11-30 21:20:08 +01:00
Proddy
d450464a1a hardcode "response" topic 2022-11-30 21:19:57 +01:00
Proddy
5d10b28433 rename boot time, free mem, free app, add web buffer to info command output 2022-11-30 21:19:21 +01:00
Proddy
eafe358deb shower uses mqtt base - #759 2022-11-30 21:18:15 +01:00
Proddy
048bd877da fix tests for MQTT 2022-11-30 21:17:55 +01:00
Proddy
7f18dd942f add mqtt base to topic - #759 2022-11-30 21:17:41 +01:00
Proddy
424234ec48 default send_response is false for standalone testing 2022-11-30 21:16:57 +01:00
Proddy
4168a08276 #751 move ntp sending info topic back 2022-11-30 21:16:41 +01:00
MichaelDvP
996063d76d show received (ignored) handlers for devices without registered telegrams. 2022-11-30 16:06:06 +01:00
MichaelDvP
085f5ff22f change GH tagged_release to web language 'en' #754 2022-11-30 14:00:19 +01:00
Proddy
5b5dc6a8cc #759 use b ase in HA unique_id and object_id 2022-11-29 21:15:46 +01:00
Proddy
4103bad8de bump b11 2022-11-29 21:14:40 +01:00
Proddy
d6a8563cc7 fixes for #751 2022-11-29 21:14:31 +01:00
Proddy
c9ef0bcd7b remove max_topic_length, make base mandatory 2022-11-29 21:14:08 +01:00
Proddy
6b978759ca update 2022-11-29 21:13:26 +01:00
Proddy
bc31d54028 package update 2022-11-29 21:13:15 +01:00
MichaelDvP
7bad0e04b1 allow raw telegram sending with other src-id 2022-11-29 17:04:05 +01:00
Proddy
7144c746c6 Merge pull request #779 from proddy/dev
#751 boot time when NTP connected
2022-11-28 21:19:18 +01:00
proddy
d5592e5662 #751 boot time when NTP connected 2022-11-28 21:14:38 +01:00
Proddy
12b027110e Merge pull request #778 from MichaelDvP/dev
Basetranslation, HA-mode fix, analog inputs, etc.
2022-11-28 09:56:34 +01:00
MichaelDvP
644896faff Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-11-28 09:37:55 +01:00
MichaelDvP
f41f7c0769 analog input fields, package update 2022-11-28 08:21:02 +01:00
Proddy
68f1a891ca Merge pull request #776 from proddy/dev
fix codacy complaining
2022-11-27 20:44:04 +01:00
proddy
b186311968 fix 2022-11-27 20:36:37 +01:00
Proddy
c21b594cf0 Merge pull request #775 from proddy/dev
minor standalone fixes
2022-11-27 20:22:56 +01:00
proddy
21ec46843a add comments 2022-11-27 20:22:25 +01:00
proddy
4da827501a update packages 2022-11-27 20:22:20 +01:00
proddy
5d0c7bfd32 fix standalone crash 2022-11-27 20:22:05 +01:00
MichaelDvP
d583409af4 set mode for ha climate, fix #772 2022-11-27 19:02:54 +01:00
MichaelDvP
559e607601 show eth parameters for eth connection (if eth/wifi connected) 2022-11-27 19:01:44 +01:00
MichaelDvP
276b27d8a6 add Boiler WLW196i, #767 2022-11-24 18:40:17 +01:00
MichaelDvP
2134f42cfd add phy-type to support info 2022-11-24 18:39:35 +01:00
MichaelDvP
88135d2750 workaround for default language en and basetranslation pl 2022-11-23 11:09:46 +01:00
MichaelDvP
1b1a4bcad4 mention boiler GC9800IW in device-library 2022-11-23 11:08:48 +01:00
Proddy
af8e82a860 Merge pull request #764 from MichaelDvP/dev
Command `values` for analog/dallas sensors, writeable for analog-out,…
2022-11-22 22:12:47 +01:00
MichaelDvP
c8d5e37b44 add thermostats UI800/RT800, #765 2022-11-22 18:32:38 +01:00
MichaelDvP
781fe03b5d Command values for analog/dallas sensors, writeable for analog-out, #758 2022-11-21 18:13:52 +01:00
proddy
702103aa66 formatting 2022-11-20 21:11:28 +01:00
proddy
d2503431c6 fix merge chaos 2022-11-20 21:11:24 +01:00
Proddy
dccdf18226 Merge pull request #761 from proddy/dev
use HA connectivity device class #751
2022-11-20 20:55:35 +01:00
Proddy
a92f287256 Merge branch 'dev' into dev 2022-11-20 20:55:24 +01:00
Proddy
a193d67f11 Merge pull request #755 from MichaelDvP/dev
add devices Alert/Pump, UOMs
2022-11-20 20:53:22 +01:00
proddy
6873e113bb Change EMS-ESP device sensor types in Home Assistant #751 2022-11-20 18:48:59 +01:00
proddy
77860d9d05 fix standalone compiling 2022-11-20 18:48:51 +01:00
proddy
de97010cfb package update 2022-11-20 18:48:36 +01:00
MichaelDvP
89245c7af7 translating UOMs hours/minutes/seconds 2022-11-20 10:44:17 +01:00
MichaelDvP
d51745774f add missing DeviceValueUOM_s 2022-11-19 14:55:04 +01:00
MichaelDvP
deda1daa04 add devices alert/Pump #575, #720, UOM:translate times? #752 2022-11-19 12:11:30 +01:00
MichaelDvP
8594c4a7eb restart animation on factory reset 2022-11-19 12:07:38 +01:00
MichaelDvP
d0d73aa5e2 boiler/thermostat alias commands inline 2022-11-19 12:06:38 +01:00
Proddy
1f43bb201c Merge pull request #753 from MichaelDvP/dev
fixes #747, #748
2022-11-18 10:19:57 +01:00
MichaelDvP
6e92d31f5d limit weblog buffer on low heap, use deque 2022-11-17 18:12:40 +01:00
MichaelDvP
ae4070b7f2 package update 2022-11-17 16:17:47 +01:00
MichaelDvP
ee2ac18b69 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-11-17 08:38:47 +01:00
MichaelDvP
85ce697dad hp defrost state 6, state 5 unknown 2022-11-17 08:37:55 +01:00
MichaelDvP
82eb79ce40 fix factory partition detection 2022-11-17 08:37:12 +01:00
Proddy
c76b4b9ede Merge pull request #746 from pswid/dev
completed translations of entities into Polish.
2022-11-16 16:47:35 +01:00
MichaelDvP
9c2e814e16 mention Greenstar ErP in database 2022-11-16 07:51:17 +01:00
MichaelDvP
2e9499ea90 typo 2022-11-15 19:25:41 +01:00
pswid
52296bfed1 redundant cwu removed (in Polish translation) 2022-11-15 13:52:34 +01:00
MichaelDvP
a53d54a1d6 don't use hpoperatingmode on boilers, fix #747 2022-11-15 09:32:39 +01:00
MichaelDvP
81cf08b723 add word heatpump mode "defrost" (instead of nofrost) 2022-11-15 09:31:45 +01:00
MichaelDvP
f192d7dffc add nofrost option to hpactivity, #748 2022-11-15 08:25:41 +01:00
pswid
5425896988 Merge branch 'dev' of https://github.com/pswid/EMS-ESP32 into dev 2022-11-14 15:14:51 +01:00
pswid
9e2be00b5c completed translations of entities into Polish.
this also fixes some Norwegian translations that were incorrectly displayed as Polish.
Missing translations (for other languages) have been entered as "", so default English names should be displayed
2022-11-14 15:06:13 +01:00
Proddy
06004ce478 Merge pull request #745 from MichaelDvP/dev
EN-Tags for HA-entities
2022-11-14 12:50:10 +01:00
MichaelDvP
5bda018d25 En-tag for HA-entity 2022-11-14 12:22:12 +01:00
MichaelDvP
b12729a874 HM200 temperatures, fix hybridStrategie #500 2022-11-14 10:03:12 +01:00
Proddy
d3a84e02e4 Merge pull request #743 from MichaelDvP/dev
Typos, selflowtemp check
2022-11-13 19:56:32 +01:00
MichaelDvP
9865c84df5 tag in ha object_id 2022-11-13 19:09:32 +01:00
MichaelDvP
33d2cb9a49 Typos 2022-11-13 18:43:36 +01:00
MichaelDvP
37c121e8de check selflowtemp change before write 2022-11-13 18:43:24 +01:00
Proddy
9dd0bf01e2 formatting 2022-11-13 14:35:04 +01:00
Proddy
92ac601072 Merge pull request #733 from pswid/dev
fix: cosmetic webUI improvements
2022-11-13 14:17:59 +01:00
pswid
dfd7647838 improved webUI display on narrow screens
- unified vertical spacing (settings page)
- auto switching from 3 to 2 boxes displayed in row on narrow screens
- displaying (at least a part off) names of entities names on dashboard
- fixes MQTT discovery field too small
2022-11-13 13:46:52 +01:00
pswid
058246e2ce Merge branch 'emsesp:dev' into dev 2022-11-13 13:00:41 +01:00
Proddy
8ed789892b Merge pull request #741 from proddy/dev
minor updates, also implements #707
2022-11-10 16:12:21 -05:00
Proddy
57775af24b lower case days, hours, minutes, seconds 2022-11-10 22:12:10 +01:00
Proddy
845681b6dc package update 2022-11-10 22:11:54 +01:00
pswid
ea2c9cbc9a Merge branch 'emsesp:dev' into dev 2022-11-10 15:03:57 +01:00
Proddy
96bb3013a3 Merge pull request #740 from MichaelDvP/dev
fix render_value float, leading zeros to decimals
2022-11-10 06:36:37 -05:00
MichaelDvP
aeee37fdae fix render_value float, leading zeros to decimals 2022-11-10 12:17:05 +01:00
Proddy
551497bfeb Merge pull request #739 from MichaelDvP/dev
fix #736
2022-11-09 14:04:21 -05:00
MichaelDvP
57057cac0e fix #736 2022-11-09 15:08:07 +01:00
pswid
dccd9f09e7 Merge branch 'emsesp:dev' into dev 2022-11-08 15:21:39 +01:00
Proddy
b91e474343 Merge pull request #734 from MichaelDvP/dev
fix #727 boiler wwcircmode
2022-11-07 16:47:15 +01:00
pswid
f25262c191 fix: cosmetic webUI improvements
mainly in custom board profile and analog sensors settings. Now it looks more consistent with other settings pages.
2022-11-07 10:41:57 +01:00
MichaelDvP
723662a6bc fix #727 boiler wwcircmode 2022-11-07 10:10:38 +01:00
Proddy
757fcd3ea4 Merge pull request #730 from proddy/dev
fix sensor writing
2022-11-06 18:04:08 +01:00
Proddy
ec3e28436d fix sensor writing 2022-11-06 18:04:30 +01:00
Proddy
6a291ef1e2 Merge pull request #726 from proddy/dev
add missing elint supression to fix build
2022-11-05 18:34:08 +01:00
proddy
1e529a9e19 add missing elint supression to fix build 2022-11-05 18:33:46 +01:00
Proddy
05d393e7fe Merge pull request #725 from proddy/dev
minor fixes for standalone
2022-11-05 18:27:32 +01:00
proddy
c757ace2b4 fix standalone compiling & sonar 2022-11-05 18:26:59 +01:00
proddy
5ab066de5f bump b9 2022-11-05 18:26:48 +01:00
Proddy
b0ae22d493 Merge pull request #724 from proddy/dev
build web i18n on github actions
2022-11-05 18:02:37 +01:00
proddy
03a6abcfc6 build web i18n on github actions 2022-11-05 17:59:31 +01:00
Proddy
e58491ed97 Merge pull request #722 from MichaelDvP/dev
Changes in discussion
2022-11-05 17:52:15 +01:00
MichaelDvP
1e92ae05c0 add GB135 second burner stage 2022-11-05 15:58:55 +01:00
MichaelDvP
513b6181a4 add norwegian entity translations from vikingn 2022-11-05 15:57:57 +01:00
MichaelDvP
05b54bc6f5 "No telegram handler" message only for broadcasted messages 2022-11-05 15:56:29 +01:00
MichaelDvP
1d4634a76c add restart to factory partition (if there is one) 2022-11-05 15:56:08 +01:00
MichaelDvP
342cf12ae7 boardprofile fallback to E32/S32 2022-11-05 15:55:03 +01:00
Proddy
6883dbbce1 Merge pull request #723 from proddy/dev
fix to base translations, auto generate i18n
2022-11-05 14:00:08 +01:00
Proddy
a3d3706b89 generate i18n on build 2022-11-05 12:54:28 +01:00
Proddy
da911e374a auto-formatting 2022-11-05 12:29:28 +01:00
Proddy
26904f4e0e default polish so translations don't break #695 2022-11-05 12:26:07 +01:00
Proddy
ec5601f3ca formatting, added Sensor, removed {{ }} for non Polish 2022-11-05 12:25:48 +01:00
Proddy
a2ee2a5e6b remove custom formatter 2022-11-05 12:25:14 +01:00
Proddy
78d5f8b76d ignore i18n generated files 2022-11-05 12:25:02 +01:00
Proddy
dd0cc00004 updated packages again 2022-11-05 12:24:49 +01:00
Proddy
825836c447 Merge pull request #721 from proddy/dev
formatting, updated packages, fix dialog focus on customization screen
2022-11-03 22:30:43 +01:00
Proddy
4996eb9e3c formatting, updated packages 2022-11-03 22:30:10 +01:00
Proddy
0bc3a3c34e Merge pull request #719 from pswid/dev
fix to the translation of the webUI in Polish.
2022-11-03 20:35:08 +01:00
pswid
ca5bc313ee fixes Polish chars not being displayed properly
The characters "Ę" and "ę" had wrong uni-codes in re.woff2. Now, the problem https://github.com/emsesp/EMS-ESP32/pull/702#issuecomment-1291720910 is finally solved.
2022-11-03 13:04:25 +01:00
pswid
069df92dbf fix to the translation of the webUI in Polish.
Everything visible should already be translated into Polish. However, I was not able to check how the translations of all errors are displayed (because how to display them if there is no error?), so I'm not sure that they are ok.
BTW, there are still many error messages hardcoded (e.g. "Local IP is required"). I think we should translate them as well.
2022-11-03 12:34:32 +01:00
Proddy
bdce4ee9f9 Merge pull request #718 from MichaelDvP/dev
fix #717, rounding error
2022-11-01 18:09:31 +01:00
MichaelDvP
756a136124 fix overflow rendering uint32 2022-11-01 17:38:33 +01:00
MichaelDvP
4809ef3537 fix #717, rounding error 2022-11-01 17:24:10 +01:00
Proddy
2c056d6807 Merge pull request #715 from proddy/dev
minor changes
2022-10-31 20:56:54 +01:00
Proddy
90af466a2f rename Status to Info for info command 2022-10-31 20:56:33 +01:00
Proddy
20cbbcd9f4 fix VALUE() where it needs single and plural translations 2022-10-31 20:26:49 +01:00
Proddy
036953044e auto-formatting 2022-10-31 20:26:30 +01:00
Proddy
499456fa77 add comment 2022-10-31 20:25:03 +01:00
Proddy
22d9705412 package update 2022-10-31 20:24:40 +01:00
Proddy
663c853aff add test for Junkers room sensor issue in HA 2022-10-31 20:24:28 +01:00
Proddy
103ffa4761 fix compiling standalone 2022-10-31 20:24:12 +01:00
Proddy
3baedf01d1 Merge pull request #713 from MichaelDvP/dev
min/max, bus-ids, MD5
2022-10-31 19:28:54 +01:00
MichaelDvP
bfad6d34b5 i18n baseLocale back to en, 18 pl-chars to font. 2022-10-31 14:21:13 +01:00
MichaelDvP
2aa2564078 version 3.5.0b8, Changelog, remove some F() 2022-10-31 11:11:50 +01:00
MichaelDvP
6561bb5a6c add min/max to customization table #686 2022-10-31 11:11:09 +01:00
MichaelDvP
ac75176292 i18n@5.15.0 2022-10-31 11:10:20 +01:00
MichaelDvP
1005079f71 activate restart monitor on button restart 2022-10-31 11:09:12 +01:00
MichaelDvP
e0e07a9deb md5 check for upload bin files #637 2022-10-31 11:08:05 +01:00
MichaelDvP
c65005e5a6 add more bus-ids #673 2022-10-31 11:04:44 +01:00
MichaelDvP
64f2f82e0c low frequency for C3 chip 2022-10-31 11:03:10 +01:00
MichaelDvP
98495c8114 show wifi disconnect reason as text 2022-10-31 11:02:43 +01:00
Proddy
d0ac0b7804 update with version on dev 2022-10-30 16:58:37 +01:00
Proddy
e45c31345e Merge pull request #712 from proddy/dev
auto-formatting web code
2022-10-30 16:56:48 +01:00
Proddy
23cd677133 Merge branch 'emsesp:dev' into dev 2022-10-30 16:56:13 +01:00
Proddy
805c1298fb fix lint formatting so GH action build doesn't break 2022-10-30 16:56:00 +01:00
Proddy
5199edff1e Merge pull request #711 from proddy/dev
minor updates
2022-10-30 16:47:08 +01:00
Proddy
f3adc13c6d auto-formatting 2022-10-30 16:44:31 +01:00
Proddy
40f5f7026d removed TODO 2022-10-30 16:44:23 +01:00
Proddy
b8b96763cf update packages 2022-10-30 16:44:14 +01:00
Proddy
80b94fcd00 update to latest GH actions 2022-10-30 16:44:06 +01:00
Proddy
8d09d3c654 use 2 threads 2022-10-30 16:43:55 +01:00
Proddy
03564b3a82 Merge pull request #708 from mvjt/dev
Translated new index.ts items to Swedish
2022-10-30 16:14:13 +01:00
mvjt
a7569256d0 Corrected error (SE) #2 2022-10-30 15:57:26 +01:00
mvjt
b0d4a094c1 Corrected error (SE) 2022-10-30 15:56:11 +01:00
mvjt
1b232adc72 Translated new items 2022-10-30 15:48:06 +01:00
Proddy
ed81e095ee Merge pull request #702 from pswid/dev
The translation of the web interface into Polish has been corrected and completed (e.g. the word order has been fixed).
2022-10-29 11:03:24 +02:00
Proddy
76734b77f1 Merge pull request #706 from MichaelDvP/dev
fixes #704 and #698
2022-10-29 10:56:13 +02:00
Proddy
d8284ec09f Merge pull request #705 from MichaelDvP/main
v3.4.4 Fix for new installations with filesystem not initializing
2022-10-29 10:46:41 +02:00
MichaelDvP
6e982acde8 v3.4.4 Fix for new installations with filesystem not initializing 2022-10-28 10:50:51 +02:00
MichaelDvP
db6f8eaba1 add boiler heatStarts 2022-10-27 18:50:38 +02:00
MichaelDvP
eb7ad7163f fix #698, add RC30 internal sensors 2022-10-27 18:40:51 +02:00
MichaelDvP
6a478eec5e fix #704 round div100 temperatures to one decimal 2022-10-27 18:37:08 +02:00
pswid
1dc08d6399 The translation of the web interface into Polish has been corrected and completed (e.g. the word order has been fixed).
Newly added words should be translated from English into other languages in index.ts files
2022-10-25 20:57:51 +02:00
Proddy
c3cfed5ac3 Merge pull request #700 from proddy/dev
package update
2022-10-24 13:30:57 -07:00
Proddy
aba1dc93d9 package update 2022-10-24 22:30:54 +02:00
Proddy
d9bbf35afc Merge pull request #693 from pswid/dev
Polish translation improvements
2022-10-24 13:29:11 -07:00
pswid
dec3abfab9 Merge branch 'emsesp:dev' into dev 2022-10-24 11:22:24 +02:00
pswid
bb98f13b19 alternative word translations implementation idea
just for demonstration!
2022-10-18 13:47:10 +02:00
Proddy
8b10970e03 Merge pull request #696 from MichaelDvP/dev 2022-10-18 10:09:48 +02:00
MichaelDvP
b859ab9d78 fix switch commands #692 2022-10-18 09:17:45 +02:00
Proddy
26208103fc Merge pull request #694 from MichaelDvP/dev
DIV10 for solarTemp
2022-10-17 19:07:25 +02:00
MichaelDvP
d150b017e3 DIV10 for solarTemp 2022-10-17 18:56:54 +02:00
pswid
49414adfd2 Polish translation improvements
Strange, but if i use capital letters in Polish translation for "ON' and "OFF" (local_translations.h), I'm getting compile error. So instead of whole words in capital letters I used abbreviations in lower case (more useful, IMHO)
2022-10-17 18:21:57 +02:00
Proddy
5c675c7ce7 Merge pull request #690 from MichaelDvP/dev
solar temperature sensor and some fixes
2022-10-17 15:00:47 +02:00
MichaelDvP
f16aaf7874 ignore mqtt echos if publish_single2command is set. 2022-10-17 10:14:06 +02:00
MichaelDvP
d80831e708 fix possible endless tx repeats on write rejected 2022-10-17 10:12:34 +02:00
MichaelDvP
3e3e7156ec fix setting custom min value 2022-10-17 10:11:18 +02:00
MichaelDvP
dbb2a365cb solar temperature #687 2022-10-17 10:10:42 +02:00
Proddy
52a8c7288d Merge pull request #685 from MichaelDvP/dev
small fixes
2022-10-14 16:52:37 +02:00
MichaelDvP
42f6bf6182 fix rx quality calculation 2022-10-14 14:28:08 +02:00
MichaelDvP
9d4d3738ff fix memory leak 2022-10-14 14:27:50 +02:00
MichaelDvP
1647a6d0a7 Typo 2022-10-14 14:27:26 +02:00
Proddy
e5e058672d Merge pull request #683 from pswid/dev
Added Polish names of the entities
2022-10-14 12:08:13 +02:00
pswid
f5cd8e2523 Merge branch 'dev' into dev 2022-10-14 11:02:31 +02:00
Proddy
fd2cc8aff1 Merge pull request #684 from proddy/dev
update standalone build
2022-10-13 22:07:49 +02:00
proddy
f244fb837b update system test data 2022-10-13 22:07:01 +02:00
proddy
b4848ab7f9 make standalone compile 2022-10-13 21:56:04 +02:00
proddy
0fa60f0502 package updates 2022-10-13 21:55:49 +02:00
Proddy
8d290317d7 Merge pull request #677 from MichaelDvP/dev_
C3/S2 support, tags translated
2022-10-13 21:40:14 +02:00
pswid
cb5c8f3a85 Merge branch 'dev' into dev 2022-10-13 20:02:28 +02:00
pswid
5a0f4c1462 The names of the entities have been translated into Polish
not 100% complete
2022-10-13 19:43:03 +02:00
MichaelDvP
e4445413fd fix console show values #682 2022-10-13 14:08:53 +02:00
MichaelDvP
9be13eb0b9 Lolin C3 mini v1.0 has standard led. 2022-10-13 14:07:52 +02:00
MichaelDvP
2c7eeeca7b C3 led color, red blinking error, green permanent ok 2022-10-11 18:43:32 +02:00
Proddy
b59a552288 Merge pull request #680 from pswid/dev
Polish translation improvements
2022-10-11 18:41:15 +02:00
Proddy
def67899ed Merge pull request #679 from tefracky/tefracky-german-translation
Updated German translation
2022-10-11 18:40:41 +02:00
MichaelDvP
ea0870c180 Check upload bin-header for esp-chip version 2022-10-11 18:32:33 +02:00
pswid
379d57ca8e Merge branch 'dev' into dev 2022-10-11 14:10:30 +02:00
MichaelDvP
761df2b4cc esp32C3 wifi initializaton: set power after starting wifi 2022-10-11 14:05:29 +02:00
tefracky
56e1f02f69 Update locale_translations.h
Reverted to "Solltemperatur Einmalladung"
2022-10-11 13:59:54 +02:00
pswid
f921ef4708 Polish translation improvements 2022-10-11 13:56:19 +02:00
MichaelDvP
f11dc9bc25 links to lolin C3 mini V1, pio-ini 2022-10-11 10:11:21 +02:00
MichaelDvP
0ebfcd7238 api json charset 2022-10-11 09:35:56 +02:00
MichaelDvP
5fb9cd142f thermostat switchtime sday as char * 2022-10-11 09:35:36 +02:00
MichaelDvP
7d5e112efb Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_ 2022-10-11 09:34:56 +02:00
tefracky
e82dd816de Updated German translation
Fixed some typos and language clearificaiton
2022-10-11 09:19:10 +02:00
Proddy
887a245d82 Merge pull request #676 from proddy/dev
NO and Commands translations
2022-10-11 08:28:12 +02:00
proddy
2f706b33fa add test for modes 2022-10-10 20:12:35 +02:00
proddy
dcbdb04009 typo 2022-10-10 20:12:25 +02:00
proddy
008903cbbd optimize set_mode command 2022-10-10 20:12:16 +02:00
proddy
b67113fc1f use const char * where possible 2022-10-10 20:11:23 +02:00
proddy
3afbe832cc don't use translations for commands in console 2022-10-10 20:10:20 +02:00
proddy
9adfa0ecfc use const char * where possible 2022-10-10 20:10:01 +02:00
proddy
f081d7fd3c remove TODO 2022-10-10 20:09:29 +02:00
MichaelDvP
394a3253aa v3.5.0b7, update changelog 2022-10-10 17:28:17 +02:00
MichaelDvP
13890d2835 translated tags 2022-10-10 16:55:00 +02:00
MichaelDvP
6fd3e567cd ESP32-C3 and ESP32-S2, LED for C3-Mini 2022-10-10 14:13:43 +02:00
MichaelDvP
b6d8e55b00 heatpump values, german translations 2022-10-10 14:12:52 +02:00
MichaelDvP
e6d3d347ab remove unused brackets and inits 2022-10-10 14:10:29 +02:00
proddy
c159ce7eb9 added NO 2022-10-09 22:31:34 +02:00
proddy
65c9bf22dc refactor commands to take dynamic translation descriptions #674 2022-10-09 22:19:29 +02:00
Proddy
87dfffeddb Merge pull request #672 from proddy/dev
fix REST-API - strange characters in description
2022-10-09 19:41:46 +02:00
Proddy
8d6c676fed fix REST-API - strange characters in http://<hostname>/api/<device>/commands output #671 2022-10-09 14:18:29 +02:00
Proddy
324d27896b Merge remote-tracking branch 'origin/flash_optimization' into dev #646 2022-10-08 10:02:48 +02:00
Proddy
8c94ce99b2 quick fix for filesystem initialization 2022-10-08 09:23:00 +02:00
Proddy
fd5fcf356f Merge pull request #667 from ajvdw/dev
Added support for ESP32-S2
2022-10-07 21:11:36 +02:00
Proddy
0dde5a9d2b merge PR #667 and PR #668 2022-10-07 21:11:18 +02:00
Proddy
73f7603c1d Merge pull request #668 from MichaelDvP/dev
Float rendering and Junkers FW500
2022-10-07 21:05:58 +02:00
Proddy
5faffc3886 upgrade axios 2022-10-07 20:26:17 +02:00
MichaelDvP
d09d5a7dbe Junkers settime, dst always zero, no check against NTP 2022-10-07 17:31:21 +02:00
ajvdw
b906fecdff Update platformio.ini 2022-10-07 13:03:55 +02:00
MichaelDvP
a6e4122e44 fix Junkers roomsensor enum 2022-10-07 12:58:10 +02:00
ajvdw
e663ecb458 added esp32-s2 support 2022-10-07 12:38:18 +02:00
MichaelDvP
95876e28bf Junkers Clock not writable 2022-10-07 12:06:46 +02:00
MichaelDvP
348932d929 rollback web output, don't use serialized for webpack 2022-10-07 11:53:18 +02:00
MichaelDvP
bd28516324 render analog value 2022-10-07 11:21:57 +02:00
MichaelDvP
d1fc050bed flags on signin page 2022-10-07 11:14:19 +02:00
MichaelDvP
bace01e4f7 show trailing zero for float values, #663 2022-10-07 10:56:52 +02:00
MichaelDvP
0a56ee7dbb add FW500 thermostat #666 2022-10-07 08:09:07 +02:00
Proddy
c90be99216 fix ha min/max 2022-10-06 17:09:09 +02:00
Proddy
a0a431e0e2 merge https://github.com/emsesp/EMS-ESP32/pull/664 2022-10-06 17:08:57 +02:00
Proddy
4489e7149c Merge pull request #664 from MichaelDvP/dev
add controller BC30, #663
2022-10-05 18:20:21 +02:00
MichaelDvP
ec81420894 add controller BC30, #663 2022-10-05 18:10:50 +02:00
Proddy
619dd0c99d merge https://github.com/emsesp/EMS-ESP32/pull/662 2022-10-05 12:24:31 +02:00
Proddy
9f5a5108fb Merge pull request #662 from MichaelDvP/dev
fix #659, mqtt bool values
2022-10-05 12:09:33 +02:00
MichaelDvP
974510b2c7 fix #659, mqtt bool values 2022-10-05 11:26:15 +02:00
Proddy
f2f10f0c79 Merge pull request #661 from pswid/dev
Polish translation improvements
2022-10-04 21:04:17 +02:00
Proddy
39cbcd4d6f Polish translation improvements #661 2022-10-04 21:04:04 +02:00
Proddy
1accdfcafb Merge pull request #660 from MichaelDvP/dev
Climate min/max #647, RC300 CalIntTemp #657
2022-10-04 21:01:59 +02:00
Proddy
e37bbe420c manual merge of PR 660 - https://github.com/emsesp/EMS-ESP32/pull/660/ 2022-10-04 21:01:23 +02:00
pswid
58c4455076 Update index.ts
Polish translation improvements
2022-10-04 15:01:44 +02:00
MichaelDvP
a413ffb9d2 avoid strange, long decimals in input field 2022-10-04 10:44:19 +02:00
MichaelDvP
1f96622e74 count tx-queue overflows as tx-errors 2022-10-03 15:03:35 +02:00
MichaelDvP
9527cf6abf RC300 calinttemp and fix some other thermostat values 2022-10-03 12:53:37 +02:00
MichaelDvP
13f0bc3296 mqtt status shows queue and reconnects 2022-10-03 08:08:51 +02:00
Proddy
58a0ec9cca move the set_custom_minmax into the class initiator 2022-10-02 15:54:12 +02:00
Proddy
fe385de342 no fullname translation is allowed 2022-10-02 15:53:50 +02:00
Proddy
ae5fb26387 add check fto translated_word for empty arrays, to be crash safe 2022-10-02 15:53:26 +02:00
Proddy
cd67ab03ff fullname array is allowed to be null 2022-10-02 15:52:54 +02:00
Proddy
94f134f3fe formatting to fit on one line 2022-10-02 15:52:34 +02:00
Proddy
ca95e44a81 climate doesn't need a translation 2022-10-02 15:52:17 +02:00
Proddy
ecc045b2a8 add test for min/max 2022-10-02 15:51:54 +02:00
Proddy
9c205a07c5 add test data for min/max 2022-10-02 15:51:43 +02:00
MichaelDvP
c414354708 climate min/max values 2022-10-02 09:52:04 +02:00
Proddy
ddacd2d9d7 min/max example 2022-10-01 16:49:01 +02:00
Proddy
987fcb4a5a Merge remote-tracking branch 'origin/dev' into flash_optimization 2022-10-01 16:48:50 +02:00
Proddy
4c70da28e6 better fix for ha climate Optimize flash with ESP32 #646 2022-10-01 16:03:04 +02:00
Proddy
246684f28c Merge pull request #651 from MichaelDvP/dev
add missing fahrenheits on customization screen
2022-10-01 11:59:48 +02:00
MichaelDvP
e450a0e096 fix bool command for hp input #600 2022-10-01 11:21:15 +02:00
proddy
90d2144588 fix for lists that don't have translations, like climate 2022-09-30 20:48:21 +02:00
proddy
4302d314cf generic test 2022-09-30 20:47:55 +02:00
proddy
22322a55ed update 2022-09-30 20:47:47 +02:00
MichaelDvP
d09c0436e0 missing fahrenheits on customization screen 2022-09-29 15:26:00 +02:00
Proddy
9b619216cb formatting brackets 2022-09-28 21:46:12 +02:00
Proddy
fe0a855618 formatting 2022-09-28 21:41:19 +02:00
Proddy
3bca7c9a13 Merge pull request #650 from MichaelDvP/dev
custom min/max
2022-09-28 21:20:08 +02:00
Proddy
87887494a5 fix endless loop! 2022-09-28 21:19:14 +02:00
Proddy
614a8cb14b add comment 2022-09-28 21:19:03 +02:00
Proddy
da6e64e89f optimize toLower() 2022-09-28 21:18:52 +02:00
Proddy
87d0db0b5c auto formatting 2022-09-28 20:27:48 +02:00
MichaelDvP
c756df90fc update packages 2022-09-28 17:47:27 +02:00
MichaelDvP
d3053d8ce2 check min/max before activating 2022-09-28 17:26:49 +02:00
MichaelDvP
4c728cf777 update changelog, version b4 2022-09-28 16:52:05 +02:00
MichaelDvP
17b90af972 RC35 default min/max values added 2022-09-28 16:16:42 +02:00
MichaelDvP
a0339f5ae2 custom min/max values 2022-09-28 16:08:08 +02:00
MichaelDvP
732aaffbb6 boiler HP-inputConfig, HeaterConfig, thermostat roomsensor 2022-09-28 16:07:38 +02:00
MichaelDvP
d50606ce13 german web translation 2022-09-28 16:05:44 +02:00
proddy
777c9db0f6 remove flash 2022-09-28 15:47:27 +02:00
proddy
815397dba6 move device_library name to const char * 2022-09-25 14:36:45 +02:00
Proddy
01f361e7cd Merge pull request #643 from mvjt/dev
Polishing Swedish Translations
2022-09-25 11:46:26 +02:00
Proddy
1278776297 Merge pull request #642 from proddy/dev
update to commands in web
2022-09-25 11:46:01 +02:00
mvjt
a3a8e515bf Polishing Swedish Translations 2022-09-25 11:14:28 +02:00
Proddy
96af9afc83 commands like reset can't be renamed. use translated name for commands like these. 2022-09-25 10:45:08 +02:00
Proddy
c841c8c284 lighter grey colour 2022-09-25 10:44:23 +02:00
Proddy
d6ee8ccb2d fix reset translation 2022-09-25 10:44:04 +02:00
proddy
a7930d8403 auto formatting using 'npm run format' 2022-09-24 18:52:19 +02:00
proddy
eeeb889ba7 show options when editing Entity 2022-09-24 18:49:35 +02:00
proddy
f1f4147628 bump 2022-09-24 18:49:08 +02:00
proddy
42118e0169 update packages (again!) 2022-09-24 18:49:01 +02:00
proddy
b67d69a5c8 add translation for Entity 2022-09-24 18:48:48 +02:00
Proddy
d8144c901d Merge pull request #640 from MichaelDvP/dev
mqtt ha settings, show memory in KB, etc.
2022-09-24 17:40:07 +02:00
MichaelDvP
e9d9cf7e48 fix console show system 2022-09-24 17:17:16 +02:00
MichaelDvP
0867d7fe0e Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-09-24 16:31:27 +02:00
MichaelDvP
b646331adc dallas, analog HA object_id also without basename (commented out) 2022-09-24 16:17:33 +02:00
Proddy
30109a54ce Merge pull request #639 from proddy/dev
fix missing NL translations
2022-09-24 16:09:05 +02:00
Proddy
e85ca7dcd3 use translation of Restart 2022-09-24 16:08:40 +02:00
Proddy
faf05ceb72 cleanup text formatting 2022-09-24 16:08:29 +02:00
Proddy
049e37ba82 changes to NL 2022-09-24 16:08:15 +02:00
Proddy
d187ee23ea update packages 2022-09-24 16:07:50 +02:00
MichaelDvP
20b0c9653d kb -> KB 2022-09-24 14:22:49 +02:00
MichaelDvP
022b667858 use old HA object_id, #636, HA (un)subscribes with wildcard 2022-09-24 12:00:41 +02:00
MichaelDvP
1b4af09185 typos application used/free 2022-09-23 22:31:39 +02:00
MichaelDvP
58ca4efd42 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_ 2022-09-23 21:58:41 +02:00
MichaelDvP
f1bb183017 ha config to basename, analog/dallas allow single/nested with ha 2022-09-23 21:54:13 +02:00
MichaelDvP
081c11c503 add Greenstar 30Ri boiler #635 2022-09-23 21:36:56 +02:00
MichaelDvP
d54843635a add application info, all memory info in kb 2022-09-23 21:36:01 +02:00
Proddy
12638275fa Merge pull request #633 from tefracky/pull-request-german-translation
Fixed German translation typos
2022-09-22 19:03:36 +05:30
Proddy
25c50435ca Merge pull request #632 from MichaelDvP/dev
fix #631, negative multiplicator
2022-09-22 19:03:04 +05:30
tefracky
e1c61cfadb Fixed German translation typos 2022-09-22 12:44:25 +02:00
tefracky
06fd860964 Fixed German translation typos 2022-09-22 12:13:48 +02:00
MichaelDvP
ab4e1f63c5 fix #631, negative multiplicator 2022-09-22 10:33:38 +02:00
Proddy
fb998a7e6a Merge pull request #630 from MichaelDvP/dev 2022-09-20 22:23:01 +05:30
MichaelDvP
dbbbfc1170 update translations 2022-09-20 17:34:44 +02:00
proddy
eb432d9acb auto formatting 2022-09-20 19:05:11 +05:30
proddy
23f65b9eb2 fixes does Factory Reset from the webUI work? #628 2022-09-20 19:05:02 +05:30
proddy
c11ea4fe0d update 2022-09-20 19:04:49 +05:30
proddy
6b1cfffb6f package updates 2022-09-20 19:04:43 +05:30
Proddy
918c0315eb Merge pull request #627 from MichaelDvP/dev
Fallback to en on empty entity string
2022-09-19 22:41:18 +05:30
MichaelDvP
106517fc8b Fallback to en on empty entity string 2022-09-19 16:28:27 +02:00
Proddy
96070d6b42 Merge pull request #626 from MichaelDvP/dev
Translations, move rf sensor #624
2022-09-19 19:32:40 +05:30
MichaelDvP
b22473d0d0 move rf sensor to thermostat #624 2022-09-19 15:45:00 +02:00
MichaelDvP
ef842b6c52 web polish translations (some with fallback) 2022-09-19 15:38:08 +02:00
MichaelDvP
e9415c1708 add german translations from tp1de 2022-09-19 15:37:24 +02:00
MichaelDvP
0114efc66f add Junkers thermostat wwCharge 2022-09-19 15:34:13 +02:00
Proddy
84e7847c16 Merge pull request #620 from CheeseE/dev
Add support for Lolin C3 mini
2022-09-19 16:18:34 +05:30
CheeseE
3f935942ea update ini file. 2022-09-19 12:32:44 +02:00
CheeseE
8f45322b7b disable board selection. 2022-09-19 12:05:25 +02:00
CheeseE
6e095c1085 fix compile issues. 2022-09-19 12:05:25 +02:00
CheeseE
acaceefc89 Add support for wemos c3 mini 2022-09-19 12:03:14 +02:00
proddy
21c3a4bee8 remove PIOENV for CI GH Actions calling 2022-09-18 17:04:25 +02:00
proddy
a959af80b5 remove duplicate 1/0 boolean code 2022-09-18 17:04:06 +02:00
proddy
e0d7e7698e 3.5.0 2022-09-18 15:43:38 +02:00
proddy
dbf9912c5a Merge remote-tracking branch 'origin/v3.5.0' into dev 2022-09-18 15:43:02 +02:00
proddy
fc057d18c9 Merge remote-tracking branch 'origin/dev' 2022-09-18 14:33:23 +02:00
proddy
326f05d63f updated packages 2022-09-18 12:54:52 +02:00
proddy
eda203e350 formatting 2022-09-18 12:54:45 +02:00
proddy
f9038b9180 package updates 2022-09-17 10:52:11 -07:00
Proddy
506aacbd83 Merge pull request #623 from MichaelDvP/v3.5.0
disable uncomplete translations
2022-09-17 10:50:12 -07:00
MichaelDvP
63e31d672b add no-translation setting, disable uncomplete translations 2022-09-17 19:10:58 +02:00
MichaelDvP
0d5d353e99 read LittleFS.totalBytes only once on start 2022-09-17 17:10:23 +02:00
Proddy
766ec6a6e4 Merge pull request #622 from MichaelDvP/v3.5.0
add operation sign to log and some other small changes
2022-09-17 08:09:54 -07:00
MichaelDvP
872effb297 update packages 2022-09-17 16:59:45 +02:00
MichaelDvP
fb13b79a76 console always allow watch on/off in all languages 2022-09-17 16:42:16 +02:00
MichaelDvP
706daeb678 remove unused uart setting 2022-09-17 16:40:26 +02:00
MichaelDvP
9d6af82f9c remove double comment 2022-09-17 09:09:10 +02:00
MichaelDvP
2bc37027dd remove unused/obsolet command_pin 2022-09-13 07:56:07 +02:00
MichaelDvP
e70b6b210e check command send for valid data 2022-09-13 07:54:36 +02:00
MichaelDvP
df8a36c695 calculate length of telegram next part 2022-09-13 07:27:41 +02:00
MichaelDvP
702af4b1c8 add operation to log messages #594 2022-09-13 07:17:42 +02:00
MichaelDvP
cd15e11ce3 prepare for polish translation 2022-09-12 19:22:05 +02:00
MichaelDvP
ca8b236ccb add se, fix typos, formatting 2022-09-12 08:08:39 +02:00
MichaelDvP
06b057f4a2 Merge pull request #618 from mvjt/v3.5.0
Add Swedish language
2022-09-12 07:57:10 +02:00
mvjt
0158c9b434 Henriks changes again 2022-09-11 20:16:46 +02:00
mvjt
368728d12b Henriks changes 2022-09-11 20:10:22 +02:00
mvjt
c1cab103aa Removed WS 2022-09-11 14:02:33 +02:00
mvjt
d9da85638c Both files translated 2022-09-11 13:01:55 +02:00
mvjt
a25989d213 Both files translated 2022-09-11 13:00:37 +02:00
mvjt
6bfe4fe258 Both files translated 2022-09-11 12:52:40 +02:00
Proddy
e7cbb8cc77 Merge pull request #617 from MichaelDvP/v3.5.0
V3.5.0 small updates
2022-09-11 11:10:19 +01:00
MichaelDvP
06354efa76 update packages 2022-09-11 11:20:44 +02:00
MichaelDvP
345f05b23f don't render custom devices while editing 2022-09-11 11:20:29 +02:00
MichaelDvP
f0489cb918 fix custom name saving 2022-09-11 11:19:51 +02:00
MichaelDvP
d0b265985b update de/index 2022-09-11 11:18:03 +02:00
MichaelDvP
82f0902fa4 network/mqtt init fix #42 2022-09-11 11:17:34 +02:00
mvjt
1dcb44f81a Continue with translation 2022-09-10 22:14:58 +02:00
Proddy
9bbc421407 fix bug in masks 2022-09-10 21:39:29 +02:00
mvjt
54f335946e Started with second translation file 2022-09-10 21:08:10 +02:00
mvjt
d95d8278de Changed retry 2022-09-10 19:51:00 +02:00
mvjt
c813339945 Translated first file to SE 2022-09-10 19:43:03 +02:00
Proddy
cc44bc9d7f Command uses flash fullname instead of custom, to save on heap 2022-09-10 17:18:43 +02:00
Proddy
4cd655fb36 added Swedish/SE - Multi-language/I18n support #22 2022-09-09 21:09:51 +02:00
Proddy
70efa4f4e6 Merge pull request #613 from MichaelDvP/dev
fix #42
2022-09-09 16:06:04 +01:00
Proddy
5845c37672 Change name of entity within WebUI #612 2022-09-09 17:04:31 +02:00
MichaelDvP
a020a48e63 network/mqtt init fix #42 2022-09-09 15:28:57 +02:00
MichaelDvP
a56c847790 update packages 2022-09-09 15:28:13 +02:00
proddy
9ae81779ff Change name of entity within WebUI #612 2022-09-09 12:35:21 +02:00
proddy
df4aa64883 Change name of entity within WebUI #612 2022-09-09 12:33:15 +02:00
MichaelDvP
70f94322ee csv-header and online time translation 2022-09-06 19:43:42 +02:00
MichaelDvP
c2ccb4edda Help page DE 2022-09-06 19:42:41 +02:00
MichaelDvP
f42fafb25f unused solar values 2022-09-06 19:42:08 +02:00
proddy
0bccf9d358 text changes again 2022-09-06 18:10:53 +02:00
proddy
d3f105d9b9 minor updates to text 2022-09-06 18:08:14 +02:00
proddy
5c240316ee use GB flag instead of US 2022-09-06 17:45:12 +02:00
Proddy
2fde0c6d8c add flag to menubar - #22 2022-09-06 16:43:32 +02:00
proddy
76d78f34ee updates #22 2022-09-06 15:04:25 +02:00
MichaelDvP
3efb3a99e9 Merge pull request #611 from bbqkees/bbqkees-dutch-translations
Bbqkees dutch translations web and entities
2022-09-05 18:28:39 +02:00
Kees
65dfc3b878 Update locale_translations.h 2022-09-05 15:30:05 +02:00
Kees
b820aad3fc Update index.ts 2022-09-05 15:28:39 +02:00
MichaelDvP
09d4cae6f4 allow enum commands to use en or translation 2022-09-02 16:00:15 +02:00
MichaelDvP
85308e52a7 formatting, add missing text 2022-09-02 15:33:42 +02:00
MichaelDvP
4f42ae7efc console show handle enum/bool like web 2022-09-02 14:16:24 +02:00
MichaelDvP
7cc2eac79d add nl to entity translation 2022-09-02 14:15:49 +02:00
MichaelDvP
e3487b4845 add nl language to web, add more translations 2022-09-02 14:15:13 +02:00
MichaelDvP
354b2facf7 update packages 2022-09-02 14:04:39 +02:00
MichaelDvP
0d381fd5e9 more german translations 2022-08-30 18:23:19 +02:00
MichaelDvP
65b7d64e92 Thermostat: mode, RC30/35 timers, telegram 13, 2022-08-30 17:38:40 +02:00
MichaelDvP
e79115d719 offset to new dallas, remove sensors if disabled 2022-08-30 17:36:03 +02:00
MichaelDvP
be4f49e96d name known device_ids 2022-08-30 17:34:50 +02:00
MichaelDvP
6b24a71ad7 set NTP sync interval 1 hour 2022-08-30 17:29:41 +02:00
Proddy
1ccacdc600 translate network 2022-08-28 16:36:04 +02:00
Proddy
3ea71e1dfb translate NTP, AP, MQTT and User 2022-08-28 15:06:20 +02:00
proddy
d8e324a005 translate system menu 2022-08-28 10:44:22 +02:00
proddy
7122e878a5 upload translations 2022-08-27 13:02:04 +02:00
proddy
c8848a9e76 #596 2022-08-27 13:01:52 +02:00
Proddy
84499dab35 DE translations for Settings, Customizations and Help 2022-08-26 16:14:28 +02:00
proddy
e9c695f76a add back HA mqtt subscribe 2022-08-26 09:21:24 +02:00
proddy
029ade8dd6 update packages latest typescript 2022-08-26 08:25:21 +02:00
proddy
0ebb509205 restart after rx/tx gpio change 2022-08-26 08:25:07 +02:00
proddy
9fa59310d2 fix translating times 2022-08-25 23:04:41 +02:00
Proddy
1f8e6cc82b translate dashboard status 2022-08-25 15:50:23 +02:00
Proddy
1a4ce643fc Multi-language/I18n support #22 2022-08-24 21:50:19 +02:00
Proddy
763337db3f Merge pull request #603 from MichaelDvP/dev
AM200, RC100H, etc.
2022-08-20 09:31:44 +02:00
MichaelDvP
f6c5a4d064 fix #601 dhw modes for RC300 2022-08-18 12:40:29 +02:00
MichaelDvP
a20b6b59c9 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-08-18 12:37:13 +02:00
MichaelDvP
9a708a263c ignore tx-read errors for higher offsets 2022-08-11 12:47:07 +02:00
MichaelDvP
c78a42e42f fix offset of dummy reply 2022-08-11 11:22:49 +02:00
MichaelDvP
df555acc0e set wwFlowTempOffset to 100 2022-08-11 09:20:15 +02:00
MichaelDvP
bf1ce5150a map RC100H values to device and tag hc 2022-08-11 09:19:53 +02:00
MichaelDvP
b499d908ab handle telegrams from src only 2022-08-10 15:24:08 +02:00
MichaelDvP
029ef56edd hc checks for RC100H 2022-08-10 10:48:55 +02:00
MichaelDvP
70f52ce484 humidity, dewtemp as uint 2022-08-09 14:57:18 +02:00
MichaelDvP
a087974acb add RC100H remoteseltemp and temp correction 2022-08-09 08:36:46 +02:00
MichaelDvP
f96b13c3cd fix tag of wwStarts2 2022-08-09 08:11:59 +02:00
MichaelDvP
9cf89ee6f6 update comment, fix hp humidity scale 2022-08-08 17:36:14 +02:00
MichaelDvP
a5be7f4e38 reboot required when changing uart pins 2022-08-08 17:35:17 +02:00
MichaelDvP
d367c20a13 add disconnected banner to dashboard, #591 2022-08-08 09:58:13 +02:00
MichaelDvP
97132a4758 min/max settings for AM200 2022-08-08 09:57:28 +02:00
MichaelDvP
308b8fb779 fix position of am200 mixingvalves 2022-08-05 06:49:04 +02:00
MichaelDvP
79e0b80e51 no fetch for broadcasted remote telegrams 2022-08-05 06:48:09 +02:00
MichaelDvP
f79258f645 product_id 200 as thermostat RC100H, #590 2022-08-02 19:28:54 +02:00
Proddy
8d3bcde8d6 Merge pull request #589 from ichsteffen/dev
Update MqttSettingsForm.tsx
2022-07-30 16:55:36 +02:00
MichaelDvP
8ee70a1263 version/changelog 2022-07-30 14:50:40 +02:00
MichaelDvP
fb940269de AM200 settings #573 2022-07-30 14:50:23 +02:00
MichaelDvP
ec02e55635 Fix typo mqtt-base 2022-07-30 14:30:42 +02:00
ichsteffen
f87f18ca8e Update MqttSettingsForm.tsx 2022-07-30 14:14:52 +02:00
MichaelDvP
94afd8a3a6 rename telegrams am200 2022-07-27 07:34:16 +02:00
MichaelDvP
0d69a0a3db add ahs valve positions 0-100% 2022-07-26 07:06:25 +02:00
Proddy
beae2a2587 Merge pull request #586 from proddy/dev
link to device entity details
2022-07-25 19:40:16 +02:00
Proddy
a3a29132ab no need to add uique id to end of device type since it's unique anyway 2022-07-25 17:17:10 +02:00
Proddy
cdc04f987c update packages 2022-07-25 17:16:49 +02:00
Proddy
ba2ded1a5a wifi disconnect if Warning log 2022-07-24 15:20:23 +02:00
Proddy
d0a779b185 minor formatting 2022-07-24 13:40:08 +02:00
Proddy
d12879b07b link to device entity details from customization page 2022-07-24 13:39:52 +02:00
Proddy
d0bcbb8d1b Merge pull request #585 from MichaelDvP/dev
AM200, EM10 changes
2022-07-23 14:55:29 +02:00
Proddy
97257ac821 Merge pull request #583 from proddy/dev
minor changes when testing coldshot
2022-07-23 13:04:46 +02:00
Proddy
d5e19fdf5b updated mock doc 2022-07-23 13:03:42 +02:00
MichaelDvP
9c1d08c057 prevent reinitialization of all on first setting change 2022-07-23 10:40:44 +02:00
MichaelDvP
c4f4a440ac EM10 as gateway 2022-07-22 16:16:55 +02:00
MichaelDvP
8ebefebb0a don't show AM200 valves with unknown offset 2022-07-22 16:16:33 +02:00
Proddy
3b86d1b5aa minor text change 2022-07-22 15:56:54 +02:00
Proddy
505e339406 testing coldshot 2022-07-22 15:56:45 +02:00
Proddy
297134dd81 remove serial output if no serial selected during upload 2022-07-22 15:56:27 +02:00
Proddy
02989ec4b3 cleanup duplicate text 2022-07-22 15:56:11 +02:00
Proddy
9573869c7c fix compile errors with debug 2022-07-22 15:55:58 +02:00
MichaelDvP
295bbed4ae fix #581 2022-07-21 17:49:38 +02:00
MichaelDvP
c81e3e832a handle EM10 as switch 2022-07-21 17:48:28 +02:00
MichaelDvP
a018432b81 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-07-21 17:48:04 +02:00
MichaelDvP
6bc8a4b6c5 EM10 as switch 2022-07-21 08:57:48 +02:00
Proddy
32dcd7313b Merge pull request #579 from proddy/dev 2022-07-21 08:16:48 +02:00
Proddy
387c9c63f1 typo 2022-07-20 20:34:55 +02:00
Proddy
ca30b8233b fixes 2022-07-20 20:33:43 +02:00
Proddy
c3757f95e5 only send MQTT after shower finished 2022-07-20 12:04:01 +02:00
Proddy
66fbd2b359 show MQTT disconnects as warnings #543 2022-07-20 12:03:47 +02:00
Proddy
4420ae33b8 merge upload and download in webUI #577 2022-07-20 12:03:21 +02:00
Proddy
d707e92d59 formatting 2022-07-20 12:02:32 +02:00
MichaelDvP
273526dc16 check tags 2022-07-19 12:59:54 +02:00
MichaelDvP
ebc5cfa2d8 add tag "ahs" for alternative heating source 2022-07-19 07:50:37 +02:00
MichaelDvP
13430de3ba detect boiler with id 0x60 2022-07-18 21:04:53 +02:00
MichaelDvP
78dee6c7fe AM200 temperatures 2022-07-18 20:04:56 +02:00
MichaelDvP
43db536878 add EM10 error detection module 2022-07-18 19:43:59 +02:00
MichaelDvP
c765a274b2 AM200, first test 2022-07-18 17:20:05 +02:00
MichaelDvP
8101fcf95d button for help->info, file: .json.txt 2022-07-18 13:48:49 +02:00
Proddy
69568abb8a Merge pull request #572 from MichaelDvP/dev
fix automatic build
2022-07-13 00:26:22 +05:30
MichaelDvP
a14b43dbe2 update packages 2022-07-12 13:51:46 +02:00
Proddy
2fedd6da15 Merge pull request #571 from MichaelDvP/dev
FS_Buffer to 8k for customizations, fix#570
2022-07-12 14:36:20 +05:30
MichaelDvP
fc3224c9ea FS_Buffer to 8k for customizations 2022-07-12 10:27:35 +02:00
Proddy
39feb25600 Merge pull request #568 from proddy/dev
fix column size for temperature
2022-07-05 13:12:01 +02:00
proddy
eddbacf5a7 fix column size for temperature 2022-07-05 13:00:58 +02:00
Proddy
4e5b460447 Merge pull request #567 from proddy/dev
update table packages
2022-07-04 21:43:03 +02:00
Proddy
0e172ff06d update table packages 2022-07-04 21:42:35 +02:00
Proddy
40fa1d47bc Merge pull request #566 from MichaelDvP/dev 2022-06-30 11:56:58 +02:00
MichaelDvP
70fe08a3c8 fix #550 set_summermode 2022-06-27 16:45:32 +02:00
MichaelDvP
b840e2a6b5 Merge branch 'emsesp:dev' into dev 2022-06-27 14:38:58 +02:00
MichaelDvP
422657fbf7 fix #550
typo summersetmode/summermode
2022-06-27 14:26:56 +02:00
Proddy
da596a01b9 Merge pull request #563 from proddy/dev
optimize for mobile phone layout
2022-06-26 21:13:16 +02:00
Proddy
96d2fd2393 optimize for mobile phone layout 2022-06-26 21:12:21 +02:00
Proddy
42c9aeeed6 Merge pull request #562 from proddy/dev
fix multiline
2022-06-25 16:35:05 +02:00
Proddy
a9b32d8ba7 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-06-25 16:34:19 +02:00
Proddy
30da267db0 fix #547 2022-06-25 16:34:18 +02:00
Proddy
84f643e461 Merge pull request #561 from proddy/dev
table resizing fix
2022-06-25 14:28:07 +02:00
Proddy
6298fab94f Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-06-25 14:25:53 +02:00
Proddy
9639f9cee6 fix table column resizing #519 2022-06-25 14:25:51 +02:00
Proddy
4af1de4093 auto-formatting 2022-06-25 14:25:31 +02:00
Proddy
2c90a2c3aa 3.4.2b3 2022-06-25 14:25:11 +02:00
Proddy
254d4dd02d updated packages 2022-06-25 14:25:05 +02:00
Proddy
4eceeea4d1 3.4.2b3 2022-06-25 14:24:52 +02:00
MichaelDvP
efa5eb273c show summermode or operatingmode, fix #550 2022-06-25 09:51:15 +02:00
Proddy
8a05e11297 Merge pull request #560 from pswid/dev
Shorten "friendly names" in Home Assistant
2022-06-24 13:59:58 +02:00
pswid
1238e89084 add unit of measurement in HA for analog sensors 2022-06-21 20:39:52 +02:00
pswid
1c48d12167 Shorten "friendly names" in Home Assistant
see #555
2022-06-21 20:28:22 +02:00
Proddy
1fab47acd5 Merge pull request #558 from MichaelDvP/dev
burner max power to 254%, fix #553
2022-06-21 10:06:17 +02:00
MichaelDvP
0e563e91b1 burner max power to 254%, fix #553 2022-06-21 06:37:47 +02:00
Proddy
43b1a4572a Merge pull request #557 from MichaelDvP/dev 2022-06-20 22:21:54 +02:00
MichaelDvP
bf18718b9a shortname to wwVacations/wwHoliday to avoid conflict 2022-06-20 21:38:12 +02:00
Proddy
8790d81e03 Merge pull request #556 from MichaelDvP/dev
fix #554, add dhw vacation/holiday
2022-06-20 20:16:56 +02:00
MichaelDvP
0e5cb2df8e fix #554, add dhw vacation/holiday 2022-06-20 17:42:38 +02:00
Proddy
46c5913000 Merge pull request #552 from proddy/dev
update packages
2022-06-17 11:29:50 +02:00
Proddy
c35433856f update packages 2022-06-17 11:28:55 +02:00
Proddy
67f898bbec force removal of directories 2022-06-17 11:28:50 +02:00
Proddy
449c01d345 Merge pull request #551 from MichaelDvP/dev
fix #549, set minimum emergencyTemp to 15°C
2022-06-17 10:59:38 +02:00
MichaelDvP
cec1fce745 fix #549, set minimum emergencyTemp to 15°C 2022-06-15 09:56:25 +02:00
Proddy
a02d4ab259 Merge pull request #545 from MichaelDvP/dev
update OneWire lib #542
2022-06-07 21:19:25 +02:00
MichaelDvP
a22783a3e4 update OneWire lib 2022-06-07 08:18:56 +02:00
Proddy
9524ec1317 Merge pull request #544 from proddy/dev
minor fixes
2022-06-06 11:23:23 +02:00
proddy
64a7108e6d make it compile standalone 2022-06-06 11:20:16 +02:00
proddy
cf4818f09c update packages 2022-06-06 11:20:09 +02:00
proddy
98fb970dac add test for #541 2022-06-06 11:19:56 +02:00
Proddy
d162206f75 Merge pull request #540 from MichaelDvP/dev
WebStatus: add syslog count/fail, show only enabled services
2022-06-03 16:08:22 +02:00
MichaelDvP
1609b76f0a WebStatus:add syslog count/fail, show only enabled services 2022-06-03 13:39:26 +02:00
Proddy
794b3c0471 Merge pull request #538 from MichaelDvP/dev
fix #536 and uart task priority
2022-06-03 07:36:49 +02:00
MichaelDvP
e7bcc380e3 fix #536, FR100 datetime not writable 2022-06-02 18:34:02 +02:00
MichaelDvP
fe12f1903d uart higher prriority 2022-06-02 18:33:23 +02:00
Proddy
41ec4b9bcf Merge pull request #537 from proddy/dev
update packages
2022-06-02 14:54:01 +02:00
Proddy
f64dd00cce update packages 2022-06-02 14:53:38 +02:00
Proddy
5ef2f8292c Merge pull request #534 from MichaelDvP/dev
some small corrections
2022-05-30 12:11:14 +02:00
MichaelDvP
ae3ead6b10 some small corrections 2022-05-30 10:00:45 +02:00
Proddy
874f686882 Merge pull request #533 from proddy/dev
chamges for standalone compiling
2022-05-29 21:16:29 +02:00
Proddy
383c30f649 chamges for standalone compiling 2022-05-29 21:16:12 +02:00
Proddy
0b2c95fc4e Merge pull request #532 from MichaelDvP/idf4_no_master
Update to platformio2.3.0/IDF4/Arduino2.0, remove master themostat
2022-05-29 20:42:16 +02:00
MichaelDvP
eacdd62cc8 update changelog 2022-05-29 19:15:45 +02:00
MichaelDvP
a692eb557d Merge branch 'idf4' into idf4_no_master 2022-05-29 19:12:58 +02:00
MichaelDvP
99b6acfc07 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-29 19:07:32 +02:00
Proddy
fa486c8b60 Merge pull request #520 from tp1de/dev
Additions for RC310
2022-05-29 16:28:31 +02:00
Proddy
b19b3e5869 Merge branch 'dev' into dev 2022-05-29 16:28:15 +02:00
Proddy
e6bfd90235 Merge pull request #531 from proddy/dev
3.4.2b2
2022-05-29 16:20:12 +02:00
Proddy
072fe526ea 3.4.2b2 2022-05-29 16:19:55 +02:00
Proddy
18e9b99413 Merge remote-tracking branch 'origin/dev' into main 2022-05-29 16:16:38 +02:00
Proddy
e65f5072fe Merge pull request #527 from proddy/dev
various minor changes, including managing hidden entities in customization screen
2022-05-29 16:11:53 +02:00
Proddy
435218888a #513 2022-05-29 14:36:13 +02:00
Proddy
3e7b743dfa updated changelog for 3.4.1 2022-05-29 13:58:01 +02:00
Proddy
c693ef6307 update packages 2022-05-29 13:57:54 +02:00
Proddy
e4447ee1b9 improved icon toggling 2022-05-28 20:23:16 +02:00
Proddy
356390c92b fix standalone server for handling customizations 2022-05-28 15:27:08 +02:00
tp1de
ab6893adeb corrections nofrostmode 2022-05-28 13:16:40 +02:00
Proddy
55133b028a typo 2022-05-27 17:18:50 +02:00
Proddy
1fbd69b718 fixes to customizations 2022-05-27 17:16:23 +02:00
tp1de
97239268ac damping 2022-05-27 16:07:34 +02:00
tp1de
10bf065a2a Add damping to RC310 2022-05-27 16:00:18 +02:00
tp1de
107106d759 requested changes on PR from @MichaelDvP 2022-05-27 14:05:56 +02:00
tp1de
622a5db8d1 wwprio for RC310 thermostat 2022-05-27 11:07:21 +02:00
Proddy
1e082f941a customizations, swap shortname and fullname, using id as unique shortname 2022-05-27 09:49:32 +02:00
Proddy
8824f4f3da added formatName so hidden entities render nicely 2022-05-26 17:49:43 +02:00
Proddy
f8bf6b5cc8 fix isCmdOnly() function for commands like reset 2022-05-26 17:49:25 +02:00
Proddy
be844a5184 if no fullname, use shortname in customizations json 2022-05-26 17:49:04 +02:00
Proddy
6ec67f7417 rename ha_climate_config_creation 2022-05-26 17:48:34 +02:00
Proddy
2c468c7225 formatting 2022-05-26 17:48:18 +02:00
Proddy
af7cd7b009 rename generate_values_web_customization 2022-05-26 17:48:10 +02:00
Proddy
cba081379e rename generate_values_web_customization 2022-05-26 17:48:01 +02:00
Proddy
a9064baefc 3.4.1b1 2022-05-26 17:47:15 +02:00
Proddy
31627bb704 remove debug_flags 2022-05-26 17:47:04 +02:00
Proddy
c4cfabfbaf update test data for customizations 2022-05-26 17:46:51 +02:00
Proddy
9d25f8049c Merge pull request #525 from MichaelDvP/dev
fixes #522, #523, #524
2022-05-26 15:17:51 +02:00
MichaelDvP
2d50f18dcf changelog from 3.4.0 2022-05-26 13:34:51 +02:00
MichaelDvP
89b0711464 changelog 2022-05-26 13:05:37 +02:00
MichaelDvP
34cb3ad375 fix #524, free memory of json response 2022-05-26 12:43:10 +02:00
MichaelDvP
d2609e4291 fix #523, rename 'climate' to more explaning name 2022-05-26 12:42:55 +02:00
MichaelDvP
77a8857e2f fix #522, device-flag for IVT controller 2022-05-26 12:42:38 +02:00
tp1de
53d3bda326 Added switchonoptimization for RC310 2022-05-25 21:20:32 +02:00
tp1de
570588f498 delete obsolete reducetemp1 2022-05-25 20:01:56 +02:00
tp1de
60e1a93966 correct nofrostmodet1 & reducemode1 - just change enums ! 2022-05-25 14:22:12 +02:00
tp1de
3115fae807 Added enum_controlmode1 - Adjusted enum list for RC310 2022-05-25 13:38:50 +02:00
Thomas
c2767a866f Merge branch 'emsesp:dev' into dev 2022-05-25 09:54:53 +02:00
Proddy
60714b0b0b Merge pull request #521 from proddy/dev
React18 modifications
2022-05-24 22:50:52 +02:00
Proddy
c32cdf5d98 React18 modifications 2022-05-24 22:50:18 +02:00
tp1de
c1598f3d4e changelog 2022-05-24 20:08:10 +02:00
tp1de
94c45891b4 add nofrostmode1 for RC310 2022-05-24 19:51:37 +02:00
tp1de
9d3426877d reducemode1, reducetemp and noreducetemp for RC310 2022-05-24 16:53:01 +02:00
MichaelDvP
d3d9a9300b Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4_no_master 2022-05-24 07:15:23 +02:00
Proddy
472b97e89e update to 3.4.1b0 2022-05-23 21:34:00 +02:00
Proddy
a47e0e8266 update for 3.4.0 2022-05-23 21:20:45 +02:00
Proddy
f412ddc716 Merge remote-tracking branch 'origin/dev' into main 2022-05-23 21:20:36 +02:00
Proddy
859c5950f4 Merge pull request #518 from proddy/dev
autoformatting
2022-05-23 21:08:31 +02:00
Proddy
b9f63bcfb1 autoformatting 2022-05-23 21:08:00 +02:00
Proddy
86b79a2685 package update 2022-05-23 21:07:53 +02:00
MichaelDvP
c502aa7d1c Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4_no_master 2022-05-23 19:32:08 +02:00
Proddy
7f587070e5 Merge pull request #516 from proddy/dev
upgrade to react18
2022-05-23 17:56:59 +02:00
Proddy
e121b480ef Merge pull request #515 from tp1de/dev
emergencyops and emergencytemp for RC310
2022-05-23 09:22:19 +02:00
Proddy
22668d76ee upgrade to react18 2022-05-22 13:57:17 +02:00
tp1de
2c0c5ba425 emergencyops and emergencytemp for RC310 2022-05-21 13:57:31 +02:00
MichaelDvP
6670dfdf07 formatting 2022-05-21 11:36:38 +02:00
MichaelDvP
b426f4f904 Merge remote-tracking branch 'origin/dev' into idf4_no_master 2022-05-21 11:36:08 +02:00
Proddy
e8387b363f Merge pull request #514 from tp1de/dev
wwmaxtemp for RC310
2022-05-21 11:23:13 +02:00
MichaelDvP
a6e0280ac1 NPM update 2022-05-21 08:37:00 +02:00
tp1de
5ab22af9c3 correct boilers.h 2022-05-20 16:55:16 +02:00
tp1de
4263860760 Merge branch 'dev' of https://github.com/tp1de/EMS-ESP32 into dev 2022-05-20 15:14:10 +02:00
MichaelDvP
9a3668c16b Merge remote-tracking branch 'origin/dev' into idf4 2022-05-20 14:39:36 +02:00
MichaelDvP
3a538a97d6 Merge remote-tracking branch 'proddy/dev' into idf4_no_master 2022-05-20 13:24:05 +02:00
tp1de
c637dcbbd8 wwmaxtemp for RC310 2022-05-20 13:14:09 +02:00
Proddy
6c68f2950a Merge pull request #512 from proddy/dev
text changes, new screenshots
2022-05-20 12:48:44 +02:00
Proddy
9310f606ad change tooltips #504 2022-05-20 12:47:54 +02:00
Proddy
7ea6c542cf updated screenshots 2022-05-20 12:40:34 +02:00
Proddy
5b4c5b063d increase # devices supported 2022-05-20 12:40:27 +02:00
Proddy
8afb5b3a7c formatting 2022-05-20 12:40:07 +02:00
Proddy
8fbe2199f4 Merge pull request #510 from tp1de/dev
New entities for RC310 EMS+ Heating systems
2022-05-20 12:35:03 +02:00
Proddy
62a5254add Merge pull request #506 from MichaelDvP/dev
summermode for heatpump and HM200 hybridmodule
2022-05-20 10:42:27 +02:00
Proddy
ab5ba6fc80 Merge pull request #511 from proddy/dev
minor updates
2022-05-20 09:59:34 +02:00
Proddy
f9d46904f6 updated URL for api/system/info 2022-05-20 09:59:15 +02:00
Proddy
6545dbd483 updated packages 2022-05-20 09:58:53 +02:00
Proddy
353853af14 max must be a integer (changed 19.9 to 20) 2022-05-20 09:58:43 +02:00
tp1de
6fef3990a7 locale_EN.h 2022-05-20 00:13:56 +02:00
tp1de
571f5577d1 wwchargeoptimization UBAParameterWWPlus 2022-05-20 00:10:58 +02:00
Thomas
e2de89c763 Update locale_EN.h 2022-05-19 23:29:20 +02:00
tp1de
c481e1fe0f wwcomfort1 for UBAParameterWWPlus (RC310) 2022-05-19 16:59:03 +02:00
tp1de
9034c16e27 wwFlowTempOffset RC310 2022-05-18 18:11:17 +02:00
MichaelDvP
95927fc5d8 Merge branch 'idf4' into idf4_no_master 2022-05-18 18:03:31 +02:00
MichaelDvP
4023d7856b NPM update 2022-05-18 17:45:04 +02:00
MichaelDvP
8307753d53 fix uart crash with dev platform 2022-05-18 17:18:01 +02:00
MichaelDvP
c7fb339ee9 Merge branch 'dev' into idf4 2022-05-18 17:09:38 +02:00
MichaelDvP
ca50c5178a fix typos 2022-05-18 17:04:54 +02:00
MichaelDvP
33e58ec45a RC30 designtemp write, 2.fix #496 2022-05-18 07:05:11 +02:00
MichaelDvP
e175b5a5a2 heatpump summermode -> heatpump operatingsmode 2022-05-17 20:53:22 +02:00
MichaelDvP
6072606918 heatpump summer mode, fix #503 2022-05-17 12:50:34 +02:00
MichaelDvP
3a04e891b4 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-05-17 12:21:51 +02:00
Proddy
862cc8d982 Merge pull request #502 from proddy/dev
#501
2022-05-16 21:30:40 +02:00
Proddy
fc29a3ad95 replace api/settings and customizatons with secure REST calls #501 2022-05-16 21:30:06 +02:00
Proddy
ae9af3bf0b update packages 2022-05-16 21:29:39 +02:00
Proddy
1bdaaf0d0e Merge branch 'emsesp:dev' into dev 2022-05-15 10:44:52 +02:00
MichaelDvP
f3e99f9092 Add HM200 hybrid manager as heatpump 2022-05-15 08:58:28 +02:00
Proddy
ba315f2159 Merge pull request #497 from MichaelDvP/dev
fix #496, RC30 design temp
2022-05-14 21:06:39 +02:00
MichaelDvP
1863e57f5b fix #496, RC30 design temp 2022-05-12 18:21:30 +02:00
MichaelDvP
a0454943a7 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into idf4_no_master 2022-05-10 14:01:31 +02:00
MichaelDvP
a3130d498e Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into idf4 2022-05-10 13:44:22 +02:00
MichaelDvP
3168438d6f LITTLEFS->LittleFS 2022-05-10 13:26:50 +02:00
MichaelDvP
9202d799c6 npm update 2022-05-10 13:26:35 +02:00
MichaelDvP
c9f10fb5cc uart isr to IRAM 2022-05-10 12:42:46 +02:00
MichaelDvP
b3fde5a2da Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into idf4 2022-05-10 12:40:45 +02:00
MichaelDvP
8339fc735c uart in IRAM 2022-05-10 12:36:42 +02:00
MichaelDvP
3e2f7a5976 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4_no_master 2022-05-10 09:59:15 +02:00
MichaelDvP
9c732ae19f uart back 2022-05-10 09:59:04 +02:00
Proddy
7e26c0633a Merge branch 'emsesp:dev' into dev 2022-05-08 20:14:16 +02:00
Proddy
226a557d5c prevent build failing 2022-05-08 20:13:48 +02:00
Proddy
08021138ae Merge branch 'emsesp:dev' into dev 2022-05-08 20:11:32 +02:00
MichaelDvP
b16fa6d5c0 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4_no_master 2022-05-08 18:21:48 +02:00
MichaelDvP
6203eedbe5 uart 2022-05-08 17:27:56 +02:00
Proddy
db8c30ddbb fix for customizations after upload new file 2022-05-08 17:02:38 +02:00
Proddy
0e9202ae4d change to saving customization file after upload 2022-05-08 17:01:38 +02:00
Proddy
85f6628718 Merge pull request #495 from proddy/dev
standalone compiling fix
2022-05-08 15:02:25 +02:00
Proddy
8dab64b9bb Merge branch 'emsesp:dev' into dev 2022-05-08 15:01:44 +02:00
Proddy
8b521aa572 fix standalone compiling 2022-05-08 15:01:04 +02:00
Proddy
663fd22e03 Merge pull request #494 from proddy/dev
Feature: upload customization settings from a file #256
2022-05-08 14:59:16 +02:00
Proddy
1f933fb26a updates for #256 2022-05-08 14:58:41 +02:00
Proddy
0faa56f5ff Merge branch 'emsesp:dev' into dev 2022-05-08 12:57:33 +02:00
Proddy
9c2aac31b6 Merge pull request #493 from MichaelDvP/dev
api entitiy attributes with hcs
2022-05-08 12:57:12 +02:00
MichaelDvP
fdab56936f Merge branch 'dev' into idf4_no_master 2022-05-08 11:35:04 +02:00
MichaelDvP
c0aa263f2b parse_command checks prefix-numbers and prefix id 2022-05-08 11:19:12 +02:00
MichaelDvP
6c151654cc parse_command 2022-05-08 10:33:17 +02:00
Proddy
87c9d4d823 fix duplication 2022-05-07 18:41:42 +02:00
Proddy
fd53999777 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-05-07 18:40:21 +02:00
Proddy
ce60bd10b6 telnet and analog on by default 2022-05-07 17:50:36 +02:00
Proddy
ee0492771d text change 2022-05-07 17:50:22 +02:00
Proddy
964e75e191 minor change 2022-05-07 17:50:10 +02:00
Proddy
cb16be6b1d remove id from User 2022-05-07 17:50:00 +02:00
Proddy
84a2a7340c comments 2022-05-07 17:49:49 +02:00
Proddy
a383925661 fix axios error reporting 2022-05-07 17:49:36 +02:00
Proddy
c49928bf3b remove id in User 2022-05-07 17:49:27 +02:00
Proddy
02fc57961b remove id 2022-05-07 17:49:15 +02:00
Proddy
9923b60d64 Feature: upload customization settings from a file #256 2022-05-07 17:49:02 +02:00
Proddy
f243162724 comments 2022-05-07 17:46:49 +02:00
Proddy
b35ab94509 upload script example 2022-05-07 17:46:31 +02:00
Proddy
4f399b51f5 package updates 2022-05-07 17:46:13 +02:00
MichaelDvP
9e14b34e1f uart, tx-mode 1 check buffersize, change event-task 2022-05-07 15:34:58 +02:00
MichaelDvP
bf54ee2e9d Merge branch 'dev' into idf4 2022-05-07 15:31:54 +02:00
MichaelDvP
9d2ed1cdbd uart, tx-mode 1 check buffersize 2022-05-07 15:29:11 +02:00
MichaelDvP
db9237451f Merge branch 'dev' of https://github.com/MichaelDvP/EMS-ESP32 into idf4_no_master 2022-05-06 17:54:34 +02:00
MichaelDvP
6277fbbea1 api entitiy attributes with hcs 2022-05-06 13:32:18 +02:00
Proddy
1b21e02b7a Merge pull request #492 from MichaelDvP/dev
some small fixes
2022-05-06 12:42:43 +02:00
MichaelDvP
1a5b012545 csv utf-8 with semicolon and Intl.Number format 2022-05-06 12:15:25 +02:00
MichaelDvP
f4aa4ed912 allow id for attribute 2022-05-06 12:02:56 +02:00
MichaelDvP
d075ee3111 Merge branch 'dev_no_master_thermostat' into idf4_no_master 2022-05-06 12:01:38 +02:00
MichaelDvP
5917238a62 Merge branch 'dev_' into idf4 2022-05-06 08:12:02 +02:00
MichaelDvP
b2429e3cff charset for plain text output 2022-05-06 07:59:48 +02:00
MichaelDvP
90aa385326 shower-times in system/settings 2022-05-06 07:59:07 +02:00
MichaelDvP
39d9eec890 mdns in lib_standanlone 2022-05-06 07:58:22 +02:00
MichaelDvP
cfff3a4b4a enableMDNS to lib_standalone 2022-05-05 16:56:33 +02:00
MichaelDvP
5abbec9dea uart: larger queue, check buffer and telegram 2022-05-05 06:59:34 +02:00
MichaelDvP
7b6ca7cd73 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-04 16:04:46 +02:00
Proddy
b3f0ba348a Merge pull request #489 from MichaelDvP/dev
options for mDNS and dashboard boolean format
2022-05-04 15:54:11 +02:00
MichaelDvP
5d2f648d03 add option for rendering booleans on Dashboard #456 2022-05-04 15:46:23 +02:00
MichaelDvP
e00da5a721 add option to switch mDNS off/on 2022-05-04 14:14:17 +02:00
MichaelDvP
ca7bea3f24 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-04 07:10:13 +02:00
Proddy
d344924a3c Merge pull request #488 from proddy/dev
remove comments, render nicer on mobiles
2022-05-03 22:21:34 +02:00
Proddy
7f405e5212 Merge branch 'emsesp:dev' into dev 2022-05-03 22:21:13 +02:00
Proddy
c2f38396eb Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-05-03 22:20:57 +02:00
Proddy
501726c6ad remove comments, render nicer on mobiles 2022-05-03 22:20:55 +02:00
Proddy
d07f18bd41 Merge pull request #487 from proddy/dev
table formatting again
2022-05-03 19:51:00 +02:00
Proddy
931782df1c Merge branch 'emsesp:dev' into dev 2022-05-03 19:50:42 +02:00
Proddy
8e65e31ed6 table formatting 2022-05-03 19:50:07 +02:00
MichaelDvP
221e28c996 uart checks 2022-05-03 07:32:51 +02:00
MichaelDvP
579c869688 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-02 15:42:02 +02:00
Proddy
8a4decd48b Merge pull request #486 from proddy/dev
minor formatting changes to table headers
2022-05-02 15:12:43 +02:00
Proddy
66b3572dfe Merge branch 'emsesp:dev' into dev 2022-05-02 15:12:19 +02:00
Proddy
7172ed303e make table headers consistent 2022-05-02 15:11:57 +02:00
Proddy
883c81320b package updates 2022-05-02 15:11:42 +02:00
Proddy
7ad1251c89 Merge pull request #485 from proddy/dev
attributes via API #462
2022-05-02 13:10:40 +02:00
Proddy
75317d278d Merge branch 'emsesp:dev' into dev 2022-05-02 13:10:13 +02:00
Proddy
5438d7bbd9 API extract individual attributes - #462 2022-05-02 13:08:31 +02:00
MichaelDvP
8dc5f0a5ac use development platform 2022-05-02 13:01:10 +02:00
MichaelDvP
9c38987dd4 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-02 11:21:35 +02:00
MichaelDvP
0c6c7f999f replace OneWire 2022-05-02 11:19:48 +02:00
Proddy
2ae5d4dcf5 Merge pull request #484 from proddy/dev
added shower commands & some refactoring
2022-05-01 23:00:28 +02:00
Proddy
473b870035 Merge branch 'emsesp:dev' into dev 2022-05-01 22:59:56 +02:00
Proddy
5e9e995e4b added shower trigger and coldshot times - #436 2022-05-01 22:59:35 +02:00
Proddy
270b81fafd static code analysis warning fixes 2022-05-01 22:59:17 +02:00
Proddy
191e47eb14 rename value to stop static code analysis complaining 2022-05-01 22:58:50 +02:00
MichaelDvP
dc9c21fc65 packages, platform, typo 2022-05-01 19:10:25 +02:00
MichaelDvP
1afa21c199 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into idf4 2022-05-01 18:15:34 +02:00
MichaelDvP
7dc65a8c98 tasmota forc of if2.0.3 2022-05-01 18:14:09 +02:00
Proddy
20ff1725e7 Merge pull request #483 from proddy/dev
update react dropzone
2022-05-01 17:54:29 +02:00
Proddy
a0759f68b2 Merge branch 'emsesp:dev' into dev 2022-05-01 17:53:59 +02:00
proddy
08135baae6 update dropzone 2022-05-01 17:53:41 +02:00
Proddy
bf40d8feaf Merge pull request #482 from proddy/dev
make value sortable, it doesn't really make sense but it fixes the formatting alignment issues
2022-05-01 16:41:29 +02:00
Proddy
2c54cafdb6 Merge branch 'emsesp:dev' into dev 2022-05-01 16:40:40 +02:00
Proddy
3ff75db00a add more minor formatting 2022-05-01 16:35:45 +02:00
Proddy
469677aba5 Merge pull request #481 from proddy/dev
table formatting, upgrade packages & arduinojson, fix mqtt retry
2022-05-01 16:04:46 +02:00
Proddy
da2c81818e table formatting 2022-05-01 16:02:48 +02:00
Proddy
c1a71afd77 update ArduinoJson to 6.19.4 2022-05-01 15:54:49 +02:00
Proddy
7fe2b843e6 b14 2022-05-01 15:54:07 +02:00
Proddy
2c490e4148 possible fix for #476 2022-05-01 15:43:36 +02:00
Proddy
6241999d2f more formatting 2022-05-01 15:38:58 +02:00
Proddy
6b315d52a8 update axioserror 2022-05-01 13:12:40 +02:00
Proddy
0143e89e27 table formatting 2022-05-01 13:12:30 +02:00
Proddy
7130513593 update packages 2022-05-01 13:12:05 +02:00
Proddy
a721826821 fix Updating table component in the WebUI to support sorting & filtering #470 2022-05-01 13:00:48 +02:00
MichaelDvP
53e3600af7 uart driver installed, events 2022-04-29 11:52:39 +02:00
MichaelDvP
43d838548b faster network reconnect 2022-04-29 11:51:55 +02:00
MichaelDvP
5b6c0317f6 set platform 2022-04-25 18:21:01 +02:00
MichaelDvP
9fe0ee119b 1. try to fix uart, irq called not only on brk-irq? 2022-04-25 17:21:27 +02:00
MichaelDvP
c70d0352ea DHCP (works with framewaork 3.5.0) 2022-04-25 17:09:40 +02:00
MichaelDvP
9a8449e4fe NTP Settings 2022-04-25 17:08:44 +02:00
MichaelDvP
fa166483bb SYSTEM_EVENT.. to ARDUINO_EVENT_... 2022-04-25 17:07:52 +02:00
MichaelDvP
986b4df997 use buildin LittleFS 2022-04-25 17:02:50 +02:00
MichaelDvP
fbec88f6c8 OneWire check arduino version 2022-04-25 16:56:35 +02:00
MichaelDvP
adc88d53d3 update mbedtsl (works also for framework 3.5.0) 2022-04-25 16:55:51 +02:00
MichaelDvP
ab17dd5812 Cell height for multiline values 2022-04-25 16:23:48 +02:00
Proddy
cc42ac3584 Merge pull request #478 from MichaelDvP/dev
fix #476 and some names
2022-04-25 09:02:54 -04:00
MichaelDvP
4bba52a09e native boolean values in commands, fix #476 2022-04-25 14:38:12 +02:00
MichaelDvP
00abae10ac network security names fixed 2022-04-25 14:37:15 +02:00
MichaelDvP
eafec3045d hp full names lower case (see #450) 2022-04-25 14:36:21 +02:00
Proddy
343d0a7baa fix arduino core to 3.5.0 for ci jobs 2022-04-24 19:28:40 -04:00
Proddy
b688f6f7d0 b13 2022-04-24 19:21:44 -04:00
Proddy
9cc03948fa Merge pull request #475 from proddy/dev
Changes to Table (sorting, format, search)
2022-04-24 19:20:16 -04:00
proddy
c80d5c6bbf fix sort when click on icon and 3-way sort cycle 2022-04-24 19:18:19 -04:00
proddy
271b36c602 update packages 2022-04-24 19:18:02 -04:00
proddy
b2a885bf3f hide web also deselects favourite 2022-04-24 14:20:49 -04:00
proddy
c0c33d80c7 fix typo in sorting 2022-04-24 14:20:30 -04:00
proddy
9ff497914e fix to arduino 3.5.0 2022-04-24 14:20:16 -04:00
proddy
726b4fcc0b more updates to tables 2022-04-20 18:06:35 -04:00
proddy
56860da4af remove TODO on sorting 2022-04-20 18:06:26 -04:00
Proddy
929a97622c Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-04-19 17:22:21 +02:00
Proddy
09d25c04bc add search 2022-04-19 17:22:20 +02:00
Proddy
15f5f55833 Merge branch 'emsesp:dev' into dev 2022-04-19 12:25:11 +02:00
Proddy
a243b0a853 Merge pull request #472 from bavo/fix-selected-temp-range
Increase range for the selected_room_temperature variable
2022-04-19 12:24:56 +02:00
bavo
d76a838165 Increase range for the selected_room_temperature variable 2022-04-19 12:14:38 +02:00
Proddy
22595b0f24 show resize column header bars, disable default sorting 2022-04-18 12:54:44 +02:00
Proddy
9f6bbac8ce formatting 2022-04-18 11:05:38 +02:00
Proddy
101f94bea6 Merge pull request #5 from proddy/newtable
Newtable
2022-04-17 20:58:26 +02:00
proddy
52847b06f4 text changes 2022-04-17 20:53:53 +02:00
proddy
3c9cad2717 add set all enabled button 2022-04-17 20:52:24 +02:00
proddy
3acb9c456e formatting 2022-04-16 18:16:01 +02:00
Proddy
615e86d177 update 2022-04-16 16:58:49 +02:00
proddy
9d7820d155 togglebutton 2022-04-16 15:31:46 +02:00
Proddy
275044bd78 customizations table part 1 2022-04-16 09:04:34 +02:00
Proddy
2f21c896a6 fix dallas sensor checking 2022-04-15 18:40:35 +02:00
Proddy
04a374c380 more tables 2022-04-15 16:22:05 +02:00
Proddy
4b3b9524ef changes to backend, some refactoring 2022-04-15 13:04:52 +02:00
Proddy
9e293136b9 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into newtable 2022-04-15 08:11:20 +02:00
Proddy
45cda9b0cc Merge pull request #471 from MichaelDvP/dev
Additions for #437, #459, #464
2022-04-14 18:26:46 +02:00
Proddy
cd5fef6891 add export button 2022-04-14 18:25:50 +02:00
MichaelDvP
a9a11f464b add comment to boiler: hybrid heatpump 2022-04-14 11:59:44 +02:00
Proddy
2a4288e11d initial commit with new table code 2022-04-14 11:44:01 +02:00
MichaelDvP
47410ce6cc Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_ 2022-04-14 07:38:32 +02:00
MichaelDvP
f9207ecd0f Merge branch 'dev_' into dev_no_master_thermostat 2022-04-14 07:27:07 +02:00
Proddy
fdefd02812 Merge pull request #467 from kwertie01/feature/moduline400WWandTimer
Feature Moduline 400 WW settings and timer clock program
2022-04-13 23:21:51 +02:00
Friso
4cdeef212d fixed T1 to T4 for RC20 2022-04-13 11:18:28 +02:00
Friso
258db5c7e8 disable usage of T0 for RC30 in set_switchtime 2022-04-13 11:09:31 +02:00
Friso
b59ef15cae fixed set_switchtemp, process_RC20Timer 2022-04-13 09:17:22 +02:00
MichaelDvP
94f5d4d503 fix set_switchtime 2022-04-12 18:56:23 +02:00
Friso
9ed2a99f50 fix duplicate functions after rebase 2022-04-12 07:00:41 +02:00
Friso
9f86444e0a Merge branch 'feature/moduline400WWandTimer' of https://github.com/kwertie01/EMS-ESP32 into feature/moduline400WWandTimer 2022-04-12 06:35:33 +02:00
kwertie01
7bad5d10d8 fix sunday in dayofweek enum 2022-04-12 06:34:13 +02:00
kwertie01
f23bf270d0 fix wrong offset in set_party 2022-04-12 06:34:13 +02:00
kwertie01
8839909425 Added Moduline 400 WW settings and clock program 2022-04-12 06:34:13 +02:00
MichaelDvP
ec1b0b3641 add IPM ww-parameters to mixer 2022-04-11 15:03:07 +02:00
kwertie01
5882218cff fix sunday in dayofweek enum 2022-04-11 11:59:29 +02:00
kwertie01
cffc2695dd fix wrong offset in set_party 2022-04-11 11:57:42 +02:00
kwertie01
49eb049533 Added Moduline 400 WW settings and clock program 2022-04-11 11:43:15 +02:00
MichaelDvP
4009a1a25c b12, cleanup, formatting, small fixes 2022-04-11 10:20:40 +02:00
MichaelDvP
eec4d7863d move Hybrid settings to thermostat 2022-04-10 18:25:11 +02:00
MichaelDvP
0d79138e0b product-id 100 is mixer with max wwc10, add handlers_ignored 2022-04-10 14:37:43 +02:00
MichaelDvP
75914da36a thermostat switchpoints allow T1-T4 2022-04-10 14:35:55 +02:00
MichaelDvP
cf876acc5d rename hybrid entities 2022-04-10 14:34:10 +02:00
MichaelDvP
6d6cb755e2 update hybrid heatpump #459 2022-04-10 10:03:36 +02:00
Proddy
555b1ad996 Merge pull request #460 from MichaelDvP/dev
add Hybrid Heatpump
2022-04-08 17:25:52 +02:00
MichaelDvP
15a8d6dbf1 add Hybrid Heatpump 2022-04-08 15:30:34 +02:00
Proddy
c3256824b2 Merge pull request #458 from MichaelDvP/dev
mqtt HA uses only json, disable single
2022-04-08 13:42:15 +02:00
MichaelDvP
9c68142a0d mqtt HA uses only json, disable single 2022-04-08 11:58:48 +02:00
Proddy
b496f7731a Merge pull request #457 from MichaelDvP/dev
Changes #450
2022-04-08 11:13:00 +02:00
MichaelDvP
d203092ba7 Don't show banner while uploading 2022-04-08 10:03:05 +02:00
MichaelDvP
f771bb8043 add clock to controller #439 2022-04-08 10:02:24 +02:00
MichaelDvP
f9b2a71b86 tag to wwstarts2, thermostat clock format, formatting 2022-04-08 10:01:46 +02:00
Proddy
8479be5bd4 Merge pull request #455 from proddy/dev
mqtt clean session default off #441
2022-04-08 07:47:01 +02:00
Proddy
4eddad2cf1 mqtt clean session default off #441 2022-04-08 07:46:18 +02:00
Proddy
8b31e8a9c4 Merge pull request #453 from proddy/dev
updated changelog for Moduline updates
2022-04-06 20:23:35 +02:00
Proddy
d5245f7e7c added missing v3.3.1 to the changelog history 2022-04-06 20:22:14 +02:00
Proddy
56bb5433a0 updated packages 2022-04-06 20:20:24 +02:00
Proddy
3d8396a35a added moduline 400 additions 2022-04-06 20:20:18 +02:00
Proddy
1a58f76ab7 Merge pull request #449 from kwertie01/feature/moduline400
added moduline 400 installation parameters
2022-04-06 10:15:26 +02:00
Proddy
4279962e59 Merge pull request #452 from proddy/dev
saving customizations would overwrite previous settings
2022-04-05 23:29:30 +02:00
Proddy
503df0842b fix saving customizatons #450 2022-04-05 23:28:34 +02:00
Proddy
4a93adb1f8 remove aliases 2022-04-05 23:28:10 +02:00
kwertie01
2674b3a20e added moduline 400 installation parameters 2022-04-05 08:23:30 +02:00
Proddy
3d072f73b7 Merge pull request #447 from proddy/dev
changes per #444
2022-04-04 21:47:12 +02:00
Proddy
4fc5932899 only send back changed entities, put in limit at 50 #444 2022-04-04 21:44:51 +02:00
Proddy
077c20fd34 minor formatting 2022-04-04 21:44:23 +02:00
Proddy
d9716ceb42 added debug line for customization 2022-04-04 21:43:30 +02:00
Proddy
51af4b32d2 removed comments 2022-04-04 21:43:08 +02:00
Proddy
08cae822f1 Merge pull request #445 from MichaelDvP/dev
Status of changes for the last issues
2022-04-04 15:24:59 +02:00
MichaelDvP
30d6fc0fc1 customization buffer 4k, log(debug) buffer size 2022-04-04 12:03:39 +02:00
MichaelDvP
462bf81be1 ntp status and time button 2022-04-04 11:58:53 +02:00
MichaelDvP
26758b965d ivt clock check dst 2022-04-04 11:11:37 +02:00
MichaelDvP
917e4f5cbf check/format solar 2022-04-04 11:10:52 +02:00
MichaelDvP
f02621d1d8 formatting 2022-04-03 19:18:05 +02:00
MichaelDvP
45e0998172 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2022-04-03 18:35:00 +02:00
MichaelDvP
755368440b customization advice with selected icons 2022-04-03 18:34:38 +02:00
MichaelDvP
728ccaefa7 dont set ivt clock automaically 2022-04-03 18:34:09 +02:00
Proddy
ecaa0ec4bb Merge pull request #442 from proddy/dev
fix changing masks for customizations
2022-04-03 17:50:13 +02:00
MichaelDvP
d94eb26fa8 solar mqtt 2022-04-03 13:49:17 +02:00
Proddy
9774661a40 send complete list of entites to server 2022-04-03 13:44:54 +02:00
Proddy
38128f7864 changes to mask_entity() 2022-04-03 13:44:37 +02:00
Proddy
1f8213e315 changes for handling entities in customization 2022-04-03 13:44:02 +02:00
Proddy
fce9a25280 add const function 2022-04-03 13:43:37 +02:00
Proddy
b2de5d47dd small code changes 2022-04-03 13:43:24 +02:00
Proddy
77f583f91f only add entities who's mask has changed to list 2022-04-03 13:43:08 +02:00
Proddy
4a56726f61 bump version 2022-04-03 13:42:32 +02:00
Proddy
4f3dacf81a make deviceentity.w mandatory 2022-04-03 13:42:18 +02:00
Proddy
14593f6a51 reset some test data 2022-04-03 13:41:57 +02:00
Proddy
ae16d01734 add comment about has_cmd 2022-04-03 13:41:38 +02:00
MichaelDvP
6069af3e90 ISM2 missing values, ISM2dhw in solar class 2022-04-03 09:43:53 +02:00
MichaelDvP
4c2408dfda add ISM2 and DHW module #437 2022-04-02 19:10:04 +02:00
Proddy
0bd122b643 Merge pull request #435 from MichaelDvP/dev
check readonly before set datetime to thermostat
2022-04-02 10:19:13 +02:00
MichaelDvP
d747ba0b14 check readonly before set datetime to thermostat 2022-04-02 10:12:08 +02:00
Proddy
91484fd09f Merge pull request #434 from proddy/dev
smaller icons in customization table
2022-04-01 09:17:12 +02:00
Proddy
d427a4bd6c smaller icons 2022-04-01 09:16:12 +02:00
Proddy
b455827c17 Merge branch 'emsesp:dev' into dev 2022-04-01 09:15:48 +02:00
Proddy
b6363957a8 Merge pull request #432 from MichaelDvP/dev
fix/optimization for mode/temperature set
2022-04-01 09:12:25 +02:00
Proddy
ad27f76c4a update packages 2022-03-31 21:50:19 +02:00
MichaelDvP
eeec7142c7 fix mode preset after change for different thermostats 2022-03-31 13:59:57 +02:00
MichaelDvP
efd758d627 seltemp command, check mode first for RC30_n and Junkers 2022-03-31 12:44:39 +02:00
Proddy
608d5e332d Merge pull request #431 from proddy/dev
minor updates to customization test data and layout
2022-03-30 21:05:29 +02:00
proddy
cf4fa9e76d formatting icon table 2022-03-30 20:59:57 +02:00
proddy
2ebb77ff37 don't prefix a count with more than 1 thermostats 2022-03-30 20:59:47 +02:00
proddy
744154ccf4 make customization change test data 2022-03-30 20:59:30 +02:00
Proddy
90c38d0403 Merge pull request #430 from MichaelDvP/dev
Errormessage
2022-03-30 17:51:53 +02:00
MichaelDvP
55d7ef1036 boiler Errormessage 0xBF to trigger 0xC2 reading 2022-03-30 15:56:05 +02:00
MichaelDvP
7c37c9a4c8 recreate ha config on readonly changes 2022-03-30 15:55:24 +02:00
Proddy
54d09ceb51 Merge pull request #429 from proddy/dev
updates to customization screen
2022-03-30 13:16:40 +02:00
proddy
84e21ab992 layout changes to help text 2022-03-30 13:15:48 +02:00
proddy
cb9ddb299a show commands differently 2022-03-30 13:15:38 +02:00
proddy
9e5fdb7cb1 use boolean rendering to fix Web errors with enums 2022-03-30 13:15:25 +02:00
Proddy
97c1d6d73a Merge pull request #427 from MichaelDvP/dev
add NTP status to mqtt/ha (heartbeat) and log
2022-03-29 20:28:47 +02:00
Proddy
0f0fc2a8f7 Merge pull request #426 from proddy/dev
#418
2022-03-29 18:41:24 +02:00
Proddy
c41344e2a5 Merge branch 'emsesp:dev' into dev 2022-03-29 18:40:59 +02:00
MichaelDvP
07b438f6f0 add NTP status to mqtt/ha (heartbeat) and log 2022-03-29 18:40:32 +02:00
proddy
2bf7bf3071 Merge branch 'dev' of https://github.com/proddy/EMS-ESP32 into dev 2022-03-29 18:38:25 +02:00
proddy
5096964825 put total at start of description #418 2022-03-29 18:38:23 +02:00
Proddy
b96c2a731c Merge pull request #425 from proddy/dev
more icons to dashboard
2022-03-29 18:33:58 +02:00
Proddy
4f1b768b6c Merge branch 'emsesp:dev' into dev 2022-03-29 18:33:17 +02:00
proddy
d3002ce415 show all mask icons 2022-03-29 18:32:47 +02:00
proddy
a5ba70a6d7 some cosmetic changes 2022-03-29 18:32:28 +02:00
proddy
4118a576de enum for dv flags 2022-03-29 18:15:55 +02:00
proddy
4bcbcf4e3a update test data 2022-03-29 18:15:38 +02:00
proddy
9775cc796a update packages 2022-03-29 18:15:29 +02:00
Proddy
d269029bb1 Merge pull request #424 from MichaelDvP/dev
try to fix #408 and #412
2022-03-29 16:35:12 +02:00
MichaelDvP
786a94b448 try to fix #408 and #412 2022-03-29 15:30:39 +02:00
Proddy
80c87c8c43 Merge pull request #423 from MichaelDvP/dev
remove `(hidden)` text, force exclude from web icon
2022-03-29 12:16:16 +02:00
MichaelDvP
39d78fb444 remove (hidden) text, force exclude from web icon 2022-03-29 10:38:05 +02:00
Proddy
ac1de4c995 Merge pull request #422 from proddy/dev
Michael's PR merged (dv sort, remove id)
2022-03-29 09:06:53 +02:00
proddy
6f347bd49e Michael's PR merged (dv sort, remove id) 2022-03-29 09:06:09 +02:00
Proddy
cc31143a6c Merge pull request #421 from proddy/dev
fixes #411
2022-03-28 17:52:44 +02:00
proddy
86430c6408 updated packages 2022-03-28 17:52:07 +02:00
proddy
1cc031b27b minor optimizations 2022-03-28 17:50:51 +02:00
proddy
592c5ca778 fix devicevalue sorting the Michael way (thanks) 2022-03-28 17:50:33 +02:00
proddy
bad6346e7a update test data 2022-03-28 17:50:06 +02:00
proddy
cf10791c95 remove tooltip, add icons for fav and cmd 2022-03-28 17:49:57 +02:00
proddy
3f68c0001e formatting 2022-03-28 17:49:38 +02:00
Proddy
07ec5c3b12 Merge pull request #417 from MichaelDvP/dev
fix #412, daylightsaving with manual time setting
2022-03-28 10:38:53 +02:00
MichaelDvP
2d8f97ff35 fix #412, daylightsaving with manual time setting 2022-03-28 09:47:56 +02:00
Proddy
28ae1ae3d4 Merge pull request #416 from proddy/dev
Dev
2022-03-27 23:19:52 +02:00
Proddy
b9e1c0ba56 Merge branch 'emsesp:dev' into dev 2022-03-27 23:18:14 +02:00
proddy
317cc8eeee ignore lint error so build works 2022-03-27 23:16:12 +02:00
proddy
3ddee386b2 code optimization 2022-03-27 23:16:02 +02:00
Proddy
9f946f3514 Merge pull request #414 from proddy/dev
code optimizations
2022-03-27 22:48:27 +02:00
Proddy
904198013e Merge branch 'emsesp:dev' into dev 2022-03-27 22:47:51 +02:00
proddy
ac7c7cee84 code optimizations 2022-03-27 22:47:16 +02:00
Proddy
6c3d33d4a1 Merge pull request #413 from proddy/dev
rename exclude_entities to masked_entities - fixes for #411
2022-03-27 22:19:35 +02:00
proddy
3853c6ca18 added tooltip back to be consistent with other table actions 2022-03-27 22:14:20 +02:00
proddy
f3b7d33372 bump b10 2022-03-27 22:13:13 +02:00
proddy
7a67577aa1 added w (writeable) 2022-03-27 22:13:04 +02:00
proddy
fe3e02cb2e added tooltip 2022-03-27 22:12:49 +02:00
proddy
821d7845f0 updated b10 2022-03-27 22:12:21 +02:00
proddy
f7709e19fd added w (Writable) to generate_values_web and sort by favorite 2022-03-27 22:12:11 +02:00
proddy
fdfc5e0e68 include name of device in options 2022-03-27 19:57:11 +02:00
proddy
b331a07b69 add masks to customize screen 2022-03-27 19:56:54 +02:00
proddy
f5bf566e66 remove aria-label 2022-03-27 19:56:35 +02:00
proddy
f80d796333 use mask flags 2022-03-27 16:21:12 +02:00
proddy
afd55c52e5 formatting 2022-03-27 16:20:42 +02:00
proddy
b4cc300190 fix lint warning 2022-03-27 16:20:32 +02:00
proddy
03af305761 send state to WebUI (only the high nibble mask bits) 2022-03-27 16:20:19 +02:00
proddy
079f4e5ac0 replace exclude_entities with masked_entities 2022-03-27 16:19:55 +02:00
proddy
ff075a4f56 use m for mask instead of x 2022-03-27 16:18:56 +02:00
Proddy
b031e1a232 Merge pull request #409 from MichaelDvP:dev
Customizations to names with more options
2022-03-26 21:29:21 +00:00
proddy
175412774c pass cmd string as reference 2022-03-26 22:28:50 +01:00
proddy
d0efe8eb47 changes for standalone compilation 2022-03-26 22:17:25 +01:00
proddy
be0d5557a6 update packages 2022-03-26 22:17:10 +01:00
MichaelDvP
24f6fcd2d4 version b9, update changelog 2022-03-23 12:56:47 +01:00
MichaelDvP
9bef53c16c add #386 and #408, sync time with thermostat 2022-03-23 12:36:54 +01:00
MichaelDvP
9b70985d32 readonly to HA config 2022-03-23 12:22:49 +01:00
MichaelDvP
a0a3d8ef3a min/max to web value edit 2022-03-21 20:21:55 +01:00
MichaelDvP
4ae406b3e1 Customizations to names with more options 2022-03-21 19:24:11 +01:00
MichaelDvP
51f2009a2c npm update 2022-03-21 14:56:41 +01:00
MichaelDvP
8d172e0b57 set mode in advance after command, #395 2022-03-21 13:55:01 +01:00
MichaelDvP
4a132e769c fix publish reset 2022-03-21 13:50:54 +01:00
MichaelDvP
786110359a fix #339 maxJsonBuffrSize 2022-03-21 13:44:40 +01:00
MichaelDvP
3b5560b741 fix console show with empty full name 2022-03-21 13:40:54 +01:00
proddy
0351f4fbb3 update packages 2022-03-19 12:05:38 +01:00
Proddy
a695f85359 Merge pull request #401 from MichaelDvP/dev_
add RC35 values #398
2022-03-14 15:06:21 +01:00
MichaelDvP
d0aa601301 add RC35 values #398 2022-03-13 19:25:48 +01:00
proddy
508e98e3b6 update packages again 2022-03-12 17:40:59 +01:00
proddy
1227772696 remove comments 2022-03-12 17:40:51 +01:00
Proddy
0aa5c73635 Update README.md
added sonarcloud badge
2022-03-11 17:00:09 +01:00
Proddy
afda97870a Merge pull request #394 from MichaelDvP/dev
adds for #392 and #393
2022-03-11 16:57:02 +01:00
MichaelDvP
d56cdeec77 add burner stage 2 working time, #392 2022-03-11 13:25:18 +01:00
MichaelDvP
657914db26 add devices #393 2022-03-11 13:04:47 +01:00
MichaelDvP
0495aecf4c Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_no_master_thermostat 2022-03-11 11:51:12 +01:00
Proddy
f539a236f1 Merge pull request #391 from MichaelDvP/dev
fix #390, fetching summer2_ids
2022-03-11 08:51:45 +01:00
MichaelDvP
52a9e500df fix #390, fetching summer2_ids 2022-03-11 07:20:52 +01:00
proddy
df0da84b9f updated packages again, why not 2022-03-10 09:53:56 +01:00
proddy
daaad1ce42 remove obsolete render function 2022-03-10 09:53:28 +01:00
Proddy
26b7075696 Merge pull request #389 from proddy/dev
update arduinojson 6.19.3
2022-03-09 09:15:03 +01:00
proddy
b526734e4b update arduinojson 6.19.3 2022-03-08 18:19:26 +01:00
Proddy
eaca7df527 Merge pull request #385 from MichaelDvP/dev
show correct hostname in startup message
2022-03-08 18:00:03 +01:00
MichaelDvP
1413bb7fbf fix typo in loading dallas names 2022-03-08 17:04:11 +01:00
MichaelDvP
5a09de002a show correct hostname in startup message 2022-03-08 12:02:18 +01:00
MichaelDvP
5634f46bd5 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev_no_master_thermostat 2022-03-08 10:53:13 +01:00
MichaelDvP
a2f8435204 fix mDNS on network reconnect 2022-03-08 07:07:52 +01:00
MichaelDvP
f076829b9b fix mDNS 2022-03-07 18:53:25 +01:00
Proddy
47aab98964 Merge pull request #384 from proddy/dev
update static code analysis from codacy to sonar #381
2022-03-07 12:50:42 +01:00
proddy
4f696a4947 bufsize const in messagetime() 2022-03-07 12:46:27 +01:00
proddy
828e769b3b add bufsize to messagetime() 2022-03-07 12:30:50 +01:00
proddy
69dc26005a fix strcpy length 2022-03-06 11:33:59 +01:00
MichaelDvP
6bbe2687ef autoformatting, check HS circuits 2022-03-06 10:41:04 +01:00
proddy
f19bf17d21 3.4.0b8 2022-03-05 17:27:22 +01:00
proddy
d09e2237ee sonar recommendations 2022-03-05 16:21:00 +01:00
proddy
10830dee36 update build dir 2022-03-05 14:51:18 +01:00
proddy
5f7f670517 add GH action 2022-03-05 14:40:29 +01:00
proddy
c1edbbf047 sonar fixes 2022-03-05 14:25:35 +01:00
MichaelDvP
7168f6c75e version b8, package update 2022-03-01 17:31:30 +01:00
MichaelDvP
57582aa90d add boiler_data_ww 2022-03-01 14:47:57 +01:00
MichaelDvP
732dced999 resort tags, boiler ww extra 2022-02-28 16:13:32 +01:00
MichaelDvP
eb9df59f15 remove master_thermostat 2022-02-28 12:44:29 +01:00
Proddy
e247b9e5f9 Merge pull request #379 from MichaelDvP:dev_
climate hidden, customization of hidden and commands, cleanup
2022-02-27 14:24:27 +01:00
MichaelDvP
c1fd964344 climate hidden, customization of hidden and commands, cleanup 2022-02-27 13:10:53 +01:00
proddy
f206ce7114 auto formatting 2022-02-26 18:12:42 +01:00
proddy
7438385729 upgrade packages 2022-02-26 18:12:33 +01:00
Proddy
142ca1e32c Merge pull request #378 from MichaelDvP:dev_
check selTemp, roomTemp visibility for climate creation
2022-02-26 17:58:53 +01:00
MichaelDvP
cde761fadd check selTemp, roomTemp visibility for climate creation 2022-02-26 17:15:42 +01:00
Proddy
16eb3f021d Merge pull request #375 from MichaelDvP/dev_
move HA climate to mqtt
2022-02-26 15:55:38 +01:00
MichaelDvP
9c15ddf952 HA climate as extra value, can be disabled 2022-02-26 14:23:45 +01:00
MichaelDvP
24216d7b4f move HA climate to mqtt 2022-02-23 10:29:56 +01:00
MichaelDvP
833ddf15d5 Merge pull request #369 from proddy/dev
optimized create/remove mqtt discovery topics
2022-02-22 08:27:17 +01:00
proddy
63a94dcef1 fix HA climate 2022-02-21 10:29:10 +01:00
Proddy
807bf4c061 Merge pull request #370 from MichaelDvP/dev_
add ww to thermostat single publish
2022-02-20 20:36:12 +01:00
MichaelDvP
a4ba130e5f add ww to thermostat single publish 2022-02-20 16:33:17 +01:00
proddy
d06145bb3a formatting 2022-02-20 13:41:12 +01:00
proddy
935e04b266 fixes Excluding thermostat entities should also remove the climate discovery topic #368 2022-02-20 13:40:58 +01:00
proddy
35fec3150b remove obsolete create_device_config and icons 2022-02-20 13:39:36 +01:00
proddy
493238e696 bump 3.4.0b7 2022-02-20 13:38:59 +01:00
proddy
cffc44b471 formatting 2022-02-20 13:38:42 +01:00
proddy
fcab3b1d46 update packages 2022-02-20 13:38:28 +01:00
proddy
1badaa725e update test for ha 2022-02-20 13:38:18 +01:00
Proddy
76579c426e Merge pull request #367 from MichaelDvP/dev_
add missing subscriptions to dallas/analogsensor
2022-02-19 15:15:25 +01:00
MichaelDvP
5f69395522 add missing subscriptions to dallas/analog 2022-02-19 12:25:01 +01:00
Proddy
9ceec6e306 Merge pull request #365 from MichaelDvP/dev_
publish all mixers to one json
2022-02-19 11:02:27 +01:00
MichaelDvP
a67913d660 publish all mixers to one json 2022-02-19 10:54:27 +01:00
Proddy
7da6b1925d Merge pull request #364 from proddy:dev
fix static code analysis warnings
2022-02-18 21:03:15 +01:00
proddy
fb05558ab9 fix static analysis warnings 2022-02-18 20:28:15 +01:00
Proddy
33835fef7b Merge pull request #362 from MichaelDvP/dev_mqtt
Fahrenheit for HA-climate min/max
2022-02-17 10:47:20 +01:00
proddy
f1f089baa0 v is always <= 255 2022-02-17 10:46:21 +01:00
proddy
d8f32d6ade hard code 128 as topic length to prevent compiler warnings 2022-02-17 10:46:02 +01:00
proddy
ca04ebccd2 formatting warning 2022-02-17 10:45:44 +01:00
proddy
d11a67527f make standalone build compile again 2022-02-17 10:45:29 +01:00
proddy
625fb41352 update packages to fix build 2022-02-17 10:44:56 +01:00
MichaelDvP
e0e90e3cab Fahrenheit for HA-climate min/max 2022-02-17 10:38:22 +01:00
Proddy
4c4a6f668d Merge pull request #361 from MichaelDvP/dev_mqtt
mqtt, analog, fahrenheit and other changes
2022-02-17 10:04:25 +01:00
MichaelDvP
b7d8447f73 version 3.4.0b6 2022-02-17 09:17:17 +01:00
MichaelDvP
18651bdaf4 changelog, typo 2022-02-16 21:00:57 +01:00
MichaelDvP
9046a6578a telegram read length depends on ems/ems+ 2022-02-16 19:37:14 +01:00
MichaelDvP
4219842088 fetch devices one by one 2022-02-16 19:36:17 +01:00
MichaelDvP
3b41d6fff6 fahrenheit uom 2022-02-16 19:14:15 +01:00
MichaelDvP
b2eaca27de remove unused flag 2022-02-16 18:58:45 +01:00
MichaelDvP
9ccb04489b log detection of devcies without values 2022-02-16 18:58:15 +01:00
MichaelDvP
6b164b5487 burner up to 130% 2022-02-16 18:57:43 +01:00
MichaelDvP
073493cba2 analogsensors, outputs PWM, DAC, digital 2022-02-16 18:35:25 +01:00
MichaelDvP
7f5e0f7244 Mqtt: remove all HA if not active, timeout QoS, option single2cmd 2022-02-16 17:59:53 +01:00
MichaelDvP
7bb6f55153 solar fix SM10 energy, remove unknowns 2022-02-16 17:02:54 +01:00
MichaelDvP
7f21bea8a6 Thermostat: RC20 temperatures, RC300 roominflfactor, fetch monitor 2022-02-16 15:47:49 +01:00
Proddy
802e7a080f Merge branch 'dev' into dev 2022-02-13 22:31:09 +01:00
proddy
a7c1a75996 added serial debug flag 2022-02-13 21:44:36 +01:00
proddy
70803b1a6d text change 2022-02-13 21:44:25 +01:00
proddy
005b9a88c3 update packages 2022-02-13 21:44:16 +01:00
proddy
7214b5beea fixes Excluding entities from the Customization page does not remove the MQTT Discovery entry #357 2022-02-13 21:44:02 +01:00
Proddy
e2163546fe Merge branch 'emsesp:dev' into dev 2022-02-13 13:01:18 +01:00
proddy
17bc9c231a dropzone minor upgrade 2022-02-13 09:59:39 +01:00
proddy
0b4e9da5d5 fix mqtt nested thermostat data 2022-02-13 09:59:20 +01:00
Proddy
002fa82afb Merge branch 'emsesp:dev' into dev 2022-02-12 17:38:38 +01:00
proddy
482baef360 update with latest fixes 2022-02-12 15:08:03 +01:00
proddy
20b876bdd6 fixes #354 2022-02-12 15:05:22 +01:00
proddy
d00ac1fa86 formatting 2022-02-12 15:04:37 +01:00
proddy
02e5b6e975 extend test for nested mqtt 2022-02-12 15:04:06 +01:00
proddy
1f17eda56f update packages 2022-02-12 15:03:45 +01:00
proddy
718f9a4f11 fixes #314 2022-02-12 15:03:31 +01:00
Proddy
668276e7d0 Merge branch 'emsesp:dev' into dev 2022-02-10 22:10:40 +01:00
proddy
3de769c7e7 add comment 2022-02-07 09:02:55 +01:00
proddy
984bbd493d move common time functions 2022-02-07 09:02:48 +01:00
proddy
74eabba641 remove uptime. we show it in 2 places already in the app 2022-02-07 09:02:17 +01:00
proddy
81d54ca69f tidy up sequence of services, start log and serial console first, catch any board profile errors first 2022-02-06 15:48:57 +01:00
proddy
ddee63b718 fix osx firmware upload - #345 2022-02-06 15:47:20 +01:00
Proddy
99743e8e0f Merge pull request #352 from MichaelDvP/dev_
fix telegram_last dest read flag
2022-02-06 12:19:12 +01:00
MichaelDvP
7d11539827 fix telegram_last dest read flag 2022-02-06 10:44:47 +01:00
proddy
7079098810 remove txmode off as option 2022-02-05 13:15:27 +01:00
proddy
e12ac26406 bump to b3 2022-02-05 13:12:03 +01:00
proddy
64e755bc15 update packages 2022-02-05 13:11:58 +01:00
proddy
a65b6bf19d fix compile warning 2022-02-05 13:11:42 +01:00
Proddy
5143040ba9 Merge pull request #332 from MichaelDvP/dev_
fix #329, numberformat in Edge, Chrome
2022-02-05 12:51:14 +01:00
Proddy
01c75ad5c0 Merge pull request #348 from MichaelDvP/dev_327
fix #327, analogsensor sending multiple mqtt messages
2022-02-05 12:50:43 +01:00
Proddy
43d0197a60 Merge pull request #347 from MichaelDvP/dev_340
fix #340, refresh only device/sensor-data if open
2022-02-05 12:48:18 +01:00
Proddy
35013a71d4 Merge pull request #346 from MichaelDvP/dev_336
fix #336, map Junkers hc3/4 to masterthermostat
2022-02-05 12:47:54 +01:00
Proddy
381acbf00f Merge pull request #323 from MichaelDvP/dev
always show RC300 tempautotemp with minimum to -1°C #321
2022-02-05 12:32:52 +01:00
proddy
47fb13aa4a allow larger exclude lists 2022-02-05 09:51:34 +01:00
proddy
f5aca6aa93 fix test compiling 2022-02-05 09:51:16 +01:00
MichaelDvP
95f4670b47 use numberValue for input to make all number inputs uniform 2022-01-31 17:00:11 +01:00
MichaelDvP
acc2412742 fix #327, analogsensor sending multiple mqtt messages 2022-01-31 13:39:30 +01:00
MichaelDvP
77df8cc69b fix #340, refresh only device/sensor-data if open 2022-01-31 10:23:10 +01:00
MichaelDvP
eaf651a4e2 fix #336, map Junkers hc3/4 to masterthermostat 2022-01-31 10:12:50 +01:00
proddy
3d1a050e22 HA roomtemp optional - #325 2022-01-26 23:18:36 +01:00
MichaelDvP
2db053ab04 fix #329, numberformat in Edge, Chrome 2022-01-26 21:32:45 +01:00
Proddy
915418eca8 Merge pull request #330 from MichaelDvP/dev_
fixes #327 #329
2022-01-26 20:27:02 +01:00
MichaelDvP
508a707c6e add steps to web input of numbers, #329 2022-01-26 18:35:55 +01:00
MichaelDvP
233d82805b add analog counter command, fix #327 "value" 2022-01-26 18:35:12 +01:00
Proddy
8c4e5e5185 Merge pull request #324 from MichaelDvP/dev_ 2022-01-25 13:24:29 +01:00
MichaelDvP
d3ca556914 fix #300 moduline 300 seltemp, next try 2022-01-25 12:26:55 +01:00
MichaelDvP
325a92f40d always show RC300 tempautotemp with minimum to -1°C #321 2022-01-25 08:08:46 +01:00
proddy
a89481cf14 bump mui libs 2022-01-24 20:59:11 +01:00
proddy
65be8ba6f7 auto formatting (npm run format) 2022-01-24 20:58:54 +01:00
proddy
a2b9b9e0c8 update with latest system/info changes 2022-01-24 20:58:35 +01:00
proddy
20bd5327f8 bump 3.4.0b1 2022-01-24 20:58:21 +01:00
proddy
4ac045afcf Please ad "ENTITIES" like on dashboard within api call ems/api/system per device #322 2022-01-24 20:58:10 +01:00
Proddy
4569ee50a5 Merge pull request #320 from MichaelDvP/dev
helptext for string commands
2022-01-24 20:31:13 +01:00
MichaelDvP
cd2ea1d5fc helptext for string commands 2022-01-24 18:02:57 +01:00
Proddy
ab34f7c056 Merge pull request #319 from MichaelDvP/dev 2022-01-24 13:30:09 +01:00
MichaelDvP
a27a5ebf4c sync DE-string (not completly translated) 2022-01-24 13:14:28 +01:00
MichaelDvP
be20fcf021 remove unused strings 2022-01-24 13:06:07 +01:00
MichaelDvP
f62317a338 system info: lower case and underscores 2022-01-24 12:54:41 +01:00
MichaelDvP
d27243eb34 rename Wired->Ethernet 2022-01-24 12:51:13 +01:00
MichaelDvP
8f5e26acd1 fix read command with length 2022-01-24 12:50:27 +01:00
MichaelDvP
e02f20d74e fix refresh sensorData 2022-01-24 12:49:57 +01:00
MichaelDvP
b0111d6653 formatting 2022-01-24 12:49:16 +01:00
proddy
a38d8c14fa Function parameter 'sensor' should be passed by const reference 2022-01-23 18:08:52 +01:00
proddy
77e1898512 Merge remote-tracking branch 'origin/v3.4' into dev 2022-01-23 17:56:52 +01:00
proddy
29110e96e5 Merge remote-tracking branch 'origin/dev' 2022-01-20 10:51:40 +01:00
Proddy
02e2b51814 Merge pull request #307 from MichaelDvP/dev
check received status before toggling fetch on empty telegram
2022-01-20 10:04:03 +01:00
MichaelDvP
e9588cc7a1 check received status before toggling fetch on empty telegram 2022-01-20 08:41:41 +01:00
Proddy
3d8e1b8f86 Merge pull request #245 from proddy:dev
Add back RC30 - #243
2021-12-14 20:23:34 +00:00
proddy
312f969364 add back RC30 - Setting mode on a RC30/Moduline400 via MQTT in HA doesn't work #243 2021-12-14 21:19:54 +01:00
Proddy
0f41079803 Merge pull request #235 from pswid:dev
fix overlapping 0xC2 and overflow of offset
2021-12-14 19:49:37 +00:00
pswid
7f30e8dadc fix overlaping while reading sequence of EMS1.0 telegrams 2021-12-14 10:32:31 +01:00
pswid
9cd20cfc05 fix overlaping while reading sequence of EMS1.0 telegrams 2021-12-14 10:29:15 +01:00
pswid
1343bbf6ea fix overlapping 0xC2 and overflow of offset 2021-12-03 11:50:52 +01:00
Proddy
90c39d1f85 Merge pull request #234 from pswid/dev 2021-12-03 09:38:40 +01:00
pswid
92da61376b Update boiler.cpp 2021-12-03 09:04:39 +01:00
pswid
69976c2caf Update CHANGELOG_LATEST.md 2021-12-03 09:02:36 +01:00
pswid
3c6fd0c83a Update boiler.cpp 2021-12-03 08:58:19 +01:00
proddy
b0a09747d4 3.3.1b0 2021-11-28 23:06:55 +01:00
proddy
b65866217a 3.4.0 2021-11-28 23:03:28 +01:00
proddy
611e3b1243 Merge remote-tracking branch 'origin/dev' 2021-11-28 23:03:15 +01:00
Proddy
84d3d42306 Merge pull request #220 from proddy:dev
minor updates
2021-11-25 09:16:03 +01:00
proddy
61e2739ef7 updated for b11 2021-11-25 09:13:48 +01:00
proddy
a3391afd27 bump to b11 2021-11-25 09:13:38 +01:00
proddy
ce9b7d1468 added test for lastcode 2021-11-25 09:13:31 +01:00
proddy
1b86314a14 formatting 2021-11-25 09:13:22 +01:00
proddy
b2a0519f83 change font type and size 2021-11-25 09:13:09 +01:00
proddy
3dec4bda8c fix double click 2021-11-25 09:12:57 +01:00
Proddy
5de529cbb2 Merge pull request #218 from pswid:dev
timestamp in boiler last error code
2021-11-25 08:49:44 +01:00
pswid
4fd1d8e08a Boiler last error code change 2021-11-23 19:11:35 +01:00
pswid
0847ccc602 Revert "fix boiler last error code timestamp"
This reverts commit 969803569e.
2021-11-23 19:09:46 +01:00
pswid
969803569e fix boiler last error code timestamp 2021-11-23 18:59:37 +01:00
Proddy
6532abd870 Merge pull request #217 from proddy:dev
text changes, renamed status to bus_status in heartbeat, improved WebUI table layout, added Ethernet phy to custom profile board
2021-11-22 09:11:41 +01:00
proddy
07dabb4ceb fix name of status -> bus_status in heartbeat 2021-11-22 08:49:53 +01:00
proddy
1c6a683015 rename bus to bus_status in info command 2021-11-22 08:49:33 +01:00
proddy
bb38458ac4 stripped table rows 2021-11-22 00:36:15 +01:00
proddy
53de2ca25b added ethernet phy type as an option in settings - #210 2021-11-21 13:51:02 +01:00
Proddy
5a9122f8be Merge pull request #215 from proddy/dev 2021-11-20 21:25:02 +01:00
proddy
dc84f91044 debug comments 2021-11-20 21:23:04 +01:00
proddy
4be6626470 fixed edge case in shower logic when state didn't change 2021-11-20 21:22:55 +01:00
proddy
7e4494aae1 rename status to bus_status in MQTT heartbeat 2021-11-20 21:22:28 +01:00
proddy
50e54e6a1c fix removing old HA config topics 2021-11-20 21:22:10 +01:00
Proddy
30b111b986 Merge pull request #208 from proddy:dev
fixes #207
2021-11-19 13:00:58 +01:00
proddy
a63f2e6131 fixes #207 - allow both data and value as MQTT keys 2021-11-19 12:59:52 +01:00
proddy
51d487b938 formatting 2021-11-19 12:57:48 +01:00
Proddy
96180c837d Merge pull request #203 from proddy:dev
Add Network to MQTT topic info and system/info command
2021-11-18 12:11:40 +01:00
proddy
da20cf1ed2 add Network to MQTT info topic and system/info command 2021-11-18 12:10:20 +01:00
proddy
bffad5e3c8 allow thermostat hc3 on device_id 0x1A - #200 2021-11-17 22:22:34 +01:00
Proddy
74287ebb99 Merge pull request #201 from proddy:dev
fixes #199 - change value validation fails
2021-11-17 19:03:27 +01:00
proddy
8b40c92f7e fixes #199 - change value formats degrees to strings 2021-11-17 19:01:29 +01:00
Proddy
5f6033cac1 Merge pull request #197 from proddy/dev
fixes #196 (HA missing entities), add row click to devices, change max limit on integer types to avoid NaN, refactored generation of device value JSON objects
2021-11-15 17:45:52 +01:00
proddy
24582407d4 b7 2021-11-15 15:27:25 +01:00
proddy
22c9e3ee1f tidy up generate_values_json_web 2021-11-15 15:23:01 +01:00
proddy
cb2c898b7e click row to edit 2021-11-15 15:22:46 +01:00
proddy
c0bf623266 rename publish_ha* functions 2021-11-15 14:28:14 +01:00
proddy
18f22d3951 add state to dv, using DeviceValueState 2021-11-15 14:27:53 +01:00
proddy
e2dad610b0 publish HA config topic after device values 2021-11-15 14:27:18 +01:00
proddy
5ed3cbee2e add days 2021-11-15 14:26:42 +01:00
proddy
27712badb6 allow empty payloads, refactor to also delete a HA topic 2021-11-15 14:26:30 +01:00
proddy
72c032adff replace read_flash_string 2021-11-15 14:25:49 +01:00
proddy
7197df9812 replace read_flash_string 2021-11-15 14:25:04 +01:00
proddy
898e2e5f21 bump b7 2021-11-15 14:24:33 +01:00
proddy
cde3b7541f update test for 196 2021-11-15 14:24:21 +01:00
proddy
822f55497e tidy up, mention HA enttity fix 2021-11-15 14:23:58 +01:00
Proddy
7c16870294 Merge pull request #194 from kpschaper/bugfix_settemp
bugfix revert auto mode -> the mode is hardcoded for the thermostat_ha_cmd #183
2021-11-14 18:17:18 +01:00
Proddy
e368f422f4 Merge pull request #195 from proddy/dev
Fix console UOM, set temperature to show 1 decimal place in web
2021-11-14 18:04:39 +01:00
proddy
9d9ac4ed9e force temperatures in degrees to always show 1 decimal place 2021-11-14 16:14:29 +01:00
proddy
d7576ebda1 fix bug showing UOM in Console 2021-11-14 16:14:04 +01:00
proddy
fd810ff01c add comments on format param 2021-11-14 16:10:32 +01:00
proddy
999a05f7ff bump to b6 2021-11-14 16:10:20 +01:00
proddy
a19f2f19c5 update test data 2021-11-14 16:10:10 +01:00
Koen Schaper
f54ccd40e6 revert auto mode -> the mode is hardcoded for the thermostat_ha_cmd #183 2021-11-14 15:32:12 +01:00
Proddy
5893487d4a Merge pull request #189 from proddy:dev
fix MQTT non-JSON payloads
2021-11-14 12:56:20 +01:00
Proddy
3c8e20d4e4 Merge pull request #193 from kpschaper/fix_rc10_mode
Mode update for #183
2021-11-14 12:55:37 +01:00
Koen Schaper
bf68a5523b Update changelog 2021-11-14 12:14:55 +01:00
Koen Schaper
9c5c27152c Allow mode "off" to be set from home assistant + remove non available "auto" mode from home assistant 2021-11-14 11:11:37 +01:00
proddy
c229371c68 fix typo 2021-11-14 10:26:13 +01:00
proddy
805cef68a2 fix handling on non json payloads - #173 2021-11-13 15:59:04 +01:00
proddy
09addcb975 with the release of espressif32 3.4.0 we don't need the delay anymore for telnet 2021-11-12 14:33:22 +01:00
Proddy
409d382ff9 Merge pull request #188 from MichaelDvP:dev
Mode update for #183
2021-11-11 20:04:25 +01:00
MichaelDvP
27bfc14438 set mode and heatingPID for RC10 #183 2021-11-11 17:30:17 +01:00
MichaelDvP
6c20a5f4f9 prevent double messages in weblog 2021-11-11 08:22:20 +01:00
MichaelDvP
ffd61a9f67 removed unused pragma 2021-11-11 08:21:12 +01:00
MichaelDvP
4f2da0347c add hc to console calls 2021-11-10 14:06:00 +01:00
MichaelDvP
3c13c144d5 fix wwc ids 2021-11-10 14:05:31 +01:00
proddy
d4eaedef3d text changes 2021-11-10 12:31:01 +01:00
proddy
a8f1892d48 rename system/info text, added MQTT status 2021-11-10 12:27:18 +01:00
proddy
e347ac5742 formatting and text changes 2021-11-10 12:26:59 +01:00
proddy
5f2a9b093d improve error handling, fix crash on empty /api URL 2021-11-10 12:26:29 +01:00
proddy
e821e8d082 update 2021-11-10 12:25:38 +01:00
proddy
05f56be2d8 bump version to 3.3.0b4 2021-11-09 21:59:44 +01:00
proddy
88f78f6541 fix authentication check for GET commands that need admin - Refactor MQTT subscriptions and API calls #173 2021-11-09 20:54:41 +01:00
MichaelDvP
234533f241 fix RC35 program no. #182 2021-11-09 15:44:41 +01:00
MichaelDvP
b1f72b0e3e fix crash on empty mqtt-payload 2021-11-08 18:30:33 +01:00
MichaelDvP
a3022f6f20 RC35 switchtime for prog 1 and prog 2 2021-11-08 18:29:25 +01:00
MichaelDvP
95f7583511 fix wrong RC10 tag 2021-11-08 07:57:08 +01:00
MichaelDvP
578ba386e6 add moduline200 values #183, RC35 holidays/vacations #182 2021-11-07 20:49:58 +01:00
proddy
df7be9d11e update to 3.3.0b3 2021-11-07 18:24:33 +01:00
Proddy
72a59917fb Merge pull request #185 from kpschaper/fix_shower_alert
Fix shower timer; doing_cold_shot is never being reset
2021-11-07 17:42:49 +01:00
Koen Schaper
9406c76e55 fix shower timer; doing_cold_shot is never being reset + remove unnecessary conditions 2021-11-07 16:34:40 +01:00
proddy
ea550b1656 read command checks device id - #184 2021-11-07 13:50:39 +01:00
proddy
d20741c0f0 add a little more buffer for concurrent web sockets 2021-11-07 13:49:55 +01:00
Proddy
91b7fd59d1 Merge pull request #181 from kpschaper/moduline200
Show mode (off / heat) in Home Assistant for Moduline 200
2021-11-06 20:56:57 +01:00
proddy
95e81ad824 auto-fetch 0x14 which is not broadcasted on all boilers - https://github.com/emsesp/EMS-ESP32/issues/160#issuecomment-962444738 2021-11-06 13:31:32 +01:00
Koen Schaper
316832fc4f Show mode (off / heat) in Home Assistant for Moduline 200 2021-11-06 10:07:04 +01:00
proddy
23b6d81c47 3.3.0b2 2021-11-05 21:48:11 +01:00
proddy
8284520733 increase tcp event queue from 32 to 64 - fixes Launching the WebUI from crashes EMS-ESP on some environments #177 2021-11-05 21:46:15 +01:00
MichaelDvP
57f53818e1 add RC20_N write extmintemp, formatting 2021-11-05 14:14:04 +01:00
proddy
7bca3fb2ed rename "name" to "entity" for API key - Refactor MQTT subscriptions and API calls #173 2021-11-05 13:22:39 +01:00
MichaelDvP
ae4a1358af show rf sensor temperature 2021-11-05 11:57:58 +01:00
MichaelDvP
95e3a11a11 add missing RC25 parameters 2021-11-05 11:53:41 +01:00
MichaelDvP
f1a859c650 show devices with product-id zero, m200 wait improved 2021-11-05 11:53:02 +01:00
MichaelDvP
8d9fd95e85 remove useless extra subscriptions #173 2021-11-04 13:13:41 +01:00
proddy
452921d198 MQTT subscribe to devices - Refactor MQTT subscriptions and API calls #173 2021-11-03 22:12:21 +01:00
proddy
3e0f6f55fb bump to 3.3.0b1 2021-11-03 22:11:44 +01:00
MichaelDvP
0e480bbd94 add known devices without product-id or version-info #174 2021-11-03 21:08:52 +01:00
proddy
7a079d866f put/# back - Refactor MQTT subscriptions and API calls #173 2021-11-03 19:22:42 +01:00
MichaelDvP
af2710125e mqtt subscriptions include device #173 2021-11-03 18:43:46 +01:00
MichaelDvP
fb3de2e36d add RC300 wwdisinfect #175 2021-11-03 12:17:00 +01:00
proddy
bf40222105 validate devices to see if they are present - Refactor MQTT subscriptions #173 2021-11-02 21:00:16 +01:00
proddy
e1419edb15 more fixes - Refactor MQTT subscriptions #173 2021-11-02 18:15:57 +01:00
proddy
131b936a69 siwtch info with list - #176 2021-11-02 16:02:49 +01:00
proddy
5850a82d80 error handling improvements - Refactor MQTT subscriptions #173 2021-11-02 13:59:36 +01:00
proddy
b76b6be3d1 logic cleanup 2021-11-02 10:50:29 +01:00
proddy
b8f69eeaa8 lint warning fix 2021-11-02 10:47:46 +01:00
proddy
d78fb53845 fix for mqtt base paths - Refactor MQTT subscriptions #173 2021-11-02 10:42:34 +01:00
proddy
54889fec41 fix issue where OK was not sent on successfull API call 2021-11-02 10:42:20 +01:00
proddy
2c5c4d6e04 update test for different mqtt base paths 2021-11-02 10:41:56 +01:00
proddy
e6a44c9c82 be able to set mqtt base 2021-11-02 10:41:39 +01:00
proddy
7cba52d77e bump to 3.3.0 2021-11-01 23:32:28 +01:00
proddy
a79a67e4b2 Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2021-11-01 23:31:33 +01:00
proddy
01bace4048 Refactor MQTT subscriptions #173 2021-11-01 23:31:30 +01:00
MichaelDvP
d5f8419157 do not fetch CRF200 monitor #138 2021-10-30 20:31:49 +02:00
Proddy
40a7026d4c update example with ESP32 core debug levels 2021-10-26 13:06:29 +02:00
proddy
47cb296cc4 updates to #168 2021-10-25 13:01:56 +02:00
MichaelDvP
be27033d41 typo 2021-10-24 18:32:50 +02:00
MichaelDvP
3001a2d66f fix #169, prod-id:111 settings use telegram 0x179 2021-10-24 18:15:39 +02:00
proddy
becaff0711 updated with #168 2021-10-22 22:17:15 +02:00
proddy
aaab9f409f text change 2021-10-22 22:15:30 +02:00
proddy
068bb5cbeb fix obsolete JS in padding & justification 2021-10-22 22:15:23 +02:00
proddy
337c07d7bc firmware version checker in Web - #168 2021-10-22 22:14:39 +02:00
proddy
c387f65b4a some minor refactor 2021-10-21 22:56:56 +02:00
proddy
df13081f97 update URL 2021-10-21 22:56:45 +02:00
proddy
50f6d0ab26 fixes #166 2021-10-21 22:56:35 +02:00
proddy
fb7bafdb87 fix display of mqtt subscriptions 2021-10-20 09:34:50 +02:00
proddy
b3472c3919 add test for 'send' command 2021-10-20 09:21:12 +02:00
proddy
4f47712d52 minor formatting 2021-10-20 09:21:03 +02:00
MichaelDvP
547ccb96c9 Thermostat 0x65 to RC20_N, #160 2021-10-20 09:00:57 +02:00
proddy
7f3ff434ea add test for Dan "ems-esp/boiler/wwcircpump with payload off" 2021-10-19 18:36:35 +02:00
proddy
aad4b0ade3 change text about MQTT subscribe formats 2021-10-19 18:35:48 +02:00
proddy
d587f44ec9 updated 2021-10-19 18:35:33 +02:00
proddy
f30d3cf637 update test data for standalone 2021-10-19 18:35:24 +02:00
proddy
8fed47f39b fix case fall through for HA state_class 2021-10-19 17:40:46 +02:00
proddy
48cedbd0fb fix standalone building 2021-10-19 17:40:12 +02:00
proddy
752530a381 auto formatting 2021-10-19 17:39:44 +02:00
proddy
45fc6daa4a Add support for mDNS #161 2021-10-18 13:02:22 +02:00
MichaelDvP
e17ce9c3b5 Junkers modetype #163 2021-10-18 12:05:04 +02:00
MichaelDvP
2657b9d1a5 do not fetch broadcasted telegrams 0x14/0x19 (#160) 2021-10-18 11:29:50 +02:00
MichaelDvP
b77a56ade2 timeout 60s for KM200 wait #160, reset-reason to log 2021-10-18 11:28:43 +02:00
MichaelDvP
4d5f588748 reset reason to system info 2021-10-18 11:25:41 +02:00
Proddy
6582ba6317 added another Buderus RC10 - #160 2021-10-17 21:40:26 +02:00
Proddy
b3453d9d02 no need to recompile C++ code if Web code doesn't change 2021-10-16 12:50:56 +02:00
MichaelDvP
e4b73140c8 enlarge filesystem buffer 2021-10-14 18:55:50 +02:00
Proddy
235f789228 increase max dallas sensors from 10 to 20 - #157 2021-10-14 10:09:52 +02:00
Proddy
c029cf79f7 use smaller json key names, increase buffer size. fixes #157 2021-10-14 10:09:28 +02:00
Proddy
0b796a85a8 use DeviceValueUOM::TIMES for all 'starts' which count numerically 2021-10-12 15:00:42 +02:00
Proddy
d8191f79a4 removed # from comments 2021-10-12 15:00:16 +02:00
Proddy
6a259f7cca removed # from comments 2021-10-12 15:00:05 +02:00
Proddy
22a2b92022 added number formatting and pluralization for uom times and seconds 2021-10-12 14:59:53 +02:00
Proddy
25616ae3b4 added time to UOM and replaced seconds with second (pluralization handled in code) 2021-10-12 14:59:27 +02:00
Proddy
372aee30cd removed # in front of telegram count 2021-10-12 14:58:51 +02:00
Proddy
0c5023323a removed # (e.g in front of starts) 2021-10-12 14:58:30 +02:00
Proddy
2d1126b9e4 updated comment 2021-10-12 14:57:42 +02:00
Proddy
3ecf92fa41 add times as a new HA UOM - #156 2021-10-12 12:59:00 +02:00
Proddy
50befd8991 add HA device_class 2021-10-12 12:58:29 +02:00
Proddy
676268d7af rename rxread/txread to rxreads/txreads 2021-10-12 12:58:05 +02:00
Proddy
f2457a7050 auto-formatting 2021-10-11 16:53:00 +02:00
Proddy
ded90dc4ce minor text changes 2021-10-11 16:42:47 +02:00
Proddy
cddadcfae2 changes to allow restart command from API to complete before rebooting 2021-10-11 16:42:36 +02:00
Proddy
3113d392ac minor text changes 2021-10-11 16:41:44 +02:00
Proddy
6433d5f744 formatting 2021-10-11 16:41:24 +02:00
Proddy
f42c265714 minor text changes 2021-10-11 16:41:14 +02:00
Proddy
d6711ac850 always show a maintenancemessage even if there isn't one, so its not missing in the MQTT boiler_data payload 2021-10-10 20:29:03 +02:00
Proddy
9d7c2de1d5 rename HA icon mdi:flash-circle to mdi:lightning-bolt-circle 2021-10-10 20:11:52 +02:00
MichaelDvP
b1e1c44e77 add divider #136 2021-10-10 17:43:47 +02:00
MichaelDvP
85f54dd210 add current room influence #136 2021-10-10 09:18:52 +02:00
MichaelDvP
eea32ad134 add RC30 ww parameters, #117 2021-10-01 09:39:57 +02:00
MichaelDvP
4f24035082 add id to solar ww-circuit 2021-10-01 09:24:38 +02:00
MichaelDvP
0b0b1d9ca4 rename internal names wW/warmwater to ww 2021-09-29 14:42:34 +02:00
MichaelDvP
98828ed848 another typo 2021-09-29 12:55:51 +02:00
MichaelDvP
7b0f7cd32c fix typo wW->ww 2021-09-29 12:43:07 +02:00
Proddy
67cb778039 Merge pull request #135 from Sunbuzz/ft_add_connect
Added CONNECT device 0x236 "Wireless sensor base"
2021-09-29 12:11:25 +02:00
MichaelDvP
9f49afae0a read wwSelTemp/wwDisinfectionTemp from 0xEA, #96 2021-09-29 11:57:24 +02:00
sunbuzz
49c7c7aa2d Added CONNECT device 0x236 "Wireless sensor base" 2021-09-29 11:23:22 +02:00
Proddy
42d89d1d10 Merge pull request #134 from proddy/dev
Dev
2021-09-28 16:18:30 +02:00
proddy
24fae0d03e updated comment 2021-09-28 16:15:53 +02:00
proddy
2c337f1d03 fixed #129 2021-09-28 16:15:47 +02:00
MichaelDvP
fcc521d5ed enum thermostat programs, add junkers remote, program 2021-09-28 14:06:26 +02:00
MichaelDvP
91005876eb use device names from flash 2021-09-28 13:08:56 +02:00
proddy
da5b4aa79d add test for MQTT heatingactivated 2021-09-25 22:04:42 +02:00
proddy
ced440392b fix possible buffer overflow 2021-09-25 21:52:19 +02:00
proddy
33d7ba1fda reduce variable scope 2021-09-25 21:52:03 +02:00
proddy
a6095fc305 init poolShuntStatus__ as its not done in the constructor 2021-09-25 21:51:47 +02:00
proddy
84cc964a7a 3.2.2b8 2021-09-25 18:41:16 +02:00
Proddy
9e856b28a9 Merge pull request #130 from MichaelDvP/dev
use TAG_DEVICE_DATA_WW
2021-09-25 18:13:37 +02:00
MichaelDvP
9378fdf2b6 use TAG_DEVICE_DATA_WW 2021-09-25 10:00:06 +02:00
proddy
6a134dda1f Merge branch 'dev' of https://github.com/emsesp/EMS-ESP32 into dev 2021-09-23 10:08:08 +02:00
MichaelDvP
4f927ee571 remove unused type from form 2021-09-23 08:48:59 +02:00
MichaelDvP
b111869422 remove invalid UOMs 2021-09-23 08:30:31 +02:00
proddy
89a249eae4 add breaking changes 2021-09-22 20:18:37 +02:00
MichaelDvP
7942d52843 npm audit fix 2021-09-22 15:13:11 +02:00
MichaelDvP
b6310302d2 add C2 error message, fix a uom 2021-09-22 15:12:58 +02:00
MichaelDvP
87774e73e1 fix some thermstat uoms 2021-09-22 15:12:05 +02:00
MichaelDvP
548b5ff4a1 remove unused check 2021-09-22 15:11:32 +02:00
proddy
80fedf3fa3 fix not showing dv is UOM is NONE 2021-09-22 14:53:50 +02:00
proddy
8523cdffa3 Merge branch 'ft_reacthooks' into dev 2021-09-21 18:11:55 +02:00
proddy
29f2335935 remove DeviceValueUOM::TEXT 2021-09-21 18:06:55 +02:00
proddy
eba6324d18 more API tests 2021-09-21 18:06:36 +02:00
proddy
c3874d7c95 remove DeviceValueUOM::TEXT 2021-09-21 18:06:25 +02:00
proddy
3086342d2b fix bug in nested json and added output targets 2021-09-21 18:05:36 +02:00
proddy
f836209249 added output target when rendering json 2021-09-21 18:04:48 +02:00
proddy
d4b06cf0c0 formatting 2021-09-21 18:04:25 +02:00
proddy
54199affc1 removed DeviceValueUOM::TEXT 2021-09-21 18:04:07 +02:00
proddy
4d88c6a90b add comments about nesting 2021-09-21 18:03:43 +02:00
proddy
906813b8f5 don't show handlers if there arn't any 2021-09-21 18:03:30 +02:00
proddy
30d1e7ecb4 bump version 2021-09-21 18:03:14 +02:00
proddy
8fab4e29bf use float instead of double 2021-09-21 18:03:05 +02:00
proddy
252554ea87 added comment about nesting 2021-09-21 18:02:52 +02:00
proddy
ba3d49172c updated packages 2021-09-21 18:02:40 +02:00
proddy
6ef8ff757a add check to prevent crash on null strings 2021-09-21 18:02:14 +02:00
MichaelDvP
fcc2c0b3de fastheatup as percent-value, enlarge parse-buffer #122 2021-09-21 08:04:11 +02:00
proddy
16e390f849 v3.3 2021-09-20 21:44:23 +02:00
proddy
a31cf53863 replace class components (HOCs) with React Hooks 2021-09-20 21:43:56 +02:00
proddy
09d8a6360b only use UOM of NONE for hidden Device Values 2021-09-20 21:43:05 +02:00
proddy
b1f59d4727 ignore UOM if its TEXT 2021-09-20 21:42:45 +02:00
proddy
d8add7edcb rename DeviceValueType::TEXT to STRING and ignore UOM if its NONE 2021-09-20 21:42:24 +02:00
proddy
1a71921fd6 remove debug 2021-09-20 21:41:48 +02:00
proddy
6d12fff4fe add API test 2021-09-20 21:41:29 +02:00
proddy
769301c804 rename boiltemp to 'actual boiler temperature' https://github.com/emsesp/EMS-ESP32/discussions/115 2021-09-20 13:52:37 +02:00
MichaelDvP
6a828e9ca5 Merge branch 'dev_' into dev 2021-09-20 09:04:57 +02:00
MichaelDvP
2516d2d6de add boiler disinfect command 2021-09-20 08:53:03 +02:00
MichaelDvP
e92a3ad025 add MM10 valvetime 2021-09-20 08:51:16 +02:00
MichaelDvP
5686094151 factor for charge duration 2021-09-20 08:49:57 +02:00
proddy
915749dd69 updated 2021-09-19 21:38:09 +02:00
proddy
258bc2b544 increase json before from 4KB to 16KB (EMSESP_JSON_SIZE_XXLARGE_DYN) 2021-09-19 21:33:49 +02:00
proddy
a9748f5b46 snprintf_P to snprintf() again 2021-09-19 21:33:15 +02:00
proddy
56f1c7946e snprintf_P rename 2021-09-19 21:32:51 +02:00
proddy
88a427578f rename snprintf_P, rename unit to uom 2021-09-19 21:32:35 +02:00
proddy
0ebd9e1fe1 make sure all std::strings are consts 2021-09-19 21:31:23 +02:00
proddy
bea0b4ba01 add entities command, only show master thermostat if >1 thermostats 2021-09-19 21:31:02 +02:00
proddy
f8bee9b5c5 formatting 2021-09-19 21:29:53 +02:00
proddy
500e089b97 for standalone ncrease mem due to compiler 2021-09-19 21:29:42 +02:00
proddy
2adef52abf add "entitied" as new command 2021-09-19 21:29:20 +02:00
proddy
e01bfe1bdf rename duplicate function publish_mqtt_ha_sensor 2021-09-19 21:29:03 +02:00
proddy
418b1b3d68 bump 2021-09-19 21:28:30 +02:00
proddy
401929d992 round2 use float instead of double (6 point precision is enough) 2021-09-19 21:28:21 +02:00
proddy
ee34dd72f7 rename snprintf_P to snprintf 2021-09-19 21:27:39 +02:00
proddy
b214d7a662 extended test for ha and entities command 2021-09-19 21:26:48 +02:00
proddy
079a40cd32 update to 16.18.4 2021-09-19 21:26:15 +02:00
proddy
adebea1561 add pseudo for snprintf_P 2021-09-19 21:25:54 +02:00
proddy
28bf7c3225 formatting 2021-09-19 11:21:01 +02:00
proddy
78b2efd148 add rounding test 2021-09-19 11:20:54 +02:00
MichaelDvP
11590061a3 fix wwcharge-command #112 2021-09-18 13:58:08 +02:00
proddy
09847ee33c fix: only set thermostat commands for master thermostat #110 2021-09-18 09:52:02 +02:00
MichaelDvP
db34785be0 add missing offset to telgram::to_string() 2021-09-16 17:14:22 +02:00
proddy
538a9cf642 mention RC25 support 2021-09-15 20:56:52 +02:00
proddy
d0346e436a remove PSTR() 2021-09-15 18:04:58 +02:00
Proddy
442202d978 Merge pull request #109 from MichaelDvP/dev
add RC300 second summermode telegram
2021-09-15 17:53:04 +02:00
MichaelDvP
3b2a89d9f4 solar turnOnOffDiff allow setting decimals #107 2021-09-15 10:54:57 +02:00
MichaelDvP
0bf366ac75 Divider for solar pumpOnOffDiff #107 2021-09-15 08:27:50 +02:00
proddy
c62e73d21e added HA state_class https://github.com/emsesp/EMS-ESP/issues/776 2021-09-13 20:45:56 +02:00
MichaelDvP
2889899bfd also add summertemp setting 2021-09-12 19:03:59 +02:00
MichaelDvP
f18ac2e48b add RC300 second summermode telegram 2021-09-12 18:48:33 +02:00
MichaelDvP
1d259d14c8 thermostat RC25 additions 2021-09-09 18:44:43 +02:00
MichaelDvP
b8c07e31cf mixer: add id to pool, sort registering, add commands 2021-09-09 11:33:57 +02:00
proddy
3f27ed7b18 auto-formatting 2021-09-08 19:53:07 +02:00
Proddy
d7678b340f Merge pull request #104 from Sunbuzz/pool
Pool
2021-09-08 12:18:21 +02:00
MichaelDvP
b697356465 add RC25, #106 2021-09-07 08:25:20 +02:00
sunbuzz
1b9a2f21d2 Increased EMSESP_JSON_SIZE_XXLARGE_DYN to 16384 (at 10635 right now) + small fixes 2021-09-03 15:01:05 +02:00
sunbuzz
e26451fcc0 reverted to TAG_NONE, added HP activities, added some json space 2021-09-02 15:25:37 +02:00
sunbuzz
17db542775 Fixed support for M P mixer i ha_config 2021-09-02 12:58:23 +02:00
sunbuzz
dd865a2db5 Fixed issues regarding pull request "Pool #104" 2021-09-02 12:40:39 +02:00
sunbuzz
834c7cb87f Added support for MP100 pool mixer (telegram 05BA), added brand IVT, added some parameters to telegram 0x48D & 0x48F 2021-09-01 22:06:50 +02:00
sunbuzz
a9a015cb5b Added support for MP100 pool mixer (telegram 05BA), added brand IVT, added some parameters to telegram 0x48D & 0x48F 2021-09-01 22:05:18 +02:00
MichaelDvP
94a71998a7 add some thermostat values 2021-08-30 14:11:55 +02:00
proddy
aa212924bc 3.2.2b2 2021-08-28 16:41:03 +02:00
Proddy
edef2f1bf6 Merge pull request #102 from Sunbuzz/pool
Added pool data to telegrams 0x494 & 0x495
2021-08-28 16:36:56 +02:00
proddy
912f53762e fix formatting (WARNING didnt fit) 2021-08-28 15:10:29 +02:00
proddy
02c04c8f41 updated images 2021-08-28 15:04:30 +02:00
sunbuzz
3ad90a6e34 Added pool data to telegrams 0x494 & 0x495 2021-08-28 12:03:05 +02:00
proddy
0f83870db0 auto-formatting 2021-08-26 10:42:40 +02:00
proddy
7529f3a73e minor text changes 2021-08-26 10:42:34 +02:00
MichaelDvP
77d559ac8c syslog re-add colon after message.id 2021-08-26 08:02:46 +02:00
MichaelDvP
1311cad913 add some boiler and thermostat parameters 2021-08-23 16:14:06 +02:00
MichaelDvP
4d1ba9bede remove tx-delay, wait for KM200 poll, v3.2.2b1 2021-08-23 13:43:32 +02:00
MichaelDvP
6b07651ed3 remove weblog download filter 2021-08-21 10:58:47 +02:00
MichaelDvP
50ddfc0437 store weblog settings, no log filtering, prevent double messages 2021-08-20 17:42:07 +02:00
MichaelDvP
c0ac485772 add date/time to Easy thermostat 2021-08-20 10:04:43 +02:00
MichaelDvP
8d4ae6971d fix #100 add missing hamode to EasyMonitor 2021-08-20 09:48:01 +02:00
Proddy
88d0dfee2d update changelog 2021-08-19 20:58:05 +02:00
Proddy
551a479c6b fix custom build options 2021-08-19 20:12:43 +02:00
MichaelDvP
3f85541c9a add system commands for syslog level and watch 2021-08-19 16:19:32 +02:00
MichaelDvP
74cdb610d8 fix#99, mqtt reconnect for IPv4 and IPv6 2021-08-19 15:27:41 +02:00
MichaelDvP
165dd3b418 fix #99, mqtt reconnect after wifi drop 2021-08-18 20:47:37 +02:00
MichaelDvP
7421f3e345 fix crash on response for empty telegrams 2021-08-17 16:06:20 +02:00
MichaelDvP
d00559bcd5 Fix compact weblog level-lable for trace 2021-08-16 07:32:35 +02:00
MichaelDvP
9774051fab Syslog BOM only for utf-8 messages, #91
Tested with extra message with udf-characters:
```
Aug 15 09:30:12 ems-esp32 emsesp 000+00:00:00.000 I 0 Starting Syslog
Aug 15 09:30:13 ems-esp32 emsesp 000+00:00:00.000 I 2 EMS Device library loaded with 79 records
Aug 15 09:30:13 ems-esp32 emsesp <BOM>000+00:00:00.000 I 3 Testing syslog with udf-8-chars: €öäü߀öäü߀öäüß
Aug 15 09:30:13 ems-esp32 emsesp 000+00:00:03.741 I 5 Starting NTP
```
2021-08-15 10:24:57 +02:00
proddy
c50692bae0 version 3.2.2b0 2021-08-14 13:45:26 +02:00
proddy
6348283001 fomatting 2021-08-14 13:41:35 +02:00
proddy
1cbd34d94e rename get_toggle_fetch -> is_fetch 2021-08-14 13:41:11 +02:00
proddy
f9d768a7a7 added clang-tidy 2021-08-14 13:40:21 +02:00
proddy
6c1bfccfaf text change 2021-08-10 09:23:04 +02:00
proddy
2ca0a0c634 v3.2.1 merged from dev 2021-08-08 14:46:14 +02:00
proddy
30ce3f1dc3 3.2.1 2021-08-08 14:45:24 +02:00
proddy
15541c52ce ww selected temperature sets the boilers target temp, not the wwSetTemp 2021-08-08 14:29:20 +02:00
proddy
20c3e8c7bd no need to set new temp in condition 2021-08-08 09:15:03 +02:00
proddy
59797fb89c comment cleanup 2021-08-07 21:47:38 +02:00
proddy
849cc85398 added FSTR_ and MAKE_STR for non-flash macros 2021-08-07 21:47:24 +02:00
proddy
dd318a1c8e always show tags, don't treat BOILER as a special case 2021-08-07 21:46:59 +02:00
proddy
2edf2a4231 disable mqtt function 2021-08-07 21:46:38 +02:00
proddy
d58ee1e693 renamed ww names 2021-08-07 21:46:22 +02:00
proddy
088cb7fe40 support for device in json body 2021-08-07 21:46:09 +02:00
proddy
38498a5587 updated API tests 2021-08-07 21:45:52 +02:00
proddy
6e3b30b03c renamed product ID, changed case for all ww names 2021-08-07 21:45:43 +02:00
proddy
4e9cf72816 3.2.1 2021-08-07 21:45:12 +02:00
857 changed files with 79018 additions and 84753 deletions

152
.clang-tidy Normal file
View File

@@ -0,0 +1,152 @@
---
Checks: >-
*,
-abseil-*,
-android-*,
-boost-*,
-bugprone-branch-clone,
-bugprone-narrowing-conversions,
-bugprone-signed-char-misuse,
-bugprone-too-small-loop-variable,
-cert-dcl50-cpp,
-cert-err58-cpp,
-cert-oop57-cpp,
-cert-str34-c,
-clang-analyzer-optin.cplusplus.UninitializedObject,
-clang-analyzer-osx.*,
-clang-diagnostic-delete-abstract-non-virtual-dtor,
-clang-diagnostic-delete-non-abstract-non-virtual-dtor,
-clang-diagnostic-shadow-field,
-clang-diagnostic-sign-compare,
-clang-diagnostic-unused-variable,
-clang-diagnostic-unused-const-variable,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-avoid-goto,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-init-variables,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-non-private-member-variables-in-classes,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-bounds-constant-array-index,
-cppcoreguidelines-pro-bounds-pointer-arithmetic,
-cppcoreguidelines-pro-type-const-cast,
-cppcoreguidelines-pro-type-cstyle-cast,
-cppcoreguidelines-pro-type-member-init,
-cppcoreguidelines-pro-type-reinterpret-cast,
-cppcoreguidelines-pro-type-static-cast-downcast,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-special-member-functions,
-fuchsia-default-arguments,
-fuchsia-multiple-inheritance,
-fuchsia-overloaded-operator,
-fuchsia-statically-constructed-objects,
-fuchsia-default-arguments-declarations,
-fuchsia-default-arguments-calls,
-google-build-using-namespace,
-google-explicit-constructor,
-google-readability-braces-around-statements,
-google-readability-casting,
-google-readability-todo,
-google-runtime-references,
-hicpp-*,
-llvm-else-after-return,
-llvm-header-guard,
-llvm-include-order,
-llvm-qualified-auto,
-llvmlibc-*,
-misc-non-private-member-variables-in-classes,
-misc-no-recursion,
-misc-unused-parameters,
-modernize-avoid-c-arrays,
-modernize-return-braced-init-list,
-modernize-use-auto,
-modernize-use-default-member-init,
-modernize-use-equals-default,
-modernize-use-trailing-return-type,
-mpi-*,
-objc-*,
-readability-braces-around-statements,
-readability-const-return-type,
-readability-convert-member-functions-to-static,
-readability-else-after-return,
-readability-implicit-bool-conversion,
-readability-isolate-declaration,
-readability-magic-numbers,
-readability-make-member-function-const,
-readability-named-parameter,
-readability-qualified-auto,
-readability-redundant-access-specifiers,
-readability-redundant-member-init,
-readability-redundant-string-init,
-readability-uppercase-literal-suffix,
-readability-use-anyofallof,
-warnings-as-errors
WarningsAsErrors: '*'
AnalyzeTemporaryDtors: false
FormatStyle: google
CheckOptions:
- key: google-readability-braces-around-statements.ShortStatementLines
value: '1'
- key: google-readability-function-size.StatementThreshold
value: '800'
- key: google-readability-namespace-comments.ShortNamespaceLines
value: '10'
- key: google-readability-namespace-comments.SpacesBeforeComments
value: '2'
- key: modernize-loop-convert.MaxCopySize
value: '16'
- key: modernize-loop-convert.MinConfidence
value: reasonable
- key: modernize-loop-convert.NamingStyle
value: CamelCase
- key: modernize-pass-by-value.IncludeStyle
value: llvm
- key: modernize-replace-auto-ptr.IncludeStyle
value: llvm
- key: modernize-use-nullptr.NullMacros
value: 'NULL'
- key: readability-identifier-naming.LocalVariableCase
value: 'lower_case'
- key: readability-identifier-naming.ClassCase
value: 'CamelCase'
- key: readability-identifier-naming.StructCase
value: 'CamelCase'
- key: readability-identifier-naming.EnumCase
value: 'CamelCase'
- key: readability-identifier-naming.EnumConstantCase
value: 'UPPER_CASE'
- key: readability-identifier-naming.StaticConstantCase
value: 'UPPER_CASE'
- key: readability-identifier-naming.StaticVariableCase
value: 'UPPER_CASE'
- key: readability-identifier-naming.GlobalConstantCase
value: 'UPPER_CASE'
- key: readability-identifier-naming.ParameterCase
value: 'lower_case'
- key: readability-identifier-naming.PrivateMemberPrefix
value: 'NO_PRIVATE_MEMBERS_ALWAYS_USE_PROTECTED'
- key: readability-identifier-naming.PrivateMethodPrefix
value: 'NO_PRIVATE_METHODS_ALWAYS_USE_PROTECTED'
- key: readability-identifier-naming.ClassMemberCase
value: 'lower_case'
- key: readability-identifier-naming.ClassMemberCase
value: 'lower_case'
- key: readability-identifier-naming.ProtectedMemberCase
value: 'lower_case'
- key: readability-identifier-naming.ProtectedMemberSuffix
value: '_'
- key: readability-identifier-naming.FunctionCase
value: 'lower_case'
- key: readability-identifier-naming.ClassMethodCase
value: 'lower_case'
- key: readability-identifier-naming.ProtectedMethodCase
value: 'lower_case'
- key: readability-identifier-naming.ProtectedMethodSuffix
value: '_'
- key: readability-identifier-naming.VirtualMethodCase
value: 'lower_case'
- key: readability-identifier-naming.VirtualMethodSuffix
value: ''

View File

@@ -1,35 +1,50 @@
--- ---
name: Bug report name: Problem Report
about: Create a report to help us improve about: Create a Report to help us improve
title: ''
labels: bug
assignees: ''
--- ---
*Before creating a new issue please check that you have:* <!-- Thanks for reporting a problem for this project. READ THIS FIRST:
* *searched the existing [issues](https://github.com/emsesp/EMS-ESP32/issues) (both open and closed)* Please DO NOT OPEN AN ISSUE if your EMS-ESP version is not the latest from the dev branch, please update your device before submitting your issue. Your problem might already be solved. The latest precompiled binaries of EMS-ESP can be downloaded from https://github.com/emsesp/EMS-ESP32/releases/tag/latest
* *searched the [documentation help section](https://emsesp.github.io/docs)*
*Completing this template will help developers and contributors to address the issue. Try to be as specific and extensive as possible. If the information provided is not enough the issue will likely be closed.* Please take a few minutes to complete the requested information below.
*You can now remove this line and the above ones. Text in italic is meant to be replaced by your own words. If any of the sections below are not relevant to the issue (for instance, the screenshots) then you can delete them.* -->
**Bug description** ### PROBLEM DESCRIPTION
*A clear and concise description of what the bug is. Mention which EMS-ESP version you're using.*
**Steps to reproduce** _A clear and concise description of what the problem is._
*Steps to reproduce the behavior.*
**Expected behavior** ### REQUESTED INFORMATION
*A clear and concise description of what you expected to happen.*
**Screenshots** _Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!_
*If applicable, add screenshots to help explain your problem.*
**Device information** - [ ] Searched the problem in [issues](https://github.com/emsesp/EMS-ESP32/issues)
*Copy-paste here the information as it is outputted by the device. You can get this information by from http://ems-esp.local/api?device=system&cmd=info* - [ ] Searched the problem in [discussions](https://github.com/emsesp/EMS-ESP32/discussions)
- [ ] Searched the problem in the [docs](https://emsesp.github.io/docs/Troubleshooting/)
- [ ] Searched the problem in the [chat](https://discord.gg/3J3GgnzpyT)
- [ ] Provide the output of http://ems-esp.local/api/system :
**Additional context** ```lua
*Add any other context about the problem here.* System information output here:
```
### TO REPRODUCE
_Steps to reproduce the behavior:_
### EXPECTED BEHAVIOUR
_A clear and concise description of what you expected to happen._
### SCREENSHOTS
_If applicable, add screenshots to help explain your problem._
### ADDITIONAL CONTEXT
_Add any other context about the problem here._
**(Please, remember to close the issue when the problem has been addressed)**

11
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
blank_issues_enabled: false
contact_links:
- name: EMS-ESP Docs
url: https://emsesp.github.io/docs/
about: All the information related to EMS-ESP.
- name: EMS-ESP Discussions and Support
url: https://github.com/emsesp/EMS-ESP32/discussions
about: EMS-ESP usage Questions, Feature Requests and Projects.
- name: EMS-ESP Users Chat
url: https://discord.gg/3J3GgnzpyT
about: Chat for feedback, questions and troubleshooting.

View File

@@ -1,26 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
*Before creating a new feature request please check that you have searched the existing [issues](https://github.com/emsesp/EMS-ESP32/issues) (both open and closed)*
*Completing this template will help developers and contributors evaluating the feature. If the information provided is not enough the issue will likely be closed.*
*You can now remove this line and the above ones. Text in italic is meant to be replaced by your own words. If any of the sections below are not relevant to the request then you can delete them.*
**Is your feature request related to a problem? Please describe.**
*A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]*
**Describe the solution you'd like**
*A clear and concise description of what you want to happen.*
**Describe alternatives you've considered**
*A clear and concise description of any alternative solutions or features you've considered.*
**Additional context**
*Add any other context or screenshots about the feature request here.*

View File

@@ -1,29 +0,0 @@
---
name: Questions & Troubleshooting
about: Anything not a bug or feature request
title: ''
labels: question
assignees: ''
---
*Before creating a new issue please check that you have:*
* *searched the existing [issues](https://github.com/emsesp/EMS-ESP32/issues) (both open and closed)*
* *searched the [documentation help section](https://emsesp.github.io/docs)*
*Completing this template will help developers and contributors help you. Try to be as specific and extensive as possible. If the information provided is not enough the issue will likely be closed.*
*You can now remove this line and the above ones. Text in italic is meant to be replaced by your own words. If any of the sections below are not relevant to the issue (for instance, the screenshots) then you can delete them.*
**Question**
*A clear and concise description of what the problem/doubt is.*
**Screenshots**
*If applicable, add screenshots to help explain your problem.*
**Device information**
*Copy-paste here the information as it is outputted by the device. You can get this information from http://ems-esp.local/api?device=system&cmd=info*
**Additional context**
*Add any other context about the problem here.*

View File

@@ -1,57 +1,58 @@
name: "pre-release" name: 'pre-release'
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
branches: branches:
- "dev" - 'dev'
jobs: jobs:
pre-release: pre-release:
name: 'Automatic pre-release build'
name: "Automatic pre-release build"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2 - uses: actions/setup-python@v4
- uses: actions/setup-python@v2 - uses: actions/setup-node@v3
- uses: actions/setup-node@v2
with: with:
node-version: '16' node-version: '18'
- name: Get EMS-ESP source code and version - name: Get EMS-ESP source code and version
id: build_info id: build_info
run: | run: |
version=`grep -E '^#define EMSESP_APP_VERSION' ./src/version.h | awk -F'"' '{print $2}'` version=`grep -E '^#define EMSESP_APP_VERSION' ./src/version.h | awk -F'"' '{print $2}'`
echo "::set-output name=version::$version" echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO - name: Install PlatformIO
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -U platformio pip install -U platformio
platformio upgrade
platformio update
- name: Build WebUI - name: Build WebUI
run: | run: |
cd interface cd interface
npm ci yarn install
npm run build yarn run typesafe-i18n --no-watch
sed -i "s/= 'pl'/= 'en'/" ./src/i18n/i18n-util.ts
yarn run build
- name: Build firmware - name: Build firmware
run: | run: |
platformio run -e ci platformio run -e ci
- name: Build S3 firmware
run: |
platformio run -e ci_s3
- name: Create a GH Release - name: Create a GH Release
id: "automatic_releases" id: 'automatic_releases'
uses: "marvinpinto/action-automatic-releases@latest" uses: 'marvinpinto/action-automatic-releases@latest'
with: with:
repo_token: "${{ secrets.GITHUB_TOKEN }}" repo_token: '${{ secrets.GITHUB_TOKEN }}'
title: ESP32 Development Build v${{steps.build_info.outputs.version}} title: Development Build v${{steps.build_info.outputs.VERSION}}
automatic_release_tag: "latest" automatic_release_tag: 'latest'
prerelease: true prerelease: true
files: | files: |
CHANGELOG_LATEST.md CHANGELOG_LATEST.md
./build/firmware/*.* ./build/firmware/*.*

30
.github/workflows/sonar_check.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: Sonar Check
on:
push:
branches:
- dev
pull_request:
types: [opened, synchronize, reopened]
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
# if: github.repository_owner == 'emsesp'
# if: github.repository == 'emsesp/EMS-ESP32'
env:
BUILD_WRAPPER_OUT_DIR: build_wrapper_output_directory
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v2
- name: Run build-wrapper
run: |
build-wrapper-linux-x86-64 --out-dir ${{ env.BUILD_WRAPPER_OUT_DIR }} make all
- name: Run sonar-scanner
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
run: |
sonar-scanner --define sonar.cfamily.build-wrapper-output="${{ env.BUILD_WRAPPER_OUT_DIR }}"

View File

@@ -1,45 +1,49 @@
name: "tagged-release" name: 'tagged-release'
on: on:
push: push:
tags: tags:
- "v*" - 'v*'
jobs: jobs:
tagged-release: tagged-release:
name: 'Tagged Release'
name: "Tagged Release"
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v2 - uses: actions/setup-python@v4
- uses: actions/setup-python@v2 - uses: actions/setup-node@v3
- uses: actions/setup-node@v2
with: with:
node-version: '16' node-version: '18'
- name: Install PlatformIO - name: Install PlatformIO
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -U platformio pip install -U platformio
platformio upgrade platformio upgrade
platformio update pio pkg update
- name: Build WebUI - name: Build WebUI
run: | run: |
cd interface cd interface
npm ci yarn install
npm run build yarn run typesafe-i18n --no-watch
sed -i "s/= 'pl'/= 'en'/" ./src/i18n/i18n-util.ts
yarn run build
- name: Build firmware - name: Build firmware
run: | run: |
platformio run -e ci platformio run -e ci
- name: Build S3 firmware
run: |
platformio run -e ci_s3
- name: Release - name: Release
uses: "marvinpinto/action-automatic-releases@latest" uses: 'marvinpinto/action-automatic-releases@latest'
with: with:
repo_token: "${{ secrets.GITHUB_TOKEN }}" repo_token: '${{ secrets.GITHUB_TOKEN }}'
prerelease: false prerelease: false
files: | files: |
CHANGELOG.md CHANGELOG.md

58
.github/workflows/test_release.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
name: 'test-release'
on:
workflow_dispatch:
push:
branches:
- 'dev2'
jobs:
pre-release:
name: 'Automatic test-release build'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
- uses: actions/setup-node@v3
with:
node-version: '18'
- name: Get EMS-ESP source code and version
id: build_info
run: |
version=`grep -E '^#define EMSESP_APP_VERSION' ./src/version.h | awk -F'"' '{print $2}'`
echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Install PlatformIO
run: |
python -m pip install --upgrade pip
pip install -U platformio
- name: Build WebUI
run: |
cd interface
yarn install
yarn run typesafe-i18n --no-watch
sed -i "s/= 'pl'/= 'en'/" ./src/i18n/i18n-util.ts
yarn run build
- name: Build firmware
run: |
platformio run -e ci
- name: Build S3 firmware
run: |
platformio run -e ci_s3
- name: Create a GH Release
id: 'automatic_releases'
uses: 'marvinpinto/action-automatic-releases@latest'
with:
repo_token: '${{ secrets.GITHUB_TOKEN }}'
title: Test Build v${{steps.build_info.outputs.VERSION}}
automatic_release_tag: 'test'
prerelease: true
files: |
CHANGELOG_LATEST.md
./build/firmware/*.*

52
.gitignore vendored
View File

@@ -1,30 +1,60 @@
# vscode # vscode
.vscode .vscode/c_cpp_properties.json
.directory .vscode/extensions.json
workspace.code-workspace .vscode/launch.json
# .vscode/settings.json
# build # c++ compiling
build/
.clang_complete .clang_complete
.gcc-flags.json .gcc-flags.json
cppcheck.out.xml cppcheck.out.xml
debug.log
# platformio # platformio
.pio .pio
pio_local.ini pio_local.ini
/.VSCodeCounter
# OS specific # OS specific
.DS_Store .DS_Store
*Thumbs.db *Thumbs.db
# project specfic
/scripts/stackdmp.txt
emsesp emsesp
# web specfic
build/
dist/
/data/www /data/www
/lib/framework/WWWData.h /lib/framework/WWWData.h
/interface/build /interface/build
node_modules node_modules
/interface/.eslintcache /interface/.eslintcache
test.sh stats.html
*.sln
*.sw?
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions
# scripts
test.sh
scripts/run.sh
scripts/__pycache__
/scripts/stackdmp.txt
# i18n generated files
interface/src/i18n/i18n-react.tsx
interface/src/i18n/i18n-types.ts
interface/src/i18n/i18n-util.ts
interface/src/i18n/i18n-util.sync.ts
interface/src/i18n/i18n-util.async.ts
# sonar
.scannerwork/
sonar/
build_wrapper_output_directory/
# entity dump results
# dump_entities.csv
# dump_entities.xls*

View File

@@ -1,6 +1,8 @@
{ {
"singleQuote": true,
"semi": true,
"trailingComma": "none", "trailingComma": "none",
"printWidth": 80 "tabWidth": 2,
} "semi": true,
"singleQuote": true,
"printWidth": 120,
"bracketSpacing": true
}

12
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,12 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"platformio.platformio-ide"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}

46
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,46 @@
{
"search.exclude": {
"**/.yarn": true,
"**/.pnp.*": true
},
"editor.codeActionsOnSave": {
"source.fixAll": true
// "source.organizeImports": true
},
"eslint.nodePath": "interface/.yarn/sdks",
"eslint.workingDirectories": ["interface"],
"prettier.prettierPath": "",
"typescript.tsdk": "interface/.yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"files.associations": {
"*.tsx": "typescriptreact",
"*.tcc": "cpp",
"optional": "cpp",
"istream": "cpp",
"ostream": "cpp",
"ratio": "cpp",
"system_error": "cpp",
"array": "cpp",
"functional": "cpp",
"regex": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"string": "cpp",
"string_view": "cpp"
},
"todo-tree.filtering.excludeGlobs": [
"**/vendor/**",
"**/node_modules/**",
"**/dist/**",
"**/bower_components/**",
"**/build/**",
"**/.vscode/**",
"**/.github/**",
"**/_output/**",
"**/*.min.*",
"**/*.map",
"**/ArduinoJson/**"
],
"cSpell.enableFiletypes": ["!cpp"]
}

18
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,18 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "build standalone emsesp",
"command": "make",
"args": [],
"problemMatcher": ["$gcc"],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}

View File

@@ -5,6 +5,376 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
# [3.6.1] September 9 2023
## **IMPORTANT! BREAKING CHANGES**
- `shower_data` MQTT topic shows duration is seconds (was previously a full english sentence)
## Added
- show WiFi rssi in Network Status Page, show quality as color
## Fixed
- Issue in espMqttClient causing a memory leak when MQTT broker is disconnected due to network unavailability [#1264](https://github.com/emsesp/EMS-ESP32/issues/1264)
- Using MQTT enum values correctly formatted in MQTT Discovery [#1280](https://github.com/emsesp/EMS-ESP32/issues/1280)
## Changed
- mqtt free mem check set to 60 kb
- small cosmetic changes to Searching in Customization web page
- updated to espressif32@6.4.0
# [3.6.0] August 13 2023
## **IMPORTANT! BREAKING CHANGES**
There are breaking changes between 3.5.x and earlier versions of 3.6.0. Please read carefully before applying the update.
- The sensors have been renamed. `dallassensor` is now `temperaturesensor` in the MQTT topic and named `ts` in the Customizations file. Likewise `analogs` is now `analogsensor` in MQTT and called `as` in the Customizations file. If you have previous customizations you will need to manually update by downloading, changing the JSON file and uploading. It's also recommended cleaning up any old MQTT topics from your broker using an application like MQTTExplorer.
## Added
- Workaround for better Domoticz MQTT intergration? [#904](https://github.com/emsesp/EMS-ESP32/issues/904)
- Show MAC address without connecting to network enhancement [#933](https://github.com/emsesp/EMS-ESP32/issues/933)
- Warn user in WebUI of unsaved changes [#911](https://github.com/emsesp/EMS-ESP32/issues/911)
- Detect old Tado thermostat, device-id 0x19, no entities
- Some more HM200 entities [#500](https://github.com/emsesp/EMS-ESP32/issues/500)
- Added Scheduler [#701](https://github.com/emsesp/EMS-ESP32/issues/701)
- Added Custom Entities read/write from EMS bus
- Build S3 binary with github actions
- Greenstar HIU [#1158](https://github.com/emsesp/EMS-ESP32/issues/1158)
- AM200 code 10 [#1161](https://github.com/emsesp/EMS-ESP32/issues/1161)
- Ventilation device (Logavent HRV176) [#1172](https://github.com/emsesp/EMS-ESP32/issues/1172)
- Turn ETH off on wifi connect [#1167](https://github.com/emsesp/EMS-ESP32/issues/1167)
- Support for multiple EMS-ESPs with HA [#1196](https://github.com/emsesp/EMS-ESP32/issues/1196)
- Italian translation [#1199](https://github.com/emsesp/EMS-ESP32/issues/1199)
- Turkish language support [#1076](https://github.com/emsesp/EMS-ESP32/issues/1076)
- Buderus GB182 - HC1 mode change not work bug [#1193](https://github.com/emsesp/EMS-ESP32/issues/1193)
- Minimal flow temperature enhancement [#1192](https://github.com/emsesp/EMS-ESP32/issues/1192)
- Roomtemperature Switching Difference enhancement [#1191](https://github.com/emsesp/EMS-ESP32/issues/1191)
- Dew Point Temperature Difference enhancement [#1190](https://github.com/emsesp/EMS-ESP32/issues/1190)
- Control of heating circuit mode enhancement [#1187](https://github.com/emsesp/EMS-ESP32/issues/1187)
- Warn user in WebUI of unsaved changes enhancement [#911](https://github.com/emsesp/EMS-ESP32/issues/911)
- Create safebuild app to fit into factory partition to give ESP32 more flash memory enhancement [#608](https://github.com/emsesp/EMS-ESP32/issues/608)
- Support ESP32 S2, C3 mini and S3 [#605](https://github.com/emsesp/EMS-ESP32/issues/605)
- Support Buderus AM200 [#1161](https://github.com/emsesp/EMS-ESP32/issues/1161)
- Custom telegram handler [#1155](https://github.com/emsesp/EMS-ESP32/issues/1155)
- Added support for TLS in MQTT (ESP32-S3 only) [#1178](https://github.com/emsesp/EMS-ESP32/issues/1178)
- Boardprofile BBQKees Gateway S3
- Custom entity type RAW [#1212](https://github.com/emsesp/EMS-ESP32/discussions/1212)
- API command response [#1212](https://github.com/emsesp/EMS-ESP32/discussions/1212)
## Fixed
- HA-discovery for analog sensor commands [#1035](https://github.com/emsesp/EMS-ESP32/issues/1035)
- Enum order of RC3x nofrost mode
- Heartbeat interval
- Exhaust temperature always zero on GB125/MC110/RC310 bug [#1147](https://github.com/emsesp/EMS-ESP32/issues/1147)
- thermostat modetype is not changing when mode changes (e.g. to night) bugSomething isn't working [#1098](https://github.com/emsesp/EMS-ESP32/issues/1098)
- NTP: cant apply changed timezone [#1182](https://github.com/emsesp/EMS-ESP32/issues/1182)
- Missing Status of VS1 for Buderus SM200 enhancement [#1034](https://github.com/emsesp/EMS-ESP32/issues/1034)
- Allowed gpios for S3
## Changed
- Optional upgrade to platform-espressif32 6.3.0 (after 5.3.0) [#862](https://github.com/emsesp/EMS-ESP32/issues/862)
- Use byte 3 for detection RC30 active heatingcircuit [#786](https://github.com/emsesp/EMS-ESP32/issues/786)
- Write repeated selflowtemp if tx-queue is empty without verify [#954](https://github.com/emsesp/EMS-ESP32/issues/954)
- HA discovery recreate after disconnect by device [#1067](https://github.com/emsesp/EMS-ESP32/issues/1067)
- File upload: check flash size (overflow) instead of filesize
- Improved HA Discovery so previous configs no longer need to be removed when starting [#1077](https://github.com/emsesp/EMS-ESP32/pull/1077) (thanks @pswid)
- Enlarge UART-Stack to 2,5k
- Retry timeout for Mqtt-QOS1/2 10seconds
- Optimize WebUI rendering when using Dialog Boxes [#1116](https://github.com/emsesp/EMS-ESP32/issues/1116)
- Optimize Web libraries to reduce bundle size (3.6.x) [#1112](https://github.com/emsesp/EMS-ESP32/issues/1112)
- Use [espMqttClient](https://github.com/bertmelis/espMqttClient) with integrated queue [#1178](https://github.com/emsesp/EMS-ESP32/issues/1178)
- Move Sensors from Web dashboard to it's own tab enhancement [#1170](https://github.com/emsesp/EMS-ESP32/issues/1170)
- Optimize WebUI dashboard data [#1169](https://github.com/emsesp/EMS-ESP32/issues/1169)
- Replace React core library with Preact to save on memory footprint
- Response to `system/send` raw reads gives combined data for telegrams with more parts
# [3.5.0] February 6 2023
## **IMPORTANT! BREAKING CHANGES**
- When upgrading to v3.5 for the first time from v3.4 on a BBQKees Gateway board you will need to use the [EMS-EPS Flasher](https://github.com/emsesp/EMS-ESP-Flasher/releases) to correctly re-partition the flash. Make sure you backup the settings and customizations from the WebUI (System->Upload/Download) and restore after the upgrade.
## Added
- Translations in Web UI and all device entity names (DE, NL, SV, PL, NO, FR) [#22](https://github.com/emsesp/EMS-ESP32/issues/22)
- Add support for Lolin C3 mini [#620](https://github.com/emsesp/EMS-ESP32/pull/620)
- Add support for ESP32-S2 [#667](https://github.com/emsesp/EMS-ESP32/pull/667)
- Add devices: Greenstar 30Ri boiler, Junkers FW500 thermostat, Buderus BC30 controller
- Add program memory info
- Add mqtt queue and connection infos
- Adapt min/max if ems-value is not in this range
- Add heat pump settings for inputs and limits [#600](https://github.com/emsesp/EMS-ESP32/issues/600)
- Add hybrid heatpump [#500](https://github.com/emsesp/EMS-ESP32/issues/500)
- Add translated tags
- Add min/max to customization table [#686](https://github.com/emsesp/EMS-ESP32/issues/686)
- Add MD5 check [#637](https://github.com/emsesp/EMS-ESP32/issues/637)
- Add more bus-ids [#673](https://github.com/emsesp/EMS-ESP32/issues/673)
- Use HA connectivity device class for Status, added boot time [#751](https://github.com/emsesp/EMS-ESP32/issues/751)
- Add commands for analog sensors outputs
- Support for multiple EMS-ESPs with MQTT and HA [[#759](https://github.com/emsesp/EMS-ESP32/issues/759)]
- Settings for heatpump silent mode and additional heater [[#802](https://github.com/emsesp/EMS-ESP32/issues/802)] [[#803](https://github.com/emsesp/EMS-ESP32/issues/803)]
- Zone module MZ100 [#826](https://github.com/emsesp/EMS-ESP32/issues/826)
- Default MQTT hostname is blank [#829](https://github.com/emsesp/EMS-ESP32/issues/829)
- wwCurFlow for ems+ devices [#829](https://github.com/emsesp/EMS-ESP32/issues/829)
- Add Rego 3000, TR120RF thermostats [#917](https://github.com/emsesp/EMS-ESP32/issues/917)
- Add config for ESP32-S3
- Add heatpump silent mode and other entities [#896](https://github.com/emsesp/EMS-ESP32/issues/896)
- Allow reboot to other partition (factory or asymetric OTA)
- Blacklist entities to remove from memory [#891](https://github.com/emsesp/EMS-ESP32/issues/891)
- Add boiler pump operating mode [#944](https://github.com/emsesp/EMS-ESP32/issues/944)
## Fixed
- Factory Reset not working [#628](https://github.com/emsesp/EMS-ESP32/issues/628)
- Valid 4 byte values [#820](https://github.com/emsesp/EMS-ESP32/issues/820)
- Commands for multiple thermostats [#826](https://github.com/emsesp/EMS-ESP32/issues/826)
- API queries for multiple devices [#865](https://github.com/emsesp/EMS-ESP32/issues/865)
- Console crash when using call with command `hcx` only. [#841](https://github.com/emsesp/EMS-ESP32/issues/841)
- `heatingPump2Mod` was wrong, changed to absBurnPow [[#908](https://github.com/emsesp/EMS-ESP32/issues/908)
- Rounding of web input values
- Analog sensor with single gpio number [#915](https://github.com/emsesp/EMS-ESP32/issues/915)
- HA dallas and analog configs: remove/rebuild on change [#888](https://github.com/emsesp/EMS-ESP32/issues/888)
- Modes and set seltemp for RC30 and RC20 [#932](https://github.com/emsesp/EMS-ESP32/issues/932)
## Changed
- Discovery in HomeAssistant don't work with custom base topic. [#596](https://github.com/emsesp/EMS-ESP32/issues/596) Base topic containing `/` are changed to `_`
- RF room temperature sensor are shown as thermostat
- Render mqtt float json values with trailing zero
- Removed flash strings, to increase available heap memory
- Reload page after restart button is pressed
- Analog/dallas values command as list like ems-devices
- Analog/dallas HA-entities based on id
- MQTT Base is a mandatory field. Removed MQTT topic length from settings
- HA duration class for time entities [[#822](https://github.com/emsesp/EMS-ESP32/issues/822)
- AM200 alternative heatsource as class heatsource [[#857](https://github.com/emsesp/EMS-ESP32/issues/857)
# [3.4.2] September 18 2022
## Added
- RC310 additions [#520](https://github.com/emsesp/EMS-ESP32/pull/520)
- damping
- wwprio for RC310 heating circuits
- switchonoptimization for RC310 heating circuits
- enum_controlmode for RC310 (new enum list)
- nofrostmode, reducemode, reducetemp & noreducetemp for RC310
- emergencyops and emergencytemp, wwmaxtemp, wwflowtempoffset and wwcomfort1 for RC310
- HM200 hybrid module [#500](https://github.com/emsesp/EMS-ESP32/issues/500)
- AM200 alternative heatsource module [#573](https://github.com/emsesp/EMS-ESP32/issues/573)
- EM10 error module as gateway [#575](https://github.com/emsesp/EMS-ESP32/issues/575)
## Fixed
- fix Table resizing in WebUI [#519](https://github.com/emsesp/EMS-ESP32/issues/519)
- allow larger customization files [#570](https://github.com/emsesp/EMS-ESP32/issues/570)
- losing entitiy wwcomfort [#581](https://github.com/emsesp/EMS-ESP32/issues/581)
## Changed
- Shorten "friendly names" in Home Assistant [#555](https://github.com/emsesp/EMS-ESP32/issues/555)
- platformio 2.3.0 (IDF 4, Arduino 2)
- remove master-thermostat, support multiple thermostats
- merge up- and download in webui [#577](https://github.com/emsesp/EMS-ESP32/issues/577)
# [3.4.1] May 29 2022
## Fixed
- Fix memory leak in api [#524](https://github.com/emsesp/EMS-ESP32/issues/524)
## Changed
- Controller data in web-ui only for IVT [#522](https://github.com/emsesp/EMS-ESP32/issues/522)
- Rename hidden `climate` to a more explaining name [#523](https://github.com/emsesp/EMS-ESP32/issues/523)
- Minor changes to the Customizations web page [#527](https://github.com/emsesp/EMS-ESP32/pull/527)
# [3.4.0] May 23 2022
## Added
- WebUI optimizations, updated look&feel and better performance [#124](https://github.com/emsesp/EMS-ESP32/issues/124)
- Auto refresh of WebUI after successful firmware upload [#178](https://github.com/emsesp/EMS-ESP32/issues/178)
- New Customization Service in WebUI. First feature is the ability to enable/disabled Enitites (device values) from EMS devices [#206](https://github.com/emsesp/EMS-ESP32/issues/206)
- Option to disable Telnet Console [#209](https://github.com/emsesp/EMS-ESP32/issues/209)
- Added Hide SSID, Max Clients and Preferred Channel to Access Point
- Merged in MichaelDvP's changes like Fahrenheit conversion, publish single (for IOBroker) and a few other critical optimizations
- Enabled bi-directional read/write with Home Assistant, so values can be changed automatically from the UI without scripting [#265](https://github.com/emsesp/EMS-ESP32/issues/265)
- Added GC7000F Boiler [#270](https://github.com/emsesp/EMS-ESP32/issues/270)
- Revised LED flash sequence on boot up to show system health (1 flash=no ems, 2 flashes=no wifi) [#224](https://github.com/emsesp/EMS-ESP32/issues/224)
- Analog Sensor support [#271](https://github.com/emsesp/EMS-ESP32/issues/271)
- Solar cylinder priority [#247](https://github.com/emsesp/EMS-ESP32/issues/247)
- Read only mode in Settings, where EMS Tx/Write commands are blocked [#286](https://github.com/emsesp/EMS-ESP32/issues/286)
- Added 8700i Boiler device
- Added Cascade CM10 Controller device
- Add Olimex ESP32-POE-ISO to board profiles plus settings to customize Ethernet modules [#301](https://github.com/emsesp/EMS-ESP32/issues/301)
- Help text for string commands in WebUI [#320](https://github.com/emsesp/EMS-ESP32/issues/320)
- Germany translations (at compile time)
- #entities added to system/info` endpoint [#322](https://github.com/emsesp/EMS-ESP32/issues/322)
- analog outputs digital/pwm/dac
- remove MQTT retained configs if discovery is disabled
- timeout 10 min for MQTT-QoS wait
- Moduline 300 auto-temperatures T1-T4, RC300 romminfluencefactor
- RC35 parameters [#392](https://github.com/emsesp/EMS-ESP32/issues/392), [#398](https://github.com/emsesp/EMS-ESP32/issues/398)
- sync time with thermostat [#386](https://github.com/emsesp/EMS-ESP32/issues/386), [#408](https://github.com/emsesp/EMS-ESP32/issues/408)
- set mode has immediate effect [#395](https://github.com/emsesp/EMS-ESP32/issues/395)
- min/max in web value setting
- Extend customization to select if an entity is to be shown in the WebUI or forced as read-only [#317](https://github.com/emsesp/EMS-ESP32/issues/317)
- Added Moduline 400 installation parameters [PR #449 by @kwertie01](https://github.com/emsesp/EMS-ESP32/pull/449)
- Read time from IVT-controller [#439](https://github.com/emsesp/EMS-ESP32/issues/439)
- Hybrid Heatpump product-id 168 [#459](https://github.com/emsesp/EMS-ESP32/issues/459), thermostat settings
- Junkers ISM2 and IPM in warm water mode [#437](https://github.com/emsesp/EMS-ESP32/issues/437)
- Added Shower Alert trigger time and cold shot time [#436](https://github.com/emsesp/EMS-ESP32/issues/436)
- Improved Table layout in Web UI (searching, filtering, sorting, exporting to CSV)
- API fetch individual attributes from an entity [#462](https://github.com/emsesp/EMS-ESP32/issues/462)
- Option to disable mDNS
- Option for rendering booleans on dashboard [#456](https://github.com/emsesp/EMS-ESP32/issues/456)
- Upload customization settings from a file [#256](https://github.com/emsesp/EMS-ESP32/issues/256)
## Fixed
- lastcode broke MQTT JSON structure [#228](https://github.com/emsesp/EMS-ESP32/issues/228)
- fixed issue with overlapping while reading sequence of EMS1.0 telegrams
- fixed redundant telegram readings (because of offset overflow)
- added missing RC30/Moduline 400 [#243](https://github.com/emsesp/EMS-ESP32/issues/243)
- Correct modes for RC25 [#106](https://github.com/emsesp/EMS-ESP32/issues/106)
- Clean up old HA config's in MQTT before publishing data. This will prevent HA giving the 'dict' warnings [#229](https://github.com/emsesp/EMS-ESP32/issues/229)
- RC25 temperature setting [#272](https://github.com/emsesp/EMS-ESP32/issues/272)
- Buderus RC25 - "hc1 mode type" incorrect value [#273](https://github.com/emsesp/EMS-ESP32/issues/273)
- Increased number of Mixers and Heating Circuits [#294](https://github.com/emsesp/EMS-ESP32/issues/294)
- Check receive status before removing a telegram fetch [#268](https://github.com/emsesp/EMS-ESP32/issues/268), [#282](https://github.com/emsesp/EMS-ESP32/issues/282)
- Fix uploading firmware on OSX [#345](https://github.com/emsesp/EMS-ESP32/issues/345)
- Non-nested MQTT would corrupt the json [#354](https://github.com/emsesp/EMS-ESP32/issues/354)
- Burner selected max power can have a value higher than 100% [#314](https://github.com/emsesp/EMS-ESP32/issues/314)
- some missing fahrenheit calculations
- limited number of exclusions [#339](https://github.com/emsesp/EMS-ESP32/issues/339)
- MQTT sometimes would not reconnect after a WiFi outage
## Changed
- Use flash system to show system health (1 flash=no ems, 2 flashes=no wifi) [#224](https://github.com/emsesp/EMS-ESP32/issues/224)
- Renamed Dallas Sensor to Temperature Sensor in UI
- Dallas Format removed. Use the name to give each sensor an alias
- No longer MQTT subscribes to topic `/thermostat_hc<n>` as it supports a path similar to the API endpoint construct
- Show Sensors quality in WebUI
- Controller not shown in WebUI dashboard
- renamed "Home Assistant Integration" to "MQTT Discovery" in MQTT Settings [#290](https://github.com/emsesp/EMS-ESP32/issues/290)
- Show ems tx reads and writes separately
- Show ems device handlers separated for received, fetched and pending handlers.
- Wired renamed to Ethernet
- removed system/pin command, new commands in analogsensors
- system/info device-info split to name/version/brand
- exclude list uses short-names, possible flags for web/api/mqtt excludes, readonly and favorite (selection not yet implemented)
- thermostat clock formate date-time: dd.mm.yyyy hh:mm
- RC300 summermode as other thermostats `winter/summer` instead of `off/on`
## **BREAKING CHANGES:**
- Settings:
- order of Boolean Format has changed in Application Settings - check your settings
- Dallas Format setting removed. Now customize name of each Dallas sensor via the UI
- MQTT/API
- Boiler `wwheat` renamed to `ww3wayon` [#211](https://github.com/emsesp/EMS-ESP32/issues/211)
- Boiler `ww` tag renamed to `dhw`. Any custom Home Assistant lovelace dashboards will need updating.
- Renamed description of `wwtapactivated` to "turn on/off DHW". Otherwise would have looked like "boiler_dhw_turn_on_off_dhw" in HA.
- `/api/system/info` endpoint has updated keys. Now lowercase, no underscores and not capitalized. Replace "handlers" with "handlers received", "handlers fetched" and "handlers pending".
# [3.3.1] January 20 2022
- lastcode broke MQTT JSON structure [#228](https://github.com/emsesp/EMS-ESP32/issues/228)
- overlapping while reading sequence of EMS1.0 telegrams
- redundant telegram readings (because of offset overflow)
- added missing RC30/Moduline400 [#243](https://github.com/emsesp/EMS-ESP32/issues/243)
- check received status before toggling fetch on empty telegram [#268][#282]
# [3.3.0] November 28 2021
## Added
- Add system commands for syslog level and watch [#98](https://github.com/emsesp/EMS-ESP32/issues/98)
- Added pool data to telegrams 0x494 & 0x495 [#102](https://github.com/emsesp/EMS-ESP32/issues/102)
- Add RC300 second summermode telegram [#108](https://github.com/emsesp/EMS-ESP32/issues/108)
- Add support for the RC25 thermostat [#106](https://github.com/emsesp/EMS-ESP32/issues/106)
- Add new command 'entities' for a device, e.g. <http://ems-esp/api/boiler/entities> to show the shortname, description and HA Entity name (if HA enabled) [#116](https://github.com/emsesp/EMS-ESP32/issues/116)
- Support for Junkers program and remote (fb10/fb110) temperature
- Home Assistant `state_class` attribute for Wh, kWh, W and KW [#129](https://github.com/emsesp/EMS-ESP32/issues/129)
- Add current room influence for RC300 [#136](https://github.com/emsesp/EMS-ESP32/issues/136)
- Added Home Assistant device_class to sensor entities
- Added another Buderus RC10 thermostat with Product ID 65 [#160](https://github.com/emsesp/EMS-ESP32/issues/160)
- Added support for mDNS [#161](https://github.com/emsesp/EMS-ESP32/issues/161)
- Added last system ESP32 reset code to log (and `system info` output)
- Firmware Checker in WebUI [#168](https://github.com/emsesp/EMS-ESP32/issues/168)
- Added new MQTT setting for enabling 'response' topic
- Support for non-standard Thermostats like Tado [#174](https://github.com/emsesp/EMS-ESP32/issues/174)
- Include MQTT connection status in 'api/system/info'
- Include Network status in 'api/system/info' and also the MQTT topic `info` [#202](https://github.com/emsesp/EMS-ESP32/issues/202)
- Added Ethernet PHY module as an option in the Board Profile [#210](https://github.com/emsesp/EMS-ESP32/issues/210)
## Fixed
- MQTT reconnecting after WiFi reconnect [#99](https://github.com/emsesp/EMS-ESP32/issues/99)
- Manually Controlling Solar Circuit [#107](https://github.com/emsesp/EMS-ESP32/issues/107)
- Fix thermostat commands not defaulting to the master thermostat [#110](https://github.com/emsesp/EMS-ESP32/issues/110)
- Enlarge parse-buffer for long names like `cylinderpumpmodulation`
- MQTT not subscribing to all device entities [#166](https://github.com/emsesp/EMS-ESP32/issues/166)
- Help fix issues with WebUI unable to fully load UI over Ethernet [#177](https://github.com/emsesp/EMS-ESP32/issues/177)
- Shower alert never reset after limit reached when enabled [(PR #185)]
- Remove HA entity entries when a device value goes dormant [#196](https://github.com/emsesp/EMS-ESP32/issues/196)
- deciphering last error code dates on 0xC2 telegram [#204](https://github.com/emsesp/EMS-ESP32/issues/204)
## Changed
- Syslog BOM only for utf-8 messages [#91](https://github.com/emsesp/EMS-ESP32/issues/91)
- Check for KM200 by device-id 0x48, remove tx-delay [#90](https://github.com/emsesp/EMS-ESP32/issues/90)
- rename `fastheatupfactor` to `fastheatup` and add percent [#122](https://github.com/emsesp/EMS-ESP32/issues/122)
- "unit" renamed to "uom" in API call to recall a Device Value
- initial backend React changes to replace the class components (HOCs) with React Hooks
- Use program-names instead of numbers
- Boiler's maintenancemessage always published in MQTT (to prevent HA missing entity)
- Unit of Measure 'times' added to MQTT Fails, Rx fails, Rx received, Tx fails, Tx reads & Tx writes
- Improved API. Restful HTTP API works in the same way as MQTT calls
- Removed settings for MQTT subscribe format [#173](https://github.com/emsesp/EMS-ESP32/issues/173)
- Improve Nefit Moduline 200 functionality [#183](https://github.com/emsesp/EMS-ESP32/issues/183)
- `status` in the MQTT heartbeat renamed to `bus_status`
- Layout changes in the WebUI, showing stripped table rows in Dashboard
- Alternative font for log window [#219](https://github.com/emsesp/EMS-ESP32/issues/219)
## **BREAKING CHANGES**
- API: "unit" renamed to "uom" in API call to recall a Device Value
- HA: `sensor.boiler_boiler_temperature` renamed to `sensor.actual_boiler_temperature`
- HA: `binary_sensor.boiler_ww_disinfecting` renamed to `binary_sensor.boiler_ww_disinfection`
- HA: # removed from counts in MQTT Fails, Rx fails, Rx received, Tx fails, Tx reads & Tx writes
- `txread` renamed to `txreads` and `txwrite` renamed to `txwrites` in MQTT heartbeat payload
- 'dallas sensors' in api/system/info moved to the "System" section. Renamed "uptime (seconds)" and "reset reason"
- `status` in the MQTT heartbeat renamed to `bus_status`
# [3.2.1] August 8 2021
## Added
- json body in API can now take device, name, cmd, hc and id
- added example of how to use API directly to control values from Home Assistant
- API calls are shown in debug log (For troubleshooting)
## Fixed
- fixed issue with Home Assistant entity naming where boiler's ww was duplicated in entity name
- fixed issue where wwSetTemp was written too instead of wwSelTemp
## Changed
- fixed case on mqtt names, like 'wwtankmiddletemp'
- renamed Product ID to 'EMS Product ID' in Home Assistant
- removed brackets around tags, e.g. (hc1) selected room temperature" is now just "hc1 selected room temperature"
# [3.2.0] August 6 2021 # [3.2.0] August 6 2021
## Added ## Added
@@ -43,7 +413,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
# [3.1.1] June 26 2021 # [3.1.1] June 26 2021
## Changed ## Added
- new command called `commands` which lists all available commands. `ems-esp/api/{device}/commands` - new command called `commands` which lists all available commands. `ems-esp/api/{device}/commands`
- More Home Assistant icons to match the UOMs - More Home Assistant icons to match the UOMs
@@ -65,7 +435,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
# [3.1.0] May 4 2021 # [3.1.0] May 4 2021
## Changed ## Added
- Mock API to simulate an ESP, for testing web - Mock API to simulate an ESP, for testing web
- Able to write values from the Web UI - Able to write values from the Web UI
@@ -91,51 +461,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Added ## Added
- power settings, disabling BLE and turning off Wifi sleep
- Rx and Tx counts to Heartbeat MQTT payload
- ethernet support
- id to info command to show only a heatingcircuit
- add sending devices that are not listed to 0x07
- extra MQTT boolean option for "ON" and "OFF"
- support for chunked MQTT payloads to allow large data sets > 2kb
- external Button support (#708) for resetting to factory defaults and other actions
- new console set command in `system`, `set board_profile <profile>` for quickly enabling cabled ethernet connections without using the captive wifi portal
- added in MQTT nested mode, for thermostat and mixer, like we had back in v2
- cascade MC400 (product-id 210) (3.0.0b6), power values for heating sources (3.0.1b1)
- values for wwMaxPower, wwFlowtempOffset
- RC300 `thermostat temp -1` to clear temporary setpoint in auto mode
- syslog port selectable (#744)
- individual mqtt commands (#31) - individual mqtt commands (#31)
- board Profiles (#11) - board Profiles (#11)
## Fixed ## Fixed
- telegrams matched to masterthermostat 0x18
- multiple roomcontrollers
- readback after write with delay (give ems-devices time to set the value)
- thermostat ES72/RC20 device 66 to command-set RC20_2
- MQTT payloads not adding to queue when MQTT is re-connecting (fixes #369)
- fix for HA topics with invalid command formats (#728)
- wrong position of values #723, #732
- OTA Upload via Web on OSX
- Rx and Tx quality % would sometimes show > 100 - Rx and Tx quality % would sometimes show > 100
## Changed ## Changed
- changed how telegram parameters are rendered for mqtt, console and web (#632)
- split `show values` in smaller packages (edited)
- extended length of IP/hostname from 32 to 48 chars (#676)
- check flowsensor for `tap_water_active`
- mqtt prefixed with `Base`
- count Dallas sensor fails
- switch from SPIFFS to LITTLEFS
- added ID to MQTT payloads which is the Device's product ID and used in HA to identify a unique HA device
- increased MQTT buffer and reduced wait time between publishes
- updated to the latest ArduinoJson library
- some names of mqtt-tags like in v2.2.1
- new ESP32 partition side to allow for smoother OTA and fallback
- network Gateway IP is optional (#682)emsesp/EMS-ESP
- moved to a new GitHub repo https://github.com/emsesp/EMS-ESP32
- invert LED changed to Hide LED. Default is off. - invert LED changed to Hide LED. Default is off.
- renamed Scan Network to Scan WiFi Network - renamed Scan Network to Scan WiFi Network
- added version to cmd=settings - added version to cmd=settings
@@ -190,4 +524,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- some names of mqtt-tags like in v2.2.1 - some names of mqtt-tags like in v2.2.1
- new ESP32 partition side to allow for smoother OTA and fallback - new ESP32 partition side to allow for smoother OTA and fallback
- Network Gateway IP is optional (#682)emsesp/EMS-ESP - Network Gateway IP is optional (#682)emsesp/EMS-ESP
- moved to a new GitHub repo https://github.com/emsesp/EMS-ESP32 - moved to a new GitHub repo <https://github.com/emsesp/EMS-ESP32>

View File

@@ -1,7 +1,22 @@
# Changelog # Changelog
## [3.6.1]
## **IMPORTANT! BREAKING CHANGES**
- `shower_data` MQTT topic shows duration is seconds (was previously a full english sentence)
## Added ## Added
- show WiFi rssi in Network Status Page, show quality as color
## Fixed ## Fixed
- Issue in espMqttClient causing a memory leak when MQTT broker is disconnected due to network unavailability [#1264](https://github.com/emsesp/EMS-ESP32/issues/1264)
- Using MQTT enum values correctly formatted in MQTT Discovery [#1280](https://github.com/emsesp/EMS-ESP32/issues/1280)
## Changed ## Changed
- mqtt free mem check set to 60 kb
- small cosmetic changes to Searching in Customization web page
- updated to espressif32@6.4.0

View File

@@ -1,5 +1,3 @@
<img src="/media/EMS-ESP_logo_dark.png" alt="Logo" align="right" height="76"/>
# Contributing # Contributing
**Any contribution helps EMS-ESP get better for the entire community!** **Any contribution helps EMS-ESP get better for the entire community!**
@@ -32,8 +30,8 @@ This document describes rules that are in effect for this repository, meant for
6. Issues with feature requests should be discussed for viability/desirability. 6. Issues with feature requests should be discussed for viability/desirability.
7. Feature requests or changes that are meant to address a very specific/limited use case, especially if at the expense of increased code complexity, may be denied, or may be required to be redesigned, generalized, or simplified. 7. Feature requests or changes that are meant to address a very specific/limited use case, especially if at the expense of increased code complexity, may be denied, or may be required to be redesigned, generalized, or simplified.
8. Feature requests that are not accompanied by a PR: 8. Feature requests that are not accompanied by a PR:
- could be closed immediately (denied). - could be closed immediately (denied).
- could be closed after some predetermined period of time (left as candidate for somebody to pick up). - could be closed after some predetermined period of time (left as candidate for somebody to pick up).
9. In some cases, feedback may be requested from the issue reporter, either as additional info for clarification, additional testing, or other. If no feedback is provided, the issue may be closed by a contributor or after 40 days by the STALE bot. 9. In some cases, feedback may be requested from the issue reporter, either as additional info for clarification, additional testing, or other. If no feedback is provided, the issue may be closed by a contributor or after 40 days by the STALE bot.
## Pull requests ## Pull requests
@@ -94,7 +92,7 @@ References:
- <https://www.conventionalcommits.org/> - <https://www.conventionalcommits.org/>
-------------------------------------- ---
## Contributor License Agreement (CLA) ## Contributor License Agreement (CLA)
@@ -123,7 +121,7 @@ By making a contribution to this project, I certify that:
This Contributor License Agreement (CLA) was adopted on April 1st, 2019. This Contributor License Agreement (CLA) was adopted on April 1st, 2019.
The text of this license is available under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/). It is based on the Linux [Developer Certificate Of Origin](http://elinux.org/Developer_Certificate_Of_Origin), but is modified to explicitly use the GPL-3.0 license and not mention sign-off (due to GitHub.com keeps an historial, with your user name, of PRs' commits and all editions on PR's comments). The text of this license is available under the [Creative Commons Attribution-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-sa/3.0/). It is based on the Linux [Developer Certificate Of Origin](http://elinux.org/Developer_Certificate_Of_Origin), but is modified to explicitly use the GPL-3.0 license and not mention sign-off (due to GitHub.com keeps an historial, with your user name, of PRs' commits and all editions on PR's comments).
**Why a CLA ?** **Why a CLA ?**
@@ -133,9 +131,9 @@ A CLA is a legal document in which you state _you are entitled to contribute the
CLA is a safety because it also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People can therefore use that software, confident that they will not be asked to stop using pieces of the code at a later date. CLA is a safety because it also ensures that once you have provided a contribution, you cannot try to withdraw permission for its use at a later date. People can therefore use that software, confident that they will not be asked to stop using pieces of the code at a later date.
A __license__ grants "outbound" rights to the user of project. A **license** grants "outbound" rights to the user of project.
A __CLA__ enables a contributor to grant "inbound" rights to a project. A **CLA** enables a contributor to grant "inbound" rights to a project.
<Other> <Other>
<A table should be maintained for relating maintainers and components. When triaging, this is essential to figure out if someone in particular should be consulted about specific changes.> <A table should be maintained for relating maintainers and components. When triaging, this is essential to figure out if someone in particular should be consulted about specific changes.>

View File

@@ -1,7 +1,7 @@
# #
# GNUMakefile for EMS-ESP # GNUMakefile for EMS-ESP
# (c) 2020 Paul Derbyshire
# #
NUMJOBS=${NUMJOBS:-" -j4 "} NUMJOBS=${NUMJOBS:-" -j4 "}
MAKEFLAGS+="j " MAKEFLAGS+="j "
#---------------------------------------------------------------------- #----------------------------------------------------------------------
@@ -17,23 +17,32 @@ MAKEFLAGS+="j "
#TARGET := $(notdir $(CURDIR)) #TARGET := $(notdir $(CURDIR))
TARGET := emsesp TARGET := emsesp
BUILD := build BUILD := build
SOURCES := src src/* lib_standalone lib/uuid-common/src lib/uuid-console/src lib/uuid-log/src src/devices lib/ArduinoJson/src lib/PButton SOURCES := src src/* lib_standalone lib/uuid-common/src lib/uuid-console/src lib/uuid-log/src src/devices lib/ArduinoJson/src lib/PButton lib/semver lib/espMqttClient/src lib/espMqttClient/src/*
INCLUDES := src lib_standalone lib/ArduinoJson/src lib/uuid-common/src lib/uuid-console/src lib/uuid-log/src lib/uuid-telnet/src lib/uuid-syslog/src lib/* src/devices INCLUDES := src lib_standalone lib/espMqttClient/src lib/espMqttClient/src/Transport lib/ArduinoJson/src lib/uuid-common/src lib/uuid-console/src lib/uuid-log/src lib/uuid-telnet/src lib/uuid-syslog/src lib/semver lib/* src/devices
LIBRARIES := LIBRARIES :=
CPPCHECK = cppcheck CPPCHECK = cppcheck
# CHECKFLAGS = -q --force --std=c++17
CHECKFLAGS = -q --force --std=c++11 CHECKFLAGS = -q --force --std=c++11
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Languages Standard # Languages Standard
#---------------------------------------------------------------------- #----------------------------------------------------------------------
C_STANDARD := -std=c11 C_STANDARD := -std=c17
CXX_STANDARD := -std=c++11 # CXX_STANDARD := -std=c++17
CXX_STANDARD := -std=gnu++11
# C_STANDARD := -std=c11
# CXX_STANDARD := -std=c++11
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Defined Symbols # Defined Symbols
#---------------------------------------------------------------------- #----------------------------------------------------------------------
DEFINES += -DARDUINOJSON_ENABLE_STD_STRING=1 -DARDUINOJSON_ENABLE_ARDUINO_STRING -DEMSESP_DEBUG -DEMSESP_STANDALONE -DEMSESP_DEFAULT_BOARD_PROFILE=\"LOLIN\" DEFINES += -DARDUINOJSON_ENABLE_STD_STRING=1 -DARDUINOJSON_ENABLE_PROGMEM=1 -DARDUINOJSON_ENABLE_ARDUINO_STRING -DARDUINOJSON_USE_DOUBLE=0
DEFINES += -DEMSESP_DEBUG -DEMSESP_STANDALONE -DEMSESP_TEST -D__linux__ -DEMC_RX_BUFFER_SIZE=1500
DEFINES += $(ARGS)
DEFAULTS = -DEMSESP_DEFAULT_LOCALE=\"en\" -DEMSESP_DEFAULT_TX_MODE=8 -DEMSESP_DEFAULT_VERSION=\"3.7.0-dev\" -DEMSESP_DEFAULT_BOARD_PROFILE=\"S32\"
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Sources & Files # Sources & Files
@@ -45,7 +54,7 @@ CSOURCES := $(foreach dir,$(SOURCES),$(wildcard $(dir)/*.c))
CXXSOURCES := $(foreach dir,$(SOURCES),$(wildcard $(dir)/*.cpp)) CXXSOURCES := $(foreach dir,$(SOURCES),$(wildcard $(dir)/*.cpp))
OBJS := $(patsubst %,$(BUILD)/%.o,$(basename $(CSOURCES)) $(basename $(CXXSOURCES)) ) OBJS := $(patsubst %,$(BUILD)/%.o,$(basename $(CSOURCES)) $(basename $(CXXSOURCES)) )
DEPS := $(patsubst %,$(BUILD)/%.d,$(basename $(CSOURCES)) $(basename $(CXXSOURCES)) ) DEPS := $(patsubst %,$(BUILD)/%.d,$(basename $(CSOURCES)) $(basename $(CXXSOURCES)) )
INCLUDE += $(addprefix -I,$(foreach dir,$(INCLUDES), $(wildcard $(dir)))) INCLUDE += $(addprefix -I,$(foreach dir,$(INCLUDES), $(wildcard $(dir))))
INCLUDE += $(addprefix -I,$(foreach dir,$(LIBRARIES),$(wildcard $(dir)/include))) INCLUDE += $(addprefix -I,$(foreach dir,$(LIBRARIES),$(wildcard $(dir)/include)))
@@ -66,15 +75,13 @@ CXX := /usr/bin/g++
# CXXFLAGS C++ Compiler Flags # CXXFLAGS C++ Compiler Flags
# LDFLAGS Linker Flags # LDFLAGS Linker Flags
#---------------------------------------------------------------------- #----------------------------------------------------------------------
CPPFLAGS += $(DEFINES) $(INCLUDE) CPPFLAGS += $(DEFINES) $(DEFAULTS) $(INCLUDE)
CPPFLAGS += -ggdb CPPFLAGS += -ggdb
CPPFLAGS += -g3 CPPFLAGS += -g3
CPPFLAGS += -Os CPPFLAGS += -Os
CFLAGS += $(CPPFLAGS) CFLAGS += $(CPPFLAGS)
CFLAGS += -Wall CFLAGS += -Wall -Wextra -Werror -Wswitch-enum -Wno-unused-parameter -Wno-inconsistent-missing-override -Wno-missing-braces -Wno-unused-lambda-capture
CFLAGS += -Wno-unused -Wno-restrict
CFLAGS += -Wextra
CXXFLAGS += $(CFLAGS) -MMD CXXFLAGS += $(CFLAGS) -MMD
@@ -113,6 +120,9 @@ COMPILE.cpp = $(CXX) $(CXX_STANDARD) $(CXXFLAGS) $(DEPFLAGS) -c $< -o $@
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Targets # Targets
#---------------------------------------------------------------------- #----------------------------------------------------------------------
.PHONY: all
.SILENT: $(OUTPUT)
all: $(OUTPUT) all: $(OUTPUT)
$(OUTPUT): $(OBJS) $(OUTPUT): $(OBJS)
@@ -138,11 +148,12 @@ cppcheck: $(SOURCES)
run: $(OUTPUT) run: $(OUTPUT)
@$< @$<
.PHONY: clean
clean: clean:
@$(RM) -r $(BUILD) $(OUTPUT) @$(RM) -rf $(BUILD) $(OUTPUT)
help: help:
@echo available targets: all run clean @echo available targets: all run clean
@echo $(OUTPUT) @echo $(OUTPUT)
-include $(DEPS) -include $(DEPS)

134
README.md
View File

@@ -1,52 +1,61 @@
# ![logo](media/EMS-ESP_logo_dark.png) # ![logo](media/EMS-ESP_logo_dark.png)
**EMS-ESP** is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with **EMS** (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger.
This project is the specifically for the ESP32. Compared with the previous ESP8266 (version 2) release it has the following enhancements:
- Ethernet Support
- Pre-configured circuit board layouts
- Supports writing EMS values directly from within Web UI
- Mock API server for faster offline development and testing
- Improved API and MQTT commands
- Improvements to Dallas temperature sensors
- Embedded log tracing in the Web UI
[![version](https://img.shields.io/github/release/emsesp/EMS-ESP32.svg?label=Latest%20Release)](https://github.com/emsesp/EMS-ESP32/blob/main/CHANGELOG.md) [![version](https://img.shields.io/github/release/emsesp/EMS-ESP32.svg?label=Latest%20Release)](https://github.com/emsesp/EMS-ESP32/blob/main/CHANGELOG.md)
[![release-date](https://img.shields.io/github/release-date/emsesp/EMS-ESP32.svg?label=Released)](https://github.com/emsesp/EMS-ESP32/commits/main) [![release-date](https://img.shields.io/github/release-date/emsesp/EMS-ESP32.svg?label=Released)](https://github.com/emsesp/EMS-ESP32/commits/main)
[![license](https://img.shields.io/github/license/emsesp/EMS-ESP32.svg)](LICENSE) [![license](https://img.shields.io/github/license/emsesp/EMS-ESP32.svg)](LICENSE)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=emsesp_EMS-ESP32&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=emsesp_EMS-ESP32)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9441142f49424ef891e8f5251866ee6b)](https://www.codacy.com/gh/emsesp/EMS-ESP32/dashboard?utm_source=github.com&utm_medium=referral&utm_content=emsesp/EMS-ESP32&utm_campaign=Badge_Grade) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/9441142f49424ef891e8f5251866ee6b)](https://www.codacy.com/gh/emsesp/EMS-ESP32/dashboard?utm_source=github.com&utm_medium=referral&utm_content=emsesp/EMS-ESP32&utm_campaign=Badge_Grade)
[![downloads](https://img.shields.io/github/downloads/emsesp/EMS-ESP32/total.svg)](https://github.com/emsesp/EMS-ESP32/releases) [![downloads](https://img.shields.io/github/downloads/emsesp/EMS-ESP32/total.svg)](https://github.com/emsesp/EMS-ESP32/releases)
[![chat](https://img.shields.io/discord/816637840644505620.svg?style=flat-square&color=blueviolet)](https://discord.gg/3J3GgnzpyT) [![chat](https://img.shields.io/discord/816637840644505620.svg?style=flat-square&color=blueviolet)](https://discord.gg/3J3GgnzpyT)
If you like **EMS-ESP**, please give it a star, or fork it and contribute!
[![GitHub stars](https://img.shields.io/github/stars/emsesp/EMS-ESP32.svg?style=social&label=Star)](https://github.com/emsesp/EMS-ESP32/stargazers) [![GitHub stars](https://img.shields.io/github/stars/emsesp/EMS-ESP32.svg?style=social&label=Star)](https://github.com/emsesp/EMS-ESP32/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/emsesp/EMS-ESP32.svg?style=social&label=Fork)](https://github.com/emsesp/EMS-ES32P/network) [![GitHub forks](https://img.shields.io/github/forks/emsesp/EMS-ESP32.svg?style=social&label=Fork)](https://github.com/emsesp/EMS-ES32P/network)
[![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/prderbyshire/2) [![donate](https://img.shields.io/badge/donate-PayPal-blue.svg)](https://www.paypal.com/paypalme/prderbyshire/2)
Note, EMS-ESP requires a small hardware circuit that can convert the EMS bus data to be read by the microcontroller. These can be ordered at <https://bbqkees-electronics.nl> or contact the contributors that can provide the schematic and designs. **EMS-ESP** is an open-source firmware for the Espressif ESP32 microcontroller that communicates with **EMS** (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger. It requires a small gateway circuit to interface with the EMS bus which can be purchased from <https://bbqkees-electronics.nl> or custom built.
<img src="media/gateway-integration.jpg" width=40%> ## **Features**
--- - A multi-user, multi-language secure web interface to change settings and monitor incoming data
- A console, accessible via Serial and Telnet for more advanced monitoring
# **Features** - Native support for Home Assistant, Domoticz and openHAB via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
- A multi-user secure web interface to change settings and monitor the data
- A console, accessible via Serial and Telnet for more monitoring
- Native support for Home Assistant via [MQTT Discovery](https://www.home-assistant.io/docs/mqtt/discovery/)
- Can run standalone as an independent WiFi Access Point or join an existing WiFi network - Can run standalone as an independent WiFi Access Point or join an existing WiFi network
- Easy first-time configuration via a web Captive Portal - Easy first-time configuration via a web Captive Portal
- Support for more than [80 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways) - Support for more than [110+ EMS devices](https://emsesp.github.io/docs/All-Devices/) (boilers, thermostats, solar modules, mixer modules, heat pumps, gateways, switches, heat sources)
## **Documentation**
For the complete documentation on how to install, configure and get support visit the [EMS-ESP Wiki](https://emsesp.github.io/docs).
## **Support**
To chat with the community reach out on our [Discord Server](https://discord.gg/3J3GgnzpyT).
If you like **EMS-ESP**, please give it a star, or fork it and contribute or offer a small donation!
## **Demo** ## **Demo**
See a live demo [here](https://ems-esp.derbyshire.nl) using fake data. Log in with any username/password. For a live demo of the Web UI click [here](https://ems-esp.derbyshire.nl) and log in with any username/password.
# **Screenshots** ## **Contributors ✨**
## Web Interface EMS-ESP is a project owned and maintained by [proddy](https://github.com/proddy) and [MichaelDvP](https://github.com/MichaelDvP).
## **Libraries used**
- [esp8266-react](https://github.com/rjwats/esp8266-react) by @rjwats for the framework that provides the core of the Web UI
- [uuid-\*](https://github.com/nomis/mcu-uuid-console) from @nomis. The console, syslog, telnet and logging are based off these open source libraries
- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) for all the JSON
- [espMqttClient](https://github.com/bertmelis/espMqttClient) for the MQTT client, with custom modifications from @MichaelDvP and @proddy
- ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance
## **License**
This program is licensed under GPL-3.0
## **Screenshots**
### Web Interface
| | | | | |
| ---------------------------------- | -------------------------------- | | ---------------------------------- | -------------------------------- |
@@ -54,75 +63,10 @@ See a live demo [here](https://ems-esp.derbyshire.nl) using fake data. Log in wi
| <img src="media/web_devices.png"> | <img src="media/web_mqtt.png"> | | <img src="media/web_devices.png"> | <img src="media/web_mqtt.png"> |
| <img src="media/web_edit.png"> | <img src="media/web_log.png"> | | <img src="media/web_edit.png"> | <img src="media/web_log.png"> |
## Telnet Console ### Telnet Console
<img src="media/console.png" width=80% height=80%> <img src="media/console0.png" width=80% height=80%>
## In Home Assistant ### In Home Assistant
<img src="media/ha_lovelace.png" width=80% height=80%> <img src="media/ha_lovelace.png" width=80% height=80%>
# **Installing**
Refer to the [official documentation](https://emsesp.github.io/docs) to how to install the firmware and configure it. The documentation is being constantly updated as new features and settings are added.
You can choose to use an pre-built firmware image or compile the code yourself:
- [Uploading a pre-built firmware build](https://emsesp.github.io/docs/#/Uploading-firmware)
- [Building the firmware from source code and flashing manually](https://emsesp.github.io/docs/#/Building-firmware)
# **Support Information**
If you're looking for support on **EMS-ESP** there are some options available:
## Documentation
- [Official EMS-ESP Documentation](https://emsesp.github.io/docs): For information on how to build and upload the firmware
- [FAQ and Troubleshooting](https://emsesp.github.io/docs/#/Troubleshooting): For information on common problems and solutions. See also [BBQKees's wiki](https://bbqkees-electronics.nl/wiki/gateway/troubleshooting.html)
## Support Community
- [Discord Server](https://discord.gg/3J3GgnzpyT): For support, troubleshooting and general questions. You have better chances to get fast answers from members of the community
- [Search in Issues](https://github.com/emsesp/EMS-ESP32/issues): You might find an answer to your question by searching current or closed issues
## Developer's Community
- [Bug Report](https://github.com/emsesp/EMS-ESP32/issues/new?template=bug_report.md): For reporting Bugs
- [Feature Request](https://github.com/emsesp/EMS-ESP32/issues/new?template=feature_request.md): For requesting features/functions
- [Troubleshooting](https://github.com/emsesp/EMS-ESP32/issues/new?template=questions---troubleshooting.md): As a last resort, you can open new _Troubleshooting & Question_ issue on GitHub if the solution could not be found using the other channels. Just remember: the more info you provide the more chances you'll have to get an accurate answer
# **Contributors ✨**
EMS-ESP is a project originally created and owned by [proddy](https://github.com/proddy). Key contributors are:
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/MichaelDvP"><img src="https://avatars.githubusercontent.com/u/59284019?v=3?s=100" width="100px;" alt=""/><br /><sub><b>MichaelDvP</b></sub></a><br /></a> <a href="https://github.com/emsesp/EMS-ESP/commits?author=MichaelDvP" title="v2 Commits">v2</a>
<a href="https://github.com/emsesp/EMS-ESP32/commits?author=MichaelDvP" title="v3 Commits">v3</a>
</td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
You can also contribute to EMS-ESP by
- providing Pull Requests (Features, Fixes, suggestions)
- testing new released features and report issues on your EMS equipment
- contributing to missing [Documentation](https://emsesp.github.io/docs)
# **Libraries used**
- [esp8266-react](https://github.com/rjwats/esp8266-react) by @rjwats for the framework that provides the core of the Web UI
- [uuid-\*](https://github.com/nomis/mcu-uuid-console) from @nomis. The console, syslog, telnet and logging are based off these open source libraries
- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) for JSON
- [AsyncMqttClient](https://github.com/marvinroger/async-mqtt-client) for the MQTT client, with custom modifications from @bertmelis and @proddy
- ESPAsyncWebServer and AsyncTCP for the Web server and TCP backends, with custom modifications for performance
# **License**
This program is licensed under GPL-3.0

View File

@@ -1,6 +0,0 @@
# ![logo](https://github.com/emsesp/EMS-ESP32/blob/main/media/EMS-ESP_logo_dark.png)
# Firmware Installation
Follow the instructions in the [documentation](https://emsesp.github.io/docs) on how to install the firmware binaries in the Assets below.

View File

@@ -1,8 +0,0 @@
# ![logo](https://github.com/emsesp/EMS-ESP32/blob/main/media/EMS-ESP_logo_dark.png)
This is a snapshot of the current "beta" development code and firmware binaries for the ESP32. It has all the latest features and fixes but please be aware that this is still experimental firmware used for testing and thus may contain the odd bug. Use at your own risk and remember to report an issue if you find something unusual.
# Firmware Installation
Follow the instructions in the [documentation](https://emsesp.github.io/docs) on how to install the firmware binaries in the Assets below.

4005
dump_entities.csv Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, , 0x2000,
app0, app, ota_0, , 0x2A0000,
app1, app, ota_1, , 0x140000,
spiffs, data, spiffs, , 64K,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0x2000
4 app0 app ota_0 0x2A0000
5 app1 app ota_1 0x140000
6 spiffs data spiffs 64K

6
esp32_partition_16M.csv Normal file
View File

@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, , 0x2000,
app0, app, ota_0, , 0x7F0000,
app1, app, ota_1, , 0x7F0000,
spiffs, data, spiffs, , 64K,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0x2000
4 app0 app ota_0 0x7F0000
5 app1 app ota_1 0x7F0000
6 spiffs data spiffs 64K

6
esp32_partition_4M.csv Normal file
View File

@@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, , 0x2000,
app0, app, ota_0, , 0x1F0000,
app1, app, ota_1, , 0x1F0000,
spiffs, data, spiffs, , 64K,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0x2000
4 app0 app ota_0 0x1F0000
5 app1 app ota_1 0x1F0000
6 spiffs data spiffs 64K

View File

@@ -1,6 +0,0 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xE000, 0x2000,
app0, app, ota_0, 0x10000, 0x1F0000,
app1, app, ota_1, 0x200000, 0x1F0000,
spiffs, data, spiffs, 0x3F0000, 0x10000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xE000 0x2000
4 app0 app ota_0 0x10000 0x1F0000
5 app1 app ota_1 0x200000 0x1F0000
6 spiffs data spiffs 0x3F0000 0x10000

View File

@@ -7,8 +7,8 @@ build_flags =
; Access point settings ; Access point settings
-D FACTORY_AP_PROVISION_MODE=AP_MODE_DISCONNECTED -D FACTORY_AP_PROVISION_MODE=AP_MODE_DISCONNECTED
-D FACTORY_AP_SSID=\"ems-esp\" ; 1-64 characters -D FACTORY_AP_SSID=\"ems-esp\"
-D FACTORY_AP_PASSWORD=\"ems-esp-neo\" ; 8-64 characters -D FACTORY_AP_PASSWORD=\"ems-esp-neo\"
-D FACTORY_AP_LOCAL_IP=\"192.168.4.1\" -D FACTORY_AP_LOCAL_IP=\"192.168.4.1\"
-D FACTORY_AP_GATEWAY_IP=\"192.168.4.1\" -D FACTORY_AP_GATEWAY_IP=\"192.168.4.1\"
-D FACTORY_AP_SUBNET_MASK=\"255.255.255.0\" -D FACTORY_AP_SUBNET_MASK=\"255.255.255.0\"
@@ -28,17 +28,17 @@ build_flags =
; OTA settings ; OTA settings
-D FACTORY_OTA_PORT=8266 -D FACTORY_OTA_PORT=8266
-D FACTORY_OTA_PASSWORD=\"ems-esp-neo\" -D FACTORY_OTA_PASSWORD=\"ems-esp-neo\"
-D FACTORY_OTA_ENABLED=true -D FACTORY_OTA_ENABLED=false
; MQTT settings ; MQTT settings
-D FACTORY_MQTT_ENABLED=false -D FACTORY_MQTT_ENABLED=false
-D FACTORY_MQTT_HOST=\"test.mosquitto.org\" -D FACTORY_MQTT_HOST=\"\"
-D FACTORY_MQTT_PORT=1883 -D FACTORY_MQTT_PORT=1883
-D FACTORY_MQTT_USERNAME=\"\" -D FACTORY_MQTT_USERNAME=\"\"
-D FACTORY_MQTT_PASSWORD=\"\" -D FACTORY_MQTT_PASSWORD=\"\"
-D FACTORY_MQTT_CLIENT_ID=\"ems-esp\" -D FACTORY_MQTT_CLIENT_ID=\"ems-esp\"
-D FACTORY_MQTT_KEEP_ALIVE=60 -D FACTORY_MQTT_KEEP_ALIVE=60
-D FACTORY_MQTT_CLEAN_SESSION=true -D FACTORY_MQTT_CLEAN_SESSION=false
-D FACTORY_MQTT_MAX_TOPIC_LENGTH=128 -D FACTORY_MQTT_MAX_TOPIC_LENGTH=128
; JWT Secret ; JWT Secret

View File

@@ -1,5 +0,0 @@
# This is the name of your project. It appears on the sign-in page and in the menu bar.
REACT_APP_PROJECT_NAME=EMS-ESP
# This is the url path your project will be exposed under.
REACT_APP_PROJECT_PATH=ems-esp

View File

@@ -1,5 +1,2 @@
# Change the IP address to that of your ESP device to enable local development of the UI VITE_ALOVA_TIPS=0
REACT_APP_ALOVA_TIPS=0
# REACT_APP_HTTP_ROOT=http://localhost:3000
# REACT_APP_WEB_SOCKET_ROOT=ws://localhost:3000

View File

@@ -1,3 +0,0 @@
GENERATE_SOURCEMAP=false
REACT_APP_HOSTED=true

View File

@@ -1 +0,0 @@
GENERATE_SOURCEMAP=false

View File

@@ -1,2 +1,12 @@
# don't ever lint node_modules node_modules/
node_modules build/
dist/
.yarn/
.prettierrc
.eslintrc*
env.d.ts
progmem-generator.js
unpack.ts
vite.config.ts
package.json

View File

@@ -1,27 +0,0 @@
{
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint",
"prettier"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
"rules": {
// 0 = ignore, 1 = warning, 2 = error
"no-console": 0,
"prettier/prettier": ["error", { endOfLine: "auto" }],
"explicit-function-return-type": 0,
"@typescript-eslint/explicit-module-boundary-types": 0,
"@typescript-eslint/no-var-requires": 0,
"@typescript-eslint/ban-types": 0,
"@typescript-eslint/no-non-null-asserted-optional-chain": 0,
"@typescript-eslint/no-non-null-assertion": 0,
"@typescript-eslint/no-explicit-any": 0
}
}

108
interface/.eslintrc.json Normal file
View File

@@ -0,0 +1,108 @@
{
"env": {
"browser": true,
"es6": true
},
"extends": [
"eslint:recommended",
"airbnb/hooks",
"airbnb-typescript",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking",
"plugin:prettier/recommended",
"plugin:import/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": "latest",
"sourceType": "module",
"tsconfigRootDir": ".",
"project": ["tsconfig.json"]
},
"plugins": ["react", "@typescript-eslint", "autofix", "react-hooks"],
"settings": {
"import/resolver": {
"typescript": {
"project": "./tsconfig.json"
}
},
"react": {
"version": "18.x"
}
},
"rules": {
"object-shorthand": "error",
"no-console": "warn",
"@typescript-eslint/consistent-type-definitions": ["off", "type"],
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/no-unsafe-enum-comparison": "off",
"@typescript-eslint/no-unsafe-assignment": "off",
"@typescript-eslint/no-unsafe-return": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/naming-convention": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-unsafe-argument": "off",
"@typescript-eslint/restrict-plus-operands": "off",
"@typescript-eslint/no-unused-expressions": "off",
"@typescript-eslint/no-implied-eval": "off",
"@typescript-eslint/no-misused-promises": "off",
"arrow-body-style": ["error", "as-needed"],
"react-hooks/exhaustive-deps": "warn",
"@typescript-eslint/consistent-type-imports": [
"error",
{
"prefer": "type-imports"
}
],
"import/order": [
"warn",
{
"groups": ["builtin", "external", "parent", "sibling", "index", "object", "type"],
"pathGroups": [
{
"pattern": "@/**/**",
"group": "parent",
"position": "before"
}
],
"alphabetize": { "order": "asc" }
}
],
// "autofix/no-unused-vars": [
// "error",
// {
// "argsIgnorePattern": "^_",
// "ignoreRestSiblings": true,
// "destructuredArrayIgnorePattern": "^_"
// }
// ],
"react/self-closing-comp": [
"error",
{
"component": true,
"html": true
}
],
"@typescript-eslint/ban-types": [
"error",
{
"extendDefaults": true,
"types": {
"{}": false
}
}
],
"prettier/prettier": [
"error",
{
"endOfLine": "auto"
}
]
}
}

7
interface/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
.pnp.*
.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

View File

@@ -0,0 +1,6 @@
node_modules/
build/
dist/
.prettierrc
.yarn/
.typesafe-i18n.json

View File

@@ -0,0 +1,5 @@
{
"adapter": "react",
"baseLocale": "pl",
"$schema": "https://unpkg.com/typesafe-i18n@5.26.2/schema/typesafe-i18n.json"
}

File diff suppressed because one or more lines are too long

873
interface/.yarn/releases/yarn-3.4.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

20
interface/.yarn/sdks/eslint/bin/eslint.js vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require eslint/bin/eslint.js
require(absPnpApiPath).setup();
}
}
// Defer to the real eslint/bin/eslint.js your application uses
module.exports = absRequire(`eslint/bin/eslint.js`);

20
interface/.yarn/sdks/eslint/lib/api.js vendored Normal file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require eslint
require(absPnpApiPath).setup();
}
}
// Defer to the real eslint your application uses
module.exports = absRequire(`eslint`);

View File

@@ -0,0 +1,6 @@
{
"name": "eslint",
"version": "8.36.0-sdk",
"main": "./lib/api.js",
"type": "commonjs"
}

5
interface/.yarn/sdks/integrations.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
# This file is automatically generated by @yarnpkg/sdks.
# Manual changes might be lost!
integrations:
- vscode

20
interface/.yarn/sdks/prettier/index.js vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require prettier/index.js
require(absPnpApiPath).setup();
}
}
// Defer to the real prettier/index.js your application uses
module.exports = absRequire(`prettier/index.js`);

View File

@@ -0,0 +1,6 @@
{
"name": "prettier",
"version": "2.8.7-sdk",
"main": "./index.js",
"type": "commonjs"
}

20
interface/.yarn/sdks/typescript/bin/tsc vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsc
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/bin/tsc your application uses
module.exports = absRequire(`typescript/bin/tsc`);

20
interface/.yarn/sdks/typescript/bin/tsserver vendored Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/bin/tsserver
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/bin/tsserver your application uses
module.exports = absRequire(`typescript/bin/tsserver`);

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsc.js
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/lib/tsc.js your application uses
module.exports = absRequire(`typescript/lib/tsc.js`);

View File

@@ -0,0 +1,223 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
const moduleWrapper = tsserver => {
if (!process.versions.pnp) {
return tsserver;
}
const {isAbsolute} = require(`path`);
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
return `${locator.name}@${locator.reference}`;
}));
// VSCode sends the zip paths to TS using the "zip://" prefix, that TS
// doesn't understand. This layer makes sure to remove the protocol
// before forwarding it to TS, and to add it back on all returned paths.
function toEditorPath(str) {
// We add the `zip:` prefix to both `.zip/` paths and virtual paths
if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) {
// We also take the opportunity to turn virtual paths into physical ones;
// this makes it much easier to work with workspaces that list peer
// dependencies, since otherwise Ctrl+Click would bring us to the virtual
// file instances instead of the real ones.
//
// We only do this to modules owned by the the dependency tree roots.
// This avoids breaking the resolution when jumping inside a vendor
// with peer dep (otherwise jumping into react-dom would show resolution
// errors on react).
//
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
str = resolved;
}
}
str = normalize(str);
if (str.match(/\.zip\//)) {
switch (hostInfo) {
// Absolute VSCode `Uri.fsPath`s need to start with a slash.
// VSCode only adds it automatically for supported schemes,
// so we have to do it manually for the `zip` scheme.
// The path needs to start with a caret otherwise VSCode doesn't handle the protocol
//
// Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910
//
// 2021-10-08: VSCode changed the format in 1.61.
// Before | ^zip:/c:/foo/bar.zip/package.json
// After | ^/zip//c:/foo/bar.zip/package.json
//
// 2022-04-06: VSCode changed the format in 1.66.
// Before | ^/zip//c:/foo/bar.zip/package.json
// After | ^/zip/c:/foo/bar.zip/package.json
//
// 2022-05-06: VSCode changed the format in 1.68
// Before | ^/zip/c:/foo/bar.zip/package.json
// After | ^/zip//c:/foo/bar.zip/package.json
//
case `vscode <1.61`: {
str = `^zip:${str}`;
} break;
case `vscode <1.66`: {
str = `^/zip/${str}`;
} break;
case `vscode <1.68`: {
str = `^/zip${str}`;
} break;
case `vscode`: {
str = `^/zip/${str}`;
} break;
// To make "go to definition" work,
// We have to resolve the actual file system path from virtual path
// and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip)
case `coc-nvim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = resolve(`zipfile:${str}`);
} break;
// Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server)
// We have to resolve the actual file system path from virtual path,
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile://${str}`;
} break;
default: {
str = `zip:${str}`;
} break;
}
}
}
return str;
}
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
// before `zipfile:`
return process.platform === `win32`
? str.replace(/^.*zipfile:\//, ``)
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`)
} break;
}
}
// Force enable 'allowLocalPluginLoads'
// TypeScript tries to resolve plugins using a path relative to itself
// which doesn't work when using the global cache
// https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238
// VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but
// TypeScript already does local loads and if this code is running the user trusts the workspace
// https://github.com/microsoft/vscode/issues/45856
const ConfiguredProject = tsserver.server.ConfiguredProject;
const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype;
ConfiguredProject.prototype.enablePluginsWithOptions = function() {
this.projectService.allowLocalPluginLoads = true;
return originalEnablePluginsWithOptions.apply(this, arguments);
};
// And here is the point where we hijack the VSCode <-> TS communications
// by adding ourselves in the middle. We locate everything that looks
// like an absolute path of ours and normalize it.
const Session = tsserver.server.Session;
const {onMessage: originalOnMessage, send: originalSend} = Session.prototype;
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
if (
parsedMessage != null &&
typeof parsedMessage === `object` &&
parsedMessage.arguments &&
typeof parsedMessage.arguments.hostInfo === `string`
) {
hostInfo = parsedMessage.arguments.hostInfo;
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) {
const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match(
// The RegExp from https://semver.org/ but without the caret at the start
/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
) ?? []).map(Number)
if (major === 1) {
if (minor < 61) {
hostInfo += ` <1.61`;
} else if (minor < 66) {
hostInfo += ` <1.66`;
} else if (minor < 68) {
hostInfo += ` <1.68`;
}
}
}
}
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
},
send(/** @type {any} */ msg) {
return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => {
return typeof value === `string` ? toEditorPath(value) : value;
})));
}
});
return tsserver;
};
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserver.js
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/lib/tsserver.js your application uses
module.exports = moduleWrapper(absRequire(`typescript/lib/tsserver.js`));

View File

@@ -0,0 +1,223 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
const moduleWrapper = tsserver => {
if (!process.versions.pnp) {
return tsserver;
}
const {isAbsolute} = require(`path`);
const pnpApi = require(`pnpapi`);
const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//);
const isPortal = str => str.startsWith("portal:/");
const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`);
const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => {
return `${locator.name}@${locator.reference}`;
}));
// VSCode sends the zip paths to TS using the "zip://" prefix, that TS
// doesn't understand. This layer makes sure to remove the protocol
// before forwarding it to TS, and to add it back on all returned paths.
function toEditorPath(str) {
// We add the `zip:` prefix to both `.zip/` paths and virtual paths
if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) {
// We also take the opportunity to turn virtual paths into physical ones;
// this makes it much easier to work with workspaces that list peer
// dependencies, since otherwise Ctrl+Click would bring us to the virtual
// file instances instead of the real ones.
//
// We only do this to modules owned by the the dependency tree roots.
// This avoids breaking the resolution when jumping inside a vendor
// with peer dep (otherwise jumping into react-dom would show resolution
// errors on react).
//
const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str;
if (resolved) {
const locator = pnpApi.findPackageLocator(resolved);
if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) {
str = resolved;
}
}
str = normalize(str);
if (str.match(/\.zip\//)) {
switch (hostInfo) {
// Absolute VSCode `Uri.fsPath`s need to start with a slash.
// VSCode only adds it automatically for supported schemes,
// so we have to do it manually for the `zip` scheme.
// The path needs to start with a caret otherwise VSCode doesn't handle the protocol
//
// Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910
//
// 2021-10-08: VSCode changed the format in 1.61.
// Before | ^zip:/c:/foo/bar.zip/package.json
// After | ^/zip//c:/foo/bar.zip/package.json
//
// 2022-04-06: VSCode changed the format in 1.66.
// Before | ^/zip//c:/foo/bar.zip/package.json
// After | ^/zip/c:/foo/bar.zip/package.json
//
// 2022-05-06: VSCode changed the format in 1.68
// Before | ^/zip/c:/foo/bar.zip/package.json
// After | ^/zip//c:/foo/bar.zip/package.json
//
case `vscode <1.61`: {
str = `^zip:${str}`;
} break;
case `vscode <1.66`: {
str = `^/zip/${str}`;
} break;
case `vscode <1.68`: {
str = `^/zip${str}`;
} break;
case `vscode`: {
str = `^/zip/${str}`;
} break;
// To make "go to definition" work,
// We have to resolve the actual file system path from virtual path
// and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip)
case `coc-nvim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = resolve(`zipfile:${str}`);
} break;
// Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server)
// We have to resolve the actual file system path from virtual path,
// everything else is up to neovim
case `neovim`: {
str = normalize(resolved).replace(/\.zip\//, `.zip::`);
str = `zipfile://${str}`;
} break;
default: {
str = `zip:${str}`;
} break;
}
}
}
return str;
}
function fromEditorPath(str) {
switch (hostInfo) {
case `coc-nvim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for coc-nvim is in format of /<pwd>/zipfile:/<pwd>/.yarn/...
// So in order to convert it back, we use .* to match all the thing
// before `zipfile:`
return process.platform === `win32`
? str.replace(/^.*zipfile:\//, ``)
: str.replace(/^.*zipfile:/, ``);
} break;
case `neovim`: {
str = str.replace(/\.zip::/, `.zip/`);
// The path for neovim is in format of zipfile:///<pwd>/.yarn/...
return str.replace(/^zipfile:\/\//, ``);
} break;
case `vscode`:
default: {
return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`)
} break;
}
}
// Force enable 'allowLocalPluginLoads'
// TypeScript tries to resolve plugins using a path relative to itself
// which doesn't work when using the global cache
// https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238
// VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but
// TypeScript already does local loads and if this code is running the user trusts the workspace
// https://github.com/microsoft/vscode/issues/45856
const ConfiguredProject = tsserver.server.ConfiguredProject;
const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype;
ConfiguredProject.prototype.enablePluginsWithOptions = function() {
this.projectService.allowLocalPluginLoads = true;
return originalEnablePluginsWithOptions.apply(this, arguments);
};
// And here is the point where we hijack the VSCode <-> TS communications
// by adding ourselves in the middle. We locate everything that looks
// like an absolute path of ours and normalize it.
const Session = tsserver.server.Session;
const {onMessage: originalOnMessage, send: originalSend} = Session.prototype;
let hostInfo = `unknown`;
Object.assign(Session.prototype, {
onMessage(/** @type {string | object} */ message) {
const isStringMessage = typeof message === 'string';
const parsedMessage = isStringMessage ? JSON.parse(message) : message;
if (
parsedMessage != null &&
typeof parsedMessage === `object` &&
parsedMessage.arguments &&
typeof parsedMessage.arguments.hostInfo === `string`
) {
hostInfo = parsedMessage.arguments.hostInfo;
if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) {
const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match(
// The RegExp from https://semver.org/ but without the caret at the start
/(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
) ?? []).map(Number)
if (major === 1) {
if (minor < 61) {
hostInfo += ` <1.61`;
} else if (minor < 66) {
hostInfo += ` <1.66`;
} else if (minor < 68) {
hostInfo += ` <1.68`;
}
}
}
}
const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => {
return typeof value === 'string' ? fromEditorPath(value) : value;
});
return originalOnMessage.call(
this,
isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON)
);
},
send(/** @type {any} */ msg) {
return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => {
return typeof value === `string` ? toEditorPath(value) : value;
})));
}
});
return tsserver;
};
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/tsserverlibrary.js
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/lib/tsserverlibrary.js your application uses
module.exports = moduleWrapper(absRequire(`typescript/lib/tsserverlibrary.js`));

View File

@@ -0,0 +1,20 @@
#!/usr/bin/env node
const {existsSync} = require(`fs`);
const {createRequire} = require(`module`);
const {resolve} = require(`path`);
const relPnpApiPath = "../../../../.pnp.cjs";
const absPnpApiPath = resolve(__dirname, relPnpApiPath);
const absRequire = createRequire(absPnpApiPath);
if (existsSync(absPnpApiPath)) {
if (!process.versions.pnp) {
// Setup the environment to be able to require typescript/lib/typescript.js
require(absPnpApiPath).setup();
}
}
// Defer to the real typescript/lib/typescript.js your application uses
module.exports = absRequire(`typescript/lib/typescript.js`);

View File

@@ -0,0 +1,6 @@
{
"name": "typescript",
"version": "5.0.2-sdk",
"main": "./lib/typescript.js",
"type": "commonjs"
}

14
interface/.yarnrc.yml Normal file
View File

@@ -0,0 +1,14 @@
plugins:
- path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
spec: '@yarnpkg/plugin-typescript'
yarnPath: .yarn/releases/yarn-3.4.1.cjs
# uing pnp
# nodeLinker: pnp
# use these if not using PnP and have node_modules
nodeLinker: node-modules
compressionLevel: 0
nmMode: hardlinks-local
enableGlobalCache: true

View File

@@ -1,52 +0,0 @@
const ManifestPlugin = require('webpack-manifest-plugin');
const WorkboxWebpackPlugin = require('workbox-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CompressionPlugin = require('compression-webpack-plugin');
const ProgmemGenerator = require('./progmem-generator.js');
module.exports = function override(config, env) {
const hosted = process.env.REACT_APP_HOSTED;
if (env === 'production' && !hosted) {
console.log('Custom webpack...');
// rename the output file, we need it's path to be short for LittleFS
config.output.filename = 'js/[id].[chunkhash:4].js';
config.output.chunkFilename = 'js/[id].[chunkhash:4].js';
// take out the manifest and service worker plugins
config.plugins = config.plugins.filter(
(plugin) => !(plugin instanceof ManifestPlugin)
);
config.plugins = config.plugins.filter(
(plugin) => !(plugin instanceof WorkboxWebpackPlugin.GenerateSW)
);
// shorten css filenames
const miniCssExtractPlugin = config.plugins.find(
(plugin) => plugin instanceof MiniCssExtractPlugin
);
miniCssExtractPlugin.options.filename = 'css/[id].[contenthash:4].css';
miniCssExtractPlugin.options.chunkFilename =
'css/[id].[contenthash:4].c.css';
// build progmem data files
config.plugins.push(
new ProgmemGenerator({
outputPath: '../lib/framework/WWWData.h',
bytesPerLine: 20
})
);
// add compression plugin, compress javascript
config.plugins.push(
new CompressionPlugin({
filename: '[path].gz[query]',
algorithm: 'gzip',
test: /\.(js)$/,
deleteOriginalAssets: true
})
);
}
return config;
};

14
interface/index.html Normal file
View File

@@ -0,0 +1,14 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width" />
<link rel="stylesheet" href="/css/roboto.css" />
<link rel="manifest" href="/app/manifest.json" />
<title>EMS-ESP</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
</body>
</html>

39109
interface/package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,71 +1,78 @@
{ {
"name": "emsesp-react", "name": "EMS-ESP",
"version": "0.1.0", "version": "3.6.0",
"description": "build EMS-ESP WebUI",
"homepage": "https://emsesp.github.io/docs",
"author": "proddy",
"license": "MIT",
"private": true, "private": true,
"dependencies": {
"@material-ui/core": "^4.11.4",
"@material-ui/icons": "^4.11.2",
"@msgpack/msgpack": "^2.7.0",
"@types/lodash": "^4.14.168",
"@types/node": "^15.0.1",
"@types/react": "^17.0.4",
"@types/react-dom": "^17.0.3",
"@types/react-material-ui-form-validator": "^2.1.0",
"@types/react-router": "^5.1.13",
"@types/react-router-dom": "^5.1.7",
"compression-webpack-plugin": "^5.0.2",
"env-cmd": "^10.1.0",
"express": "^4.17.1",
"jwt-decode": "^3.1.2",
"lodash": "^4.17.21",
"mime-types": "^2.1.30",
"notistack": "^1.0.6",
"parse-ms": "^3.0.0",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-dropzone": "^11.3.2",
"react-form-validator-core": "^1.1.1",
"react-material-ui-form-validator": "^2.1.4",
"react-router": "^5.2.0",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.3",
"sockette": "^2.0.6",
"typescript": "4.2.4",
"zlib": "^1.0.5"
},
"scripts": { "scripts": {
"start": "react-app-rewired start", "dev": "vite",
"build": "react-app-rewired build", "build": "vite build",
"build-hosted": "vite build --mode hosted",
"preview": "vite preview",
"preview-standalone": "npm-run-all -p preview typesafe-i18n mock-api",
"mock-api": "node --watch ../mock-api ../mock-api/server.js",
"standalone": "npm-run-all -p dev typesafe-i18n mock-api",
"typesafe-i18n": "typesafe-i18n",
"format": "prettier --write '**/*.{ts,tsx,js,css,json,md}'", "format": "prettier --write '**/*.{ts,tsx,js,css,json,md}'",
"build-hosted": "env-cmd -f .env.hosted npm run build", "lint": "eslint . --cache --fix"
"build-localhost": "PUBLIC_URL=/ react-app-rewired build",
"mock-api": "nodemon --watch ../mock-api ../mock-api/server.js",
"standalone": "npm-run-all -p start mock-api",
"lint": "eslint . --ext .ts,.tsx"
}, },
"eslintConfig": { "dependencies": {
"extends": "react-app" "@alova/adapter-xhr": "^1.0.1",
}, "@emotion/react": "^11.11.1",
"browserslist": { "@emotion/styled": "^11.11.0",
"production": [ "@mui/icons-material": "^5.14.8",
">0.2%", "@mui/material": "^5.14.8",
"not dead", "@preact/compat": "^17.1.2",
"not op_mini all" "@prefresh/vite": "^2.4.1",
], "@table-library/react-table-library": "4.1.7",
"development": [ "@types/lodash-es": "^4.17.9",
"last 1 chrome version", "@types/node": "^20.6.0",
"last 1 firefox version", "@types/react": "^18.2.21",
"last 1 safari version" "@types/react-dom": "^18.2.7",
] "@types/react-router-dom": "^5.3.3",
"alova": "^2.11.1",
"async-validator": "^4.2.5",
"history": "^5.3.0",
"jwt-decode": "^3.1.2",
"lodash-es": "^4.17.21",
"mime-types": "^2.1.35",
"preact": "^10.17.1",
"react": "latest",
"react-dom": "latest",
"react-dropzone": "^14.2.3",
"react-icons": "^4.11.0",
"react-router-dom": "^6.15.0",
"react-toastify": "^9.1.3",
"sockette": "^2.0.6",
"typesafe-i18n": "^5.26.2",
"typescript": "^5.2.2"
}, },
"devDependencies": { "devDependencies": {
"concurrently": "^6.0.1", "@babel/core": "^7.22.17",
"eslint-config-prettier": "^8.3.0", "@preact/preset-vite": "^2.5.0",
"eslint-plugin-prettier": "^3.4.0", "@types/babel__core": "^7",
"http-proxy-middleware": "^1.1.1", "@typescript-eslint/eslint-plugin": "^6.6.0",
"nodemon": "^2.0.7", "@typescript-eslint/parser": "^6.6.0",
"eslint": "^8.49.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-config-airbnb-typescript": "^17.1.0",
"eslint-config-prettier": "^9.0.0",
"eslint-import-resolver-typescript": "^3.6.0",
"eslint-plugin-autofix": "^1.1.0",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-jsx-a11y": "^6.7.1",
"eslint-plugin-prettier": "alpha",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",
"prettier": "^2.0.5", "prettier": "^3.0.3",
"react-app-rewired": "^2.1.8" "rollup-plugin-visualizer": "^5.9.2",
} "terser": "^5.19.4",
"vite": "^4.4.9",
"vite-plugin-svgr": "^3.2.0",
"vite-tsconfig-paths": "^4.2.0"
},
"packageManager": "yarn@3.4.1"
} }

View File

@@ -1,15 +1,10 @@
const { readdirSync, existsSync, unlinkSync, readFileSync, createWriteStream } = require('fs');
const { resolve, relative, sep } = require('path'); const { resolve, relative, sep } = require('path');
const {
readdirSync,
existsSync,
unlinkSync,
readFileSync,
createWriteStream
} = require('fs');
var zlib = require('zlib'); var zlib = require('zlib');
var mime = require('mime-types'); var mime = require('mime-types');
const ARDUINO_INCLUDES = '#include <Arduino.h>\n\n'; const ARDUINO_INCLUDES = '#include <Arduino.h>\n\n';
const INDENT = ' ';
function getFilesSync(dir, files = []) { function getFilesSync(dir, files = []) {
readdirSync(dir, { withFileTypes: true }).forEach((entry) => { readdirSync(dir, { withFileTypes: true }).forEach((entry) => {
@@ -23,9 +18,9 @@ function getFilesSync(dir, files = []) {
return files; return files;
} }
function coherseToBuffer(input) { // function coherseToBuffer(input) {
return Buffer.isBuffer(input) ? input : Buffer.from(input); // return Buffer.isBuffer(input) ? input : Buffer.from(input);
} // }
function cleanAndOpen(path) { function cleanAndOpen(path) {
if (existsSync(path)) { if (existsSync(path)) {
@@ -34,115 +29,90 @@ function cleanAndOpen(path) {
return createWriteStream(path, { flags: 'w+' }); return createWriteStream(path, { flags: 'w+' });
} }
class ProgmemGenerator { export default function ProgmemGenerator({ outputPath = './WWWData.h', bytesPerLine = 20 }) {
constructor(options = {}) { return {
const { name: 'ProgmemGenerator',
outputPath, writeBundle: () => {
bytesPerLine = 20, console.log('Generating ' + outputPath);
indent = ' ', const includes = ARDUINO_INCLUDES;
includes = ARDUINO_INCLUDES const indent = INDENT;
} = options; const fileInfo = [];
this.options = { outputPath, bytesPerLine, indent, includes }; const writeStream = cleanAndOpen(resolve(outputPath));
}
apply(compiler) { try {
compiler.hooks.emit.tapAsync( const writeIncludes = () => {
{ name: 'ProgmemGenerator' }, writeStream.write(includes);
(compilation, callback) => { };
const { outputPath, bytesPerLine, indent, includes } = this.options;
const fileInfo = [];
const writeStream = cleanAndOpen(
resolve(compilation.options.context, outputPath)
);
try {
const writeIncludes = () => {
writeStream.write(includes);
};
const writeFile = (relativeFilePath, buffer) => { const writeFile = (relativeFilePath, buffer) => {
const variable = 'ESP_REACT_DATA_' + fileInfo.length; const variable = 'ESP_REACT_DATA_' + fileInfo.length;
const mimeType = mime.lookup(relativeFilePath); const mimeType = mime.lookup(relativeFilePath);
var size = 0; var size = 0;
writeStream.write('const uint8_t ' + variable + '[] PROGMEM = {'); writeStream.write('const uint8_t ' + variable + '[] = {');
const zipBuffer = zlib.gzipSync(buffer); // const zipBuffer = zlib.brotliCompressSync(buffer, { quality: 1 });
zipBuffer.forEach((b) => { const zipBuffer = zlib.gzipSync(buffer);
if (!(size % bytesPerLine)) { zipBuffer.forEach((b) => {
writeStream.write('\n'); if (!(size % bytesPerLine)) {
writeStream.write(indent);
}
writeStream.write(
'0x' + ('00' + b.toString(16).toUpperCase()).substr(-2) + ','
);
size++;
});
if (size % bytesPerLine) {
writeStream.write('\n'); writeStream.write('\n');
writeStream.write(indent);
} }
writeStream.write('};\n\n'); writeStream.write('0x' + ('00' + b.toString(16).toUpperCase()).substr(-2) + ',');
fileInfo.push({ size++;
uri: '/' + relativeFilePath.replace(sep, '/'), });
mimeType, if (size % bytesPerLine) {
variable, writeStream.write('\n');
size }
}); writeStream.write('};\n\n');
}; fileInfo.push({
uri: '/' + relativeFilePath.replace(sep, '/'),
mimeType,
variable,
size
});
};
const writeFiles = () => { const writeFiles = () => {
// process static files // process static files
const buildPath = compilation.options.output.path; const buildPath = resolve('build');
for (const filePath of getFilesSync(buildPath)) { for (const filePath of getFilesSync(buildPath)) {
const readStream = readFileSync(filePath); const readStream = readFileSync(filePath);
const relativeFilePath = relative(buildPath, filePath); const relativeFilePath = relative(buildPath, filePath);
writeFile(relativeFilePath, readStream); writeFile(relativeFilePath, readStream);
} }
// process assets
const { assets } = compilation;
Object.keys(assets).forEach((relativeFilePath) => {
writeFile(
relativeFilePath,
coherseToBuffer(assets[relativeFilePath].source())
);
});
};
const generateWWWClass = () => { // process assets
return `typedef std::function<void(const String& uri, const String& contentType, const uint8_t * content, size_t len)> RouteRegistrationHandler; // const { assets } = compilation;
// Object.keys(assets).forEach((relativeFilePath) => {
// writeFile(relativeFilePath, coherseToBuffer(assets[relativeFilePath].source()));
// });
};
const generateWWWClass = () =>
`typedef std::function<void(const String& uri, const String& contentType, const uint8_t * content, size_t len)> RouteRegistrationHandler;
class WWWData { class WWWData {
${indent}public: ${indent}public:
${indent.repeat( ${indent.repeat(2)}static void registerRoutes(RouteRegistrationHandler handler) {
2
)}static void registerRoutes(RouteRegistrationHandler handler) {
${fileInfo ${fileInfo
.map( .map((file) => `${indent.repeat(3)}handler("${file.uri}", "${file.mimeType}", ${file.variable}, ${file.size});`)
(file) =>
`${indent.repeat(3)}handler("${file.uri}", "${file.mimeType}", ${
file.variable
}, ${file.size});`
)
.join('\n')} .join('\n')}
${indent.repeat(2)}} ${indent.repeat(2)}}
}; };
`; `;
}; const writeWWWClass = () => {
writeStream.write(generateWWWClass());
};
const writeWWWClass = () => { writeIncludes();
writeStream.write(generateWWWClass()); writeFiles();
}; writeWWWClass();
writeIncludes(); writeStream.on('finish', () => {
writeFiles(); // callback();
writeWWWClass(); });
} finally {
writeStream.on('finish', () => { writeStream.end();
callback();
});
} finally {
writeStream.end();
}
} }
); }
} };
} }
module.exports = ProgmemGenerator;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -1,28 +1,18 @@
/* Just supporting latin due to size constrains on the esp chip */ /*
@font-face { * Uses font-size 400 (normal) only and Latin (plus extra unicode chars) to keep flash memory to a minimum
font-family: 'Roboto'; * View fonts on https://fonts.google.com/
font-style: normal; * Download woff2 using e.g. https://fonts.googleapis.com/css2?family=Lato or https://fonts.googleapis.com/css2?family=Roboto
font-weight: 300; */
src: local('Roboto Light'), local('Roboto-Light'),
url(../fonts/li.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
}
@font-face { @font-face {
font-family: 'Roboto'; font-family: 'Roboto';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
src: local('Roboto'), local('Roboto-Regular'), /* src: url(https://fonts.gstatic.com/s/roboto/v30/KFOmCnqEu92Fr1Mu4mxK.woff2) format('woff2'); */
src:
local('Roboto'),
local('Roboto-Regular'),
url(../fonts/re.woff2) format('woff2'); url(../fonts/re.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, unicode-range: U+0000-00FF, U+0104-0107, U+0118-0119, U+011E-011F, U+0130-0131, U+0141-0144, U+0152-0153, U+015A-015B,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215; U+015E-015F, U+0179-017C, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193,
} U+2212, U+2215, U+FEFF, U+FFFD;
@font-face {
font-family: 'Roboto';
font-style: normal;
font-weight: 500;
src: local('Roboto Medium'), local('Roboto-Medium'),
url(../fonts/me.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,
U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215;
} }

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,16 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="%PUBLIC_URL%/css/roboto.css">
<link rel="manifest" href="%PUBLIC_URL%/app/manifest.json">
<title>EMS-ESP</title>
</head>
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
</body>
</html>

View File

@@ -1,57 +1,52 @@
import React, { Component, RefObject } from 'react'; import { useEffect, useState } from 'react';
import { Redirect, Route, Switch } from 'react-router'; import { ToastContainer, Slide } from 'react-toastify';
import { SnackbarProvider } from 'notistack';
import { IconButton } from '@material-ui/core'; import 'react-toastify/dist/ReactToastify.min.css';
import CloseIcon from '@material-ui/icons/Close';
import AppRouting from './AppRouting'; import { localStorageDetector } from 'typesafe-i18n/detectors';
import CustomMuiTheme from './CustomMuiTheme'; import { FeaturesLoader } from './contexts/features';
import { PROJECT_NAME } from './api'; import type { FC } from 'react';
import FeaturesWrapper from './features/FeaturesWrapper'; import AppRouting from 'AppRouting';
import CustomTheme from 'CustomTheme';
// this redirect forces a call to authenticationContext.refresh() which invalidates the JWT if it is invalid. import TypesafeI18n from 'i18n/i18n-react';
const unauthorizedRedirect = () => <Redirect to="/" />; import { detectLocale } from 'i18n/i18n-util';
import { loadLocaleAsync } from 'i18n/i18n-util.async';
class App extends Component { const detectedLocale = detectLocale(localStorageDetector);
notistackRef: RefObject<any> = React.createRef();
componentDidMount() { const App: FC = () => {
document.title = PROJECT_NAME; const [wasLoaded, setWasLoaded] = useState(false);
}
onClickDismiss = (key: string | number | undefined) => () => { useEffect(() => {
this.notistackRef.current.closeSnackbar(key); void loadLocaleAsync(detectedLocale).then(() => setWasLoaded(true));
}; }, []);
render() { if (!wasLoaded) return null;
return (
<CustomMuiTheme> return (
<SnackbarProvider <TypesafeI18n locale={detectedLocale}>
autoHideDuration={3000} <CustomTheme>
maxSnack={3} <FeaturesLoader>
anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }} <AppRouting />
ref={this.notistackRef} </FeaturesLoader>
action={(key) => ( <ToastContainer
<IconButton onClick={this.onClickDismiss(key)} size="small"> position="bottom-left"
<CloseIcon /> autoClose={3000}
</IconButton> hideProgressBar={false}
)} newestOnTop={false}
> closeOnClick={true}
<FeaturesWrapper> rtl={false}
<Switch> pauseOnFocusLoss={false}
<Route draggable={false}
exact pauseOnHover={false}
path="/unauthorized" transition={Slide}
component={unauthorizedRedirect} closeButton={false}
/> theme="light"
<Route component={AppRouting} /> />
</Switch> </CustomTheme>
</FeaturesWrapper> </TypesafeI18n>
</SnackbarProvider> );
</CustomMuiTheme> };
);
}
}
export default App; export default App;

View File

@@ -1,67 +1,73 @@
import React, { Component } from 'react'; import { useContext, useEffect } from 'react';
import { Switch, Redirect } from 'react-router';
import * as Authentication from './authentication/Authentication'; import { Route, Routes, Navigate, useLocation } from 'react-router-dom';
import AuthenticationWrapper from './authentication/AuthenticationWrapper';
import UnauthenticatedRoute from './authentication/UnauthenticatedRoute';
import AuthenticatedRoute from './authentication/AuthenticatedRoute';
import SignIn from './SignIn'; import { toast } from 'react-toastify';
import ProjectRouting from './project/ProjectRouting'; import type { FC } from 'react';
import NetworkConnection from './network/NetworkConnection';
import AccessPoint from './ap/AccessPoint';
import NetworkTime from './ntp/NetworkTime';
import Security from './security/Security';
import System from './system/System';
import { PROJECT_PATH } from './api'; import AuthenticatedRouting from 'AuthenticatedRouting';
import Mqtt from './mqtt/Mqtt'; import SignIn from 'SignIn';
import { withFeatures, WithFeaturesProps } from './features/FeaturesContext'; import { RequireAuthenticated, RequireUnauthenticated } from 'components';
import { Features } from './features/types';
export const getDefaultRoute = (features: Features) => import { Authentication, AuthenticationContext } from 'contexts/authentication';
features.project ? `/${PROJECT_PATH}/` : '/network/'; import { useI18nContext } from 'i18n/i18n-react';
class AppRouting extends Component<WithFeaturesProps> {
componentDidMount() {
Authentication.clearLoginRedirect();
}
render() { interface SecurityRedirectProps {
const { features } = this.props; message: string;
return ( signOut?: boolean;
<AuthenticationWrapper>
<Switch>
{features.security && (
<UnauthenticatedRoute exact path="/" component={SignIn} />
)}
{features.project && (
<AuthenticatedRoute
exact
path={`/${PROJECT_PATH}/*`}
component={ProjectRouting}
/>
)}
<AuthenticatedRoute
exact
path="/network/*"
component={NetworkConnection}
/>
<AuthenticatedRoute exact path="/ap/*" component={AccessPoint} />
{features.ntp && (
<AuthenticatedRoute exact path="/ntp/*" component={NetworkTime} />
)}
{features.mqtt && (
<AuthenticatedRoute exact path="/mqtt/*" component={Mqtt} />
)}
{features.security && (
<AuthenticatedRoute exact path="/security/*" component={Security} />
)}
<AuthenticatedRoute exact path="/system/*" component={System} />
<Redirect to={getDefaultRoute(features)} />
</Switch>
</AuthenticationWrapper>
);
}
} }
export default withFeatures(AppRouting); const RootRedirect: FC<SecurityRedirectProps> = ({ message, signOut }) => {
const authenticationContext = useContext(AuthenticationContext);
useEffect(() => {
signOut && authenticationContext.signOut(false);
toast.success(message);
}, [message, signOut, authenticationContext]);
return <Navigate to="/" />;
};
export const RemoveTrailingSlashes = () => {
const location = useLocation();
return (
location.pathname.match('/.*/$') && (
<Navigate
to={{
pathname: location.pathname.replace(/\/+$/, ''),
search: location.search
}}
/>
)
);
};
const AppRouting: FC = () => {
const { LL } = useI18nContext();
return (
<Authentication>
<RemoveTrailingSlashes />
<Routes>
<Route path="/unauthorized" element={<RootRedirect message={LL.PLEASE_SIGNIN()} signOut />} />
<Route path="/fileUpdated" element={<RootRedirect message={LL.UPLOAD_SUCCESSFUL()} />} />
<Route
path="/"
element={
<RequireUnauthenticated>
<SignIn />
</RequireUnauthenticated>
}
/>
<Route
path="/*"
element={
<RequireAuthenticated>
<AuthenticatedRouting />
</RequireAuthenticated>
}
/>
</Routes>
</Authentication>
);
};
export default AppRouting;

View File

@@ -0,0 +1,64 @@
import { Navigate, Routes, Route } from 'react-router-dom';
import Dashboard from './project/Dashboard';
import Help from './project/Help';
import Settings from './project/Settings';
import type { FC } from 'react';
import { Layout, RequireAdmin } from 'components';
import AccessPoint from 'framework/ap/AccessPoint';
import Mqtt from 'framework/mqtt/Mqtt';
import NetworkConnection from 'framework/network/NetworkConnection';
import NetworkTime from 'framework/ntp/NetworkTime';
import Security from 'framework/security/Security';
import System from 'framework/system/System';
const AuthenticatedRouting: FC = () => (
// const location = useLocation();
// const navigate = useNavigate();
// const handleApiResponseError = useCallback(
// (error: AxiosError) => {
// if (error.response && error.response.status === 401) {
// AuthenticationApi.storeLoginRedirect(location);
// navigate('/unauthorized');
// }
// return Promise.reject(error);
// },
// [location, navigate]
// );
// useEffect(() => {
// const axiosHandlerId = AXIOS.interceptors.response.use((response) => response, handleApiResponseError);
// return () => AXIOS.interceptors.response.eject(axiosHandlerId);
// }, [handleApiResponseError]);
<Layout>
<Routes>
<Route path="/dashboard/*" element={<Dashboard />} />
<Route
path="/settings/*"
element={
<RequireAdmin>
<Settings />
</RequireAdmin>
}
/>
<Route path="/help/*" element={<Help />} />
<Route path="/network/*" element={<NetworkConnection />} />
<Route path="/ap/*" element={<AccessPoint />} />
<Route path="/ntp/*" element={<NetworkTime />} />
<Route path="/mqtt/*" element={<Mqtt />} />
<Route
path="/security/*"
element={
<RequireAdmin>
<Security />
</RequireAdmin>
}
/>
<Route path="/system/*" element={<System />} />
<Route path="/*" element={<Navigate to="/" />} />
</Routes>
</Layout>
);
export default AuthenticatedRouting;

View File

@@ -1,46 +0,0 @@
import { Component } from 'react';
import { CssBaseline } from '@material-ui/core';
import {
MuiThemeProvider,
createMuiTheme,
StylesProvider
} from '@material-ui/core/styles';
import { blueGrey, orange, red, green } from '@material-ui/core/colors';
const theme = createMuiTheme({
palette: {
type: 'dark',
primary: {
main: '#33bfff'
},
secondary: {
main: '#3d5afe'
},
info: {
main: blueGrey[500]
},
warning: {
main: orange[500]
},
error: {
main: red[500]
},
success: {
main: green[500]
}
}
});
export default class CustomMuiTheme extends Component {
render() {
return (
<StylesProvider>
<MuiThemeProvider theme={theme}>
<CssBaseline />
{this.props.children}
</MuiThemeProvider>
</StylesProvider>
);
}
}

View File

@@ -0,0 +1,41 @@
import { CssBaseline } from '@mui/material';
import { createTheme, responsiveFontSizes, ThemeProvider } from '@mui/material/styles';
import type { FC } from 'react';
import type { RequiredChildrenProps } from 'utils';
export const dialogStyle = {
'& .MuiDialog-paper': {
borderRadius: '8px',
borderColor: '#565656',
borderStyle: 'solid',
borderWidth: '1px'
},
backdropFilter: 'blur(1px)'
};
const theme = responsiveFontSizes(
createTheme({
typography: {
fontSize: 13
},
palette: {
mode: 'dark',
secondary: {
main: '#2196f3' // blue[500]
},
info: {
main: '#607d8b' // blueGrey[500]
}
}
})
);
const CustomTheme: FC<RequiredChildrenProps> = ({ children }) => (
<ThemeProvider theme={theme}>
<CssBaseline />
{children}
</ThemeProvider>
);
export default CustomTheme;

View File

@@ -1,165 +1,193 @@
import React, { Component } from 'react'; import ForwardIcon from '@mui/icons-material/Forward';
import { withSnackbar, WithSnackbarProps } from 'notistack'; import { Box, Paper, Typography, MenuItem, TextField, Button } from '@mui/material';
import { TextValidator, ValidatorForm } from 'react-material-ui-form-validator'; import { useRequest } from 'alova';
import { useContext, useState } from 'react';
import { toast } from 'react-toastify';
import { FeaturesContext } from './contexts/features';
import type { ValidateFieldsError } from 'async-validator';
import { import type { Locales } from 'i18n/i18n-types';
withStyles, import type { ChangeEventHandler, FC } from 'react';
createStyles, import type { SignInRequest } from 'types';
Theme, import * as AuthenticationApi from 'api/authentication';
WithStyles import { PROJECT_NAME } from 'api/env';
} from '@material-ui/core/styles';
import { Paper, Typography, Fab } from '@material-ui/core';
import ForwardIcon from '@material-ui/icons/Forward';
import { import { ValidatedPasswordField, ValidatedTextField } from 'components';
withAuthenticationContext, import { AuthenticationContext } from 'contexts/authentication';
AuthenticationContextProps
} from './authentication/AuthenticationContext';
import { PasswordValidator } from './components';
import { PROJECT_NAME, SIGN_IN_ENDPOINT } from './api';
const styles = (theme: Theme) => import { ReactComponent as DEflag } from 'i18n/DE.svg';
createStyles({ import { ReactComponent as FRflag } from 'i18n/FR.svg';
signInPage: { import { ReactComponent as GBflag } from 'i18n/GB.svg';
display: 'flex', import { ReactComponent as ITflag } from 'i18n/IT.svg';
height: '100vh', import { ReactComponent as NLflag } from 'i18n/NL.svg';
margin: 'auto', import { ReactComponent as NOflag } from 'i18n/NO.svg';
padding: theme.spacing(2), import { ReactComponent as PLflag } from 'i18n/PL.svg';
justifyContent: 'center', import { ReactComponent as SVflag } from 'i18n/SV.svg';
flexDirection: 'column', import { ReactComponent as TRflag } from 'i18n/TR.svg';
maxWidth: theme.breakpoints.values.sm import { I18nContext } from 'i18n/i18n-react';
}, import { loadLocaleAsync } from 'i18n/i18n-util.async';
signInPanel: { import { onEnterCallback, updateValue } from 'utils';
textAlign: 'center', import { SIGN_IN_REQUEST_VALIDATOR, validate } from 'validators';
padding: theme.spacing(2),
paddingTop: '200px', const SignIn: FC = () => {
backgroundImage: 'url("/app/icon.png")', const authenticationContext = useContext(AuthenticationContext);
backgroundRepeat: 'no-repeat',
backgroundPosition: '50% ' + theme.spacing(2) + 'px', const { LL, setLocale, locale } = useContext(I18nContext);
backgroundSize: 'auto 150px',
width: '100%' const { features } = useContext(FeaturesContext);
},
extendedIcon: { const [signInRequest, setSignInRequest] = useState<SignInRequest>({
marginRight: theme.spacing(0.5) username: '',
}, password: ''
button: { });
marginRight: theme.spacing(2), const [processing, setProcessing] = useState<boolean>(false);
marginTop: theme.spacing(2) const [fieldErrors, setFieldErrors] = useState<ValidateFieldsError>();
const { send: callSignIn, onSuccess } = useRequest((request: SignInRequest) => AuthenticationApi.signIn(request), {
immediate: false
});
onSuccess((response) => {
if (response.data) {
authenticationContext.signIn(response.data.access_token);
} }
}); });
type SignInProps = WithSnackbarProps & const updateLoginRequestValue = updateValue(setSignInRequest);
WithStyles<typeof styles> &
AuthenticationContextProps;
interface SignInState { const signIn = async () => {
username: string; await callSignIn(signInRequest).catch((event) => {
password: string; if (event.message === 'Unauthorized') {
processing: boolean; toast.warning(LL.INVALID_LOGIN());
} } else {
toast.error(LL.ERROR() + ' ' + event.message);
class SignIn extends Component<SignInProps, SignInState> { }
constructor(props: SignInProps) { setProcessing(false);
super(props); });
this.state = {
username: '',
password: '',
processing: false
};
}
updateInputElement = (event: React.ChangeEvent<HTMLInputElement>): void => {
const { name, value } = event.currentTarget;
this.setState((prevState) => ({
...prevState,
[name]: value
}));
}; };
onSubmit = () => { const validateAndSignIn = async () => {
const { username, password } = this.state; setProcessing(true);
const { authenticationContext } = this.props; SIGN_IN_REQUEST_VALIDATOR.messages({
this.setState({ processing: true }); required: LL.IS_REQUIRED('%s')
fetch(SIGN_IN_ENDPOINT, { });
method: 'POST', try {
body: JSON.stringify({ username, password }), await validate(SIGN_IN_REQUEST_VALIDATOR, signInRequest);
headers: new Headers({ await signIn();
'Content-Type': 'application/json' } catch (errors: any) {
}) setFieldErrors(errors);
}) setProcessing(false);
.then((response) => { }
if (response.status === 200) {
return response.json();
} else if (response.status === 401) {
throw Error('Invalid credentials.');
} else {
throw Error('Invalid status code: ' + response.status);
}
})
.then((json) => {
authenticationContext.signIn(json.access_token);
})
.catch((error) => {
this.props.enqueueSnackbar(error.message, {
variant: 'warning'
});
this.setState({ processing: false });
});
}; };
render() { const submitOnEnter = onEnterCallback(signIn);
const { username, password, processing } = this.state;
const { classes } = this.props;
return (
<div className={classes.signInPage}>
<Paper className={classes.signInPanel}>
<Typography variant="h4">{PROJECT_NAME}</Typography>
<ValidatorForm onSubmit={this.onSubmit}>
<TextValidator
disabled={processing}
validators={['required']}
errorMessages={['Username is required']}
name="username"
label="Username"
fullWidth
variant="outlined"
value={username}
onChange={this.updateInputElement}
margin="normal"
inputProps={{
autoCapitalize: 'none',
autoCorrect: 'off'
}}
/>
<PasswordValidator
disabled={processing}
validators={['required']}
errorMessages={['Password is required']}
name="password"
label="Password"
fullWidth
variant="outlined"
value={password}
onChange={this.updateInputElement}
margin="normal"
/>
<Fab
variant="extended"
color="primary"
className={classes.button}
type="submit"
disabled={processing}
>
<ForwardIcon className={classes.extendedIcon} />
Sign In
</Fab>
</ValidatorForm>
</Paper>
</div>
);
}
}
export default withAuthenticationContext( const onLocaleSelected: ChangeEventHandler<HTMLInputElement> = async ({ target }) => {
withSnackbar(withStyles(styles)(SignIn)) const loc = target.value as Locales;
); localStorage.setItem('lang', loc);
await loadLocaleAsync(loc);
setLocale(loc);
};
return (
<Box
display="flex"
height="100vh"
margin="auto"
padding={2}
justifyContent="center"
flexDirection="column"
maxWidth={(theme) => theme.breakpoints.values.sm}
>
<Paper
sx={(theme) => ({
textAlign: 'center',
padding: theme.spacing(2),
paddingTop: '172px',
backgroundImage: 'url("/app/icon.png")',
backgroundRepeat: 'no-repeat',
backgroundPosition: '50% ' + theme.spacing(2),
width: '100%'
})}
>
<Typography variant="h4">{PROJECT_NAME}</Typography>
<Typography variant="subtitle2">{features.version}</Typography>
<TextField name="locale" variant="outlined" value={locale} onChange={onLocaleSelected} size="small" select>
<MenuItem key="de" value="de">
<DEflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;DE
</MenuItem>
<MenuItem key="en" value="en">
<GBflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;EN
</MenuItem>
<MenuItem key="fr" value="fr">
<FRflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;FR
</MenuItem>
<MenuItem key="it" value="it">
<ITflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;IT
</MenuItem>
<MenuItem key="nl" value="nl">
<NLflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;NL
</MenuItem>
<MenuItem key="no" value="no">
<NOflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;NO
</MenuItem>
<MenuItem key="pl" value="pl">
<PLflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;PL
</MenuItem>
<MenuItem key="sv" value="sv">
<SVflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;SV
</MenuItem>
<MenuItem key="tr" value="tr">
<TRflag style={{ width: 16, verticalAlign: 'middle' }} />
&nbsp;TR
</MenuItem>
</TextField>
<Box display="flex" flexDirection="column" alignItems="center">
<ValidatedTextField
fieldErrors={fieldErrors}
disabled={processing}
sx={{
width: 240
}}
name="username"
label={LL.USERNAME(0)}
value={signInRequest.username}
onChange={updateLoginRequestValue}
margin="normal"
variant="outlined"
/>
<ValidatedPasswordField
fieldErrors={fieldErrors}
disabled={processing}
sx={{
width: 240
}}
name="password"
label={LL.PASSWORD()}
value={signInRequest.password}
onChange={updateLoginRequestValue}
onKeyDown={submitOnEnter}
variant="outlined"
/>
</Box>
<Button variant="contained" color="primary" sx={{ mt: 2 }} onClick={validateAndSignIn} disabled={processing}>
<ForwardIcon sx={{ mr: 1 }} />
{LL.SIGN_IN()}
</Button>
</Paper>
</Box>
);
};
export default SignIn;

View File

@@ -1,8 +0,0 @@
import { APSettings, APProvisionMode } from './types';
export const isAPEnabled = ({ provision_mode }: APSettings) => {
return (
provision_mode === APProvisionMode.AP_MODE_ALWAYS ||
provision_mode === APProvisionMode.AP_MODE_DISCONNECTED
);
};

View File

@@ -1,33 +0,0 @@
import { Component } from 'react';
import { AP_SETTINGS_ENDPOINT } from '../api';
import {
restController,
RestControllerProps,
RestFormLoader,
SectionContent
} from '../components';
import APSettingsForm from './APSettingsForm';
import { APSettings } from './types';
type APSettingsControllerProps = RestControllerProps<APSettings>;
class APSettingsController extends Component<APSettingsControllerProps> {
componentDidMount() {
this.props.loadData();
}
render() {
return (
<SectionContent title="Access Point Settings" titleGutter>
<RestFormLoader
{...this.props}
render={(formProps) => <APSettingsForm {...formProps} />}
/>
</SectionContent>
);
}
}
export default restController(AP_SETTINGS_ENDPOINT, APSettingsController);

View File

@@ -1,134 +0,0 @@
import React, { Fragment } from 'react';
import {
TextValidator,
ValidatorForm,
SelectValidator
} from 'react-material-ui-form-validator';
import MenuItem from '@material-ui/core/MenuItem';
import SaveIcon from '@material-ui/icons/Save';
import {
PasswordValidator,
RestFormProps,
FormActions,
FormButton
} from '../components';
import { isAPEnabled } from './APModes';
import { APSettings, APProvisionMode } from './types';
import { isIP } from '../validators';
type APSettingsFormProps = RestFormProps<APSettings>;
class APSettingsForm extends React.Component<APSettingsFormProps> {
componentDidMount() {
ValidatorForm.addValidationRule('isIP', isIP);
}
render() {
const { data, handleValueChange, saveData } = this.props;
return (
<ValidatorForm onSubmit={saveData} ref="APSettingsForm">
<SelectValidator
name="provision_mode"
label="Provide Access Point&hellip;"
value={data.provision_mode}
fullWidth
variant="outlined"
onChange={handleValueChange('provision_mode')}
margin="normal"
>
<MenuItem value={APProvisionMode.AP_MODE_ALWAYS}>Always</MenuItem>
<MenuItem value={APProvisionMode.AP_MODE_DISCONNECTED}>
When Network Disconnected
</MenuItem>
<MenuItem value={APProvisionMode.AP_NEVER}>Never</MenuItem>
</SelectValidator>
{isAPEnabled(data) && (
<Fragment>
<TextValidator
validators={['required', 'matchRegexp:^.{1,32}$']}
errorMessages={[
'Access Point SSID is required',
'Access Point SSID must be 32 characters or less'
]}
name="ssid"
label="Access Point SSID"
fullWidth
variant="outlined"
value={data.ssid}
onChange={handleValueChange('ssid')}
margin="normal"
/>
<PasswordValidator
validators={['required', 'matchRegexp:^.{8,64}$']}
errorMessages={[
'Access Point Password is required',
'Access Point Password must be 8-64 characters'
]}
name="password"
label="Access Point Password"
fullWidth
variant="outlined"
value={data.password}
onChange={handleValueChange('password')}
margin="normal"
/>
<TextValidator
validators={['required', 'isIP']}
errorMessages={['Local IP is required', 'Must be an IP address']}
name="local_ip"
label="Local IP"
fullWidth
variant="outlined"
value={data.local_ip}
onChange={handleValueChange('local_ip')}
margin="normal"
/>
<TextValidator
validators={['required', 'isIP']}
errorMessages={[
'Gateway IP is required',
'Must be an IP address'
]}
name="gateway_ip"
label="Gateway"
fullWidth
variant="outlined"
value={data.gateway_ip}
onChange={handleValueChange('gateway_ip')}
margin="normal"
/>
<TextValidator
validators={['required', 'isIP']}
errorMessages={[
'Subnet mask is required',
'Must be an IP address'
]}
name="subnet_mask"
label="Subnet"
fullWidth
variant="outlined"
value={data.subnet_mask}
onChange={handleValueChange('subnet_mask')}
margin="normal"
/>
</Fragment>
)}
<FormActions>
<FormButton
startIcon={<SaveIcon />}
variant="contained"
color="primary"
type="submit"
>
Save
</FormButton>
</FormActions>
</ValidatorForm>
);
}
}
export default APSettingsForm;

View File

@@ -1,28 +0,0 @@
import { Theme } from '@material-ui/core';
import { APStatus, APNetworkStatus } from './types';
export const apStatusHighlight = ({ status }: APStatus, theme: Theme) => {
switch (status) {
case APNetworkStatus.ACTIVE:
return theme.palette.success.main;
case APNetworkStatus.INACTIVE:
return theme.palette.info.main;
case APNetworkStatus.LINGERING:
return theme.palette.warning.main;
default:
return theme.palette.warning.main;
}
};
export const apStatus = ({ status }: APStatus) => {
switch (status) {
case APNetworkStatus.ACTIVE:
return 'Active';
case APNetworkStatus.INACTIVE:
return 'Inactive';
case APNetworkStatus.LINGERING:
return 'Lingering until idle';
default:
return 'Unknown';
}
};

View File

@@ -1,33 +0,0 @@
import { Component } from 'react';
import {
restController,
RestControllerProps,
RestFormLoader,
SectionContent
} from '../components';
import { AP_STATUS_ENDPOINT } from '../api';
import APStatusForm from './APStatusForm';
import { APStatus } from './types';
type APStatusControllerProps = RestControllerProps<APStatus>;
class APStatusController extends Component<APStatusControllerProps> {
componentDidMount() {
this.props.loadData();
}
render() {
return (
<SectionContent title="Access Point Status">
<RestFormLoader
{...this.props}
render={(formProps) => <APStatusForm {...formProps} />}
/>
</SectionContent>
);
}
}
export default restController(AP_STATUS_ENDPOINT, APStatusController);

View File

@@ -1,91 +0,0 @@
import React, { Component, Fragment } from 'react';
import { WithTheme, withTheme } from '@material-ui/core/styles';
import {
Avatar,
Divider,
List,
ListItem,
ListItemAvatar,
ListItemText
} from '@material-ui/core';
import SettingsInputAntennaIcon from '@material-ui/icons/SettingsInputAntenna';
import DeviceHubIcon from '@material-ui/icons/DeviceHub';
import ComputerIcon from '@material-ui/icons/Computer';
import RefreshIcon from '@material-ui/icons/Refresh';
import {
RestFormProps,
FormActions,
FormButton,
HighlightAvatar
} from '../components';
import { apStatusHighlight, apStatus } from './APStatus';
import { APStatus } from './types';
type APStatusFormProps = RestFormProps<APStatus> & WithTheme;
class APStatusForm extends Component<APStatusFormProps> {
createListItems() {
const { data, theme } = this.props;
return (
<Fragment>
<ListItem>
<ListItemAvatar>
<HighlightAvatar color={apStatusHighlight(data, theme)}>
<SettingsInputAntennaIcon />
</HighlightAvatar>
</ListItemAvatar>
<ListItemText primary="Status" secondary={apStatus(data)} />
</ListItem>
<Divider variant="inset" component="li" />
<ListItem>
<ListItemAvatar>
<Avatar>IP</Avatar>
</ListItemAvatar>
<ListItemText primary="IP Address" secondary={data.ip_address} />
</ListItem>
<Divider variant="inset" component="li" />
<ListItem>
<ListItemAvatar>
<Avatar>
<DeviceHubIcon />
</Avatar>
</ListItemAvatar>
<ListItemText primary="MAC Address" secondary={data.mac_address} />
</ListItem>
<Divider variant="inset" component="li" />
<ListItem>
<ListItemAvatar>
<Avatar>
<ComputerIcon />
</Avatar>
</ListItemAvatar>
<ListItemText primary="AP Clients" secondary={data.station_num} />
</ListItem>
<Divider variant="inset" component="li" />
</Fragment>
);
}
render() {
return (
<Fragment>
<List>{this.createListItems()}</List>
<FormActions>
<FormButton
startIcon={<RefreshIcon />}
variant="contained"
color="secondary"
onClick={this.props.loadData}
>
Refresh
</FormButton>
</FormActions>
</Fragment>
);
}
}
export default withTheme(APStatusForm);

View File

@@ -1,57 +0,0 @@
import { Component } from 'react';
import { Redirect, Switch, RouteComponentProps } from 'react-router-dom';
import { Tabs, Tab } from '@material-ui/core';
import {
AuthenticatedContextProps,
withAuthenticatedContext,
AuthenticatedRoute
} from '../authentication';
import { MenuAppBar } from '../components';
import APSettingsController from './APSettingsController';
import APStatusController from './APStatusController';
type AccessPointProps = AuthenticatedContextProps & RouteComponentProps;
class AccessPoint extends Component<AccessPointProps> {
handleTabChange = (path: string) => {
this.props.history.push(path);
};
render() {
const { authenticatedContext } = this.props;
return (
<MenuAppBar sectionTitle="Access Point">
<Tabs
value={this.props.match.url}
onChange={(e, path) => this.handleTabChange(path)}
variant="fullWidth"
>
<Tab value="/ap/status" label="Access Point Status" />
<Tab
value="/ap/settings"
label="Access Point Settings"
disabled={!authenticatedContext.me.admin}
/>
</Tabs>
<Switch>
<AuthenticatedRoute
exact
path="/ap/status"
component={APStatusController}
/>
<AuthenticatedRoute
exact
path="/ap/settings"
component={APSettingsController}
/>
<Redirect to="/ap/status" />
</Switch>
</MenuAppBar>
);
}
}
export default withAuthenticatedContext(AccessPoint);

View File

@@ -1,24 +0,0 @@
import { ENDPOINT_ROOT } from './Env';
export const FEATURES_ENDPOINT = ENDPOINT_ROOT + 'features';
export const NTP_STATUS_ENDPOINT = ENDPOINT_ROOT + 'ntpStatus';
export const NTP_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'ntpSettings';
export const TIME_ENDPOINT = ENDPOINT_ROOT + 'time';
export const AP_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'apSettings';
export const AP_STATUS_ENDPOINT = ENDPOINT_ROOT + 'apStatus';
export const SCAN_NETWORKS_ENDPOINT = ENDPOINT_ROOT + 'scanNetworks';
export const LIST_NETWORKS_ENDPOINT = ENDPOINT_ROOT + 'listNetworks';
export const NETWORK_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'networkSettings';
export const NETWORK_STATUS_ENDPOINT = ENDPOINT_ROOT + 'networkStatus';
export const OTA_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'otaSettings';
export const UPLOAD_FIRMWARE_ENDPOINT = ENDPOINT_ROOT + 'uploadFirmware';
export const MQTT_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'mqttSettings';
export const MQTT_STATUS_ENDPOINT = ENDPOINT_ROOT + 'mqttStatus';
export const SYSTEM_STATUS_ENDPOINT = ENDPOINT_ROOT + 'systemStatus';
export const SIGN_IN_ENDPOINT = ENDPOINT_ROOT + 'signIn';
export const VERIFY_AUTHORIZATION_ENDPOINT =
ENDPOINT_ROOT + 'verifyAuthorization';
export const SECURITY_SETTINGS_ENDPOINT = ENDPOINT_ROOT + 'securitySettings';
export const GENERATE_TOKEN_ENDPOINT = ENDPOINT_ROOT + 'generateToken';
export const RESTART_ENDPOINT = ENDPOINT_ROOT + 'restart';
export const FACTORY_RESET_ENDPOINT = ENDPOINT_ROOT + 'factoryReset';

View File

@@ -1,26 +0,0 @@
export const PROJECT_NAME = process.env.REACT_APP_PROJECT_NAME!;
export const PROJECT_PATH = process.env.REACT_APP_PROJECT_PATH!;
export const ENDPOINT_ROOT = calculateEndpointRoot('/rest/');
export const WEB_SOCKET_ROOT = calculateWebSocketRoot('/ws/');
export const EVENT_SOURCE_ROOT = calculateEndpointRoot('/es/');
export const API_ENDPOINT_ROOT = calculateEndpointRoot('/api/');
function calculateEndpointRoot(endpointPath: string) {
const httpRoot = process.env.REACT_APP_HTTP_ROOT;
if (httpRoot) {
return httpRoot + endpointPath;
}
const location = window.location;
return location.protocol + '//' + location.host + endpointPath;
}
function calculateWebSocketRoot(webSocketPath: string) {
const webSocketRoot = process.env.REACT_APP_WEB_SOCKET_ROOT;
if (webSocketRoot) {
return webSocketRoot + webSocketPath;
}
const location = window.location;
const webProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
return webProtocol + '//' + location.host + webSocketPath;
}

7
interface/src/api/ap.ts Normal file
View File

@@ -0,0 +1,7 @@
import { alovaInstance } from './endpoints';
import type { APSettings, APStatus } from 'types';
export const readAPStatus = () => alovaInstance.Get<APStatus>('/rest/apStatus');
export const readAPSettings = () => alovaInstance.Get<APSettings>('/rest/apSettings');
export const updateAPSettings = (data: APSettings) => alovaInstance.Post<APSettings>('/rest/apSettings', data);

View File

@@ -0,0 +1,51 @@
import jwtDecode from 'jwt-decode';
import { ACCESS_TOKEN, alovaInstance } from './endpoints';
import type * as H from 'history';
import type { Path } from 'react-router-dom';
import type { Me, SignInRequest, SignInResponse } from 'types';
export const SIGN_IN_PATHNAME = 'loginPathname';
export const SIGN_IN_SEARCH = 'loginSearch';
export const verifyAuthorization = () => alovaInstance.Get('/rest/verifyAuthorization');
export const signIn = (request: SignInRequest) => alovaInstance.Post<SignInResponse>('/rest/signIn', request);
export function getStorage() {
return localStorage || sessionStorage;
}
export function storeLoginRedirect(location?: H.Location) {
if (location) {
getStorage().setItem(SIGN_IN_PATHNAME, location.pathname);
getStorage().setItem(SIGN_IN_SEARCH, location.search);
}
}
export function clearLoginRedirect() {
getStorage().removeItem(SIGN_IN_PATHNAME);
getStorage().removeItem(SIGN_IN_SEARCH);
}
export function fetchLoginRedirect(): Partial<Path> {
const signInPathname = getStorage().getItem(SIGN_IN_PATHNAME);
const signInSearch = getStorage().getItem(SIGN_IN_SEARCH);
clearLoginRedirect();
return {
pathname: signInPathname || `/dashboard`,
search: (signInPathname && signInSearch) || undefined
};
}
export const clearAccessToken = () => localStorage.removeItem(ACCESS_TOKEN);
export const decodeMeJWT = (accessToken: string): Me => jwtDecode(accessToken);
export function addAccessTokenParameter(url: string) {
const accessToken = getStorage().getItem(ACCESS_TOKEN);
if (!accessToken) {
return url;
}
const parsedUrl = new URL(url);
parsedUrl.searchParams.set(ACCESS_TOKEN, accessToken);
return parsedUrl.toString();
}

View File

@@ -0,0 +1,60 @@
import { xhrRequestAdapter } from '@alova/adapter-xhr';
import { createAlova } from 'alova';
import ReactHook from 'alova/react';
import { unpack } from '../api/unpack';
export const ACCESS_TOKEN = 'access_token';
const host = window.location.host;
export const WEB_SOCKET_ROOT = 'ws://' + host + '/ws/';
export const EVENT_SOURCE_ROOT = 'http://' + host + '/es/';
export const alovaInstance = createAlova({
statesHook: ReactHook,
timeout: 3000, // 3 seconds but throwing a timeout error
localCache: null,
// localCache: {
// GET: {
// mode: 'placeholder', // see https://alova.js.org/learning/response-cache/#cache-replaceholder-mode
// expire: 2000
// }
// },
requestAdapter: xhrRequestAdapter(),
beforeRequest(method) {
if (localStorage.getItem(ACCESS_TOKEN)) {
method.config.headers.Authorization = 'Bearer ' + localStorage.getItem(ACCESS_TOKEN);
}
},
responded: {
onSuccess: async (response) => {
// if (response.status === 202) {
// throw new Error('Wait'); // wifi scan in progress
// } else
if (response.status === 205) {
throw new Error('Reboot required');
} else if (response.status === 400) {
throw new Error('Request Failed');
} else if (response.status >= 400) {
throw new Error(response.statusText);
}
const data = await response.data;
if (response.data instanceof ArrayBuffer) {
return unpack(data);
}
return data;
}
// Interceptor for request failure. This interceptor will be entered when the request is wrong.
// http errors like 401 (unauthorized) are handled either in the methods or AuthenticatedRouting()
// onError: (error, method) => {
// alert(error.message);
// }
}
});
export const alovaInstanceGH = createAlova({
baseURL: 'https://api.github.com/repos/emsesp/EMS-ESP32/releases',
statesHook: ReactHook,
requestAdapter: xhrRequestAdapter()
});

1
interface/src/api/env.ts Normal file
View File

@@ -0,0 +1 @@
export const PROJECT_NAME = 'EMS-ESP';

View File

@@ -0,0 +1,5 @@
import { alovaInstance } from './endpoints';
import type { Features } from 'types';
export const readFeatures = () => alovaInstance.Get<Features>('/rest/features');

View File

@@ -1,2 +0,0 @@
export * from './Env';
export * from './Endpoints';

View File

@@ -0,0 +1,6 @@
import { alovaInstance } from './endpoints';
import type { MqttSettings, MqttStatus } from 'types';
export const readMqttStatus = () => alovaInstance.Get<MqttStatus>('/rest/mqttStatus');
export const readMqttSettings = () => alovaInstance.Get<MqttSettings>('/rest/mqttSettings');
export const updateMqttSettings = (data: MqttSettings) => alovaInstance.Post<MqttSettings>('/rest/mqttSettings', data);

View File

@@ -0,0 +1,15 @@
import { alovaInstance } from './endpoints';
import type { WiFiNetworkList, NetworkSettings, NetworkStatus } from 'types';
export const readNetworkStatus = () => alovaInstance.Get<NetworkStatus>('/rest/networkStatus');
export const scanNetworks = () => alovaInstance.Get('/rest/scanNetworks');
export const listNetworks = () =>
alovaInstance.Get<WiFiNetworkList>('/rest/listNetworks', {
name: 'listNetworks',
timeout: 20000 // timeout 20 seconds
});
export const readNetworkSettings = () =>
alovaInstance.Get<NetworkSettings>('/rest/networkSettings', { name: 'networkSettings' });
export const updateNetworkSettings = (wifiSettings: NetworkSettings) =>
alovaInstance.Post<NetworkSettings>('/rest/networkSettings', wifiSettings);

11
interface/src/api/ntp.ts Normal file
View File

@@ -0,0 +1,11 @@
import { alovaInstance } from './endpoints';
import type { NTPSettings, NTPStatus, Time } from 'types';
export const readNTPStatus = () => alovaInstance.Get<NTPStatus>('/rest/ntpStatus');
export const readNTPSettings = () =>
alovaInstance.Get<NTPSettings>('/rest/ntpSettings', {
name: 'ntpSettings'
});
export const updateNTPSettings = (data: NTPSettings) => alovaInstance.Post<NTPSettings>('/rest/ntpSettings', data);
export const updateTime = (data: Time) => alovaInstance.Post<Time>('/rest/time', data);

View File

@@ -0,0 +1,13 @@
import { alovaInstance } from './endpoints';
import type { SecuritySettings, Token } from 'types';
export const readSecuritySettings = () => alovaInstance.Get<SecuritySettings>('/rest/securitySettings');
export const updateSecuritySettings = (securitySettings: SecuritySettings) =>
alovaInstance.Post('/rest/securitySettings', securitySettings);
export const generateToken = (username?: string) =>
alovaInstance.Get<Token>('/rest/generateToken', {
params: { username }
});

View File

@@ -0,0 +1,42 @@
import { alovaInstance, alovaInstanceGH } from './endpoints';
import type { OTASettings, SystemStatus, LogSettings } from 'types';
// SystemStatus - also used to ping in Restart monitor for pinging
export const readSystemStatus = () => alovaInstance.Get<SystemStatus>('/rest/systemStatus');
// commands
export const restart = () => alovaInstance.Post('/rest/restart');
export const partition = () => alovaInstance.Post('/rest/partition');
export const factoryReset = () => alovaInstance.Post('/rest/factoryReset');
// OTA
export const readOTASettings = () => alovaInstance.Get<OTASettings>(`/rest/otaSettings`);
export const updateOTASettings = (data: any) => alovaInstance.Post('/rest/otaSettings', data);
// SystemLog
export const readLogSettings = () => alovaInstance.Get<LogSettings>(`/rest/logSettings`);
export const updateLogSettings = (data: any) => alovaInstance.Post('/rest/logSettings', data);
export const fetchLog = () => alovaInstance.Post('/rest/fetchLog');
// Get versions from github
export const getStableVersion = () =>
alovaInstanceGH.Get('latest', {
transformData(response: any) {
return response.data.name.substring(1);
}
});
export const getDevVersion = () =>
alovaInstanceGH.Get('tags/latest', {
transformData(response: any) {
return response.data.name.split(/\s+/).splice(-1)[0].substring(1);
}
});
export const uploadFile = (file: File) => {
const formData = new FormData();
formData.append('file', file);
return alovaInstance.Post('/rest/uploadFile', formData, {
timeout: 60000, // override timeout for uploading firmware - 1 minute
enableUpload: true
});
};

1131
interface/src/api/unpack.ts Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,56 +0,0 @@
import * as React from 'react';
import {
Redirect,
Route,
RouteProps,
RouteComponentProps
} from 'react-router-dom';
import { withSnackbar, WithSnackbarProps } from 'notistack';
import * as Authentication from './Authentication';
import {
withAuthenticationContext,
AuthenticationContextProps,
AuthenticatedContext,
AuthenticatedContextValue
} from './AuthenticationContext';
interface AuthenticatedRouteProps
extends RouteProps,
WithSnackbarProps,
AuthenticationContextProps {
component:
| React.ComponentType<RouteComponentProps<any>>
| React.ComponentType<any>;
}
type RenderComponent = (props: RouteComponentProps<any>) => React.ReactNode;
export class AuthenticatedRoute extends React.Component<AuthenticatedRouteProps> {
render() {
const {
enqueueSnackbar,
authenticationContext,
component: Component,
...rest
} = this.props;
const { location } = this.props;
const renderComponent: RenderComponent = (props) => {
if (authenticationContext.me) {
return (
<AuthenticatedContext.Provider
value={authenticationContext as AuthenticatedContextValue}
>
<Component {...props} />
</AuthenticatedContext.Provider>
);
}
Authentication.storeLoginRedirect(location);
enqueueSnackbar('Please sign in to continue', { variant: 'info' });
return <Redirect to="/" />;
};
return <Route {...rest} render={renderComponent} />;
}
}
export default withSnackbar(withAuthenticationContext(AuthenticatedRoute));

View File

@@ -1,129 +0,0 @@
import * as H from 'history';
import history from '../history';
import { Features } from '../features/types';
import { getDefaultRoute } from '../AppRouting';
export const ACCESS_TOKEN = 'access_token';
export const SIGN_IN_PATHNAME = 'signInPathname';
export const SIGN_IN_SEARCH = 'signInSearch';
/**
* Fallback to sessionStorage if localStorage is absent. WebView may not have local storage enabled.
*/
export function getStorage() {
return localStorage || sessionStorage;
}
export function storeLoginRedirect(location?: H.Location) {
if (location) {
getStorage().setItem(SIGN_IN_PATHNAME, location.pathname);
getStorage().setItem(SIGN_IN_SEARCH, location.search);
}
}
export function clearLoginRedirect() {
getStorage().removeItem(SIGN_IN_PATHNAME);
getStorage().removeItem(SIGN_IN_SEARCH);
}
export function fetchLoginRedirect(
features: Features
): H.LocationDescriptorObject {
const signInPathname = getStorage().getItem(SIGN_IN_PATHNAME);
const signInSearch = getStorage().getItem(SIGN_IN_SEARCH);
clearLoginRedirect();
return {
pathname: signInPathname || getDefaultRoute(features),
search: (signInPathname && signInSearch) || undefined
};
}
/**
* Wraps the normal fetch routine with one with provides the access token if present.
*/
export function authorizedFetch(
url: RequestInfo,
params?: RequestInit
): Promise<Response> {
const accessToken = getStorage().getItem(ACCESS_TOKEN);
if (accessToken) {
params = params || {};
params.credentials = 'include';
params.headers = {
...params.headers,
Authorization: 'Bearer ' + accessToken
};
}
return fetch(url, params);
}
/**
* fetch() does not yet support upload progress, this wrapper allows us to configure the xhr request
* for a single file upload and takes care of adding the Authorization header and redirecting on
* authorization errors as we do for normal fetch operations.
*/
export function redirectingAuthorizedUpload(
xhr: XMLHttpRequest,
url: string,
file: File,
onProgress: (event: ProgressEvent<EventTarget>) => void
): Promise<void> {
return new Promise((resolve, reject) => {
xhr.open('POST', url, true);
const accessToken = getStorage().getItem(ACCESS_TOKEN);
if (accessToken) {
xhr.withCredentials = true;
xhr.setRequestHeader('Authorization', 'Bearer ' + accessToken);
}
xhr.upload.onprogress = onProgress;
xhr.onload = function () {
if (xhr.status === 401 || xhr.status === 403) {
history.push('/unauthorized');
} else {
resolve();
}
};
xhr.onerror = function () {
reject(new DOMException('Error', 'UploadError'));
};
xhr.onabort = function () {
reject(new DOMException('Aborted', 'AbortError'));
};
const formData = new FormData();
formData.append('file', file);
xhr.send(formData);
});
}
/**
* Wraps the normal fetch routine which redirects on 401 response.
*/
export function redirectingAuthorizedFetch(
url: RequestInfo,
params?: RequestInit
): Promise<Response> {
return new Promise<Response>((resolve, reject) => {
authorizedFetch(url, params)
.then((response) => {
if (response.status === 401 || response.status === 403) {
history.push('/unauthorized');
} else {
resolve(response);
}
})
.catch((error) => {
reject(error);
});
});
}
export function addAccessTokenParameter(url: string) {
const accessToken = getStorage().getItem(ACCESS_TOKEN);
if (!accessToken) {
return url;
}
const parsedUrl = new URL(url);
parsedUrl.searchParams.set(ACCESS_TOKEN, accessToken);
return parsedUrl.toString();
}

View File

@@ -1,77 +0,0 @@
import * as React from 'react';
export interface Me {
username: string;
admin: boolean;
}
export interface AuthenticationContextValue {
refresh: () => void;
signIn: (accessToken: string) => void;
signOut: () => void;
me?: Me;
}
const AuthenticationContextDefaultValue = {} as AuthenticationContextValue;
export const AuthenticationContext = React.createContext(
AuthenticationContextDefaultValue
);
export interface AuthenticationContextProps {
authenticationContext: AuthenticationContextValue;
}
export function withAuthenticationContext<T extends AuthenticationContextProps>(
Component: React.ComponentType<T>
) {
return class extends React.Component<
Omit<T, keyof AuthenticationContextProps>
> {
render() {
return (
<AuthenticationContext.Consumer>
{(authenticationContext) => (
<Component
{...(this.props as T)}
authenticationContext={authenticationContext}
/>
)}
</AuthenticationContext.Consumer>
);
}
};
}
export interface AuthenticatedContextValue extends AuthenticationContextValue {
me: Me;
}
const AuthenticatedContextDefaultValue = {} as AuthenticatedContextValue;
export const AuthenticatedContext = React.createContext(
AuthenticatedContextDefaultValue
);
export interface AuthenticatedContextProps {
authenticatedContext: AuthenticatedContextValue;
}
export function withAuthenticatedContext<T extends AuthenticatedContextProps>(
Component: React.ComponentType<T>
) {
return class extends React.Component<
Omit<T, keyof AuthenticatedContextProps>
> {
render() {
return (
<AuthenticatedContext.Consumer>
{(authenticatedContext) => (
<Component
{...(this.props as T)}
authenticatedContext={authenticatedContext}
/>
)}
</AuthenticatedContext.Consumer>
);
}
};
}

View File

@@ -1,135 +0,0 @@
import * as React from 'react';
import { withSnackbar, WithSnackbarProps } from 'notistack';
import jwtDecode from 'jwt-decode';
import history from '../history';
import { VERIFY_AUTHORIZATION_ENDPOINT } from '../api';
import { ACCESS_TOKEN, authorizedFetch, getStorage } from './Authentication';
import {
AuthenticationContext,
AuthenticationContextValue,
Me
} from './AuthenticationContext';
import FullScreenLoading from '../components/FullScreenLoading';
import { withFeatures, WithFeaturesProps } from '../features/FeaturesContext';
export const decodeMeJWT = (accessToken: string): Me =>
jwtDecode(accessToken) as Me;
interface AuthenticationWrapperState {
context: AuthenticationContextValue;
initialized: boolean;
}
type AuthenticationWrapperProps = WithSnackbarProps & WithFeaturesProps;
class AuthenticationWrapper extends React.Component<
AuthenticationWrapperProps,
AuthenticationWrapperState
> {
constructor(props: AuthenticationWrapperProps) {
super(props);
this.state = {
context: {
refresh: this.refresh,
signIn: this.signIn,
signOut: this.signOut
},
initialized: false
};
}
componentDidMount() {
this.refresh();
}
render() {
return (
<React.Fragment>
{this.state.initialized
? this.renderContent()
: this.renderContentLoading()}
</React.Fragment>
);
}
renderContent() {
return (
<AuthenticationContext.Provider value={this.state.context}>
{this.props.children}
</AuthenticationContext.Provider>
);
}
renderContentLoading() {
return <FullScreenLoading />;
}
refresh = () => {
// commented out, always need security - proddy
// if (!this.props.features.security) {
// this.setState({ initialized: true, context: { ...this.state.context, me: { admin: true, username: "admin" } } });
// return;
// }
const accessToken = getStorage().getItem(ACCESS_TOKEN);
if (accessToken) {
authorizedFetch(VERIFY_AUTHORIZATION_ENDPOINT)
.then((response) => {
const me =
response.status === 200 ? decodeMeJWT(accessToken) : undefined;
this.setState({
initialized: true,
context: { ...this.state.context, me }
});
})
.catch((error) => {
this.setState({
initialized: true,
context: { ...this.state.context, me: undefined }
});
this.props.enqueueSnackbar(
'Error verifying authorization: ' + error.message,
{
variant: 'error'
}
);
});
} else {
this.setState({
initialized: true,
context: { ...this.state.context, me: undefined }
});
}
};
signIn = (accessToken: string) => {
try {
getStorage().setItem(ACCESS_TOKEN, accessToken);
const me: Me = decodeMeJWT(accessToken);
this.setState({ context: { ...this.state.context, me } });
this.props.enqueueSnackbar(`Logged in as ${me.username}`, {
variant: 'success'
});
} catch (err) {
this.setState({
initialized: true,
context: { ...this.state.context, me: undefined }
});
throw new Error('Failed to parse JWT ' + err.message);
}
};
signOut = () => {
getStorage().removeItem(ACCESS_TOKEN);
this.setState({
context: {
...this.state.context,
me: undefined
}
});
this.props.enqueueSnackbar('You have signed out', { variant: 'success' });
history.push('/');
};
}
export default withFeatures(withSnackbar(AuthenticationWrapper));

View File

@@ -1,47 +0,0 @@
import * as React from 'react';
import {
Redirect,
Route,
RouteProps,
RouteComponentProps
} from 'react-router-dom';
import {
withAuthenticationContext,
AuthenticationContextProps
} from './AuthenticationContext';
import * as Authentication from './Authentication';
import { WithFeaturesProps, withFeatures } from '../features/FeaturesContext';
interface UnauthenticatedRouteProps
extends RouteProps,
AuthenticationContextProps,
WithFeaturesProps {
component:
| React.ComponentType<RouteComponentProps<any>>
| React.ComponentType<any>;
}
type RenderComponent = (props: RouteComponentProps<any>) => React.ReactNode;
class UnauthenticatedRoute extends Route<UnauthenticatedRouteProps> {
public render() {
const {
authenticationContext,
component: Component,
features,
...rest
} = this.props;
const renderComponent: RenderComponent = (props) => {
if (authenticationContext.me) {
return <Redirect to={Authentication.fetchLoginRedirect(features)} />;
}
if (Component) {
return <Component {...props} />;
}
};
return <Route {...rest} render={renderComponent} />;
}
}
export default withFeatures(withAuthenticationContext(UnauthenticatedRoute));

View File

@@ -1,6 +0,0 @@
export { default as AuthenticatedRoute } from './AuthenticatedRoute';
export { default as AuthenticationWrapper } from './AuthenticationWrapper';
export { default as UnauthenticatedRoute } from './UnauthenticatedRoute';
export * from './Authentication';
export * from './AuthenticationContext';

View File

@@ -1,59 +0,0 @@
import React, { FC } from 'react';
import { makeStyles } from '@material-ui/styles';
import { Paper, Typography, Box, CssBaseline } from '@material-ui/core';
import WarningIcon from '@material-ui/icons/Warning';
const styles = makeStyles({
siteErrorPage: {
display: 'flex',
height: '100vh',
justifyContent: 'center',
flexDirection: 'column'
},
siteErrorPagePanel: {
textAlign: 'center',
padding: '280px 0 40px 0',
backgroundImage: 'url("/app/icon.png")',
backgroundRepeat: 'no-repeat',
backgroundPosition: '50% 40px',
backgroundSize: '200px auto',
width: '100%'
}
});
interface ApplicationErrorProps {
error?: string;
}
const ApplicationError: FC<ApplicationErrorProps> = ({ error }) => {
const classes = styles();
return (
<div className={classes.siteErrorPage}>
<CssBaseline />
<Paper className={classes.siteErrorPagePanel} elevation={10}>
<Box
display="flex"
flexDirection="row"
justifyContent="center"
alignItems="center"
mb={2}
>
<WarningIcon fontSize="large" color="error" />
<Box ml={2}>
<Typography variant="h4">Application error</Typography>
</Box>
</Box>
<Typography variant="subtitle1" gutterBottom>
Failed to configure the application, please refresh to try again.
</Typography>
{error && (
<Typography variant="subtitle2" gutterBottom>
Error: {error}
</Typography>
)}
</Paper>
</div>
);
};
export default ApplicationError;

View File

@@ -0,0 +1,25 @@
import { Box } from '@mui/material';
import type { BoxProps } from '@mui/material';
import type { FC } from 'react';
const ButtonRow: FC<BoxProps> = ({ children, ...rest }) => (
<Box
sx={{
'& button, & a, & .MuiCard-root': {
mt: 2,
mx: 0.6,
'&:last-child': {
mr: 0
},
'&:first-of-type': {
ml: 0
}
}
}}
{...rest}
>
{children}
</Box>
);
export default ButtonRow;

View File

@@ -1,11 +0,0 @@
import { Button, styled } from '@material-ui/core';
const ErrorButton = styled(Button)(({ theme }) => ({
color: theme.palette.getContrastText(theme.palette.error.main),
backgroundColor: theme.palette.error.main,
'&:hover': {
backgroundColor: theme.palette.error.dark
}
}));
export default ErrorButton;

Some files were not shown because too many files have changed in this diff Show More