mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 16:29:51 +03:00
Merge pull request #2199 from MichaelDvP/dev
fixes and additions for #2188, #2198, 2192, #2192, #2132
This commit is contained in:
@@ -10,7 +10,8 @@ For more details go to [www.emsesp.org](https://www.emsesp.org/).
|
||||
|
||||
- include HA "unit_of_meas", "stat_cla" and "dev_cla" attributes for Number sensors [#2149](https://github.com/emsesp/EMS-ESP32/issues/2149)
|
||||
- Bosch CS6800i AW - Silent Mode + Electrical Power Reduction (HP) [#2147](https://github.com/emsesp/EMS-ESP32/issues/2147)
|
||||
- /api/system/showeralert and /api/system/showertimer [#2182](https://github.com/emsesp/EMS-ESP32/issues/2182)
|
||||
- `/api/system/showeralert` and `/api/system/showertimer` [#2182](https://github.com/emsesp/EMS-ESP32/issues/2182)
|
||||
- MX400 [#2198](https://github.com/emsesp/EMS-ESP32/issues/2198)
|
||||
|
||||
## Fixed
|
||||
|
||||
@@ -18,5 +19,9 @@ For more details go to [www.emsesp.org](https://www.emsesp.org/).
|
||||
- fix changing TZ in NTPsettings without clearing enable+server, added DST support [#2142](https://github.com/emsesp/EMS-ESP32/issues/2142)
|
||||
- Support MQTT Discovery (AD) with Domoticz [#2177](https://github.com/emsesp/EMS-ESP32/issues/2177)
|
||||
- wwExtra (dhw extra) changed from temperature reading to number
|
||||
- auxheaterstatus [#2192](https://github.com/emsesp/EMS-ESP32/issues/2192)
|
||||
- lastCode character check [#2189](https://github.com/emsesp/EMS-ESP32/issues/2189)
|
||||
- reading too many telegram parts
|
||||
- heatpump cost UOMs [#2188](https://github.com/emsesp/EMS-ESP32/issues/2188)
|
||||
|
||||
## Changed
|
||||
|
||||
@@ -24,10 +24,10 @@
|
||||
"@alova/adapter-xhr": "2.0.10",
|
||||
"@emotion/react": "^11.13.3",
|
||||
"@emotion/styled": "^11.13.0",
|
||||
"@mui/icons-material": "^6.1.6",
|
||||
"@mui/material": "^6.1.6",
|
||||
"@mui/icons-material": "^6.1.7",
|
||||
"@mui/material": "^6.1.7",
|
||||
"@table-library/react-table-library": "4.1.7",
|
||||
"alova": "3.2.2",
|
||||
"alova": "3.2.3",
|
||||
"async-validator": "^4.2.5",
|
||||
"jwt-decode": "^4.0.0",
|
||||
"mime-types": "^2.1.35",
|
||||
@@ -58,10 +58,10 @@
|
||||
"prettier": "^3.3.3",
|
||||
"rollup-plugin-visualizer": "^5.12.0",
|
||||
"terser": "^5.36.0",
|
||||
"typescript-eslint": "8.13.0",
|
||||
"vite": "^5.4.10",
|
||||
"typescript-eslint": "8.14.0",
|
||||
"vite": "^5.4.11",
|
||||
"vite-plugin-imagemin": "^0.6.1",
|
||||
"vite-tsconfig-paths": "^5.1.1"
|
||||
"vite-tsconfig-paths": "^5.1.2"
|
||||
},
|
||||
"packageManager": "yarn@4.5.1"
|
||||
}
|
||||
|
||||
@@ -181,7 +181,8 @@ export enum DeviceValueUOM {
|
||||
K,
|
||||
VOLTS,
|
||||
MBAR,
|
||||
LH
|
||||
LH,
|
||||
CTKWH
|
||||
}
|
||||
|
||||
export const DeviceValueUOM_s = [
|
||||
@@ -210,7 +211,8 @@ export const DeviceValueUOM_s = [
|
||||
'K',
|
||||
'V',
|
||||
'mbar',
|
||||
'l/h'
|
||||
'l/h',
|
||||
'ct/kWh'
|
||||
];
|
||||
|
||||
export enum AnalogType {
|
||||
|
||||
@@ -840,38 +840,38 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/core-downloads-tracker@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/core-downloads-tracker@npm:6.1.6"
|
||||
checksum: 10c0/538c561dc46e040ebc5ea884428dccc427fdddbd3747890d96ae52648eed5f7dec4dc8294927b58ff4b7481c0a813dcb16b9d7b9b08cc43871d2d55ebd1a8002
|
||||
"@mui/core-downloads-tracker@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/core-downloads-tracker@npm:6.1.7"
|
||||
checksum: 10c0/4568379b1df8a17ca2292b7caa729f42c3b4b359841c81981a7d25641380121f3a042e53094cabd16d5c838372edadb8c23c24d9bff0fcc794c615b62f0ceb3e
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/icons-material@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/icons-material@npm:6.1.6"
|
||||
"@mui/icons-material@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/icons-material@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
peerDependencies:
|
||||
"@mui/material": ^6.1.6
|
||||
"@mui/material": ^6.1.7
|
||||
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
peerDependenciesMeta:
|
||||
"@types/react":
|
||||
optional: true
|
||||
checksum: 10c0/a6eb10be3cc356fd404febf29a3b26fa63b6b09d3148736fb05279954905186e9804869ff18220840ae92dbdeddfd407c2d0c72b9e165e01fd6bbc620b6b39d7
|
||||
checksum: 10c0/89f6d69dce35aa0b2fd2586f0de3a01171ba85b6c2b848dd0d1cfca0840778eafc90465efeb822451f4066df9791099ff8a683df4cacea98bc3affbc9b80c891
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/material@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/material@npm:6.1.6"
|
||||
"@mui/material@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/material@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
"@mui/core-downloads-tracker": "npm:^6.1.6"
|
||||
"@mui/system": "npm:^6.1.6"
|
||||
"@mui/core-downloads-tracker": "npm:^6.1.7"
|
||||
"@mui/system": "npm:^6.1.7"
|
||||
"@mui/types": "npm:^7.2.19"
|
||||
"@mui/utils": "npm:^6.1.6"
|
||||
"@mui/utils": "npm:^6.1.7"
|
||||
"@popperjs/core": "npm:^2.11.8"
|
||||
"@types/react-transition-group": "npm:^4.4.11"
|
||||
clsx: "npm:^2.1.1"
|
||||
@@ -882,7 +882,7 @@ __metadata:
|
||||
peerDependencies:
|
||||
"@emotion/react": ^11.5.0
|
||||
"@emotion/styled": ^11.3.0
|
||||
"@mui/material-pigment-css": ^6.1.6
|
||||
"@mui/material-pigment-css": ^6.1.7
|
||||
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
@@ -895,16 +895,16 @@ __metadata:
|
||||
optional: true
|
||||
"@types/react":
|
||||
optional: true
|
||||
checksum: 10c0/b54c0b01f33f63a700ec7b13d615dd3a109497ee48a1af0f750f780112a7034fbecfcecf29ad67aa62ec12047d465fbcb243052d8680ce681240096fef1f8d63
|
||||
checksum: 10c0/2c049da6b8f4bc79a0777692138ff77a0cb64b96c384d7070097c006391798554923806fed1ef8c6db8730f11c058edfb94bd243d2abeff14e45fd51d1f29819
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/private-theming@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/private-theming@npm:6.1.6"
|
||||
"@mui/private-theming@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/private-theming@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
"@mui/utils": "npm:^6.1.6"
|
||||
"@mui/utils": "npm:^6.1.7"
|
||||
prop-types: "npm:^15.8.1"
|
||||
peerDependencies:
|
||||
"@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0
|
||||
@@ -912,13 +912,13 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
"@types/react":
|
||||
optional: true
|
||||
checksum: 10c0/d9138bd3ae8b318b0f14e3d9a9aa414f31698ce3934b94f0a1e78d9c2c37fd3d2b24a6bd45ded321ffc41658e70fc055226b9c1b9767695a93c927adf54302a0
|
||||
checksum: 10c0/2735c0e7155fd595c5f6fd87a20a74a222f1ef3120722d1964fa231c075b909b77612ac3e3a8bb5604a388205f4495690bc0602ceabe925294ed6a5fbe8144da
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/styled-engine@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/styled-engine@npm:6.1.6"
|
||||
"@mui/styled-engine@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/styled-engine@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
"@emotion/cache": "npm:^11.13.1"
|
||||
@@ -935,19 +935,19 @@ __metadata:
|
||||
optional: true
|
||||
"@emotion/styled":
|
||||
optional: true
|
||||
checksum: 10c0/2554248f83db98b404b299494c4f039fe5a1f1b9166fc95268958ea00aa3be04915ffbabe0ea418cb2d600e11b6d08f765ddd23240a63e6d06161d07eaac6aa8
|
||||
checksum: 10c0/0289121553ab95f6ddd1be0eeb27e975a01391266ff3076430ab67d925c231b586fc2899f8340648b4587c651bd3f7fd24094f43386f6de9052db92a98e13c15
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/system@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/system@npm:6.1.6"
|
||||
"@mui/system@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/system@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
"@mui/private-theming": "npm:^6.1.6"
|
||||
"@mui/styled-engine": "npm:^6.1.6"
|
||||
"@mui/private-theming": "npm:^6.1.7"
|
||||
"@mui/styled-engine": "npm:^6.1.7"
|
||||
"@mui/types": "npm:^7.2.19"
|
||||
"@mui/utils": "npm:^6.1.6"
|
||||
"@mui/utils": "npm:^6.1.7"
|
||||
clsx: "npm:^2.1.1"
|
||||
csstype: "npm:^3.1.3"
|
||||
prop-types: "npm:^15.8.1"
|
||||
@@ -963,7 +963,7 @@ __metadata:
|
||||
optional: true
|
||||
"@types/react":
|
||||
optional: true
|
||||
checksum: 10c0/125d38ad5b0d610cfedace8253e43b4be47b46ad2d96eeac019c6c37b4f09286512e2280924753f8bb0314c4d7cc5e8f03fc7f97cf9830c4f6d1869b721eb8c2
|
||||
checksum: 10c0/309db6f87bc7e489486f683961d032faad4804e7a3263f584b0a82e3286831a596f416be69066967a76253938e604cbb87bdfe4f9b8feed683b40ca7c4b8d8f2
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -979,9 +979,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@mui/utils@npm:^6.1.6":
|
||||
version: 6.1.6
|
||||
resolution: "@mui/utils@npm:6.1.6"
|
||||
"@mui/utils@npm:^6.1.7":
|
||||
version: 6.1.7
|
||||
resolution: "@mui/utils@npm:6.1.7"
|
||||
dependencies:
|
||||
"@babel/runtime": "npm:^7.26.0"
|
||||
"@mui/types": "npm:^7.2.19"
|
||||
@@ -995,7 +995,7 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
"@types/react":
|
||||
optional: true
|
||||
checksum: 10c0/8752b3ca3fa1cee7f1a8477b6babcd80fef01724f7d8106c8665a252ec960ca38ef5f4fe21cfb60ee11176a9a8034400420d5b0719953ecc2c4f25980682614c
|
||||
checksum: 10c0/8dc05bf8f48d6d6d24cb9950b705e8b48eedac8dba159514c5c61ec2da54c9de3f40ff33e8a662eb661af6fbbf9c80b83277eefba6e54a1b5fa26a377ec0d694
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1539,15 +1539,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/eslint-plugin@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:8.13.0"
|
||||
"@typescript-eslint/eslint-plugin@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/eslint-plugin@npm:8.14.0"
|
||||
dependencies:
|
||||
"@eslint-community/regexpp": "npm:^4.10.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.13.0"
|
||||
"@typescript-eslint/type-utils": "npm:8.13.0"
|
||||
"@typescript-eslint/utils": "npm:8.13.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.13.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.14.0"
|
||||
"@typescript-eslint/type-utils": "npm:8.14.0"
|
||||
"@typescript-eslint/utils": "npm:8.14.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.14.0"
|
||||
graphemer: "npm:^1.4.0"
|
||||
ignore: "npm:^5.3.1"
|
||||
natural-compare: "npm:^1.4.0"
|
||||
@@ -1558,66 +1558,66 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/ee96515e9def17b0d1b8d568d4afcd21c5a8a1bc01bf2f30c4d1f396b41a2f49de3508f79c6231a137ca06943dd6933ac00032652190ab99a4e935ffef44df0b
|
||||
checksum: 10c0/46c82eb45be82ffec0ab04728a5180691b1d17002c669864861a3044b6d2105a75ca23cc80d18721b40b5e7dff1eff4ed68a43d726e25d55f3e466a9fbeeb873
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/parser@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/parser@npm:8.13.0"
|
||||
"@typescript-eslint/parser@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/parser@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/scope-manager": "npm:8.13.0"
|
||||
"@typescript-eslint/types": "npm:8.13.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.13.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.13.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.14.0"
|
||||
"@typescript-eslint/types": "npm:8.14.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.14.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.14.0"
|
||||
debug: "npm:^4.3.4"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/fa04f6c417c0f72104e148f1d7ff53e04108d383550365a556fbfae5d2283484696235db522189e17bc49039946977078e324100cef991ca01f78704182624ad
|
||||
checksum: 10c0/522b7afd25cd302c0510cc71985ba55ff92ecc5dbe3fc74a76fefea0169252fdd4b8cad6291fef05f63dfc173951af450dca20859c7f23e387b2e7410e8b97b1
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/scope-manager@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:8.13.0"
|
||||
"@typescript-eslint/scope-manager@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/scope-manager@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.13.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.13.0"
|
||||
checksum: 10c0/1924b3e740e244d98f8a99740b4196d23ae3263303b387c66db94e140455a3132e603a130f3f70fc71e37f4bda5d0c0c67224ae3911908b097ef3f972c136be4
|
||||
"@typescript-eslint/types": "npm:8.14.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.14.0"
|
||||
checksum: 10c0/1e1295c6f9febadf63559aad328b23d960510ce6b4c9f74e10d881c3858fa7f1db767cd1af5272d2fe7c9c5c7daebee71854e6f841e413e5d70af282f6616e26
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/type-utils@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:8.13.0"
|
||||
"@typescript-eslint/type-utils@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/type-utils@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/typescript-estree": "npm:8.13.0"
|
||||
"@typescript-eslint/utils": "npm:8.13.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.14.0"
|
||||
"@typescript-eslint/utils": "npm:8.14.0"
|
||||
debug: "npm:^4.3.4"
|
||||
ts-api-utils: "npm:^1.3.0"
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/65319084616f3aea3d9f8dfab30c9b0a70de7314b445805016fdf0d0e39fe073eef2813c3e16c3e1c6a40462ba8eecfdbb12ab1e8570c3407a1cccdb69d4bc8b
|
||||
checksum: 10c0/42616a664b38ca418e13504247e5e1bad6ae85c045b48e5735ffab977d4bd58cc86fb9d2292bbb314fa408d78d4b0454c3a27dbf9f881f9921917a942825c806
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/types@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/types@npm:8.13.0"
|
||||
checksum: 10c0/bd3f88b738a92b2222f388bcf831357ef8940a763c2c2eb1947767e1051dd2f8bee387020e8cf4c2309e4142353961b659abc2885e30679109a0488b0bfefc23
|
||||
"@typescript-eslint/types@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/types@npm:8.14.0"
|
||||
checksum: 10c0/7707f900e24e60e6780c5705f69627b7c0ef912cb3b095dfc8f4a0c84e866c66b1c4c10278cf99724560dc66985ec640750c4192786a09b853f9bb4c3ca5a7ce
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/typescript-estree@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:8.13.0"
|
||||
"@typescript-eslint/typescript-estree@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/typescript-estree@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.13.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.13.0"
|
||||
"@typescript-eslint/types": "npm:8.14.0"
|
||||
"@typescript-eslint/visitor-keys": "npm:8.14.0"
|
||||
debug: "npm:^4.3.4"
|
||||
fast-glob: "npm:^3.3.2"
|
||||
is-glob: "npm:^4.0.3"
|
||||
@@ -1627,31 +1627,31 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/2d45bc5ed4ac352bea927167ac28ef23bd13b6ae352ff50e85cddfdc4b06518f1dd4ae5f2495e30d6f62d247987677a4e807065d55829ba28963908a821dc96d
|
||||
checksum: 10c0/5e890d22bd067095f871cf144907a8c302db5b5f014c58906ad58d7f23569951cba805042eac6844744e5abb0d3648c9cc221a91b0703da0a8d6345dc1f83e74
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/utils@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/utils@npm:8.13.0"
|
||||
"@typescript-eslint/utils@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/utils@npm:8.14.0"
|
||||
dependencies:
|
||||
"@eslint-community/eslint-utils": "npm:^4.4.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.13.0"
|
||||
"@typescript-eslint/types": "npm:8.13.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.13.0"
|
||||
"@typescript-eslint/scope-manager": "npm:8.14.0"
|
||||
"@typescript-eslint/types": "npm:8.14.0"
|
||||
"@typescript-eslint/typescript-estree": "npm:8.14.0"
|
||||
peerDependencies:
|
||||
eslint: ^8.57.0 || ^9.0.0
|
||||
checksum: 10c0/3fc5a7184a949df5f5b64f6af039a1d21ef7fe15f3d88a5d485ccbb535746d18514751143993a5aee287228151be3e326baf8f899a0a0a93368f6f20857ffa6d
|
||||
checksum: 10c0/1fcc2651d870832a799a5d1c85fc9421853508a006d6a6073c8316b012489dda77e123d13aea8f53eb9030a2da2c0eb273a6946a9941caa2519b99b33e89b720
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@typescript-eslint/visitor-keys@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:8.13.0"
|
||||
"@typescript-eslint/visitor-keys@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "@typescript-eslint/visitor-keys@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/types": "npm:8.13.0"
|
||||
"@typescript-eslint/types": "npm:8.14.0"
|
||||
eslint-visitor-keys: "npm:^3.4.3"
|
||||
checksum: 10c0/50b35f3cf673aaed940613f0007f7c4558a89ebef15c49824e65b6f084b700fbf01b01a4e701e24bbe651297a39678645e739acd255255f1603867a84bef0383
|
||||
checksum: 10c0/d0faf70ed9ecff5e36694bbb161a90bea6db59e0e79a7d4f264d67d565c12b13733d664b736b2730935f013c87ce3155cea954a533d28e99987681bc5f6259c3
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -1664,8 +1664,8 @@ __metadata:
|
||||
"@emotion/react": "npm:^11.13.3"
|
||||
"@emotion/styled": "npm:^11.13.0"
|
||||
"@eslint/js": "npm:^9.14.0"
|
||||
"@mui/icons-material": "npm:^6.1.6"
|
||||
"@mui/material": "npm:^6.1.6"
|
||||
"@mui/icons-material": "npm:^6.1.7"
|
||||
"@mui/material": "npm:^6.1.7"
|
||||
"@preact/compat": "npm:^18.3.1"
|
||||
"@preact/preset-vite": "npm:^2.9.1"
|
||||
"@table-library/react-table-library": "npm:4.1.7"
|
||||
@@ -1675,7 +1675,7 @@ __metadata:
|
||||
"@types/react": "npm:^18.3.12"
|
||||
"@types/react-dom": "npm:^18.3.1"
|
||||
"@types/react-router-dom": "npm:^5.3.3"
|
||||
alova: "npm:3.2.2"
|
||||
alova: "npm:3.2.3"
|
||||
async-validator: "npm:^4.2.5"
|
||||
concurrently: "npm:^9.1.0"
|
||||
eslint: "npm:^9.14.0"
|
||||
@@ -1694,10 +1694,10 @@ __metadata:
|
||||
terser: "npm:^5.36.0"
|
||||
typesafe-i18n: "npm:^5.26.2"
|
||||
typescript: "npm:^5.6.3"
|
||||
typescript-eslint: "npm:8.13.0"
|
||||
vite: "npm:^5.4.10"
|
||||
typescript-eslint: "npm:8.14.0"
|
||||
vite: "npm:^5.4.11"
|
||||
vite-plugin-imagemin: "npm:^0.6.1"
|
||||
vite-tsconfig-paths: "npm:^5.1.1"
|
||||
vite-tsconfig-paths: "npm:^5.1.2"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
@@ -1766,13 +1766,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"alova@npm:3.2.2":
|
||||
version: 3.2.2
|
||||
resolution: "alova@npm:3.2.2"
|
||||
"alova@npm:3.2.3":
|
||||
version: 3.2.3
|
||||
resolution: "alova@npm:3.2.3"
|
||||
dependencies:
|
||||
"@alova/shared": "npm:1.1.0"
|
||||
rate-limiter-flexible: "npm:^5.0.3"
|
||||
checksum: 10c0/e01f827fd07e4e532b6d82fcd9e2ce6fe2866704f5e895085c7de63b00a9caaa2cf1dbf8537292d840a5f1903974f2e7296c16b0beda0bd375d1bdd68c17297e
|
||||
checksum: 10c0/58027f57d5f32d472a5c35110105fdff1a6b772684794a8b00b73289ecde0fa1117160b7904f0a1f8ddc14068d9aecf66fcec76eb868ff20964d81a842a313ea
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -6771,17 +6771,17 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"typescript-eslint@npm:8.13.0":
|
||||
version: 8.13.0
|
||||
resolution: "typescript-eslint@npm:8.13.0"
|
||||
"typescript-eslint@npm:8.14.0":
|
||||
version: 8.14.0
|
||||
resolution: "typescript-eslint@npm:8.14.0"
|
||||
dependencies:
|
||||
"@typescript-eslint/eslint-plugin": "npm:8.13.0"
|
||||
"@typescript-eslint/parser": "npm:8.13.0"
|
||||
"@typescript-eslint/utils": "npm:8.13.0"
|
||||
"@typescript-eslint/eslint-plugin": "npm:8.14.0"
|
||||
"@typescript-eslint/parser": "npm:8.14.0"
|
||||
"@typescript-eslint/utils": "npm:8.14.0"
|
||||
peerDependenciesMeta:
|
||||
typescript:
|
||||
optional: true
|
||||
checksum: 10c0/a84958e7602360c4cb2e6227fd9aae19dd18cdf1a2cfd9ece2a81d54098f80454b5707e861e98547d0b2e5dae552b136aa6733b74f0dd743ca7bfe178083c441
|
||||
checksum: 10c0/b9c2f32139d3df52057bfb80d4663fd5e440ccd0da75d92fe91582fe5216213e7012ef691e7d91c75e402e373b9aded6b128b005aaeeae32d7b9d7b39732bcc7
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@@ -6954,9 +6954,9 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite-tsconfig-paths@npm:^5.1.1":
|
||||
version: 5.1.1
|
||||
resolution: "vite-tsconfig-paths@npm:5.1.1"
|
||||
"vite-tsconfig-paths@npm:^5.1.2":
|
||||
version: 5.1.2
|
||||
resolution: "vite-tsconfig-paths@npm:5.1.2"
|
||||
dependencies:
|
||||
debug: "npm:^4.1.1"
|
||||
globrex: "npm:^0.1.2"
|
||||
@@ -6966,13 +6966,13 @@ __metadata:
|
||||
peerDependenciesMeta:
|
||||
vite:
|
||||
optional: true
|
||||
checksum: 10c0/7d18e2f6daa057e21885bffd3dc751f2a8fe1f249a70e4ca35b944c505d1b59d6e7c3f2278afef5139aa4cabdcb307567d3d26f2009dcccff4281c485c89a231
|
||||
checksum: 10c0/7db445b6b1f48e7b89f39f5eb8cf4ea645994f581fcc7c9fac721e0c36f8203c0770007ec27825caa6e2566e3127b2b1bfe8be28ca05cd0e9fb67a2943dcdec5
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"vite@npm:^5.4.10":
|
||||
version: 5.4.10
|
||||
resolution: "vite@npm:5.4.10"
|
||||
"vite@npm:^5.4.11":
|
||||
version: 5.4.11
|
||||
resolution: "vite@npm:5.4.11"
|
||||
dependencies:
|
||||
esbuild: "npm:^0.21.3"
|
||||
fsevents: "npm:~2.3.3"
|
||||
@@ -7009,7 +7009,7 @@ __metadata:
|
||||
optional: true
|
||||
bin:
|
||||
vite: bin/vite.js
|
||||
checksum: 10c0/4ef4807d2fd166a920de244dbcec791ba8a903b017a7d8e9f9b4ac40d23f8152c1100610583d08f542b47ca617a0505cfc5f8407377d610599d58296996691ed
|
||||
checksum: 10c0/d536bb7af57dd0eca2a808f95f5ff1d7b7ffb8d86e17c6893087680a0448bd0d15e07475270c8a6de65cb5115592d037130a1dd979dc76bcef8c1dda202a1874
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
|
||||
@@ -180,6 +180,7 @@
|
||||
{ 74, DeviceType::ALERT, "EM10", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
// Gateways - 0x48
|
||||
{17, DeviceType::GATEWAY, "MX400", DeviceFlags::EMS_DEVICE_FLAG_NONE}, // 0x48 and 0x4B
|
||||
{189, DeviceType::GATEWAY, "KM200, MB LAN 2", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
{252, DeviceType::GATEWAY, "K30RF, MX300", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||
|
||||
|
||||
@@ -684,7 +684,8 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
||||
FL_(auxHeaterOff),
|
||||
DeviceValueUOM::NONE,
|
||||
MAKE_CF_CB(set_additionalHeater));
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &auxHeaterStatus_, DeviceValueType::UINT8, FL_(auxHeaterStatus), DeviceValueUOM::PERCENT);
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &auxHeaterStatus_, DeviceValueType::BOOL, FL_(auxHeaterStatus), DeviceValueUOM::NONE);
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &auxHeaterLevel_, DeviceValueType::UINT8, FL_(auxHeaterLevel), DeviceValueUOM::PERCENT);
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
&auxHeaterDelay_,
|
||||
DeviceValueType::UINT16,
|
||||
@@ -1434,7 +1435,7 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr<const Telegram> telegram
|
||||
|
||||
// at this point do a quick check to see if the hot water or heating is active
|
||||
uint8_t state = EMS_VALUE_UINT8_NOTSET;
|
||||
if (telegram->read_value(state, 11) && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||
if (telegram->read_value(state, 11) && model() != EMSdevice::EMS_DEVICE_FLAG_HIU && model() != EMSdevice::EMS_DEVICE_FLAG_HEATPUMP) {
|
||||
boilerState_ = state & 0x01 ? 0x08 : 0; // burnGas
|
||||
boilerState_ |= state & 0x02 ? 0x01 : 0; // heatingPump
|
||||
boilerState_ |= state & 0x04 ? 0x02 : 0; // 3-way-valve
|
||||
@@ -1473,7 +1474,7 @@ void Boiler::process_UBAMonitorSlow(std::shared_ptr<const Telegram> telegram) {
|
||||
*/
|
||||
void Boiler::process_UBAMonitorSlowPlus2(std::shared_ptr<const Telegram> telegram) {
|
||||
has_update(telegram, absBurnPow_, 13); // current burner absolute power (percent of rating plate power)
|
||||
if (model() == EMSdevice::EMS_DEVICE_FLAG_HIU) {
|
||||
if (model() == EMSdevice::EMS_DEVICE_FLAG_HIU || model() == EMSdevice::EMS_DEVICE_FLAG_HEATPUMP) {
|
||||
uint8_t state = EMS_VALUE_UINT8_NOTSET;
|
||||
boilerState_ = 0;
|
||||
if (telegram->read_value(state, 2)) {
|
||||
@@ -1661,7 +1662,7 @@ void Boiler::process_HpPower(std::shared_ptr<const Telegram> telegram) {
|
||||
has_bitupdate(telegram, hpEA0_, 3, 6);
|
||||
has_update(telegram, hpCircSpd_, 4);
|
||||
has_update(telegram, hpBrinePumpSpd_, 5);
|
||||
has_update(telegram, auxHeaterStatus_, 6);
|
||||
has_update(telegram, auxHeaterLevel_, 6);
|
||||
has_update(telegram, hpActivity_, 7);
|
||||
has_update(telegram, hpPower_, 11);
|
||||
has_update(telegram, hpCompSpd_, 17);
|
||||
@@ -1828,6 +1829,10 @@ void Boiler::process_UBAErrorMessage(std::shared_ptr<const Telegram> telegram) {
|
||||
uint8_t min = telegram->message_data[8];
|
||||
uint16_t duration = telegram->message_data[9] * 256 + telegram->message_data[10];
|
||||
uint32_t date = (year - 2000) * 535680UL + month * 44640UL + day * 1440UL + hour * 60 + min + duration;
|
||||
// check valid https://github.com/emsesp/EMS-ESP32/issues/2189
|
||||
if (day == 0 || day > 31 || month == 0 || month > 12 || !std::isprint(code[0]) || !std::isprint(code[1])) {
|
||||
return;
|
||||
}
|
||||
// store only the newest code from telegrams 10 and 11
|
||||
if (date > lastCodeDate_ && lastCodeDate_) {
|
||||
lastCodeDate_ = date;
|
||||
@@ -1855,6 +1860,9 @@ void Boiler::process_UBAErrorMessage2(std::shared_ptr<const Telegram> telegram)
|
||||
code[2] = telegram->message_data[7];
|
||||
code[3] = 0;
|
||||
telegram->read_value(codeNo, 8);
|
||||
if (!std::isprint(code[0]) || !std::isprint(code[1]) || !std::isprint(code[2])) {
|
||||
return;
|
||||
}
|
||||
|
||||
// check for valid date, https://github.com/emsesp/EMS-ESP32/issues/204
|
||||
if (telegram->message_data[10] & 0x80) {
|
||||
@@ -1955,7 +1963,7 @@ void Boiler::process_HpSilentMode(std::shared_ptr<const Telegram> telegram) {
|
||||
|
||||
// Boiler(0x08) -B-> All(0x00), ?(0x0488), data: 8E 00 00 00 00 00 01 03
|
||||
void Boiler::process_HpValve(std::shared_ptr<const Telegram> telegram) {
|
||||
// has_bitupdate(telegram, auxHeaterStatus_, 0, 2);
|
||||
has_bitupdate(telegram, auxHeaterStatus_, 0, 2);
|
||||
has_update(telegram, auxHeatMixValve_, 7);
|
||||
has_update(telegram, pc1Rate_, 13); // percent
|
||||
}
|
||||
@@ -2970,19 +2978,19 @@ bool Boiler::set_silentMode(const char * value, const int8_t id) {
|
||||
}
|
||||
|
||||
bool Boiler::set_silentFrom(const char * value, const int8_t id) {
|
||||
int v;
|
||||
if (!Helpers::value2number(value, v)) {
|
||||
if (value == nullptr || value[0] < '0' || value[0] > '9') {
|
||||
return false;
|
||||
}
|
||||
auto v = Helpers::string2minutes(value);
|
||||
write_command(0x484, 52, v / 15, 0x484);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Boiler::set_silentTo(const char * value, const int8_t id) {
|
||||
int v;
|
||||
if (!Helpers::value2number(value, v)) {
|
||||
if (value == nullptr || value[0] < '0' || value[0] > '9') {
|
||||
return false;
|
||||
}
|
||||
auto v = Helpers::string2minutes(value);
|
||||
write_command(0x484, 53, v / 15, 0x484);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -266,6 +266,7 @@ class Boiler : public EMSdevice {
|
||||
uint8_t auxHeaterOnly_;
|
||||
uint8_t auxHeaterOff_;
|
||||
uint8_t auxHeaterStatus_;
|
||||
uint8_t auxHeaterLevel_;
|
||||
uint16_t auxHeaterDelay_;
|
||||
uint8_t silentMode_;
|
||||
int8_t minTempSilent_;
|
||||
|
||||
@@ -82,10 +82,10 @@ Heatpump::Heatpump(uint8_t device_type, uint8_t device_id, uint8_t product_id, c
|
||||
DeviceValueUOM::NONE,
|
||||
MAKE_CF_CB(set_lowNoiseMode));
|
||||
register_device_value(
|
||||
DeviceValueTAG::TAG_DEVICE_DATA, &lowNoiseStart_, DeviceValueType::UINT8, FL_(lowNoiseStart), DeviceValueUOM::NONE, MAKE_CF_CB(set_lowNoiseStart), 0, 23);
|
||||
DeviceValueTAG::TAG_DEVICE_DATA, &lowNoiseStart_, DeviceValueType::UINT8, FL_(lowNoiseStart), DeviceValueUOM::HOURS, MAKE_CF_CB(set_lowNoiseStart), 0, 23);
|
||||
register_device_value(
|
||||
DeviceValueTAG::TAG_DEVICE_DATA, &lowNoiseStop_, DeviceValueType::UINT8, FL_(lowNoiseStop), DeviceValueUOM::NONE, MAKE_CF_CB(set_lowNoiseStop), 0, 23);
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
DeviceValueTAG::TAG_DEVICE_DATA, &lowNoiseStop_, DeviceValueType::UINT8, FL_(lowNoiseStop), DeviceValueUOM::HOURS, MAKE_CF_CB(set_lowNoiseStop), 0, 23);
|
||||
register_device_value(DeviceValueTAG::TAG_DHW1,
|
||||
&hybridDHW_,
|
||||
DeviceValueType::ENUM,
|
||||
FL_(enum_comfort2),
|
||||
@@ -96,25 +96,25 @@ Heatpump::Heatpump(uint8_t device_type, uint8_t device_id, uint8_t product_id, c
|
||||
&energyPriceGas_,
|
||||
DeviceValueType::UINT8,
|
||||
FL_(energyPriceGas),
|
||||
DeviceValueUOM::NONE,
|
||||
DeviceValueUOM::CTKWH,
|
||||
MAKE_CF_CB(set_energyPriceGas));
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
&energyPriceEl_,
|
||||
DeviceValueType::UINT8,
|
||||
FL_(energyPriceEl),
|
||||
DeviceValueUOM::NONE,
|
||||
DeviceValueUOM::CTKWH,
|
||||
MAKE_CF_CB(set_energyPriceEl));
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
&energyPricePV_,
|
||||
DeviceValueType::UINT8,
|
||||
FL_(energyPricePV),
|
||||
DeviceValueUOM::NONE,
|
||||
DeviceValueUOM::CTKWH,
|
||||
MAKE_CF_CB(set_energyPricePV));
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
&switchOverTemp_,
|
||||
DeviceValueType::INT8,
|
||||
FL_(switchOverTemp),
|
||||
DeviceValueUOM::NONE,
|
||||
DeviceValueUOM::DEGREES,
|
||||
MAKE_CF_CB(set_switchOverTemp));
|
||||
// Function test
|
||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||
|
||||
@@ -110,7 +110,7 @@ const char * DeviceValue::DeviceValueUOM_s[] = {
|
||||
F_(uom_blank), // 0
|
||||
F_(uom_degrees), F_(uom_degrees), F_(uom_percent), F_(uom_lmin), F_(uom_kwh), F_(uom_wh), FL_(hours)[0], FL_(minutes)[0], F_(uom_ua),
|
||||
F_(uom_bar), F_(uom_kw), F_(uom_w), F_(uom_kb), FL_(seconds)[0], F_(uom_dbm), F_(uom_fahrenheit), F_(uom_mv), F_(uom_sqm),
|
||||
F_(uom_m3), F_(uom_l), F_(uom_kmin), F_(uom_k), F_(uom_volts), F_(uom_mbar), F_(uom_lh), F_(uom_blank)
|
||||
F_(uom_m3), F_(uom_l), F_(uom_kmin), F_(uom_k), F_(uom_volts), F_(uom_mbar), F_(uom_lh), F_(uom_ctkwh), F_(uom_blank)
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -74,7 +74,8 @@ class DeviceValue {
|
||||
VOLTS, // 23 - V
|
||||
MBAR, // 24 - mbar
|
||||
LH, // 25 - l/h
|
||||
CONNECTIVITY // 26 - used in HA
|
||||
CTKWH, // 26 - ct/kWh
|
||||
CONNECTIVITY // 27 - used in HA
|
||||
};
|
||||
|
||||
// TAG mapping - maps to DeviceValueTAG_s in emsdevice.cpp
|
||||
|
||||
@@ -971,7 +971,12 @@ void EMSESP::process_deviceName(std::shared_ptr<const Telegram> telegram) {
|
||||
char name[16];
|
||||
uint8_t len = telegram->offset + telegram->message_length - 27;
|
||||
strlcpy(name, (const char *)&telegram->message_data[27 - telegram->offset], len < 16 ? len : 16);
|
||||
if (strlen(name)) {
|
||||
char * c = name;
|
||||
while (isprint(*c)) {
|
||||
c++;
|
||||
};
|
||||
*c = '\0';
|
||||
if (strlen(name) > 2) { // https://github.com/emsesp/EMS-ESP32/issues/2166#issuecomment-2454488657
|
||||
LOG_DEBUG("Model name received for device 0x%02X: %s", telegram->src, name);
|
||||
for (const auto & emsdevice : emsdevices) {
|
||||
if (emsdevice->is_device_id(telegram->src)) {
|
||||
@@ -1462,6 +1467,11 @@ void EMSESP::incoming_telegram(uint8_t * data, const uint8_t length) {
|
||||
} else if (first_value == TxService::TX_WRITE_FAIL) {
|
||||
LOG_ERROR("Last Tx write rejected by host");
|
||||
txservice_.send_poll(); // close the bus
|
||||
txservice_.reset_retry_count();
|
||||
tx_successful = true; // no retries
|
||||
} else {
|
||||
txservice_.send_poll(); // close the bus
|
||||
LOG_ERROR("Last Tx write host reply: 0x%02X", first_value);
|
||||
}
|
||||
} else if (tx_state == Telegram::Operation::TX_READ && length == 1) {
|
||||
EMSbus::tx_state(Telegram::Operation::TX_READ); // reset Tx wait state
|
||||
@@ -1478,7 +1488,7 @@ void EMSESP::incoming_telegram(uint8_t * data, const uint8_t length) {
|
||||
|
||||
// if telegram is longer read next part with offset +25 for ems+ or +27 for ems1.0
|
||||
// not for response to raw send commands without read_id set
|
||||
if ((response_id_ == 0 || read_id_ > 0) && (txservice_.read_next_tx(data[3], length) == read_id_)) {
|
||||
if ((response_id_ == 0 || read_id_ > 0) && (txservice_.read_next_tx(data[3], length) > 0)) {
|
||||
read_next_ = true;
|
||||
txservice_.send(); // read next part withing same poll or:
|
||||
// txservice_.send_poll(); // close the bus, next request in new poll
|
||||
@@ -1528,9 +1538,11 @@ void EMSESP::incoming_telegram(uint8_t * data, const uint8_t length) {
|
||||
// check for poll to us, if so send top message from Tx queue immediately and quit
|
||||
if (poll_id == txservice_.get_send_id()) {
|
||||
txservice_.send();
|
||||
} else {
|
||||
// send remote room temperature if active
|
||||
Roomctrl::send(poll_id);
|
||||
}
|
||||
// send remote room temperature if active
|
||||
Roomctrl::send(poll_id);
|
||||
|
||||
return;
|
||||
} else {
|
||||
#ifdef EMSESP_UART_DEBUG
|
||||
|
||||
@@ -262,6 +262,7 @@ MAKE_WORD_CUSTOM(uom_k, "K")
|
||||
MAKE_WORD_CUSTOM(uom_volts, "V")
|
||||
MAKE_WORD_CUSTOM(uom_mbar, "mbar")
|
||||
MAKE_WORD_CUSTOM(uom_lh, "l/h")
|
||||
MAKE_WORD_CUSTOM(uom_ctkwh, "ct/kWh")
|
||||
|
||||
// MQTT topics and prefixes
|
||||
MAKE_WORD_CUSTOM(heating_active, "heating_active")
|
||||
|
||||
@@ -445,6 +445,7 @@ MAKE_TRANSLATION(maxHeatDhw, "maxheat", "heat limit", "Heizstab Limit für WW",
|
||||
|
||||
MAKE_TRANSLATION(auxHeaterOff, "auxheateroff", "disable aux heater", "Zusatzheizer deaktivieren", "Bijverwarming uitsc", "Blockera eltillskott", "wyłącz dogrzewacz", "deaktiver tilleggsvarme", "Désactiver chauff. d'app", "ilave ısıtıcıyı kapat", "disattivare i riscaldatori addizionali", "vypnúť pomocný ohrievač", "zakázat pomocné topení")
|
||||
MAKE_TRANSLATION(auxHeaterStatus, "auxheaterstatus", "aux heater status", "Zusatzheizerstatus", "Bijverwarming", "Eltillskott Status", "status dogrzewacza", "status el. tillegsvarme", "Chauffage auxiliaire", "ilave ısıtıcı durumu", "stato riscaldatori addizionali", "stav pomocného ohrievača", "stav pomocného topení")
|
||||
MAKE_TRANSLATION(auxHeaterLevel, "auxheaterlevel", "aux heater level", "Zusatzheizer", "Bijverwarming", "Eltillskott", "dogrzewacza", "el. tillegsvarme", "Chauffage auxiliaire", "ilave ısıtıcı durumu", "riscaldatori addizionali", "pomocného ohrievača", "pomocného topení")
|
||||
MAKE_TRANSLATION(auxHeaterOnly, "auxheateronly", "aux heater only", "nur Zusatzheizer", "Alleen bijverwarming", "Eltillskott Enbart", "tylko dogrzewacz", "kun el tilleggsvarme", "Que chauffage auxiliaire", "sadece ilave ısıtıvcı", "solo riscaldatori addizionali", "iba pomocný ohrievač", "pouze pomocné topení")
|
||||
MAKE_TRANSLATION(auxHeaterDelay, "auxheaterdelay", "aux heater on delay", "Zusatzheizer verzögert ein", "Bijverw. vertraagd aan", "Eltillskottfördröjning på", "opóźnienie włączenia dogrzewacza", "Tilleggsvarmer forsinket på", "Chauff app tempo marche", "ilave ısıtıcı beklemede", "ritardo riscaldatori addizionali", "oneskorenie prídavného ohrievača", "zpoždění zapnutí pomocného topení")
|
||||
MAKE_TRANSLATION(silentMode, "silentmode", "silent mode", "Silentmodus", "Stiller gebruik", "Tyst läge", "tryb cichy", "stille modus", "Fct silencieux", "sessiz mod", "modalità silenziosa", "tichý režim", "tichý režim")
|
||||
|
||||
@@ -1 +1 @@
|
||||
#define EMSESP_APP_VERSION "3.7.1-dev.5"
|
||||
#define EMSESP_APP_VERSION "3.7.1-dev.6"
|
||||
Reference in New Issue
Block a user