mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
Merge pull request #1319 from MichaelDvP/dev
add forceheatingoff #1262 and header/heatblock #1317
This commit is contained in:
@@ -7,11 +7,13 @@
|
|||||||
## Added
|
## Added
|
||||||
|
|
||||||
- humidity for ventilation devices
|
- humidity for ventilation devices
|
||||||
- telegrams for RC100H, hc2
|
- telegrams for RC100H, hc2 (seen on discord)
|
||||||
|
- names for BC400, GB192i, read temperatures for low loss header and heatblock [#1317](https://github.com/emsesp/EMS-ESP32/discussions/1317)
|
||||||
|
- option for `forceheatingoff` [#1262](https://github.com/emsesp/EMS-ESP32/issues/1262)
|
||||||
|
|
||||||
## Fixed
|
## Fixed
|
||||||
|
|
||||||
## Changed
|
## Changed
|
||||||
|
|
||||||
- update to arduion 2.0.13 / idf 4.4.6
|
- update to arduino 2.0.14 / idf 4.4.6
|
||||||
- small changes for arduino 3.0.0 / idf 5.1 compatibility
|
- small changes for arduino 3.0.0 / idf 5.1 compatibility
|
||||||
|
|||||||
@@ -22,13 +22,13 @@
|
|||||||
"@alova/adapter-xhr": "^1.0.1",
|
"@alova/adapter-xhr": "^1.0.1",
|
||||||
"@emotion/react": "^11.11.1",
|
"@emotion/react": "^11.11.1",
|
||||||
"@emotion/styled": "^11.11.0",
|
"@emotion/styled": "^11.11.0",
|
||||||
"@mui/icons-material": "^5.14.11",
|
"@mui/icons-material": "^5.14.12",
|
||||||
"@mui/material": "^5.14.11",
|
"@mui/material": "^5.14.12",
|
||||||
"@table-library/react-table-library": "4.1.7",
|
"@table-library/react-table-library": "4.1.7",
|
||||||
"@types/lodash-es": "^4.17.9",
|
"@types/lodash-es": "^4.17.9",
|
||||||
"@types/node": "^20.8.2",
|
"@types/node": "^20.8.3",
|
||||||
"@types/react": "^18.2.24",
|
"@types/react": "^18.2.25",
|
||||||
"@types/react-dom": "^18.2.8",
|
"@types/react-dom": "^18.2.11",
|
||||||
"@types/react-router-dom": "^5.3.3",
|
"@types/react-router-dom": "^5.3.3",
|
||||||
"alova": "^2.13.1",
|
"alova": "^2.13.1",
|
||||||
"async-validator": "^4.2.5",
|
"async-validator": "^4.2.5",
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
"@types/babel__core": "^7",
|
"@types/babel__core": "^7",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.7.4",
|
"@typescript-eslint/eslint-plugin": "^6.7.4",
|
||||||
"@typescript-eslint/parser": "^6.7.4",
|
"@typescript-eslint/parser": "^6.7.4",
|
||||||
"eslint": "^8.50.0",
|
"eslint": "^8.51.0",
|
||||||
"eslint-config-airbnb": "^19.0.4",
|
"eslint-config-airbnb": "^19.0.4",
|
||||||
"eslint-config-airbnb-typescript": "^17.1.0",
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
||||||
"eslint-config-prettier": "^9.0.0",
|
"eslint-config-prettier": "^9.0.0",
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
"prettier": "^3.0.3",
|
"prettier": "^3.0.3",
|
||||||
"rollup-plugin-visualizer": "^5.9.2",
|
"rollup-plugin-visualizer": "^5.9.2",
|
||||||
"terser": "^5.21.0",
|
"terser": "^5.21.0",
|
||||||
"vite": "^4.4.10",
|
"vite": "^4.4.11",
|
||||||
"vite-plugin-svgr": "^4.1.0",
|
"vite-plugin-svgr": "^4.1.0",
|
||||||
"vite-tsconfig-paths": "^4.2.1"
|
"vite-tsconfig-paths": "^4.2.1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const de: Translation = {
|
|||||||
BYPASS_TOKEN: 'Zugriffstoken-Autorisierung bei API-Aufrufen umgehen',
|
BYPASS_TOKEN: 'Zugriffstoken-Autorisierung bei API-Aufrufen umgehen',
|
||||||
READONLY: 'Nur-Lese-Modus aktivieren (blockiert alle ausgehenden EMS Tx Write-Befehle)',
|
READONLY: 'Nur-Lese-Modus aktivieren (blockiert alle ausgehenden EMS Tx Write-Befehle)',
|
||||||
UNDERCLOCK_CPU: 'CPU-Geschwindigkeit untertakten',
|
UNDERCLOCK_CPU: 'CPU-Geschwindigkeit untertakten',
|
||||||
|
HEATINGOFF: 'Heizen ausschalten beim EMS-ESP Start',
|
||||||
ENABLE_SHOWER_TIMER: 'Duschtimer aktivieren',
|
ENABLE_SHOWER_TIMER: 'Duschtimer aktivieren',
|
||||||
ENABLE_SHOWER_ALERT: 'Duschalarm aktivieren',
|
ENABLE_SHOWER_ALERT: 'Duschalarm aktivieren',
|
||||||
TRIGGER_TIME: 'Auslösezeit',
|
TRIGGER_TIME: 'Auslösezeit',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const en: Translation = {
|
|||||||
BYPASS_TOKEN: 'Bypass Access Token authorization on API calls',
|
BYPASS_TOKEN: 'Bypass Access Token authorization on API calls',
|
||||||
READONLY: 'Enable read-only mode (blocks all outgoing EMS Tx Write commands)',
|
READONLY: 'Enable read-only mode (blocks all outgoing EMS Tx Write commands)',
|
||||||
UNDERCLOCK_CPU: 'Underclock CPU speed',
|
UNDERCLOCK_CPU: 'Underclock CPU speed',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off',
|
||||||
ENABLE_SHOWER_TIMER: 'Enable Shower Timer',
|
ENABLE_SHOWER_TIMER: 'Enable Shower Timer',
|
||||||
ENABLE_SHOWER_ALERT: 'Enable Shower Alert',
|
ENABLE_SHOWER_ALERT: 'Enable Shower Alert',
|
||||||
TRIGGER_TIME: 'Trigger Time',
|
TRIGGER_TIME: 'Trigger Time',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const fr: Translation = {
|
|||||||
BYPASS_TOKEN: 'Contourner l\'autorisation du jeton d\'accès sur les appels API',
|
BYPASS_TOKEN: 'Contourner l\'autorisation du jeton d\'accès sur les appels API',
|
||||||
READONLY: 'Activer le mode lecture uniquement (bloque toutes les commandes EMS sortantes en écriture Tx)',
|
READONLY: 'Activer le mode lecture uniquement (bloque toutes les commandes EMS sortantes en écriture Tx)',
|
||||||
UNDERCLOCK_CPU: 'Underclock du CPU',
|
UNDERCLOCK_CPU: 'Underclock du CPU',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Activer la minuterie de la douche',
|
ENABLE_SHOWER_TIMER: 'Activer la minuterie de la douche',
|
||||||
ENABLE_SHOWER_ALERT: 'Activer les alertes de durée de douche',
|
ENABLE_SHOWER_ALERT: 'Activer les alertes de durée de douche',
|
||||||
TRIGGER_TIME: 'Durée avant déclenchement',
|
TRIGGER_TIME: 'Durée avant déclenchement',
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ const it: Translation = {
|
|||||||
BYPASS_TOKEN: 'Ignora autorizzazione del token di accesso sulle chiamate API',
|
BYPASS_TOKEN: 'Ignora autorizzazione del token di accesso sulle chiamate API',
|
||||||
READONLY: 'Abilita modalità sola-lettura (blocca tutti i comandi di scrittura EMS Tx in uscita)',
|
READONLY: 'Abilita modalità sola-lettura (blocca tutti i comandi di scrittura EMS Tx in uscita)',
|
||||||
UNDERCLOCK_CPU: 'Abbassa velocità della CPU',
|
UNDERCLOCK_CPU: 'Abbassa velocità della CPU',
|
||||||
|
HEATINGOFF: 'Avviamento caldaia con riscaldamento forzato spento',
|
||||||
ENABLE_SHOWER_TIMER: 'Abilita timer doccia',
|
ENABLE_SHOWER_TIMER: 'Abilita timer doccia',
|
||||||
ENABLE_SHOWER_ALERT: 'Abilita avviso doccia',
|
ENABLE_SHOWER_ALERT: 'Abilita avviso doccia',
|
||||||
TRIGGER_TIME: 'Tempo di avvio',
|
TRIGGER_TIME: 'Tempo di avvio',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const nl: Translation = {
|
|||||||
BYPASS_TOKEN: 'API Access Token authenticatie uitschakelen',
|
BYPASS_TOKEN: 'API Access Token authenticatie uitschakelen',
|
||||||
READONLY: 'Activeer read-only modus (blokkeert alle outgaande EMS Tx schrijf commandos)',
|
READONLY: 'Activeer read-only modus (blokkeert alle outgaande EMS Tx schrijf commandos)',
|
||||||
UNDERCLOCK_CPU: 'Underclock CPU snelheid',
|
UNDERCLOCK_CPU: 'Underclock CPU snelheid',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Activeer Douche Timer (tijdmeting)',
|
ENABLE_SHOWER_TIMER: 'Activeer Douche Timer (tijdmeting)',
|
||||||
ENABLE_SHOWER_ALERT: 'Activeer Douchemelding',
|
ENABLE_SHOWER_ALERT: 'Activeer Douchemelding',
|
||||||
TRIGGER_TIME: 'Trigger tijd',
|
TRIGGER_TIME: 'Trigger tijd',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const no: Translation = {
|
|||||||
BYPASS_TOKEN: 'Utelat Aksess Token authorisering av API kall',
|
BYPASS_TOKEN: 'Utelat Aksess Token authorisering av API kall',
|
||||||
READONLY: 'Aktiver read-only modus (blokker all EMS Tx Skriving)',
|
READONLY: 'Aktiver read-only modus (blokker all EMS Tx Skriving)',
|
||||||
UNDERCLOCK_CPU: 'Underklokking av prosessorhastighet',
|
UNDERCLOCK_CPU: 'Underklokking av prosessorhastighet',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Aktiver Dusjtimer',
|
ENABLE_SHOWER_TIMER: 'Aktiver Dusjtimer',
|
||||||
ENABLE_SHOWER_ALERT: 'Aktiver Dusj-varsling',
|
ENABLE_SHOWER_ALERT: 'Aktiver Dusj-varsling',
|
||||||
TRIGGER_TIME: 'Aktiveringstid',
|
TRIGGER_TIME: 'Aktiveringstid',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const pl: BaseTranslation = {
|
|||||||
BYPASS_TOKEN: 'Pomiń autoryzację tokenem w wywołaniach API',
|
BYPASS_TOKEN: 'Pomiń autoryzację tokenem w wywołaniach API',
|
||||||
READONLY: 'Tryb pracy "tylko do odczytu" (blokuje wszystkie komendy zapisu na magistralę EMS)',
|
READONLY: 'Tryb pracy "tylko do odczytu" (blokuje wszystkie komendy zapisu na magistralę EMS)',
|
||||||
UNDERCLOCK_CPU: 'Obniż taktowanie CPU',
|
UNDERCLOCK_CPU: 'Obniż taktowanie CPU',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Aktywuj minutnik prysznica',
|
ENABLE_SHOWER_TIMER: 'Aktywuj minutnik prysznica',
|
||||||
ENABLE_SHOWER_ALERT: 'Aktywuj alarm prysznica',
|
ENABLE_SHOWER_ALERT: 'Aktywuj alarm prysznica',
|
||||||
TRIGGER_TIME: 'Wyzwalaj po czasie',
|
TRIGGER_TIME: 'Wyzwalaj po czasie',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const sv: Translation = {
|
|||||||
BYPASS_TOKEN: 'Inaktivera Token-autensiering för API-anrop',
|
BYPASS_TOKEN: 'Inaktivera Token-autensiering för API-anrop',
|
||||||
READONLY: 'Aktivera read-only (blockerar alla utgående skrivkommandon mot EMS-bussen)',
|
READONLY: 'Aktivera read-only (blockerar alla utgående skrivkommandon mot EMS-bussen)',
|
||||||
UNDERCLOCK_CPU: 'Nedklocka Processorhastighet',
|
UNDERCLOCK_CPU: 'Nedklocka Processorhastighet',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Aktivera Dusch-timer',
|
ENABLE_SHOWER_TIMER: 'Aktivera Dusch-timer',
|
||||||
ENABLE_SHOWER_ALERT: 'Aktivera Dusch-varning',
|
ENABLE_SHOWER_ALERT: 'Aktivera Dusch-varning',
|
||||||
TRIGGER_TIME: 'Aktiveringstid',
|
TRIGGER_TIME: 'Aktiveringstid',
|
||||||
|
|||||||
@@ -126,6 +126,7 @@ const tr: Translation = {
|
|||||||
BYPASS_TOKEN: 'API bağlantılarında Erişim Jeton onaylamasını geç',
|
BYPASS_TOKEN: 'API bağlantılarında Erişim Jeton onaylamasını geç',
|
||||||
READONLY: 'Salt okunur modu devreye al (bütün giden EMS Tx Yazma komutlarını engeller)',
|
READONLY: 'Salt okunur modu devreye al (bütün giden EMS Tx Yazma komutlarını engeller)',
|
||||||
UNDERCLOCK_CPU: 'İşlemci hızını düşür',
|
UNDERCLOCK_CPU: 'İşlemci hızını düşür',
|
||||||
|
HEATINGOFF: 'Start boiler with forced heating off', // TODO translate
|
||||||
ENABLE_SHOWER_TIMER: 'Duş Sayacını Devreye Al',
|
ENABLE_SHOWER_TIMER: 'Duş Sayacını Devreye Al',
|
||||||
ENABLE_SHOWER_ALERT: 'Duş Alarmını Devreye Al',
|
ENABLE_SHOWER_ALERT: 'Duş Alarmını Devreye Al',
|
||||||
TRIGGER_TIME: 'Tetikleme Zamanı',
|
TRIGGER_TIME: 'Tetikleme Zamanı',
|
||||||
|
|||||||
@@ -425,6 +425,11 @@ const SettingsApplication: FC = () => {
|
|||||||
label={LL.UNDERCLOCK_CPU()}
|
label={LL.UNDERCLOCK_CPU()}
|
||||||
disabled={saving}
|
disabled={saving}
|
||||||
/>
|
/>
|
||||||
|
<BlockFormControlLabel
|
||||||
|
control={<Checkbox checked={data.boiler_heatingoff} onChange={updateFormValue} name="boiler_heatingoff" />}
|
||||||
|
label={LL.HEATINGOFF()}
|
||||||
|
disabled={saving}
|
||||||
|
/>
|
||||||
<Grid container spacing={0} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
<Grid container spacing={0} direction="row" justifyContent="flex-start" alignItems="flex-start">
|
||||||
<BlockFormControlLabel
|
<BlockFormControlLabel
|
||||||
control={<Checkbox checked={data.shower_timer} onChange={updateFormValue} name="shower_timer" />}
|
control={<Checkbox checked={data.shower_timer} onChange={updateFormValue} name="shower_timer" />}
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ export interface Settings {
|
|||||||
syslog_mark_interval: number;
|
syslog_mark_interval: number;
|
||||||
syslog_host: string;
|
syslog_host: string;
|
||||||
syslog_port: number;
|
syslog_port: number;
|
||||||
|
boiler_heatingoff: boolean;
|
||||||
shower_timer: boolean;
|
shower_timer: boolean;
|
||||||
shower_alert: boolean;
|
shower_alert: boolean;
|
||||||
shower_alert_coldshot: number;
|
shower_alert_coldshot: number;
|
||||||
|
|||||||
@@ -347,7 +347,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.22.15, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7":
|
"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.7.6, @babel/runtime@npm:^7.8.7":
|
||||||
version: 7.22.15
|
version: 7.22.15
|
||||||
resolution: "@babel/runtime@npm:7.22.15"
|
resolution: "@babel/runtime@npm:7.22.15"
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -356,6 +356,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@babel/runtime@npm:^7.23.1":
|
||||||
|
version: 7.23.1
|
||||||
|
resolution: "@babel/runtime@npm:7.23.1"
|
||||||
|
dependencies:
|
||||||
|
regenerator-runtime: ^0.14.0
|
||||||
|
checksum: e57ab1436d4845efe67c3f76d578508bb584173690ecfeac105bc4e09d64b2aa6a53c1e03bca3c97cc238e5390a804e5a4ded211e6350243b735905ca45a4822
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5":
|
"@babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5":
|
||||||
version: 7.22.15
|
version: 7.22.15
|
||||||
resolution: "@babel/template@npm:7.22.15"
|
resolution: "@babel/template@npm:7.22.15"
|
||||||
@@ -760,10 +769,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@eslint/js@npm:8.50.0":
|
"@eslint/js@npm:8.51.0":
|
||||||
version: 8.50.0
|
version: 8.51.0
|
||||||
resolution: "@eslint/js@npm:8.50.0"
|
resolution: "@eslint/js@npm:8.51.0"
|
||||||
checksum: 92cb0a823869e85f287bd172f14a6a20d7d65c3f4db886a0356a9efebfe8fe519e9ead84a5687bd18f45eca417bdcce96e3b83fe3feae8baf0f8f44d14073bae
|
checksum: c126d15213d938c72062b8f04388c084ba778771f2409ce508aa4b78152bf57e442b4c7996f632577b642101da5b41df101aece775fcc213a3159f55bcc4bdee
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -896,14 +905,14 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/base@npm:5.0.0-beta.17":
|
"@mui/base@npm:5.0.0-beta.18":
|
||||||
version: 5.0.0-beta.17
|
version: 5.0.0-beta.18
|
||||||
resolution: "@mui/base@npm:5.0.0-beta.17"
|
resolution: "@mui/base@npm:5.0.0-beta.18"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@floating-ui/react-dom": ^2.0.2
|
"@floating-ui/react-dom": ^2.0.2
|
||||||
"@mui/types": ^7.2.4
|
"@mui/types": ^7.2.5
|
||||||
"@mui/utils": ^5.14.11
|
"@mui/utils": ^5.14.12
|
||||||
"@popperjs/core": ^2.11.8
|
"@popperjs/core": ^2.11.8
|
||||||
clsx: ^2.0.0
|
clsx: ^2.0.0
|
||||||
prop-types: ^15.8.1
|
prop-types: ^15.8.1
|
||||||
@@ -914,22 +923,22 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 7d0b67a279f9b63e88cd74426153fae129b3bbe670ccc06ba293357edb5466df01e8f953d86944a1ba500a8cf7cb2c2f3af0691b62b1a8e983dfbe19abc93717
|
checksum: 0d8f3743a69508b5259d7cd595acc3717f4ad60e1606bd7e1c58b82886ae74747151f6492a14f994ef5f88698fb02f95c84bf94a72dc71160f79965920f490bd
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/core-downloads-tracker@npm:^5.14.11":
|
"@mui/core-downloads-tracker@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/core-downloads-tracker@npm:5.14.11"
|
resolution: "@mui/core-downloads-tracker@npm:5.14.12"
|
||||||
checksum: 206e74991d1fb1ce83f915d8761d08e793462a98213f433368a085b4715292580efcd4df5368266d7da1a2f7cc851e6f3762db27f24958d214aedbae6e562abd
|
checksum: 0cfd7e96f39b585cf58f98476e21240f92cd0a3b2b70e027d5483e1a10593426a05573f1802e9d8dc7723c54ce322a9496b2765987aaf0d5ab37b55787bfa512
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/icons-material@npm:^5.14.11":
|
"@mui/icons-material@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/icons-material@npm:5.14.11"
|
resolution: "@mui/icons-material@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@mui/material": ^5.0.0
|
"@mui/material": ^5.0.0
|
||||||
"@types/react": ^17.0.0 || ^18.0.0
|
"@types/react": ^17.0.0 || ^18.0.0
|
||||||
@@ -937,20 +946,20 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: f956b48b8ac83318a8e5e93a084f4f62ce82694e591a611e40d35c7c41d6395339bbde0416d0b80927e1ed3a051d4984076a090c2f8655046ac281bc5ca6466e
|
checksum: 06e63cdcb1ca9aa66d4d0c1d31d4e10135b9a342997e9e1da29cde529ceff5fb2471f20892769bf6163ae934d941e494bdd769a622c7d0ed7474728b4ce45e2b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/material@npm:^5.14.11":
|
"@mui/material@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/material@npm:5.14.11"
|
resolution: "@mui/material@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@mui/base": 5.0.0-beta.17
|
"@mui/base": 5.0.0-beta.18
|
||||||
"@mui/core-downloads-tracker": ^5.14.11
|
"@mui/core-downloads-tracker": ^5.14.12
|
||||||
"@mui/system": ^5.14.11
|
"@mui/system": ^5.14.12
|
||||||
"@mui/types": ^7.2.4
|
"@mui/types": ^7.2.5
|
||||||
"@mui/utils": ^5.14.11
|
"@mui/utils": ^5.14.12
|
||||||
"@types/react-transition-group": ^4.4.6
|
"@types/react-transition-group": ^4.4.6
|
||||||
clsx: ^2.0.0
|
clsx: ^2.0.0
|
||||||
csstype: ^3.1.2
|
csstype: ^3.1.2
|
||||||
@@ -970,16 +979,16 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 53b5ba0732cee87c82c16a64c3bc145f1fd88ae014c5d1dab9f84c24a212375f75cf1cb44b0ceca80135e009ec4f1fe13a8a3ca2079a55bbe5a15f22a706429c
|
checksum: 65c868b1fc9b73e2afa17c12f4e9b410dccb9f5ac21b6d37f913811ec19e84c50bc724b40c67a51bbfeb699550ad10c7f8b265c2518d846dfe8056cb0203ec1c
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/private-theming@npm:^5.14.11":
|
"@mui/private-theming@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/private-theming@npm:5.14.11"
|
resolution: "@mui/private-theming@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@mui/utils": ^5.14.11
|
"@mui/utils": ^5.14.12
|
||||||
prop-types: ^15.8.1
|
prop-types: ^15.8.1
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@types/react": ^17.0.0 || ^18.0.0
|
"@types/react": ^17.0.0 || ^18.0.0
|
||||||
@@ -987,15 +996,15 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: e9b96b86355685a9dcbf95e617f3d86b33c502e005a5c6cd9b9cc64d102742b00b960560666d49b0ef0c4f4dac2d7a17f81ca6a745ff893b64e22515b53bd8fc
|
checksum: dbd24ffd3ff0d514c44b043c3fa34035403fdb9ccf459efb5c15fff127d6cc01471b7e748798c37c324ff20fd985f5923807271a5e3b857254c2e51a39ab8e4f
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/styled-engine@npm:^5.14.11":
|
"@mui/styled-engine@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/styled-engine@npm:5.14.11"
|
resolution: "@mui/styled-engine@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@emotion/cache": ^11.11.0
|
"@emotion/cache": ^11.11.0
|
||||||
csstype: ^3.1.2
|
csstype: ^3.1.2
|
||||||
prop-types: ^15.8.1
|
prop-types: ^15.8.1
|
||||||
@@ -1008,19 +1017,19 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
"@emotion/styled":
|
"@emotion/styled":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: b71cf3d9d0377bc5cdba01f4f72153147310b4d054fb10b6e5899b5307d05cc44770bcd8ba61069806c35bd367e5241328fbce7a7e91c7ec11e483fdb79fbc49
|
checksum: 55e4b7a0990a5f92248e2e1e622ca6306decb42757e8aa1abe2687e2b46b8ee1d7fbfcef402ea705ac286efaf085d1aed526af6aa346ae5048d8376bb696aa3d
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/system@npm:^5.14.11":
|
"@mui/system@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/system@npm:5.14.11"
|
resolution: "@mui/system@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@mui/private-theming": ^5.14.11
|
"@mui/private-theming": ^5.14.12
|
||||||
"@mui/styled-engine": ^5.14.11
|
"@mui/styled-engine": ^5.14.12
|
||||||
"@mui/types": ^7.2.4
|
"@mui/types": ^7.2.5
|
||||||
"@mui/utils": ^5.14.11
|
"@mui/utils": ^5.14.12
|
||||||
clsx: ^2.0.0
|
clsx: ^2.0.0
|
||||||
csstype: ^3.1.2
|
csstype: ^3.1.2
|
||||||
prop-types: ^15.8.1
|
prop-types: ^15.8.1
|
||||||
@@ -1036,28 +1045,28 @@ __metadata:
|
|||||||
optional: true
|
optional: true
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 3677dce2b1c010d5679f96a8c9cd54d803558b9ac881e4adec480ae7c3136b54895f5850131abf31b7d16493964a048d5261128332cecf2e3944c9dd58814bf1
|
checksum: 93f77c7a0673a116efe92d3f290886033278d915386c5aa29056c4a4557540db2865c4405140e669c7be801d6cba3dd3ddea2bb63bfc7eedd18e5b829a13ab80
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/types@npm:^7.2.4":
|
"@mui/types@npm:^7.2.5":
|
||||||
version: 7.2.4
|
version: 7.2.5
|
||||||
resolution: "@mui/types@npm:7.2.4"
|
resolution: "@mui/types@npm:7.2.5"
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
"@types/react": "*"
|
"@types/react": ^17.0.0 || ^18.0.0
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 17411effd184eff34d6a1a55b2249c7e1ef195bb30c48154f0b16fdce428ff55be4ec5dde8b4a556c01eda2d34e3dcc18d925f8fdee606f5bc15f91167f0ecbc
|
checksum: df381cb230b1335d46315517da3535fa362bb53388a9d6e87964ee77991685442a6cb5a8f39cbd878d89176a152fe699aa6ecc681957ecf4695b85db0d2abe83
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@mui/utils@npm:^5.14.11":
|
"@mui/utils@npm:^5.14.12":
|
||||||
version: 5.14.11
|
version: 5.14.12
|
||||||
resolution: "@mui/utils@npm:5.14.11"
|
resolution: "@mui/utils@npm:5.14.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": ^7.22.15
|
"@babel/runtime": ^7.23.1
|
||||||
"@types/prop-types": ^15.7.5
|
"@types/prop-types": ^15.7.7
|
||||||
prop-types: ^15.8.1
|
prop-types: ^15.8.1
|
||||||
react-is: ^18.2.0
|
react-is: ^18.2.0
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -1066,7 +1075,7 @@ __metadata:
|
|||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
"@types/react":
|
"@types/react":
|
||||||
optional: true
|
optional: true
|
||||||
checksum: 21048b65e482e2f4279bf2b0e1619f026ed605bfe71818f6373b6362abc5062ea293ab7791691da1275de2d72b16cc5dafca70c2169359eca0b1c46c52aba879
|
checksum: 1204e6699ddc508a3d46ec86b0cb31abea59cf41ce3bcbff18f651731783ced0217b7274452662ec7bf4a230c9b1bebd184b34a8729e43ceb3a6a0e50e72bcdf
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1468,10 +1477,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/node@npm:^20.8.2":
|
"@types/node@npm:^20.8.3":
|
||||||
version: 20.8.2
|
version: 20.8.3
|
||||||
resolution: "@types/node@npm:20.8.2"
|
resolution: "@types/node@npm:20.8.3"
|
||||||
checksum: e9952db222dd3e1cca1107d1b2aaec4e93b4af8b4fc32b42dd4fac3719f98c14edb8c591829c972d2f6e2b527bbb34af53608f6a7973f4a7dbd1d3bc929bbe8d
|
checksum: 83511d7c310100f3fddbbf3a28f0049d60da6ffc4255231845b2e2189d7ff104727647d2b05d2a29b0af2ad61b529a4897056b3798e0cba027c629f3b13d7e82
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1482,19 +1491,26 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/prop-types@npm:*, @types/prop-types@npm:^15.7.5":
|
"@types/prop-types@npm:*":
|
||||||
version: 15.7.7
|
version: 15.7.7
|
||||||
resolution: "@types/prop-types@npm:15.7.7"
|
resolution: "@types/prop-types@npm:15.7.7"
|
||||||
checksum: 26d565ebae8c28dede71547d687367ce74eeccc645fdbef2d38478fe293996be24784fa6190586ba303ccd274aa94d8a631d36a5d9b8e0c08f5647ff3244d72c
|
checksum: 26d565ebae8c28dede71547d687367ce74eeccc645fdbef2d38478fe293996be24784fa6190586ba303ccd274aa94d8a631d36a5d9b8e0c08f5647ff3244d72c
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/react-dom@npm:^18.2.8":
|
"@types/prop-types@npm:^15.7.7":
|
||||||
version: 18.2.8
|
version: 15.7.8
|
||||||
resolution: "@types/react-dom@npm:18.2.8"
|
resolution: "@types/prop-types@npm:15.7.8"
|
||||||
|
checksum: 706b3de6faa5c1a4763fc90069f25ddc54108e8b43e9724e22f510b103c418571bf14b34b241fcacd6875650959c8374af7f4633f80ec6e33e7525cb42ef6a30
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@types/react-dom@npm:^18.2.11":
|
||||||
|
version: 18.2.11
|
||||||
|
resolution: "@types/react-dom@npm:18.2.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/react": "*"
|
"@types/react": "*"
|
||||||
checksum: a2afa9f626751f2314ddbecb5503122912ff646827b1c81b7b230ce04083c43b71c82b02244526eb88c1795019033364a4afee0f7f719e46116a51ca8e287613
|
checksum: 3ba42df0dc1e8a26baed9668b9e2b5aea7c8e28289cf5baa656c1a07c6f83cd3c3360a374e00f96c01ce914950105d14d3ecd59be75cf215b8d3657b0b5d7785
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1539,14 +1555,14 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/react@npm:^18.2.24":
|
"@types/react@npm:^18.2.25":
|
||||||
version: 18.2.24
|
version: 18.2.25
|
||||||
resolution: "@types/react@npm:18.2.24"
|
resolution: "@types/react@npm:18.2.25"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/prop-types": "*"
|
"@types/prop-types": "*"
|
||||||
"@types/scheduler": "*"
|
"@types/scheduler": "*"
|
||||||
csstype: ^3.0.2
|
csstype: ^3.0.2
|
||||||
checksum: a83c7ae0010b265012ef038e3e00e4708c27c523f0aa0631e44f934e9c5338a51b6db1901f91d8ba10d3dc292a3a200b2cb5e47430cde58fbf988969866fe75a
|
checksum: 17559ab8e9a3347b466eb782e21fe45f841e0e39d3f656e4711693cb6d193f948a9913c9e96b64bc4700eb24b34c47f15adbddcc39c596b4b3b79c99619b83bf
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -1694,22 +1710,22 @@ __metadata:
|
|||||||
"@babel/core": ^7.23.0
|
"@babel/core": ^7.23.0
|
||||||
"@emotion/react": ^11.11.1
|
"@emotion/react": ^11.11.1
|
||||||
"@emotion/styled": ^11.11.0
|
"@emotion/styled": ^11.11.0
|
||||||
"@mui/icons-material": ^5.14.11
|
"@mui/icons-material": ^5.14.12
|
||||||
"@mui/material": ^5.14.11
|
"@mui/material": ^5.14.12
|
||||||
"@preact/compat": ^17.1.2
|
"@preact/compat": ^17.1.2
|
||||||
"@preact/preset-vite": ^2.5.0
|
"@preact/preset-vite": ^2.5.0
|
||||||
"@table-library/react-table-library": 4.1.7
|
"@table-library/react-table-library": 4.1.7
|
||||||
"@types/babel__core": ^7
|
"@types/babel__core": ^7
|
||||||
"@types/lodash-es": ^4.17.9
|
"@types/lodash-es": ^4.17.9
|
||||||
"@types/node": ^20.8.2
|
"@types/node": ^20.8.3
|
||||||
"@types/react": ^18.2.24
|
"@types/react": ^18.2.25
|
||||||
"@types/react-dom": ^18.2.8
|
"@types/react-dom": ^18.2.11
|
||||||
"@types/react-router-dom": ^5.3.3
|
"@types/react-router-dom": ^5.3.3
|
||||||
"@typescript-eslint/eslint-plugin": ^6.7.4
|
"@typescript-eslint/eslint-plugin": ^6.7.4
|
||||||
"@typescript-eslint/parser": ^6.7.4
|
"@typescript-eslint/parser": ^6.7.4
|
||||||
alova: ^2.13.1
|
alova: ^2.13.1
|
||||||
async-validator: ^4.2.5
|
async-validator: ^4.2.5
|
||||||
eslint: ^8.50.0
|
eslint: ^8.51.0
|
||||||
eslint-config-airbnb: ^19.0.4
|
eslint-config-airbnb: ^19.0.4
|
||||||
eslint-config-airbnb-typescript: ^17.1.0
|
eslint-config-airbnb-typescript: ^17.1.0
|
||||||
eslint-config-prettier: ^9.0.0
|
eslint-config-prettier: ^9.0.0
|
||||||
@@ -1738,7 +1754,7 @@ __metadata:
|
|||||||
terser: ^5.21.0
|
terser: ^5.21.0
|
||||||
typesafe-i18n: ^5.26.2
|
typesafe-i18n: ^5.26.2
|
||||||
typescript: ^5.2.2
|
typescript: ^5.2.2
|
||||||
vite: ^4.4.10
|
vite: ^4.4.11
|
||||||
vite-plugin-svgr: ^4.1.0
|
vite-plugin-svgr: ^4.1.0
|
||||||
vite-tsconfig-paths: ^4.2.1
|
vite-tsconfig-paths: ^4.2.1
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
@@ -3072,14 +3088,14 @@ eslint-plugin-prettier@alpha:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"eslint@npm:^8.50.0":
|
"eslint@npm:^8.51.0":
|
||||||
version: 8.50.0
|
version: 8.51.0
|
||||||
resolution: "eslint@npm:8.50.0"
|
resolution: "eslint@npm:8.51.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@eslint-community/eslint-utils": ^4.2.0
|
"@eslint-community/eslint-utils": ^4.2.0
|
||||||
"@eslint-community/regexpp": ^4.6.1
|
"@eslint-community/regexpp": ^4.6.1
|
||||||
"@eslint/eslintrc": ^2.1.2
|
"@eslint/eslintrc": ^2.1.2
|
||||||
"@eslint/js": 8.50.0
|
"@eslint/js": 8.51.0
|
||||||
"@humanwhocodes/config-array": ^0.11.11
|
"@humanwhocodes/config-array": ^0.11.11
|
||||||
"@humanwhocodes/module-importer": ^1.0.1
|
"@humanwhocodes/module-importer": ^1.0.1
|
||||||
"@nodelib/fs.walk": ^1.2.8
|
"@nodelib/fs.walk": ^1.2.8
|
||||||
@@ -3115,7 +3131,7 @@ eslint-plugin-prettier@alpha:
|
|||||||
text-table: ^0.2.0
|
text-table: ^0.2.0
|
||||||
bin:
|
bin:
|
||||||
eslint: bin/eslint.js
|
eslint: bin/eslint.js
|
||||||
checksum: 91629528cb240bc61b25480574d35cd54ed444cb61a70fa76f7d5ab26af2b637b94bf8fba94403c9052c1baa944a169b6ab9cc8070496e925f7eeef730ff9038
|
checksum: b534962c60cb2ad219d20a33f93c80e8ea5dd89f390f7bab44c80df32134db0a87e73e7ccd2928d87498c0595128ee29b4dba8a1f1abbbb3da9c3fb0418ecdcc
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@@ -6262,9 +6278,9 @@ react@latest:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"vite@npm:^4.4.10":
|
"vite@npm:^4.4.11":
|
||||||
version: 4.4.10
|
version: 4.4.11
|
||||||
resolution: "vite@npm:4.4.10"
|
resolution: "vite@npm:4.4.11"
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: ^0.18.10
|
esbuild: ^0.18.10
|
||||||
fsevents: ~2.3.2
|
fsevents: ~2.3.2
|
||||||
@@ -6298,7 +6314,7 @@ react@latest:
|
|||||||
optional: true
|
optional: true
|
||||||
bin:
|
bin:
|
||||||
vite: bin/vite.js
|
vite: bin/vite.js
|
||||||
checksum: d1359f147eb84aad9922460848184f14295e76f335ab03f90a585886ff070e1a7c74996022b3bb07da0a3130c9829565b5556e6eb1d0db12a8aad26f3694d445
|
checksum: 550af0f67b600f603d0c129b74ac18dfa674d19e2b7dba28f4214d5edeba217a91fb7b8f4f47037aa0297f142d22360780a0a4533b27dbaacd2894030f61e5f4
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
|||||||
@@ -61,6 +61,10 @@
|
|||||||
#define EMSESP_DEFAULT_TRACELOG_RAW false
|
#define EMSESP_DEFAULT_TRACELOG_RAW false
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef EMSESP_DEFAULT_BOILER_HEATINGOFF
|
||||||
|
#define EMSESP_DEFAULT_BOILER_HEATINGOFF false
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef EMSESP_DEFAULT_SHOWER_TIMER
|
#ifndef EMSESP_DEFAULT_SHOWER_TIMER
|
||||||
#define EMSESP_DEFAULT_SHOWER_TIMER false
|
#define EMSESP_DEFAULT_SHOWER_TIMER false
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
{170, DeviceType::BOILER, "Logano GB212", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
{170, DeviceType::BOILER, "Logano GB212", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||||
{172, DeviceType::BOILER, "Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i/WSW196i", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP},
|
{172, DeviceType::BOILER, "Enviline/Compress 6000AW/Hybrid 3000-7000iAW/SupraEco/Geo 5xx/WLW196i/WSW196i", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP},
|
||||||
{173, DeviceType::BOILER, "Geo 5xx", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP},
|
{173, DeviceType::BOILER, "Geo 5xx", DeviceFlags::EMS_DEVICE_FLAG_HEATPUMP},
|
||||||
{195, DeviceType::BOILER, "Condens 5000i/Greenstar 8000/GC9800IW", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
{195, DeviceType::BOILER, "Condens 5000i/Greenstar 8000/GC9800IW/GB192i.2", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||||
{203, DeviceType::BOILER, "Logamax U122/Cerapur", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
{203, DeviceType::BOILER, "Logamax U122/Cerapur", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||||
{206, DeviceType::BOILER, "Ecomline Excellent", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
{206, DeviceType::BOILER, "Ecomline Excellent", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||||
{208, DeviceType::BOILER, "Logamax Plus/GB192/Condens GC9000/Greenstar ErP", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
{208, DeviceType::BOILER, "Logamax Plus/GB192/Condens GC9000/Greenstar ErP", DeviceFlags::EMS_DEVICE_FLAG_NONE},
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
{203, DeviceType::THERMOSTAT, "EasyControl CT200", DeviceFlags::EMS_DEVICE_FLAG_EASY | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write
|
{203, DeviceType::THERMOSTAT, "EasyControl CT200", DeviceFlags::EMS_DEVICE_FLAG_EASY | DeviceFlags::EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write
|
||||||
|
|
||||||
// Thermostat - Buderus/Nefit/Bosch specific - 0x17 / 0x10 / 0x18 / 0x19-0x1B for hc2-4 / 0x38
|
// Thermostat - Buderus/Nefit/Bosch specific - 0x17 / 0x10 / 0x18 / 0x19-0x1B for hc2-4 / 0x38
|
||||||
{ 4, DeviceType::THERMOSTAT, "UI800", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10
|
{ 4, DeviceType::THERMOSTAT, "UI800/BC400", DeviceFlags::EMS_DEVICE_FLAG_RC300}, // 0x10
|
||||||
{ 65, DeviceType::THERMOSTAT, "RC10", DeviceFlags::EMS_DEVICE_FLAG_RC20_N},// 0x17
|
{ 65, DeviceType::THERMOSTAT, "RC10", DeviceFlags::EMS_DEVICE_FLAG_RC20_N},// 0x17
|
||||||
{ 67, DeviceType::THERMOSTAT, "RC30", DeviceFlags::EMS_DEVICE_FLAG_RC30_N},// 0x10 - based on RC35
|
{ 67, DeviceType::THERMOSTAT, "RC30", DeviceFlags::EMS_DEVICE_FLAG_RC30_N},// 0x10 - based on RC35
|
||||||
{ 77, DeviceType::THERMOSTAT, "RC20/Moduline 300", DeviceFlags::EMS_DEVICE_FLAG_RC20},// 0x17
|
{ 77, DeviceType::THERMOSTAT, "RC20/Moduline 300", DeviceFlags::EMS_DEVICE_FLAG_RC20},// 0x17
|
||||||
|
|||||||
@@ -119,7 +119,12 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
// reset is a command uses a dummy variable which is always zero, shown as blank, but provides command enum options
|
// reset is a command uses a dummy variable which is always zero, shown as blank, but provides command enum options
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &reset_, DeviceValueType::CMD, FL_(enum_reset), FL_(reset), DeviceValueUOM::NONE, MAKE_CF_CB(set_reset));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &reset_, DeviceValueType::CMD, FL_(enum_reset), FL_(reset), DeviceValueUOM::NONE, MAKE_CF_CB(set_reset));
|
||||||
has_update(reset_, 0);
|
has_update(reset_, 0);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
|
&forceHeatingOff_,
|
||||||
|
DeviceValueType::BOOL,
|
||||||
|
FL_(forceHeatingOff),
|
||||||
|
DeviceValueUOM::NONE,
|
||||||
|
MAKE_CF_CB(set_forceHeatingOff));
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &heatingActive_, DeviceValueType::BOOL, FL_(heatingActive), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &heatingActive_, DeviceValueType::BOOL, FL_(heatingActive), DeviceValueUOM::NONE);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &tapwaterActive_, DeviceValueType::BOOL, FL_(tapwaterActive), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &tapwaterActive_, DeviceValueType::BOOL, FL_(tapwaterActive), DeviceValueUOM::NONE);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &selFlowTemp_, DeviceValueType::UINT, FL_(selFlowTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_flow_temp));
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &selFlowTemp_, DeviceValueType::UINT, FL_(selFlowTemp), DeviceValueUOM::DEGREES, MAKE_CF_CB(set_flow_temp));
|
||||||
@@ -156,6 +161,18 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const
|
|||||||
DeviceValueNumOp::DV_NUMOP_DIV10,
|
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||||
FL_(exhaustTemp),
|
FL_(exhaustTemp),
|
||||||
DeviceValueUOM::DEGREES);
|
DeviceValueUOM::DEGREES);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
|
&heatblock_,
|
||||||
|
DeviceValueType::USHORT,
|
||||||
|
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||||
|
FL_(heatblock),
|
||||||
|
DeviceValueUOM::DEGREES);
|
||||||
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA,
|
||||||
|
&headertemp_,
|
||||||
|
DeviceValueType::USHORT,
|
||||||
|
DeviceValueNumOp::DV_NUMOP_DIV10,
|
||||||
|
FL_(headertemp),
|
||||||
|
DeviceValueUOM::DEGREES);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas_, DeviceValueType::BOOL, FL_(burnGas), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas_, DeviceValueType::BOOL, FL_(burnGas), DeviceValueUOM::NONE);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas2_, DeviceValueType::BOOL, FL_(burnGas2), DeviceValueUOM::NONE);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &burnGas2_, DeviceValueType::BOOL, FL_(burnGas2), DeviceValueUOM::NONE);
|
||||||
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &flameCurr_, DeviceValueType::USHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(flameCurr), DeviceValueUOM::UA);
|
register_device_value(DeviceValueTAG::TAG_DEVICE_DATA, &flameCurr_, DeviceValueType::USHORT, DeviceValueNumOp::DV_NUMOP_DIV10, FL_(flameCurr), DeviceValueUOM::UA);
|
||||||
@@ -951,6 +968,11 @@ void Boiler::check_active() {
|
|||||||
EMSESP::tap_water_active(b); // let EMS-ESP know, used in the Shower class
|
EMSESP::tap_water_active(b); // let EMS-ESP know, used in the Shower class
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Helpers::hasValue(forceHeatingOff_, EMS_VALUE_BOOL)) {
|
||||||
|
EMSESP::webSettingsService.read([&](WebSettings & settings) { forceHeatingOff_ = (settings.boiler_heatingoff || selFlowTemp_ == 0) ? 1 : 0; });
|
||||||
|
has_update(&forceHeatingOff_);
|
||||||
|
}
|
||||||
|
|
||||||
// calculate energy for boiler 0x08 from stored modulation an time in units of 0.01 Wh
|
// calculate energy for boiler 0x08 from stored modulation an time in units of 0.01 Wh
|
||||||
if (model() != EMS_DEVICE_FLAG_HEATPUMP) {
|
if (model() != EMS_DEVICE_FLAG_HEATPUMP) {
|
||||||
// remember values from last call
|
// remember values from last call
|
||||||
@@ -1158,6 +1180,8 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr<const Telegram> telegram
|
|||||||
has_update(telegram, sysPress_, 21);
|
has_update(telegram, sysPress_, 21);
|
||||||
|
|
||||||
//has_update(telegram, temperatur_, 13); // unknown temperature
|
//has_update(telegram, temperatur_, 13); // unknown temperature
|
||||||
|
has_update(telegram, heatblock_, 23); // see #1317
|
||||||
|
has_update(telegram, headertemp_, 25); // see #1317
|
||||||
//has_update(telegram, temperatur_, 27); // unknown temperature
|
//has_update(telegram, temperatur_, 27); // unknown temperature
|
||||||
|
|
||||||
has_update(telegram, exhaustTemp_, 31);
|
has_update(telegram, exhaustTemp_, 31);
|
||||||
@@ -1206,6 +1230,11 @@ void Boiler::process_UBAMonitorSlow(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes
|
has_update(telegram, burn2WorkMin_, 16, 3); // force to 3 bytes
|
||||||
has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes
|
has_update(telegram, heatWorkMin_, 19, 3); // force to 3 bytes
|
||||||
has_update(telegram, heatStarts_, 22, 3); // force to 3 bytes
|
has_update(telegram, heatStarts_, 22, 3); // force to 3 bytes
|
||||||
|
|
||||||
|
if (forceHeatingOff_ == EMS_VALUE_BOOL_ON && telegram->dest == 0) {
|
||||||
|
uint8_t data[] = {0, 0, 0, 0};
|
||||||
|
write_command(EMS_TYPE_UBASetPoints, 0, data, sizeof(data), 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1236,6 +1265,11 @@ void Boiler::process_UBAMonitorSlowPlus(std::shared_ptr<const Telegram> telegram
|
|||||||
has_update(telegram, heatStarts_, 22, 3); // force to 3 bytes
|
has_update(telegram, heatStarts_, 22, 3); // force to 3 bytes
|
||||||
has_update(telegram, heatingPumpMod_, 25);
|
has_update(telegram, heatingPumpMod_, 25);
|
||||||
// temperature measurements at 4, see #620
|
// temperature measurements at 4, see #620
|
||||||
|
|
||||||
|
if (forceHeatingOff_ == EMS_VALUE_BOOL_ON && telegram->dest == 0) {
|
||||||
|
uint8_t data[] = {0, 0, 0, 0};
|
||||||
|
write_command(EMS_TYPE_UBASetPoints, 0, data, sizeof(data), 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1485,6 +1519,12 @@ void Boiler::process_UBASetPoints(std::shared_ptr<const Telegram> telegram) {
|
|||||||
has_update(telegram, setFlowTemp_, 0); // boiler set temp from thermostat
|
has_update(telegram, setFlowTemp_, 0); // boiler set temp from thermostat
|
||||||
has_update(telegram, setBurnPow_, 1); // max burner power in %
|
has_update(telegram, setBurnPow_, 1); // max burner power in %
|
||||||
has_update(telegram, wwSetPumpPower_, 2); // ww pump speed/power?
|
has_update(telegram, wwSetPumpPower_, 2); // ww pump speed/power?
|
||||||
|
|
||||||
|
// overwrite other settings on receive?
|
||||||
|
if (forceHeatingOff_ == EMS_VALUE_BOOL_ON && telegram->dest == 0x08) {
|
||||||
|
uint8_t data[] = {0, 0, 0, 0};
|
||||||
|
write_command(EMS_TYPE_UBASetPoints, 0, data, sizeof(data), 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
@@ -2035,9 +2075,6 @@ bool Boiler::set_ww_chargeOptimization(const char * value, const int8_t id) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// set dhw max power
|
// set dhw max power
|
||||||
bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
|
bool Boiler::set_ww_maxpower(const char * value, const int8_t id) {
|
||||||
int v;
|
int v;
|
||||||
@@ -2346,12 +2383,10 @@ bool Boiler::set_reset(const char * value, const int8_t id) {
|
|||||||
} else if (num == 1) {
|
} else if (num == 1) {
|
||||||
// LOG_INFO("Reset boiler maintenance message");
|
// LOG_INFO("Reset boiler maintenance message");
|
||||||
write_command(0x05, 0x08, 0xFF, 0x1C);
|
write_command(0x05, 0x08, 0xFF, 0x1C);
|
||||||
has_update(&reset_);
|
|
||||||
return true;
|
return true;
|
||||||
} else if (num == 2) {
|
} else if (num == 2) {
|
||||||
// LOG_INFO("Reset boiler error message");
|
// LOG_INFO("Reset boiler error message");
|
||||||
write_command(0x05, 0x00, 0x5A); // error reset
|
write_command(0x05, 0x00, 0x5A); // error reset
|
||||||
has_update(&reset_);
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -2754,6 +2789,22 @@ bool Boiler::set_wwAltOpPrio(const char * value, const int8_t id) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Boiler::set_forceHeatingOff(const char * value, const int8_t id) {
|
||||||
|
bool v;
|
||||||
|
if (Helpers::value2bool(value, v)) {
|
||||||
|
has_update(forceHeatingOff_, v);
|
||||||
|
if (!v && Helpers::hasValue(heatingTemp_)) {
|
||||||
|
uint8_t data[] = {heatingTemp_,
|
||||||
|
(Helpers::hasValue(burnMaxPower_) ? burnMaxPower_ : (uint8_t)100),
|
||||||
|
(Helpers::hasValue(pumpModMax_) ? pumpModMax_ : (uint8_t)0),
|
||||||
|
0};
|
||||||
|
write_command(EMS_TYPE_UBASetPoints, 0, data, sizeof(data), 0);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// energy counters. Setting an invalid value does not update, but trigger a store.
|
// energy counters. Setting an invalid value does not update, but trigger a store.
|
||||||
bool Boiler::set_nrgHeat(const char * value, const int8_t id) {
|
bool Boiler::set_nrgHeat(const char * value, const int8_t id) {
|
||||||
float v;
|
float v;
|
||||||
|
|||||||
@@ -88,7 +88,6 @@ class Boiler : public EMSdevice {
|
|||||||
uint32_t wwWorkM_; // DHW minutes
|
uint32_t wwWorkM_; // DHW minutes
|
||||||
int8_t wwHystOn_;
|
int8_t wwHystOn_;
|
||||||
int8_t wwHystOff_;
|
int8_t wwHystOff_;
|
||||||
uint8_t wwTapActivated_; // maintenance-mode to switch DHW off
|
|
||||||
uint16_t wwMixerTemp_; // mixing temperature
|
uint16_t wwMixerTemp_; // mixing temperature
|
||||||
uint16_t wwCylMiddleTemp_; // Cyl middle temperature (TS3)
|
uint16_t wwCylMiddleTemp_; // Cyl middle temperature (TS3)
|
||||||
uint16_t wwSolarTemp_;
|
uint16_t wwSolarTemp_;
|
||||||
@@ -96,6 +95,10 @@ class Boiler : public EMSdevice {
|
|||||||
uint8_t wwAltOpPrioHeat_; // alternating operation, prioritize heat time
|
uint8_t wwAltOpPrioHeat_; // alternating operation, prioritize heat time
|
||||||
uint8_t wwAltOpPrioWw_; // alternating operation, prioritize dhw time
|
uint8_t wwAltOpPrioWw_; // alternating operation, prioritize dhw time
|
||||||
|
|
||||||
|
// special function
|
||||||
|
uint8_t forceHeatingOff_;
|
||||||
|
uint8_t wwTapActivated_; // maintenance-mode to switch DHW off
|
||||||
|
|
||||||
// main
|
// main
|
||||||
uint8_t reset_; // for reset command
|
uint8_t reset_; // for reset command
|
||||||
uint8_t heatingActive_; // Central heating is on/off
|
uint8_t heatingActive_; // Central heating is on/off
|
||||||
@@ -145,6 +148,8 @@ class Boiler : public EMSdevice {
|
|||||||
uint16_t serviceCodeNumber_; // error/service code
|
uint16_t serviceCodeNumber_; // error/service code
|
||||||
uint8_t emergencyOps_;
|
uint8_t emergencyOps_;
|
||||||
uint8_t emergencyTemp_;
|
uint8_t emergencyTemp_;
|
||||||
|
uint16_t headertemp_; // see #1317
|
||||||
|
uint16_t heatblock_; // see #1317
|
||||||
|
|
||||||
// info
|
// info
|
||||||
uint32_t upTimeControl_; // Operating time control
|
uint32_t upTimeControl_; // Operating time control
|
||||||
@@ -468,6 +473,8 @@ class Boiler : public EMSdevice {
|
|||||||
inline bool set_wwAltOpPrioWw(const char * value, const int8_t id) {
|
inline bool set_wwAltOpPrioWw(const char * value, const int8_t id) {
|
||||||
return set_wwAltOpPrio(value, 3);
|
return set_wwAltOpPrio(value, 3);
|
||||||
}
|
}
|
||||||
|
bool set_forceHeatingOff(const char * value, const int8_t id);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
bool set_hybridStrategy(const char * value, const int8_t id);
|
bool set_hybridStrategy(const char * value, const int8_t id);
|
||||||
bool set_switchOverTemp(const char * value, const int8_t id);
|
bool set_switchOverTemp(const char * value, const int8_t id);
|
||||||
|
|||||||
@@ -283,6 +283,7 @@ MAKE_TRANSLATION(haclimate, "haclimate", "Discovery current room temperature", "
|
|||||||
|
|
||||||
// Entity translations: tag, mqtt, en, de, nl, sv, pl, no, fr, tr, it
|
// Entity translations: tag, mqtt, en, de, nl, sv, pl, no, fr, tr, it
|
||||||
// Boiler
|
// Boiler
|
||||||
|
MAKE_TRANSLATION(forceHeatingOff, "heatingoff", "force heating off", "Heizen abschalten", "", "", "", "", "", "", "") // TODO translate
|
||||||
MAKE_TRANSLATION(wwtapactivated, "wwtapactivated", "turn on/off", "Durchlauferhitzer aktiv", "zet aan/uit", "på/av", "system przygotowywania", "Varmtvann active", "ecs activée", "aç/kapa", "commuta on/off")
|
MAKE_TRANSLATION(wwtapactivated, "wwtapactivated", "turn on/off", "Durchlauferhitzer aktiv", "zet aan/uit", "på/av", "system przygotowywania", "Varmtvann active", "ecs activée", "aç/kapa", "commuta on/off")
|
||||||
MAKE_TRANSLATION(reset, "reset", "reset", "Reset", "Reset", "Nollställ", "kasowanie komunikatu", "nullstill", "reset", "Sıfırla", "Reset")
|
MAKE_TRANSLATION(reset, "reset", "reset", "Reset", "Reset", "Nollställ", "kasowanie komunikatu", "nullstill", "reset", "Sıfırla", "Reset")
|
||||||
MAKE_TRANSLATION(oilPreHeat, "oilpreheat", "oil preheating", "Ölvorwärmung", "Olie voorverwarming", "Förvärmning olja", "podgrzewanie oleju", "oljeforvarming", "préchauffage de l'huile", "Yakıt Ön ısıtma devrede", "preriscaldamento olio")
|
MAKE_TRANSLATION(oilPreHeat, "oilpreheat", "oil preheating", "Ölvorwärmung", "Olie voorverwarming", "Förvärmning olja", "podgrzewanie oleju", "oljeforvarming", "préchauffage de l'huile", "Yakıt Ön ısıtma devrede", "preriscaldamento olio")
|
||||||
@@ -336,6 +337,8 @@ MAKE_TRANSLATION(maintenanceTime, "maintenancetime", "time to next maintenance",
|
|||||||
MAKE_TRANSLATION(emergencyOps, "emergencyops", "emergency operation", "Notoperation", "Noodoperatie", "Nöddrift", "praca w trybie awaryjnym", "nøddrift", "opération d'urgence", "acil durum çalışması", "operazione di emergenza")
|
MAKE_TRANSLATION(emergencyOps, "emergencyops", "emergency operation", "Notoperation", "Noodoperatie", "Nöddrift", "praca w trybie awaryjnym", "nøddrift", "opération d'urgence", "acil durum çalışması", "operazione di emergenza")
|
||||||
MAKE_TRANSLATION(emergencyTemp, "emergencytemp", "emergency temperature", "Nottemperatur", "Noodtemperatuur", "Nöddrift temperatur", "temperatura w trybie awaryjnym", "nødtemperatur", "température d'urgence", "acil durum sıcaklığı", "temperatura di emergenza")
|
MAKE_TRANSLATION(emergencyTemp, "emergencytemp", "emergency temperature", "Nottemperatur", "Noodtemperatuur", "Nöddrift temperatur", "temperatura w trybie awaryjnym", "nødtemperatur", "température d'urgence", "acil durum sıcaklığı", "temperatura di emergenza")
|
||||||
MAKE_TRANSLATION(pumpMode, "pumpmode", "boiler pump mode", "Kesselpumpen Modus", "Ketelpomp modus", "", "tryb pracy pompy kotła", "pumpemodus", "", "pompa modu", "modalità pompa caldaia") // TODO translate
|
MAKE_TRANSLATION(pumpMode, "pumpmode", "boiler pump mode", "Kesselpumpen Modus", "Ketelpomp modus", "", "tryb pracy pompy kotła", "pumpemodus", "", "pompa modu", "modalità pompa caldaia") // TODO translate
|
||||||
|
MAKE_TRANSLATION(headertemp, "headertemp", "low loss header", "Hydr. Weiche", "open verdeler", "", "", "", " bouteille de déc. hydr.", "isı bloğu gidiş suyu sıc.", "comp. idr.") // TODO translate
|
||||||
|
MAKE_TRANSLATION(heatblock, "heatblock", "heating block", "Wärmezelle", "Aanvoertemp. warmtecel", "", "", "", "départ corps de chauffe", "Hid.denge kabı sıcaklığı", "mandata scamb. pr.") // TODO translate
|
||||||
|
|
||||||
// heatpump/compress specific
|
// heatpump/compress specific
|
||||||
MAKE_TRANSLATION(upTimeControl, "uptimecontrol", "total operating time heat", "Betriebszeit Heizen gesamt", "Totale bedrijfstijd", "Total tid uppvärmning", "łączny czas generowania ciepła", "total driftstid", "durée totale de fonctionnement chauffage", "ısınma toplam işletme süresi", "Tempo di funzionamento totale riscaldamento")
|
MAKE_TRANSLATION(upTimeControl, "uptimecontrol", "total operating time heat", "Betriebszeit Heizen gesamt", "Totale bedrijfstijd", "Total tid uppvärmning", "łączny czas generowania ciepła", "total driftstid", "durée totale de fonctionnement chauffage", "ısınma toplam işletme süresi", "Tempo di funzionamento totale riscaldamento")
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ void WebSettings::read(WebSettings & settings, JsonObject & root) {
|
|||||||
root["syslog_mark_interval"] = settings.syslog_mark_interval;
|
root["syslog_mark_interval"] = settings.syslog_mark_interval;
|
||||||
root["syslog_host"] = settings.syslog_host;
|
root["syslog_host"] = settings.syslog_host;
|
||||||
root["syslog_port"] = settings.syslog_port;
|
root["syslog_port"] = settings.syslog_port;
|
||||||
|
root["boiler_heatingoff"] = settings.boiler_heatingoff;
|
||||||
root["shower_timer"] = settings.shower_timer;
|
root["shower_timer"] = settings.shower_timer;
|
||||||
root["shower_alert"] = settings.shower_alert;
|
root["shower_alert"] = settings.shower_alert;
|
||||||
root["shower_alert_coldshot"] = settings.shower_alert_coldshot;
|
root["shower_alert_coldshot"] = settings.shower_alert_coldshot;
|
||||||
@@ -273,8 +274,9 @@ StateUpdateResult WebSettings::update(JsonObject & root, WebSettings & settings)
|
|||||||
settings.trace_raw = root["trace_raw"] | EMSESP_DEFAULT_TRACELOG_RAW;
|
settings.trace_raw = root["trace_raw"] | EMSESP_DEFAULT_TRACELOG_RAW;
|
||||||
EMSESP::trace_raw(settings.trace_raw);
|
EMSESP::trace_raw(settings.trace_raw);
|
||||||
|
|
||||||
settings.notoken_api = root["notoken_api"] | EMSESP_DEFAULT_NOTOKEN_API;
|
settings.notoken_api = root["notoken_api"] | EMSESP_DEFAULT_NOTOKEN_API;
|
||||||
settings.solar_maxflow = root["solar_maxflow"] | EMSESP_DEFAULT_SOLAR_MAXFLOW;
|
settings.solar_maxflow = root["solar_maxflow"] | EMSESP_DEFAULT_SOLAR_MAXFLOW;
|
||||||
|
settings.boiler_heatingoff = root["boiler_heatingoff"] | EMSESP_DEFAULT_BOILER_HEATINGOFF;
|
||||||
|
|
||||||
settings.fahrenheit = root["fahrenheit"];
|
settings.fahrenheit = root["fahrenheit"];
|
||||||
EMSESP::system_.fahrenheit(settings.fahrenheit);
|
EMSESP::system_.fahrenheit(settings.fahrenheit);
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ class WebSettings {
|
|||||||
String locale;
|
String locale;
|
||||||
uint8_t tx_mode;
|
uint8_t tx_mode;
|
||||||
uint8_t ems_bus_id;
|
uint8_t ems_bus_id;
|
||||||
|
bool boiler_heatingoff;
|
||||||
bool shower_timer;
|
bool shower_timer;
|
||||||
bool shower_alert;
|
bool shower_alert;
|
||||||
uint8_t shower_alert_trigger;
|
uint8_t shower_alert_trigger;
|
||||||
|
|||||||
Reference in New Issue
Block a user