Merge branch 'dev2' of https://github.com/emsesp/EMS-ESP32 into dev2

This commit is contained in:
MichaelDvP
2023-11-01 17:24:18 +01:00
8 changed files with 169 additions and 155 deletions

View File

@@ -23,12 +23,12 @@
"@babel/core": "^7.23.2",
"@emotion/react": "^11.11.1",
"@emotion/styled": "^11.11.0",
"@mui/icons-material": "^5.14.15",
"@mui/material": "^5.14.15",
"@mui/icons-material": "^5.14.16",
"@mui/material": "^5.14.16",
"@table-library/react-table-library": "4.1.7",
"@types/imagemin": "^8.0.3",
"@types/lodash-es": "^4.17.10",
"@types/node": "^20.8.9",
"@types/node": "^20.8.10",
"@types/react": "^18.2.33",
"@types/react-dom": "^18.2.14",
"@types/react-router-dom": "^5.3.3",
@@ -42,7 +42,7 @@
"react-dom": "latest",
"react-dropzone": "^14.2.3",
"react-icons": "^4.11.0",
"react-router-dom": "^6.17.0",
"react-router-dom": "^6.18.0",
"react-toastify": "^9.1.3",
"sockette": "^2.0.6",
"typesafe-i18n": "^5.26.2",
@@ -51,8 +51,8 @@
"devDependencies": {
"@preact/compat": "^17.1.2",
"@preact/preset-vite": "^2.6.0",
"@typescript-eslint/eslint-plugin": "^6.9.0",
"@typescript-eslint/parser": "^6.9.0",
"@typescript-eslint/eslint-plugin": "^6.9.1",
"@typescript-eslint/parser": "^6.9.1",
"concurrently": "^8.2.2",
"eslint": "^8.52.0",
"eslint-config-airbnb": "^19.0.4",
@@ -68,7 +68,7 @@
"preact": "^10.18.1",
"prettier": "^3.0.3",
"rollup-plugin-visualizer": "^5.9.2",
"terser": "^5.22.0",
"terser": "^5.24.0",
"vite": "^4.5.0",
"vite-plugin-imagemin": "^0.6.1",
"vite-tsconfig-paths": "^4.2.1"

View File

@@ -114,7 +114,7 @@ const DashboardDevicesDialog = ({
{editItem.l ? (
<TextField
name="v"
label={LL.VALUE(0)}
label={LL.VALUE(1)}
value={editItem.v}
disabled={!writeable}
autoFocus
@@ -132,7 +132,7 @@ const DashboardDevicesDialog = ({
<ValidatedTextField
fieldErrors={fieldErrors}
name="v"
label={LL.VALUE(0)}
label={LL.VALUE(1)}
value={Math.round(editItem.v * 10) / 10}
autoFocus
disabled={!writeable}
@@ -148,7 +148,7 @@ const DashboardDevicesDialog = ({
<ValidatedTextField
fieldErrors={fieldErrors}
name="v"
label={LL.VALUE(0)}
label={LL.VALUE(1)}
value={editItem.v}
disabled={!writeable}
autoFocus

View File

@@ -183,7 +183,7 @@ const DashboardSensorsAnalogDialog = ({
<Grid item xs={4}>
<TextField
name="o"
label={LL.VALUE(0)}
label={LL.VALUE(1)}
value={numberValue(editItem.o)}
fullWidth
type="number"
@@ -197,7 +197,7 @@ const DashboardSensorsAnalogDialog = ({
<Grid item xs={4}>
<TextField
name="o"
label={LL.VALUE(0)}
label={LL.VALUE(1)}
value={numberValue(editItem.o)}
fullWidth
type="number"

View File

@@ -239,6 +239,7 @@ type BoardProfiles = {
export const BOARD_PROFILES: BoardProfiles = {
S32: 'BBQKees Gateway S32',
S32S3: 'BBQKees Gateway S3',
E32: 'BBQKees Gateway E32',
E32V2: 'BBQKees Gateway E32 V2',
NODEMCU: 'NodeMCU 32S',
@@ -248,8 +249,7 @@ export const BOARD_PROFILES: BoardProfiles = {
OLIMEXPOE: 'Olimex ESP32-POE',
C3MINI: 'Wemos C3 Mini',
S2MINI: 'Wemos S2 Mini',
S3MINI: 'Liligo S3',
S32S3: 'BBQKees Gateway S3'
S3MINI: 'Liligo S3'
};
export interface BoardProfile {

View File

@@ -794,14 +794,14 @@ __metadata:
languageName: node
linkType: hard
"@mui/base@npm:5.0.0-beta.21":
version: 5.0.0-beta.21
resolution: "@mui/base@npm:5.0.0-beta.21"
"@mui/base@npm:5.0.0-beta.22":
version: 5.0.0-beta.22
resolution: "@mui/base@npm:5.0.0-beta.22"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@floating-ui/react-dom": "npm:^2.0.2"
"@mui/types": "npm:^7.2.7"
"@mui/utils": "npm:^5.14.15"
"@mui/types": "npm:^7.2.8"
"@mui/utils": "npm:^5.14.16"
"@popperjs/core": "npm:^2.11.8"
clsx: "npm:^2.0.0"
prop-types: "npm:^15.8.1"
@@ -812,20 +812,20 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 083b4399481f3d00bdfa849436e7eb7e7d3b70e0f91069d138b55f607ba6f9cd5706b400cda992e1ce415cfec8fa2f578af517a4f4c2af2feb04bedc3280cd7c
checksum: e93199464a7934637b84f3c6cd96898587ab4d3fba8843ee99ea88c656a0cef6c778e3d0eb6d82a6f120f501371007baa72648743e2ebd37bffa9d162dd0f8a7
languageName: node
linkType: hard
"@mui/core-downloads-tracker@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/core-downloads-tracker@npm:5.14.15"
checksum: 2538bb7a62ca4eddfa2e5a1bdc589a665682092408e269019cfaedb2591aa76c4bdc8a90d0775c1614616c68546371a9723967c396af8a8b7a67c532fcfd1bc1
"@mui/core-downloads-tracker@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/core-downloads-tracker@npm:5.14.16"
checksum: 26d691d20eabc7f0f23d4fc4bc21f247dde43ab86c5f3e57201ed63afbb67dba94e0b0e80cb8f2f0e6f6e1ba94e46853f0ca6ab593d558a749bde843ec1d4aa6
languageName: node
linkType: hard
"@mui/icons-material@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/icons-material@npm:5.14.15"
"@mui/icons-material@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/icons-material@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
peerDependencies:
@@ -835,21 +835,21 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: cc2a3ec7b82eb89226b6d20af92dfc8d9542b8c688eaf4d9de00543defa42e0377953c837b6be6a246f273c2d43e6582227d8eef805ac1e6d9ed352efc7d5a28
checksum: e4dc4071eb68b06c54f25733cd00c749a18c69c16186defc467db5599ea46c32bfb8cc64e40b208e4b85f9186ab8b2e76f0553eac98727e8446c81461d665f58
languageName: node
linkType: hard
"@mui/material@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/material@npm:5.14.15"
"@mui/material@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/material@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@mui/base": "npm:5.0.0-beta.21"
"@mui/core-downloads-tracker": "npm:^5.14.15"
"@mui/system": "npm:^5.14.15"
"@mui/types": "npm:^7.2.7"
"@mui/utils": "npm:^5.14.15"
"@types/react-transition-group": "npm:^4.4.7"
"@mui/base": "npm:5.0.0-beta.22"
"@mui/core-downloads-tracker": "npm:^5.14.16"
"@mui/system": "npm:^5.14.16"
"@mui/types": "npm:^7.2.8"
"@mui/utils": "npm:^5.14.16"
"@types/react-transition-group": "npm:^4.4.8"
clsx: "npm:^2.0.0"
csstype: "npm:^3.1.2"
prop-types: "npm:^15.8.1"
@@ -868,16 +868,16 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 5962b501498c37903b712104dbb9a5507f5cf5996233a4ce543a36e0c4c492ab3f0aff5ae638b83e9931af7f612b2920dde51cd7e09ca73128875b1231d51448
checksum: ce5b4c682cb3674513627b1555957a694f0586fc5bb7fcb1ad1de29472c7f2a743c6659f4b8394c3db2d9a42802e2dbc12b160fef76dabc9765b73d7d03152f9
languageName: node
linkType: hard
"@mui/private-theming@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/private-theming@npm:5.14.15"
"@mui/private-theming@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/private-theming@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@mui/utils": "npm:^5.14.15"
"@mui/utils": "npm:^5.14.16"
prop-types: "npm:^15.8.1"
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0
@@ -885,13 +885,13 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: e7b7f19fe475fc56196a680eb959e3ca7e34fd30bd1f643b3f7943bd66fed471ed6f2ce51686afbd8caa30b1d281f0a3c11103673c9160f44194734de0bd3023
checksum: 48cbc62d20caab7df48d97d3bff95f0b86679fcbe5494e5b36b34f5464787351e9beeb1f674a240e3f1586c61a23e3e710210a3a47d2ca4e208f7c14a49f2678
languageName: node
linkType: hard
"@mui/styled-engine@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/styled-engine@npm:5.14.15"
"@mui/styled-engine@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/styled-engine@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@emotion/cache": "npm:^11.11.0"
@@ -906,19 +906,19 @@ __metadata:
optional: true
"@emotion/styled":
optional: true
checksum: 551388e12b3d4d0c5b29e76aed2eaae1c2efcb8aba6ab72f4e6061ac4612765c05d5fe144e184fb98bfa317971364b63ed0957fed95b15ad095cea2a3c4a7ef6
checksum: 4fed894a3a795e84dec63d0962a64c371ff9bdf27f022a3e502c9edbcfae790f3fd271d833b65ed5f45b736b47eac900e5edba1b72e063ae103beb85c9c7f8e9
languageName: node
linkType: hard
"@mui/system@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/system@npm:5.14.15"
"@mui/system@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/system@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@mui/private-theming": "npm:^5.14.15"
"@mui/styled-engine": "npm:^5.14.15"
"@mui/types": "npm:^7.2.7"
"@mui/utils": "npm:^5.14.15"
"@mui/private-theming": "npm:^5.14.16"
"@mui/styled-engine": "npm:^5.14.16"
"@mui/types": "npm:^7.2.8"
"@mui/utils": "npm:^5.14.16"
clsx: "npm:^2.0.0"
csstype: "npm:^3.1.2"
prop-types: "npm:^15.8.1"
@@ -934,28 +934,28 @@ __metadata:
optional: true
"@types/react":
optional: true
checksum: 8e58db57a94fca01c70f7b944bb3d904fa0c4e60558f2fd7acf54f34e8c781c3ef7147a7bd364c77f98170d26f0b1cccdf64b5060281b3ae3d67ff845c5e7e61
checksum: 6480e4bf2834a8234054106abce9f8369e562acd4a7974649528b221b844d5eb18c9137971a14bd36cf8af94d12010dac2af16c4df8f0448ae0443d540706958
languageName: node
linkType: hard
"@mui/types@npm:^7.2.7":
version: 7.2.7
resolution: "@mui/types@npm:7.2.7"
"@mui/types@npm:^7.2.8":
version: 7.2.8
resolution: "@mui/types@npm:7.2.8"
peerDependencies:
"@types/react": ^17.0.0 || ^18.0.0
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 1aa564afe0e3afa6c95f432ef36ee89ce291fe39aa2a0c7091ce8b8a9dbfe15af4c6291b56f9863a9825089a6fd534edb50c5232270d5b075b0e1e00a445ad5a
checksum: 47be368669d5bb5e43458d93d20c7e9f4f6ca2fec2bc7b541dcc7b59a0168ac6bfa6b88f51f5ad1d044c07a1fb247b803683bcaf969052aab559f25f11727ba5
languageName: node
linkType: hard
"@mui/utils@npm:^5.14.15":
version: 5.14.15
resolution: "@mui/utils@npm:5.14.15"
"@mui/utils@npm:^5.14.16":
version: 5.14.16
resolution: "@mui/utils@npm:5.14.16"
dependencies:
"@babel/runtime": "npm:^7.23.2"
"@types/prop-types": "npm:^15.7.8"
"@types/prop-types": "npm:^15.7.9"
prop-types: "npm:^15.8.1"
react-is: "npm:^18.2.0"
peerDependencies:
@@ -964,7 +964,7 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
checksum: 1f3907809ee8b0703da0a20360f84a92064fd4d139054cba791f2ef099b9a51677352ee91213c0ac139a482f631e45ad4bd5e5531b3d5edd2938f6464ec399e0
checksum: 02eb4550ba2ab30f98934a108dec4cc97f040b1c1d9a44d6adf7162286169fd7bf224a85625ed0b3feec27fdf7033bd1d3bb2225a8dd93ffcbd160090d288ef5
languageName: node
linkType: hard
@@ -1099,10 +1099,10 @@ __metadata:
languageName: node
linkType: hard
"@remix-run/router@npm:1.10.0":
version: 1.10.0
resolution: "@remix-run/router@npm:1.10.0"
checksum: 61f5e6374f2d0edd177a61c8a44715290d9197a61362505fb0784f948a39e8353d9604ce3747151f837fc7b950e1fbd71bc797b161643325c545037ffbedd134
"@remix-run/router@npm:1.11.0":
version: 1.11.0
resolution: "@remix-run/router@npm:1.11.0"
checksum: 629ec578b9dfd3c5cb5de64a0798dd7846ec5ba0351aa66f42b1c65efb43da8f30366be59b825303648965b0df55b638c110949b24ef94fd62e98117fdfb0c0f
languageName: node
linkType: hard
@@ -1288,7 +1288,7 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:*, @types/node@npm:^20.8.9":
"@types/node@npm:*":
version: 20.8.9
resolution: "@types/node@npm:20.8.9"
dependencies:
@@ -1297,6 +1297,15 @@ __metadata:
languageName: node
linkType: hard
"@types/node@npm:^20.8.10":
version: 20.8.10
resolution: "@types/node@npm:20.8.10"
dependencies:
undici-types: "npm:~5.26.4"
checksum: 8930039077c8ad74de74c724909412bea8110c3f8892bcef8dda3e9629073bed65632ee755f94b252bcdae8ca71cf83e89a4a440a105e2b1b7c9797b43483049
languageName: node
linkType: hard
"@types/parse-json@npm:^4.0.0":
version: 4.0.1
resolution: "@types/parse-json@npm:4.0.1"
@@ -1304,7 +1313,7 @@ __metadata:
languageName: node
linkType: hard
"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.8":
"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.9":
version: 15.7.9
resolution: "@types/prop-types@npm:15.7.9"
checksum: c7591d3ff7593e243908a07e1d3e2bb6e8879008af5800d8378115a90d0fdf669a1cae72a6d7f69e59c4fa7bb4c8ed61f6ebc1c520fe110c6f2b03ac02414072
@@ -1341,7 +1350,7 @@ __metadata:
languageName: node
linkType: hard
"@types/react-transition-group@npm:^4.4.7":
"@types/react-transition-group@npm:^4.4.8":
version: 4.4.8
resolution: "@types/react-transition-group@npm:4.4.8"
dependencies:
@@ -1393,15 +1402,15 @@ __metadata:
languageName: node
linkType: hard
"@typescript-eslint/eslint-plugin@npm:^6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/eslint-plugin@npm:6.9.0"
"@typescript-eslint/eslint-plugin@npm:^6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/eslint-plugin@npm:6.9.1"
dependencies:
"@eslint-community/regexpp": "npm:^4.5.1"
"@typescript-eslint/scope-manager": "npm:6.9.0"
"@typescript-eslint/type-utils": "npm:6.9.0"
"@typescript-eslint/utils": "npm:6.9.0"
"@typescript-eslint/visitor-keys": "npm:6.9.0"
"@typescript-eslint/scope-manager": "npm:6.9.1"
"@typescript-eslint/type-utils": "npm:6.9.1"
"@typescript-eslint/utils": "npm:6.9.1"
"@typescript-eslint/visitor-keys": "npm:6.9.1"
debug: "npm:^4.3.4"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.4"
@@ -1414,44 +1423,44 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: bcf4578ef5ec046149d3692a622d0ffff125df9d9436a1964ac560024b3ccf8e847e83d608c4b9f1b3bde7a48f4c42c34b1c8dfad99df076c41bfcef9d6704fe
checksum: 10a75e072be6645edd6fd74b200f3a3ee23e2ebb04a93d8e9be70f0a34dd94572146433a0a0f2732e9667ab8bdb2037d6d4261c10474fd94cfa9c56d02546215
languageName: node
linkType: hard
"@typescript-eslint/parser@npm:^6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/parser@npm:6.9.0"
"@typescript-eslint/parser@npm:^6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/parser@npm:6.9.1"
dependencies:
"@typescript-eslint/scope-manager": "npm:6.9.0"
"@typescript-eslint/types": "npm:6.9.0"
"@typescript-eslint/typescript-estree": "npm:6.9.0"
"@typescript-eslint/visitor-keys": "npm:6.9.0"
"@typescript-eslint/scope-manager": "npm:6.9.1"
"@typescript-eslint/types": "npm:6.9.1"
"@typescript-eslint/typescript-estree": "npm:6.9.1"
"@typescript-eslint/visitor-keys": "npm:6.9.1"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
checksum: 607813cc677095f77000a77eee58c5e2fd02d45c10e35e51830cb1284d1e3b9ff33c3b06124368e51d7ff312a88311026931026b3eb36f77436b88901ef3a8fd
checksum: 855a62180ad54f5a05ae4f15742e810b811aeceacd5be5a3498aeb11bd5c7877d25d4f7dc56d010a7b3ad2992e85f31d41340fb46a7fd68fc682ae65d82304d1
languageName: node
linkType: hard
"@typescript-eslint/scope-manager@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/scope-manager@npm:6.9.0"
"@typescript-eslint/scope-manager@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/scope-manager@npm:6.9.1"
dependencies:
"@typescript-eslint/types": "npm:6.9.0"
"@typescript-eslint/visitor-keys": "npm:6.9.0"
checksum: ee872441fb9224859b31270e1a7dec3a51078f0475926b8f6132502db68f080eccaa7191915e91c9f8aa53179000af2523af4707c81a8a5218db3815f1887aa6
"@typescript-eslint/types": "npm:6.9.1"
"@typescript-eslint/visitor-keys": "npm:6.9.1"
checksum: a9ca328e42fbadaeffaed807c141d71f01d471b1aeeb1abbb107a0fe630963a33aeb6e215cb26874a01bee9589e8d773ad7a7fea7b14b9710d30dd1e0d6f6820
languageName: node
linkType: hard
"@typescript-eslint/type-utils@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/type-utils@npm:6.9.0"
"@typescript-eslint/type-utils@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/type-utils@npm:6.9.1"
dependencies:
"@typescript-eslint/typescript-estree": "npm:6.9.0"
"@typescript-eslint/utils": "npm:6.9.0"
"@typescript-eslint/typescript-estree": "npm:6.9.1"
"@typescript-eslint/utils": "npm:6.9.1"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.0.1"
peerDependencies:
@@ -1459,23 +1468,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: b435914bfce1ef3335a511fe4bb22c178090175997e39569db174e39ffc2b02eb62112ddfe093ef70509e429219dd373a31dba4b5cb899de38583f7c80353201
checksum: cad9502565d9b0f203a4fa2a37f31cdde9734d050fa5324b7403d55d5125a891d0e8b6a8b2a1c0039b47b64f187219cc7fe37b905f48dee576b3b0e73f76a79c
languageName: node
linkType: hard
"@typescript-eslint/types@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/types@npm:6.9.0"
checksum: 39a9206062dc8efb9ec4378d7f03e7e59ce85d2171a4e0ed90653eb44ec92089a1d587371600dfa3a28521d818bbc79e8cce825787f7800f381ecee9b497cc40
"@typescript-eslint/types@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/types@npm:6.9.1"
checksum: 28bf79fc9e30cafa1d747f20f95b2ce949816312bb9e1f4b0a4add6537fcf70a2b64c0da17b03c4cf70bf415263077de6edbd49ad08e482e9270454f2c61e1a3
languageName: node
linkType: hard
"@typescript-eslint/typescript-estree@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/typescript-estree@npm:6.9.0"
"@typescript-eslint/typescript-estree@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/typescript-estree@npm:6.9.1"
dependencies:
"@typescript-eslint/types": "npm:6.9.0"
"@typescript-eslint/visitor-keys": "npm:6.9.0"
"@typescript-eslint/types": "npm:6.9.1"
"@typescript-eslint/visitor-keys": "npm:6.9.1"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -1484,34 +1493,34 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: f1ca4fd2cb586ff54e58f3f1967c0800ef9489829df9acb5ccea61e90395ec915ac1eeb8ba8c102d34ab161a9c3342c756ec7da983c2512c13104be3e1eb4f69
checksum: 40d1d654c3d7223c84e9340740bde95484ef246f5248cf9f6cd5ae308c79463b52c2b964f935ff68577fb0ea9d6862c9a8547e9430449e1f4eb3c53da2dbfc55
languageName: node
linkType: hard
"@typescript-eslint/utils@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/utils@npm:6.9.0"
"@typescript-eslint/utils@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/utils@npm:6.9.1"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
"@types/json-schema": "npm:^7.0.12"
"@types/semver": "npm:^7.5.0"
"@typescript-eslint/scope-manager": "npm:6.9.0"
"@typescript-eslint/types": "npm:6.9.0"
"@typescript-eslint/typescript-estree": "npm:6.9.0"
"@typescript-eslint/scope-manager": "npm:6.9.1"
"@typescript-eslint/types": "npm:6.9.1"
"@typescript-eslint/typescript-estree": "npm:6.9.1"
semver: "npm:^7.5.4"
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
checksum: 4937c9ad754681b4f0591eb5be3caa34b2df6c07845f16292120b03755453c4c19f1c34710f6f9eb138d509ec554575b899b44b33e263536d9d43f5b1fbe2208
checksum: 36432f0f170a81d5a6e6c8919b7d492e9be323310124e9a9d03aa64db7f32c381bc3e7f894cefc9c2b427b0a6df95613477c2a00808911a7b8e95a37fcce54a1
languageName: node
linkType: hard
"@typescript-eslint/visitor-keys@npm:6.9.0":
version: 6.9.0
resolution: "@typescript-eslint/visitor-keys@npm:6.9.0"
"@typescript-eslint/visitor-keys@npm:6.9.1":
version: 6.9.1
resolution: "@typescript-eslint/visitor-keys@npm:6.9.1"
dependencies:
"@typescript-eslint/types": "npm:6.9.0"
"@typescript-eslint/types": "npm:6.9.1"
eslint-visitor-keys: "npm:^3.4.1"
checksum: 562ce06df6d4e13257c396f5322b4839383bbd78d68411781ab0a9a336579b0b3480e3b4cb8e67b9e27ebc108560643e0be22712ba453db1cdd7a3424d8d86ac
checksum: 46d8a3335777798d43b9bf3393b96176881794184faf831670e4ee52493834cd6fbd3199ff387112ae795e344e3c92a8e78f79254d6c5bee012354859c8f333b
languageName: node
linkType: hard
@@ -1530,19 +1539,19 @@ __metadata:
"@babel/core": "npm:^7.23.2"
"@emotion/react": "npm:^11.11.1"
"@emotion/styled": "npm:^11.11.0"
"@mui/icons-material": "npm:^5.14.15"
"@mui/material": "npm:^5.14.15"
"@mui/icons-material": "npm:^5.14.16"
"@mui/material": "npm:^5.14.16"
"@preact/compat": "npm:^17.1.2"
"@preact/preset-vite": "npm:^2.6.0"
"@table-library/react-table-library": "npm:4.1.7"
"@types/imagemin": "npm:^8.0.3"
"@types/lodash-es": "npm:^4.17.10"
"@types/node": "npm:^20.8.9"
"@types/node": "npm:^20.8.10"
"@types/react": "npm:^18.2.33"
"@types/react-dom": "npm:^18.2.14"
"@types/react-router-dom": "npm:^5.3.3"
"@typescript-eslint/eslint-plugin": "npm:^6.9.0"
"@typescript-eslint/parser": "npm:^6.9.0"
"@typescript-eslint/eslint-plugin": "npm:^6.9.1"
"@typescript-eslint/parser": "npm:^6.9.1"
alova: "npm:^2.13.1"
async-validator: "npm:^4.2.5"
concurrently: "npm:^8.2.2"
@@ -1567,11 +1576,11 @@ __metadata:
react-dom: "npm:latest"
react-dropzone: "npm:^14.2.3"
react-icons: "npm:^4.11.0"
react-router-dom: "npm:^6.17.0"
react-router-dom: "npm:^6.18.0"
react-toastify: "npm:^9.1.3"
rollup-plugin-visualizer: "npm:^5.9.2"
sockette: "npm:^2.0.6"
terser: "npm:^5.22.0"
terser: "npm:^5.24.0"
typesafe-i18n: "npm:^5.26.2"
typescript: "npm:^5.2.2"
vite: "npm:^4.5.0"
@@ -6819,27 +6828,27 @@ __metadata:
languageName: node
linkType: hard
"react-router-dom@npm:^6.17.0":
version: 6.17.0
resolution: "react-router-dom@npm:6.17.0"
"react-router-dom@npm:^6.18.0":
version: 6.18.0
resolution: "react-router-dom@npm:6.18.0"
dependencies:
"@remix-run/router": "npm:1.10.0"
react-router: "npm:6.17.0"
"@remix-run/router": "npm:1.11.0"
react-router: "npm:6.18.0"
peerDependencies:
react: ">=16.8"
react-dom: ">=16.8"
checksum: fc881346af12cdfc4f709c6ca91090d5ed62362154a398a0e8c2b19daabee1fbc8a3ddd0ab727e743ea4268b87f3b2ebc3251c730e2c190ee3ab286059f523e5
checksum: b0e72603d73172b6c6662afe2faed326753d5bbd9905aa560e3dade7996fc13d19e34e3ed668d2849efd685e2db2f711129c84b1439870e92c9cc91ddc343cf5
languageName: node
linkType: hard
"react-router@npm:6.17.0":
version: 6.17.0
resolution: "react-router@npm:6.17.0"
"react-router@npm:6.18.0":
version: 6.18.0
resolution: "react-router@npm:6.18.0"
dependencies:
"@remix-run/router": "npm:1.10.0"
"@remix-run/router": "npm:1.11.0"
peerDependencies:
react: ">=16.8"
checksum: 5c589c67b53cc1a210bd08285392e951a2c3d51a2502806f68d9ce604307944239b0a3b766d8390b484d707ace3068af858e999a1c242662b917ddcd4ab3c453
checksum: a00c8f347b7ffee575f4a7731782e688e3fca458ca5bd970fb41cef66a6851853caa24464155ab438d5879f367b1223a539642a405a865913ffe7e63e53b1245
languageName: node
linkType: hard
@@ -7903,9 +7912,9 @@ __metadata:
languageName: node
linkType: hard
"terser@npm:^5.22.0":
version: 5.22.0
resolution: "terser@npm:5.22.0"
"terser@npm:^5.24.0":
version: 5.24.0
resolution: "terser@npm:5.24.0"
dependencies:
"@jridgewell/source-map": "npm:^0.3.3"
acorn: "npm:^8.8.2"
@@ -7913,7 +7922,7 @@ __metadata:
source-map-support: "npm:~0.5.20"
bin:
terser: bin/terser
checksum: e5407f9a143e7f9306f1b585b16dbb03df19b93318b55a26b542e12b74cc792dcf6961d9a2cab6778b20d7b591f498c200376d282a300cf9999ca40bccbc047c
checksum: bd7ba6bfef58f8c179592894923c8c933d980e17287d3f2a9927550be853d1601beebb724cf015929599b32945641c44f9c3db8dd242c7933af3830bcb853510
languageName: node
linkType: hard

View File

@@ -17,10 +17,10 @@ core_build_flags =
-D NDEBUG
-D ARDUINO_ARCH_ESP32=1
-D ESP32=1
-std=gnu++17
; -std=gnu++17
core_unbuild_flags = -std=gnu++11
; core_unbuild_flags =
; core_unbuild_flags = -std=gnu++11
core_unbuild_flags =
; my_build_flags is set in pio_local.ini
my_build_flags =

View File

@@ -848,10 +848,11 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
bool set_ha_classes = false; // set to true if we want to set the state class and device class
// create the topic, depending on the type and whether the device entity is writable (a command)
// create the topic
// depending on the type and whether the device entity is writable (a command)
// https://developers.home-assistant.io/docs/core/entity
char topic[MQTT_TOPIC_MAX_SIZE];
// if it's a command then we can use Number, Switch, Select. Otherwise stick to Sensor
// if it's a command then we can use Number, Switch, Select or Text. Otherwise stick to Sensor
if (has_cmd) {
switch (type) {
case DeviceValueType::INT:
@@ -878,6 +879,10 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
snprintf(topic, sizeof(topic), "sensor/%s", config_topic);
set_ha_classes = true;
break;
case DeviceValueType::STRING:
snprintf(topic, sizeof(topic), "text/%s", config_topic); // e.g. set_datetime, set_holiday, set_wwswitchtime
set_ha_classes = true;
break;
default:
// plain old sensor
snprintf(topic, sizeof(topic), "sensor/%s", config_topic);
@@ -911,12 +916,10 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
char sample_val[30] = "0"; // sample, correct(!) entity value, used only to prevent warning/error in HA if real value is not published yet
// handle commands, which are device entities that are writable
// we add the command topic parameter
// note: there is no way to handle strings in HA so datetimes (e.g. set_datetime, set_holiday, set_wwswitchtime etc) are excluded
// we add the command topic parameter for commands
if (has_cmd) {
// command topic back to EMS-ESP
char command_topic[MQTT_TOPIC_MAX_SIZE];
// add command topic
if (tag >= DeviceValueTAG::TAG_HC1) {
snprintf(command_topic, sizeof(command_topic), "%s/%s/%s/%s", mqtt_basename_.c_str(), device_name, EMSdevice::tag_to_mqtt(tag), entity);
} else {
@@ -924,7 +927,7 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
}
doc["cmd_t"] = command_topic;
// for enums, add options
// extend for enums, add options
if (type == DeviceValueType::ENUM) {
JsonArray option_list = doc.createNestedArray("ops"); // options
if (EMSESP::system_.enum_format() == ENUM_FORMAT_INDEX) {
@@ -942,7 +945,7 @@ bool Mqtt::publish_ha_sensor_config(uint8_t type, // EMSdev
}
} else if (type != DeviceValueType::STRING && type != DeviceValueType::BOOL) {
// Must be Numeric....
// For numeric's add the range
doc["mode"] = "box"; // auto, slider or box
if (num_op > 0) {
doc["step"] = 1.0 / num_op;

View File

@@ -111,9 +111,11 @@ void Shower::loop() {
char dt[25];
strftime(dt, sizeof(dt), "%FT%T%z", tm_);
doc["timestamp"] = dt;
LOG_INFO("shower finished (duration %s)", dt);
} else {
LOG_INFO("shower finished (duration %lu s)", duration_ / 1000UL);
}
Mqtt::queue_publish("shower_data", doc.as<JsonObject>());
LOG_INFO("finished with duration %lu seconds", duration_ / 1000UL);
}
}