diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index b87166827..29757df7e 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -10,9 +10,12 @@ - some more entities for dhw with SM100 module - thermostat boost mode and boost time +- heatpump energy meters ## Fixed +- exhaust temperature for some boilers + ## Changed - use flag for BC400 compatible thermostats, manage different mode settings diff --git a/interface/package.json b/interface/package.json index 6d63dd8a4..86137b132 100644 --- a/interface/package.json +++ b/interface/package.json @@ -21,16 +21,16 @@ }, "dependencies": { "@alova/adapter-xhr": "^1.0.1", - "@babel/core": "^7.23.3", + "@babel/core": "^7.23.5", "@emotion/react": "^11.11.1", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.14.18", - "@mui/material": "^5.14.18", + "@mui/icons-material": "^5.14.19", + "@mui/material": "^5.14.19", "@table-library/react-table-library": "4.1.7", "@types/imagemin": "^8.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.10.0", - "@types/react": "^18.2.39", + "@types/node": "^20.10.2", + "@types/react": "^18.2.41", "@types/react-dom": "^18.2.17", "@types/react-router-dom": "^5.3.3", "alova": "^2.15.0", @@ -43,7 +43,7 @@ "react-dom": "latest", "react-dropzone": "^14.2.3", "react-icons": "^4.12.0", - "react-router-dom": "^6.20.0", + "react-router-dom": "^6.20.1", "react-toastify": "^9.1.3", "sockette": "^2.0.6", "typesafe-i18n": "^5.26.2", @@ -55,10 +55,10 @@ "@typescript-eslint/eslint-plugin": "^6.13.1", "@typescript-eslint/parser": "^6.13.1", "concurrently": "^8.2.2", - "eslint": "^8.54.0", + "eslint": "^8.55.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^17.1.0", - "eslint-config-prettier": "^9.0.0", + "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-autofix": "^1.1.0", "eslint-plugin-import": "^2.29.0", @@ -70,7 +70,7 @@ "prettier": "^3.1.0", "rollup-plugin-visualizer": "^5.9.3", "terser": "^5.24.0", - "vite": "^5.0.3", + "vite": "^5.0.4", "vite-plugin-imagemin": "^0.6.1", "vite-tsconfig-paths": "^4.2.1" }, diff --git a/interface/src/components/routing/RouterTabs.tsx b/interface/src/components/routing/RouterTabs.tsx index 485a0d995..2167b099c 100644 --- a/interface/src/components/routing/RouterTabs.tsx +++ b/interface/src/components/routing/RouterTabs.tsx @@ -14,7 +14,7 @@ const RouterTabs: FC = ({ value, children }) => { const theme = useTheme(); const smallDown = useMediaQuery(theme.breakpoints.down('sm')); - const handleTabChange = (event: React.ChangeEvent, path: string) => { + const handleTabChange = (_event: any, path: string) => { navigate(path); }; diff --git a/interface/src/components/routing/useRouterTab.ts b/interface/src/components/routing/useRouterTab.ts index 52cfe55cb..4858f8ceb 100644 --- a/interface/src/components/routing/useRouterTab.ts +++ b/interface/src/components/routing/useRouterTab.ts @@ -1,8 +1,12 @@ -import { useLocation } from 'react-router-dom'; +import { useMatch, useResolvedPath } from 'react-router-dom'; export const useRouterTab = () => { - const loc = useLocation().pathname; - const routerTab = loc.substring(0, loc.lastIndexOf('/')) ? loc : false; + // const loc = useLocation().pathname; + // const routerTab = loc.substring(0, loc.lastIndexOf('/')) ? loc : false; + + const routerTabPath = useResolvedPath(':tab'); + const routerTabPathMatch = useMatch(routerTabPath.pathname); + const routerTab = routerTabPathMatch?.params?.tab || false; return { routerTab } as const; }; diff --git a/interface/src/framework/ap/AccessPoint.tsx b/interface/src/framework/ap/AccessPoint.tsx index 5d74cd7f6..87fecefb3 100644 --- a/interface/src/framework/ap/AccessPoint.tsx +++ b/interface/src/framework/ap/AccessPoint.tsx @@ -22,12 +22,8 @@ const AccessPoint: FC = () => { return ( <> - - + + } /> @@ -40,7 +36,7 @@ const AccessPoint: FC = () => { } /> - } /> + } /> ); diff --git a/interface/src/framework/mqtt/Mqtt.tsx b/interface/src/framework/mqtt/Mqtt.tsx index f65ea4181..7520b0eec 100644 --- a/interface/src/framework/mqtt/Mqtt.tsx +++ b/interface/src/framework/mqtt/Mqtt.tsx @@ -21,8 +21,8 @@ const Mqtt: FC = () => { return ( <> - - + + } /> @@ -34,7 +34,7 @@ const Mqtt: FC = () => { } /> - } /> + } /> ); diff --git a/interface/src/framework/mqtt/MqttSettingsForm.tsx b/interface/src/framework/mqtt/MqttSettingsForm.tsx index 969ec37a9..059a8c501 100644 --- a/interface/src/framework/mqtt/MqttSettingsForm.tsx +++ b/interface/src/framework/mqtt/MqttSettingsForm.tsx @@ -168,20 +168,24 @@ const MqttSettingsForm: FC = () => { 2 - {data.rootCA !== undefined && ( - - - - )} + {data.enableTLS !== undefined && ( + } + label={LL.ENABLE_TLS()} + /> + )} + {data.enableTLS === true && ( + + )} } diff --git a/interface/src/framework/network/NetworkConnection.tsx b/interface/src/framework/network/NetworkConnection.tsx index cd9113398..18d1842ef 100644 --- a/interface/src/framework/network/NetworkConnection.tsx +++ b/interface/src/framework/network/NetworkConnection.tsx @@ -44,13 +44,9 @@ const NetworkConnection: FC = () => { }} > - - - + + + } /> @@ -70,7 +66,7 @@ const NetworkConnection: FC = () => { } /> - } /> + } /> ); diff --git a/interface/src/framework/ntp/NetworkTime.tsx b/interface/src/framework/ntp/NetworkTime.tsx index 21a110001..d41d1fb8c 100644 --- a/interface/src/framework/ntp/NetworkTime.tsx +++ b/interface/src/framework/ntp/NetworkTime.tsx @@ -20,8 +20,8 @@ const NetworkTime: FC = () => { return ( <> - - + + } /> @@ -33,7 +33,7 @@ const NetworkTime: FC = () => { } /> - } /> + } /> ); diff --git a/interface/src/framework/security/Security.tsx b/interface/src/framework/security/Security.tsx index b6be5ddfd..d55a171e1 100644 --- a/interface/src/framework/security/Security.tsx +++ b/interface/src/framework/security/Security.tsx @@ -17,13 +17,13 @@ const Security: FC = () => { return ( <> - - + + } /> } /> - } /> + } /> ); diff --git a/interface/src/framework/system/System.tsx b/interface/src/framework/system/System.tsx index 8dc373cf2..2caf4b7c6 100644 --- a/interface/src/framework/system/System.tsx +++ b/interface/src/framework/system/System.tsx @@ -23,10 +23,10 @@ const System: FC = () => { return ( <> - - - - + + + + } /> @@ -47,7 +47,7 @@ const System: FC = () => { } /> - } /> + } /> ); diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index 042babce3..aa9a1ccc7 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -324,7 +324,8 @@ const de: Translation = { WRITEABLE: 'Schreibbar', SHOWING: 'Anzeigen von', SEARCH: 'Suche', - CERT: 'TLS Zertifikat (Freilassen um TLS zu deaktivieren)', + CERT: 'TLS Zertifikat (Freilassen für unsichere Verbindung)', + ENABLE_TLS: 'Aktiviere TLS', ON: 'An', OFF: 'Aus', POLARITY: 'Polarität', diff --git a/interface/src/i18n/en/index.ts b/interface/src/i18n/en/index.ts index 863e4d47e..9dc0558ab 100644 --- a/interface/src/i18n/en/index.ts +++ b/interface/src/i18n/en/index.ts @@ -324,7 +324,8 @@ const en: Translation = { WRITEABLE: 'Writeable', SHOWING: 'Showing', SEARCH: 'Search', - CERT: 'TLS root certificate (leave blank to disable TLS)', + CERT: 'TLS root certificate (leave blank for insecure)', + ENABLE_TLS: 'Enable TLS', ON: 'On', OFF: 'Off', POLARITY: 'Polarity', diff --git a/interface/src/i18n/fr/index.ts b/interface/src/i18n/fr/index.ts index 1698c40d7..d1b8c503f 100644 --- a/interface/src/i18n/fr/index.ts +++ b/interface/src/i18n/fr/index.ts @@ -324,7 +324,8 @@ const fr: Translation = { WRITEABLE: 'Writeable', // TODO translate SHOWING: 'Showing', // TODO translate SEARCH: 'Search', // TODO translate - CERT: 'TLS root certificate (leave blank to disable TLS)', // TODO translate + CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate + ENABLE_TLS: 'Activer TLS', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/i18n/it/index.ts b/interface/src/i18n/it/index.ts index 548c177ce..629d400fc 100644 --- a/interface/src/i18n/it/index.ts +++ b/interface/src/i18n/it/index.ts @@ -326,7 +326,8 @@ const it: Translation = { WRITEABLE: 'Scrivibile', SHOWING: 'Visualizza', SEARCH: 'Ricerca', - CERT: 'TLS root certificate (leave blank to disable TLS)', // TODO translate + CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate + ENABLE_TLS: 'Abilita TLS', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/i18n/nl/index.ts b/interface/src/i18n/nl/index.ts index fc977c315..44790ee12 100644 --- a/interface/src/i18n/nl/index.ts +++ b/interface/src/i18n/nl/index.ts @@ -324,7 +324,8 @@ const nl: Translation = { WRITEABLE: 'Beschrijfbare', SHOWING: 'Tonen', SEARCH: 'Zoek', - CERT: 'TLS rootcertificaat (laat leeg om TLS uit te schakelen)', + CERT: 'TLS rootcertificaat (laat leeg om TLS-insecure)', // TODO translate + ENABLE_TLS: 'Activeer TLS', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/i18n/no/index.ts b/interface/src/i18n/no/index.ts index 371162611..99b56f6d8 100644 --- a/interface/src/i18n/no/index.ts +++ b/interface/src/i18n/no/index.ts @@ -324,7 +324,8 @@ const no: Translation = { WRITEABLE: 'Writeable', // TODO translate SHOWING: 'Showing', // TODO translate SEARCH: 'Search', // TODO translate - CERT: 'TLS root certificate (leave blank to disable TLS)', // TODO translate + CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate + ENABLE_TLS: 'Aktiviser TLS', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/i18n/pl/index.ts b/interface/src/i18n/pl/index.ts index 8a50e7c76..6146b63a6 100644 --- a/interface/src/i18n/pl/index.ts +++ b/interface/src/i18n/pl/index.ts @@ -324,7 +324,8 @@ const pl: BaseTranslation = { WRITEABLE: 'zapisywalna', SHOWING: 'Wyświetlane', SEARCH: 'Szukaj', - CERT: 'Certyfikat główny TLS (pozostaw puste zby wyłączyć TLS)', + CERT: 'Certyfikat główny TLS (pozostaw puste zby wyłączyć TLS-insecure)', + ENABLE_TLS: 'Włącz wsparcie dla TLS', ON: 'włączony', OFF: 'wyłączony', POLARITY: 'Typ przekaźnika', diff --git a/interface/src/i18n/sv/index.ts b/interface/src/i18n/sv/index.ts index 6eec8f20f..7f1e782c2 100644 --- a/interface/src/i18n/sv/index.ts +++ b/interface/src/i18n/sv/index.ts @@ -324,7 +324,8 @@ const sv: Translation = { WRITEABLE: 'Writeable', // TODO translate SHOWING: 'Showing', // TODO translate SEARCH: 'Search', // TODO translate - CERT: 'TLS root certificate (leave blank to disable TLS)', // TODO translate + CERT: 'TLS root certificate (leave blank for insecure)', // TODO translate + ENABLE_TLS: 'Aktivera TLS', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/i18n/tr/index.ts b/interface/src/i18n/tr/index.ts index 03a7fa7b6..b15995b1e 100644 --- a/interface/src/i18n/tr/index.ts +++ b/interface/src/i18n/tr/index.ts @@ -324,7 +324,8 @@ const tr: Translation = { WRITEABLE: 'Writeable', // TODO translate SHOWING: 'Showing', // TODO translate SEARCH: 'Search', // TODO translate - CERT: 'TLS root certificate (leave blank to disable TLS)', // TODO translate + CERT: 'TLS root certificate (leave blank for insecure)', + ENABLE_TLS: 'TLS deveye al', ON: 'On', // TODO translate OFF: 'Off', // TODO translate POLARITY: 'Polarity', // TODO translate diff --git a/interface/src/project/Dashboard.tsx b/interface/src/project/Dashboard.tsx index ea1d441f8..bfbaa8923 100644 --- a/interface/src/project/Dashboard.tsx +++ b/interface/src/project/Dashboard.tsx @@ -20,15 +20,15 @@ const Dashboard: FC = () => { return ( <> - - - + + + } /> } /> } /> - } /> + } /> ); diff --git a/interface/src/project/Settings.tsx b/interface/src/project/Settings.tsx index 5a0de5b82..29edb1c13 100644 --- a/interface/src/project/Settings.tsx +++ b/interface/src/project/Settings.tsx @@ -18,17 +18,17 @@ const Settings: FC = () => { return ( <> - - - - + + + + } /> } /> } /> } /> - } /> + } /> ); diff --git a/interface/src/types/mqtt.ts b/interface/src/types/mqtt.ts index cf5b1ce48..9b3dd2fb5 100644 --- a/interface/src/types/mqtt.ts +++ b/interface/src/types/mqtt.ts @@ -25,6 +25,7 @@ export interface MqttSettings { port: number; base: string; rootCA?: string; + enableTLS?: boolean; username: string; password: string; client_id: string; diff --git a/interface/yarn.lock b/interface/yarn.lock index b49e9bd11..634743ad4 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -39,6 +39,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: 44e58529c9d93083288dc9e649c553c5ba997475a7b0758cc3ddc4d77b8a7d985dbe78cc39c9bbc61f26d50af6da1ddf0a3427eae8cc222a9370619b671ed8f5 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.9": version: 7.23.2 resolution: "@babel/compat-data@npm:7.23.2" @@ -69,26 +79,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/core@npm:7.23.3" +"@babel/core@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/core@npm:7.23.5" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.3" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.5" "@babel/helper-compilation-targets": "npm:^7.22.15" "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.2" - "@babel/parser": "npm:^7.23.3" + "@babel/helpers": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.5" "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.3" - "@babel/types": "npm:^7.23.3" + "@babel/traverse": "npm:^7.23.5" + "@babel/types": "npm:^7.23.5" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: f9e7016b62842d23f78c98dc31daa3bd9161c5770c1e9df0557f78186ed75fd2cfc8e7161975fe8c6ad147665b1881790139da91de34ec03cf8b9f6a256d86eb + checksum: f24265172610dbffe0e315b6a8e8f87cf87d2643c8915196adcddd81c66a8eaeb1b36fea851e2308961636a180089a5f10becaa340d5b707d5f64e2e5ffb2bc8 languageName: node linkType: hard @@ -104,15 +114,15 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/generator@npm:7.23.3" +"@babel/generator@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/generator@npm:7.23.5" dependencies: - "@babel/types": "npm:^7.23.3" + "@babel/types": "npm:^7.23.5" "@jridgewell/gen-mapping": "npm:^0.3.2" "@jridgewell/trace-mapping": "npm:^0.3.17" jsesc: "npm:^2.5.1" - checksum: 0f815d275cb3de97ec4724b959b3c7a67b1cde1861eda6612b50c6ba22565f12536d1f004dd48e7bad5e059751950265c6ff546ef48b7a719a11d7b512f1e29d + checksum: 094af79c2e8fdb0cfd06b42ff6a39a8a95639bc987cace44f52ed5c46127f5469eb20ab5f4c8991fc00fa9c1445a1977cde8e44289d6be29ddbb315fb0fc1b45 languageName: node linkType: hard @@ -235,6 +245,13 @@ __metadata: languageName: node linkType: hard +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: c352082474a2ee1d2b812bd116a56b2e8b38065df9678a32a535f151ec6f58e54633cc778778374f10544b930703cca6ddf998803888a636afa27e2658068a9c + languageName: node + linkType: hard + "@babel/helper-validator-identifier@npm:^7.22.20": version: 7.22.20 resolution: "@babel/helper-validator-identifier@npm:7.22.20" @@ -260,6 +277,17 @@ __metadata: languageName: node linkType: hard +"@babel/helpers@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/helpers@npm:7.23.5" + dependencies: + "@babel/template": "npm:^7.22.15" + "@babel/traverse": "npm:^7.23.5" + "@babel/types": "npm:^7.23.5" + checksum: 84a813db55e03b5f47cef1210eb22751dae5dc3605bf62ff9acd4c248d857f94cb43dc7299e0edcec9312b31088f0d77f881282df2957e65a322b5412801cc24 + languageName: node + linkType: hard + "@babel/highlight@npm:^7.22.13": version: 7.22.20 resolution: "@babel/highlight@npm:7.22.20" @@ -271,6 +299,17 @@ __metadata: languageName: node linkType: hard +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: 62fef9b5bcea7131df4626d009029b1ae85332042f4648a4ce6e740c3fd23112603c740c45575caec62f260c96b11054d3be5987f4981a5479793579c3aac71f + languageName: node + linkType: hard + "@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.0": version: 7.23.0 resolution: "@babel/parser@npm:7.23.0" @@ -280,12 +319,12 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/parser@npm:7.23.3" +"@babel/parser@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/parser@npm:7.23.5" bin: parser: ./bin/babel-parser.js - checksum: 284c22ec1d939df66fb94929959d2160c30df1ba5778f212668dfb2f4aa8ac176f628c6073a2c9ea7ab2a1701d2ebdafb0dfb173dc737db9dc6708d5d2f49e0a + checksum: 828c250ace0c58f9dc311fd13ad3da34e86ed27a5c6b4183ce9d85be250e78eeb71a13f6d51a368c46f8cbe51106c726bfbb158bf46a89db3a168a0002d3050a languageName: node linkType: hard @@ -335,6 +374,15 @@ __metadata: languageName: node linkType: hard +"@babel/runtime@npm:^7.23.4": + version: 7.23.5 + resolution: "@babel/runtime@npm:7.23.5" + dependencies: + regenerator-runtime: "npm:^0.14.0" + checksum: 0f1669f639af30a0a2948ffcefa2c61935f337b0777bd94f8d7bc66bba8e7d4499e725caeb0449540d9c6d67399b733c4e719babb43ce9a0f33095aa01b42b37 + languageName: node + linkType: hard + "@babel/template@npm:^7.22.15": version: 7.22.15 resolution: "@babel/template@npm:7.22.15" @@ -364,21 +412,21 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/traverse@npm:7.23.3" +"@babel/traverse@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/traverse@npm:7.23.5" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.3" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.5" "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-function-name": "npm:^7.23.0" "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.3" - "@babel/types": "npm:^7.23.3" + "@babel/parser": "npm:^7.23.5" + "@babel/types": "npm:^7.23.5" debug: "npm:^4.1.0" globals: "npm:^11.1.0" - checksum: 522ef8eefe1ed31cd392129efb2f8794ca25bd54b1ad7c3bfa7f46d20c47ef0e392d5c1654ddee3454eed5e546d04c9bfa38b04b82e47144aa545f87ba55572d + checksum: 281cae2765caad88c7af6214eab3647db0e9cadc7ffcd3fd924f09fbb9bd09d97d6fb210794b7545c317ce417a30016636530043a455ba6922349e39c1ba622a languageName: node linkType: hard @@ -393,14 +441,14 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/types@npm:7.23.3" +"@babel/types@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/types@npm:7.23.5" dependencies: - "@babel/helper-string-parser": "npm:^7.22.5" + "@babel/helper-string-parser": "npm:^7.23.4" "@babel/helper-validator-identifier": "npm:^7.22.20" to-fast-properties: "npm:^2.0.0" - checksum: 05ec1527d0468aa6f3e30fa821625322794055fb572c131aaa8befdf24d174407e2e5954c2b0a292a5456962e23383e36cf9d7cbb01318146d6140ce2128d000 + checksum: a623a4e7f396f1903659099da25bfa059694a49f42820f6b5288347f1646f0b37fb7cc550ba45644e9067149368ef34ccb1bd4a4251ec59b83b3f7765088f363 languageName: node linkType: hard @@ -729,9 +777,9 @@ __metadata: languageName: node linkType: hard -"@eslint/eslintrc@npm:^2.1.3": - version: 2.1.3 - resolution: "@eslint/eslintrc@npm:2.1.3" +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" dependencies: ajv: "npm:^6.12.4" debug: "npm:^4.3.2" @@ -742,14 +790,14 @@ __metadata: js-yaml: "npm:^4.1.0" minimatch: "npm:^3.1.2" strip-json-comments: "npm:^3.1.1" - checksum: 77b70a89232fe702c2f765b5b92970f5e4224b55363b923238b996c66fcd991504f40d3663c0543ae17d6c5049ab9b07ab90b65d7601e6f25e8bcd4caf69ac75 + checksum: 7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8 languageName: node linkType: hard -"@eslint/js@npm:8.54.0": - version: 8.54.0 - resolution: "@eslint/js@npm:8.54.0" - checksum: 4d491ff234cd94b54499428cb3435623270ff8cc59950e13e6e1ac2fa350ec60502dac7bfd4f486523fee65ad7a358034570fe776b81b14dbfe5525d1e26e1d8 +"@eslint/js@npm:8.55.0": + version: 8.55.0 + resolution: "@eslint/js@npm:8.55.0" + checksum: 34b001a95b16501fd64f525b1de3ab0e4c252e5820b74069004934cb13977fc04ba4522a3e8f8074bd6af49da10d3444cd49fa711819f425ad73d6bf46eea82d languageName: node linkType: hard @@ -882,14 +930,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.24": - version: 5.0.0-beta.24 - resolution: "@mui/base@npm:5.0.0-beta.24" +"@mui/base@npm:5.0.0-beta.25": + version: 5.0.0-beta.25 + resolution: "@mui/base@npm:5.0.0-beta.25" dependencies: - "@babel/runtime": "npm:^7.23.2" + "@babel/runtime": "npm:^7.23.4" "@floating-ui/react-dom": "npm:^2.0.4" - "@mui/types": "npm:^7.2.9" - "@mui/utils": "npm:^5.14.18" + "@mui/types": "npm:^7.2.10" + "@mui/utils": "npm:^5.14.19" "@popperjs/core": "npm:^2.11.8" clsx: "npm:^2.0.0" prop-types: "npm:^15.8.1" @@ -900,22 +948,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 65d8a428d7e863885d5d5d6513ffa64982ebd7bd3a809b3024f669b907796c94a5d19ebac42ef383277acaccf30af3158c91f65c69fb0e7b2ddab925fc3293dd + checksum: 93cecb438ec9d5bac2440a65c295fbd2cde6aa7f1264005b0c9ef76c1332b77111f7b688209364b97344642bee0e71f2bd3b3b14039921f68a8b7111d3a513e4 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/core-downloads-tracker@npm:5.14.18" - checksum: 3d367797282e4b93eacee997667d62bc4eeac979e9664724e9db8d632278d8629f2a141894cf53d706f1d2a9f19965bffe2858aa2bc9833722e674cd560b896e +"@mui/core-downloads-tracker@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/core-downloads-tracker@npm:5.14.19" + checksum: e71c886f12bbd83791638545017c0b8439c3c6b51125979fea105f938f2f5b109629d4deddd38448c05b8be10b3249334324f1505c1306c52a2b8d315a1005c3 languageName: node linkType: hard -"@mui/icons-material@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/icons-material@npm:5.14.18" +"@mui/icons-material@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/icons-material@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" + "@babel/runtime": "npm:^7.23.4" peerDependencies: "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 @@ -923,21 +971,21 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 20da1445f033edf017d7d447c74fb27e90d4a9f3a631f617252a4806b69364792e01aa7010939c90e37d8ce7adf4218ec27066bd8ec0db40295f64365fd18a5e + checksum: 648a44af9a18a39062126d80268d0d4816d408d253d46f097cf8ad525e37dad8301a7727942f4908a15c432de361dabe29de0595f3771cf8acf7da311374441e languageName: node linkType: hard -"@mui/material@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/material@npm:5.14.18" +"@mui/material@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/material@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" - "@mui/base": "npm:5.0.0-beta.24" - "@mui/core-downloads-tracker": "npm:^5.14.18" - "@mui/system": "npm:^5.14.18" - "@mui/types": "npm:^7.2.9" - "@mui/utils": "npm:^5.14.18" - "@types/react-transition-group": "npm:^4.4.8" + "@babel/runtime": "npm:^7.23.4" + "@mui/base": "npm:5.0.0-beta.25" + "@mui/core-downloads-tracker": "npm:^5.14.19" + "@mui/system": "npm:^5.14.19" + "@mui/types": "npm:^7.2.10" + "@mui/utils": "npm:^5.14.19" + "@types/react-transition-group": "npm:^4.4.9" clsx: "npm:^2.0.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -956,16 +1004,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: 50c5ddbd8e6e39aa4cf904ea7061a1c9d91d906baa7b7626f3db22338872972bac8d176002e613f79e9171969e898ca268c024a143bc120f05e750035b25a8cb + checksum: 9b89bf20e5086801d8737d906d4c84023e04883a67186c4f523748740a90bee495a8c93ba7bc1272fdc0f9ee9951e2ebff149ecd63697abfba06dbfe9787f5fa languageName: node linkType: hard -"@mui/private-theming@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/private-theming@npm:5.14.18" +"@mui/private-theming@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/private-theming@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" - "@mui/utils": "npm:^5.14.18" + "@babel/runtime": "npm:^7.23.4" + "@mui/utils": "npm:^5.14.19" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -973,15 +1021,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: cb2ae253c7aba571ae838b5c886f74cde0e4b3df49ed1d776ee355e87fc28efe6a23367d713ac6979378049aa67d3bffb65cba421818a11b65d4518742a8711b + checksum: 248687351477c7794a002dd0c4ae68216b5794591407e0b4751eede8fe35db94c163642365578938dc66fbeb7a6c771c811ab2f7fa4b2bc60f663dc826084ca0 languageName: node linkType: hard -"@mui/styled-engine@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/styled-engine@npm:5.14.18" +"@mui/styled-engine@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/styled-engine@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" + "@babel/runtime": "npm:^7.23.4" "@emotion/cache": "npm:^11.11.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -994,19 +1042,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 305128a623339cf0bb563cebb822363c19d9337221e7894c00130680e5b7a818c81a6df1d1f036a97641ce0f1bc336a0328ce3e2787d2dee1ff73bf0718aca63 + checksum: 210da24bcb47c8b911b0f4174ecd77ced2aa5eba442861b474fe575384d736edc9553b707be35a086ae514503c26dbfa5541a352db65fa7de970c6251365214b languageName: node linkType: hard -"@mui/system@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/system@npm:5.14.18" +"@mui/system@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/system@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" - "@mui/private-theming": "npm:^5.14.18" - "@mui/styled-engine": "npm:^5.14.18" - "@mui/types": "npm:^7.2.9" - "@mui/utils": "npm:^5.14.18" + "@babel/runtime": "npm:^7.23.4" + "@mui/private-theming": "npm:^5.14.19" + "@mui/styled-engine": "npm:^5.14.19" + "@mui/types": "npm:^7.2.10" + "@mui/utils": "npm:^5.14.19" clsx: "npm:^2.0.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -1022,28 +1070,28 @@ __metadata: optional: true "@types/react": optional: true - checksum: 4e9a47342fc928506272a2b68d9f2592bbbc5a9f88176ee03b6050066f18f7d2df11355796d7ee5ef556d12779fe9e4d20520d0a0f1e24e2696193e4c13ce580 + checksum: 68fddc614aae5dba86db134ae1b2ab7540d61e4008068ccd3c1cfa20d9f54508b9cf3ce68d2d1a4c7de237c9314206da291e987d323fa1425a12e5b36f2bc488 languageName: node linkType: hard -"@mui/types@npm:^7.2.9": - version: 7.2.9 - resolution: "@mui/types@npm:7.2.9" +"@mui/types@npm:^7.2.10": + version: 7.2.10 + resolution: "@mui/types@npm:7.2.10" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 peerDependenciesMeta: "@types/react": optional: true - checksum: f8a21c5a375373e03b9e7ef0c081fbcbfffb8e743955280d360ac37990448a587ac101b82e35539102ea46c994d23475c80be236b36deaabf38acc5e48c2bdef + checksum: 83067cd1da9c79f7ee82f171ba718435d8aa12c6e72c4d5d24bee9e310416ccb91cb86cb0502f463e683e9707d90befc5112509fe7af54cacd39f8556b150f9b languageName: node linkType: hard -"@mui/utils@npm:^5.14.18": - version: 5.14.18 - resolution: "@mui/utils@npm:5.14.18" +"@mui/utils@npm:^5.14.19": + version: 5.14.19 + resolution: "@mui/utils@npm:5.14.19" dependencies: - "@babel/runtime": "npm:^7.23.2" - "@types/prop-types": "npm:^15.7.10" + "@babel/runtime": "npm:^7.23.4" + "@types/prop-types": "npm:^15.7.11" prop-types: "npm:^15.8.1" react-is: "npm:^18.2.0" peerDependencies: @@ -1052,7 +1100,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: abc699aab138a5650f7ba5f4c87511802bc35b8307331a9024d2d1769520a63ccccf952097ab8943104d6304107836cba580a7acbcc0138c263f77f97b1b3dd0 + checksum: 1abbcfef21fc71805af1a4d653d9adeec252ebe4892715a0c6c49246c6cfa84f46c82e033679ab50eb2cf3ef391d9eb622c48aa78f152032aa99a996eac98806 languageName: node linkType: hard @@ -1187,10 +1235,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.13.0": - version: 1.13.0 - resolution: "@remix-run/router@npm:1.13.0" - checksum: bb173a012d2036c5ee69babfe30c73975b970c2e5a0edaba138c302ae80d255e238e462e77365ab4efe819b6397e1a7f3a416d6200d17f9655f0ca1c51c4f45e +"@remix-run/router@npm:1.13.1": + version: 1.13.1 + resolution: "@remix-run/router@npm:1.13.1" + checksum: bf1ff266744352e71fc414f983a9f7772c10ec55cf4b978d851026e6c12b39c0084f99e4e45de706b800a71889ef09f652b8e7c43e21800351cc14c5ada8c834 languageName: node linkType: hard @@ -1478,12 +1526,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.10.0": - version: 20.10.0 - resolution: "@types/node@npm:20.10.0" +"@types/node@npm:^20.10.2": + version: 20.10.2 + resolution: "@types/node@npm:20.10.2" dependencies: undici-types: "npm:~5.26.4" - checksum: c7d5ddbdbf3491e2363135c9611eb6bfae90eda2957279237fa232bcb29cd0df1cc3ee149d6de9915b754262a531ee2d57d33c9ecd58d763e8ad4856113822f3 + checksum: e88d0e92870ec4880642cc39250903a098443d791e864a08d08f4e7fdca0c4c9c0233a6fd98bec356f0ebabc6551152a4590d1c9c34b73a95c2b33935f59185f languageName: node linkType: hard @@ -1501,10 +1549,10 @@ __metadata: languageName: node linkType: hard -"@types/prop-types@npm:^15.7.10": - version: 15.7.10 - resolution: "@types/prop-types@npm:15.7.10" - checksum: 39ecc2d9e439ed16b32937a08d98b84ed4a70f53bcd52c8564c0cd7a36fe1004ca83a1fb94b13c1b7a5c048760f06445c3c6a91a6972c8eff652c0b50c9424b1 +"@types/prop-types@npm:^15.7.11": + version: 15.7.11 + resolution: "@types/prop-types@npm:15.7.11" + checksum: 7519ff11d06fbf6b275029fe03fff9ec377b4cb6e864cac34d87d7146c7f5a7560fd164bdc1d2dbe00b60c43713631251af1fd3d34d46c69cd354602bc0c7c54 languageName: node linkType: hard @@ -1538,12 +1586,12 @@ __metadata: languageName: node linkType: hard -"@types/react-transition-group@npm:^4.4.8": - version: 4.4.8 - resolution: "@types/react-transition-group@npm:4.4.8" +"@types/react-transition-group@npm:^4.4.9": + version: 4.4.9 + resolution: "@types/react-transition-group@npm:4.4.9" dependencies: "@types/react": "npm:*" - checksum: 9c756217329897bd1ea9072bc44e1aff27ee012fdc6a493edff0951a8b9e461a4415b91ee0c11ef64bd40fac9f91425e58e5222d95489319181f7e8646d50948 + checksum: 74ed0985380544bd1d63d8865a452a859ed7122b35dd2cf919fa7d1f31936345671995d36c89263456f27dbb5940eac8d4607be969e27187102eecff1cc64ba3 languageName: node linkType: hard @@ -1558,14 +1606,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.39": - version: 18.2.39 - resolution: "@types/react@npm:18.2.39" +"@types/react@npm:^18.2.41": + version: 18.2.41 + resolution: "@types/react@npm:18.2.41" dependencies: "@types/prop-types": "npm:*" "@types/scheduler": "npm:*" csstype: "npm:^3.0.2" - checksum: 870f7774c676ae0f3ab6339a62b3315f5a296e89412358b15a5249a61e781a8807a2253ef7ad2ec98e7a5bea1e8c3ddd95b02226d6b8ac4a085da59b4a496564 + checksum: 31a498a56ad3e825ae13799355fe49042c0cdbbe6f40003f39b6b9cf847ba1669393c22ba60e97b1072cf1c002b15432082cdd17e47c948430bdc1f0864829b9 languageName: node linkType: hard @@ -1735,18 +1783,18 @@ __metadata: resolution: "EMS-ESP@workspace:." dependencies: "@alova/adapter-xhr": "npm:^1.0.1" - "@babel/core": "npm:^7.23.3" + "@babel/core": "npm:^7.23.5" "@emotion/react": "npm:^11.11.1" "@emotion/styled": "npm:^11.11.0" - "@mui/icons-material": "npm:^5.14.18" - "@mui/material": "npm:^5.14.18" + "@mui/icons-material": "npm:^5.14.19" + "@mui/material": "npm:^5.14.19" "@preact/compat": "npm:^17.1.2" "@preact/preset-vite": "npm:^2.7.0" "@table-library/react-table-library": "npm:4.1.7" "@types/imagemin": "npm:^8.0.5" "@types/lodash-es": "npm:^4.17.12" - "@types/node": "npm:^20.10.0" - "@types/react": "npm:^18.2.39" + "@types/node": "npm:^20.10.2" + "@types/react": "npm:^18.2.41" "@types/react-dom": "npm:^18.2.17" "@types/react-router-dom": "npm:^5.3.3" "@typescript-eslint/eslint-plugin": "npm:^6.13.1" @@ -1754,10 +1802,10 @@ __metadata: alova: "npm:^2.15.0" async-validator: "npm:^4.2.5" concurrently: "npm:^8.2.2" - eslint: "npm:^8.54.0" + eslint: "npm:^8.55.0" eslint-config-airbnb: "npm:^19.0.4" eslint-config-airbnb-typescript: "npm:^17.1.0" - eslint-config-prettier: "npm:^9.0.0" + eslint-config-prettier: "npm:^9.1.0" eslint-import-resolver-typescript: "npm:^3.6.1" eslint-plugin-autofix: "npm:^1.1.0" eslint-plugin-import: "npm:^2.29.0" @@ -1775,14 +1823,14 @@ __metadata: react-dom: "npm:latest" react-dropzone: "npm:^14.2.3" react-icons: "npm:^4.12.0" - react-router-dom: "npm:^6.20.0" + react-router-dom: "npm:^6.20.1" react-toastify: "npm:^9.1.3" rollup-plugin-visualizer: "npm:^5.9.3" sockette: "npm:^2.0.6" terser: "npm:^5.24.0" typesafe-i18n: "npm:^5.26.2" typescript: "npm:^5.3.2" - vite: "npm:^5.0.3" + vite: "npm:^5.0.4" vite-plugin-imagemin: "npm:^0.6.1" vite-tsconfig-paths: "npm:^4.2.1" languageName: unknown @@ -3644,14 +3692,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:^9.0.0": - version: 9.0.0 - resolution: "eslint-config-prettier@npm:9.0.0" +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 276b0b5b5b19066962a9ff3a16a553bdad28e1c0a2ea33a1d75d65c0428bb7b37f6e85ac111ebefcc9bdefb544385856dbe6eaeda5279c639e5549c113d27dda + checksum: 411e3b3b1c7aa04e3e0f20d561271b3b909014956c4dba51c878bf1a23dbb8c800a3be235c46c4732c70827276e540b6eed4636d9b09b444fd0a8e07f0fcd830 languageName: node linkType: hard @@ -3842,14 +3890,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^8.54.0": - version: 8.54.0 - resolution: "eslint@npm:8.54.0" +"eslint@npm:^8.55.0": + version: 8.55.0 + resolution: "eslint@npm:8.55.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.3" - "@eslint/js": "npm:8.54.0" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.55.0" "@humanwhocodes/config-array": "npm:^0.11.13" "@humanwhocodes/module-importer": "npm:^1.0.1" "@nodelib/fs.walk": "npm:^1.2.8" @@ -3886,7 +3934,7 @@ __metadata: text-table: "npm:^0.2.0" bin: eslint: bin/eslint.js - checksum: 379827964fd7885a4d48611a5237cf5c534eff0ad3d0c1a1d6a14d52ac6758f4efdccd924c9bb3a9aa4dc80a3446d48dc49f61733cd5bd5f74419d0240970e7b + checksum: afd016cfbe9e9d667b3f98c14c681a7e518808f6c30856e56cbb02248900eac5bf6dc5e577a7eaec259539486db48ef7d16ef58fb14b1585ba7c84b35490c53c languageName: node linkType: hard @@ -7020,27 +7068,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.20.0": - version: 6.20.0 - resolution: "react-router-dom@npm:6.20.0" +"react-router-dom@npm:^6.20.1": + version: 6.20.1 + resolution: "react-router-dom@npm:6.20.1" dependencies: - "@remix-run/router": "npm:1.13.0" - react-router: "npm:6.20.0" + "@remix-run/router": "npm:1.13.1" + react-router: "npm:6.20.1" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 4b6741c545cedf5a5c4f996deb953679dcc985425e0664e27b97fdb9ab1387cbe1a6a12bfc7f7c38ec40b15759b4bf6396930ec26540a4a81ae16d154fd35049 + checksum: 27efb05af0025bdcd7ecc85d2df2f53ca90bbf4db1dd4319002714b5be4e23c9434f95932d79f14a42d7c347ca882e9a0bba74a4d6331de8f7fb527c21f3f069 languageName: node linkType: hard -"react-router@npm:6.20.0": - version: 6.20.0 - resolution: "react-router@npm:6.20.0" +"react-router@npm:6.20.1": + version: 6.20.1 + resolution: "react-router@npm:6.20.1" dependencies: - "@remix-run/router": "npm:1.13.0" + "@remix-run/router": "npm:1.13.1" peerDependencies: react: ">=16.8" - checksum: 2cdac5ad8b7a7bc230173b26768bcf3f6a9abc0a19983fa7b76b9ffdbeb44bfbd88fcc2033e9062defafef144db207859eb3162a9c9742d70cfce4e7166ff1e5 + checksum: 96c25c8ca782dfa5b501540b9a491d8dca67c829a90fda237238a22881c695226fd5bbe14fcb2793bd5877aec2514d932c3293bf1f2463606fb3f2326628d766 languageName: node linkType: hard @@ -8566,9 +8614,9 @@ __metadata: languageName: node linkType: hard -"vite@npm:^5.0.3": - version: 5.0.3 - resolution: "vite@npm:5.0.3" +"vite@npm:^5.0.4": + version: 5.0.4 + resolution: "vite@npm:5.0.4" dependencies: esbuild: "npm:^0.19.3" fsevents: "npm:~2.3.3" @@ -8602,7 +8650,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 3f2cc01eaa632df89c1486dccdbea7df1e7b1d7e4f9270b987502096ac97038b0c7d5989ea04e7d095e3eaa5669e78e700470690b0f12076e2a58b97cda24351 + checksum: 3d1726e5ee09c99ca8f57ebb34428ceb23e51705cd9e39ee97cb123870caaff1e65fbeaed00658f8112dd6ac658e90cd020bd33c090ecd190fb962e43cc8d64c languageName: node linkType: hard diff --git a/lib/framework/MqttSettingsService.cpp b/lib/framework/MqttSettingsService.cpp index 14c407bc2..8573d18ac 100644 --- a/lib/framework/MqttSettingsService.cpp +++ b/lib/framework/MqttSettingsService.cpp @@ -51,13 +51,13 @@ void MqttSettingsService::startClient() { static bool isSecure = false; if (_mqttClient != nullptr) { // do we need to change the client? - if ((isSecure && _state.rootCA.length() > 0) || (!isSecure && _state.rootCA.length() == 0)) { + if ((isSecure && _state.enableTLS) || (!isSecure && _state.enableTLS)) { return; } delete _mqttClient; } #if CONFIG_IDF_TARGET_ESP32S3 - if (_state.rootCA.length() > 0) { + if (_state.enableTLS) { isSecure = true; _mqttClient = static_cast(new espMqttClientSecure(espMqttClientTypes::UseInternalTask::NO)); if (_state.rootCA == "insecure") { @@ -100,7 +100,7 @@ const char * MqttSettingsService::getClientId() { void MqttSettingsService::setWill(const char * topic) { #if CONFIG_IDF_TARGET_ESP32S3 - if (_state.rootCA.length() > 0) { + if (_state.enableTLS) { static_cast(_mqttClient)->setWill(topic, 1, true, "offline"); return; } @@ -110,7 +110,7 @@ void MqttSettingsService::setWill(const char * topic) { void MqttSettingsService::onMessage(espMqttClientTypes::OnMessageCallback callback) { #if CONFIG_IDF_TARGET_ESP32S3 - if (_state.rootCA.length() > 0) { + if (_state.enableTLS) { static_cast(_mqttClient)->onMessage(callback); return; } @@ -181,7 +181,7 @@ bool MqttSettingsService::configureMqtt() { if (_state.enabled && emsesp::EMSESP::system_.network_connected() && !_state.host.isEmpty()) { _reconfigureMqtt = false; #if CONFIG_IDF_TARGET_ESP32S3 - if (_state.rootCA.length() > 0) { + if (_state.enableTLS) { // emsesp::EMSESP::logger().info("Start secure MQTT with rootCA"); static_cast(_mqttClient)->setServer(retainCstr(_state.host.c_str(), &_retainedHost), _state.port); if (_state.username.length() > 0) { @@ -217,7 +217,8 @@ bool MqttSettingsService::configureMqtt() { void MqttSettings::read(MqttSettings & settings, JsonObject & root) { #if CONFIG_IDF_TARGET_ESP32S3 - root["rootCA"] = settings.rootCA; + root["enableTLS"] = settings.enableTLS; + root["rootCA"] = settings.rootCA; #endif root["enabled"] = settings.enabled; root["host"] = settings.host; @@ -254,7 +255,8 @@ StateUpdateResult MqttSettings::update(JsonObject & root, MqttSettings & setting bool changed = false; #if CONFIG_IDF_TARGET_ESP32S3 - newSettings.rootCA = root["rootCA"] | ""; + newSettings.enableTLS = root["enableTLS"] | false; + newSettings.rootCA = root["rootCA"] | ""; #endif newSettings.enabled = root["enabled"] | FACTORY_MQTT_ENABLED; newSettings.host = root["host"] | FACTORY_MQTT_HOST; @@ -383,10 +385,10 @@ StateUpdateResult MqttSettings::update(JsonObject & root, MqttSettings & setting newSettings.rootCA.replace("-----BEGIN CERTIFICATE-----", ""); newSettings.rootCA.replace("-----END CERTIFICATE-----", ""); newSettings.rootCA.replace(" ", ""); - if (newSettings.rootCA.length() == 0 && newSettings.port > 8800) { + if (newSettings.rootCA.length() == 0 && newSettings.enableTLS) { newSettings.rootCA = "insecure"; } - if (newSettings.rootCA != settings.rootCA) { + if (newSettings.enableTLS != settings.enableTLS || newSettings.rootCA != settings.rootCA) { changed = true; } #endif diff --git a/lib/framework/MqttSettingsService.h b/lib/framework/MqttSettingsService.h index f1ae73b33..f5a3b20c7 100644 --- a/lib/framework/MqttSettingsService.h +++ b/lib/framework/MqttSettingsService.h @@ -64,6 +64,7 @@ class MqttSettings { String host; uint16_t port; String rootCA; + bool enableTLS; // username and password String username; diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 049c4ac08..94fc808df 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -230,6 +230,16 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const DeviceValueTAG::TAG_DEVICE_DATA, &boilHystOn_, DeviceValueType::INT, FL_(boilHystOn), DeviceValueUOM::DEGREES_R, MAKE_CF_CB(set_hyst_on), -20, 0); register_device_value( DeviceValueTAG::TAG_DEVICE_DATA, &boilHystOff_, DeviceValueType::INT, FL_(boilHystOff), DeviceValueUOM::DEGREES_R, MAKE_CF_CB(set_hyst_off), 0, 20); + register_device_value( + DeviceValueTAG::TAG_DEVICE_DATA, &boil2HystOn_, DeviceValueType::INT, FL_(boil2HystOn), DeviceValueUOM::DEGREES_R, MAKE_CF_CB(set_hyst2_on), -20, 0); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &boil2HystOff_, + DeviceValueType::INT, + FL_(boil2HystOff), + DeviceValueUOM::DEGREES_R, + MAKE_CF_CB(set_hyst2_off), + 0, + 20); } register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &heatingActivated_, @@ -726,7 +736,13 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const DeviceValueUOM::NONE, MAKE_CF_CB(set_elHeatStep3)); register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpEA0_, DeviceValueType::BOOL, FL_(hpEA0), DeviceValueUOM::NONE); - register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &hpPumpMode_, DeviceValueType::ENUM, FL_(enum_hpPumpMode), FL_(hpPumpMode), DeviceValueUOM::NONE, MAKE_CF_CB(set_hpPumpMode)); + register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, + &hpPumpMode_, + DeviceValueType::ENUM, + FL_(enum_hpPumpMode), + FL_(hpPumpMode), + DeviceValueUOM::NONE, + MAKE_CF_CB(set_hpPumpMode)); // heatpump DHW settings register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, &wwAlternatingOper_, @@ -1316,9 +1332,9 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr telegram // at this point do a quick check to see if the hot water or heating is active uint8_t state = EMS_VALUE_UINT_NOTSET; if (telegram->read_value(state, 11) && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) { - boilerState_ = state & 0x01 ? 0x08 : 0; - boilerState_ |= state & 0x02 ? 0x01 : 0; - boilerState_ |= state & 0x04 ? 0x02 : 0; + boilerState_ = state & 0x01 ? 0x08 : 0; // burnGas + boilerState_ |= state & 0x02 ? 0x01 : 0; // heatingPump + boilerState_ |= state & 0x04 ? 0x02 : 0; // 3-way-valve } if (telegram->offset <= 10 && telegram->offset + telegram->message_length > 11) { diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 6ea436794..ad97967ab 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -1148,7 +1148,7 @@ void Thermostat::process_RC300WWmode(std::shared_ptr telegram) { if (model() == EMSdevice::EMS_DEVICE_FLAG_BC400) { const uint8_t modes[] = {0, 5, 1, 2, 4}; // off, eco+, eco, comfort, auto - uint8_t wwmode = wwMode_ < sizeof(modes) ? modes[wwMode_] : EMS_VALUE_UINT_NOTSET; + uint8_t wwmode = wwMode_ < sizeof(modes) ? modes[wwMode_] : EMS_VALUE_UINT_NOTSET; telegram->read_value(wwmode, 2); const uint8_t modes1[] = {0, 2, 3, 0, 4, 1}; has_update(wwMode_, wwmode < sizeof(modes1) ? modes1[wwmode] : EMS_VALUE_UINT_NOTSET); diff --git a/src/emsdevice.cpp b/src/emsdevice.cpp index 468a406e5..6966cbfae 100644 --- a/src/emsdevice.cpp +++ b/src/emsdevice.cpp @@ -989,6 +989,7 @@ void EMSdevice::generate_values_web(JsonObject & output) { if (dv.get_min_max(dv_set_min, dv_set_max)) { obj["m"] = dv_set_min; obj["x"] = dv_set_max; + // add steps to numeric values as rendered string to avoid rounding floats in js char s[10]; obj["s"] = Helpers::render_value(s, (uint32_t)1, dv.numeric_operator); } diff --git a/src/version.h b/src/version.h index 062f0091f..5d96dfab8 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.6.5-test.1a" +#define EMSESP_APP_VERSION "3.6.5-test.3"