From de9c224a23d0d9ea445cf25e8b81b21b6b809912 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 30 Jan 2024 08:05:50 +0100 Subject: [PATCH 1/8] show sensor command commands --- src/analogsensor.cpp | 10 +++++----- src/command.cpp | 14 ++++++-------- src/temperaturesensor.cpp | 10 +++++----- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/analogsensor.cpp b/src/analogsensor.cpp index 46794b512..e61915a26 100644 --- a/src/analogsensor.cpp +++ b/src/analogsensor.cpp @@ -623,6 +623,11 @@ void AnalogSensor::publish_values(const bool force) { // called from emsesp.cpp for commands // searches sensor by name bool AnalogSensor::get_value_info(JsonObject output, const char * cmd, const int8_t id) { + // check of it a 'commmands' command + if (Helpers::toLower(cmd) == F_(commands)) { + return Command::list(EMSdevice::DeviceType::ANALOGSENSOR, output); + } + if (sensors_.empty()) { return true; // no sensors, return true } @@ -647,11 +652,6 @@ bool AnalogSensor::get_value_info(JsonObject output, const char * cmd, const int return true; } - // check of it a 'commmands' command - if (Helpers::toLower(cmd) == F_(commands)) { - return Command::list(EMSdevice::DeviceType::TEMPERATURESENSOR, output); - } - // this is for a specific sensor // make a copy of the string command for parsing, and lowercase it char sensor_name[30] = {'\0'}; diff --git a/src/command.cpp b/src/command.cpp index 12b4e13a7..9b5037060 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -176,7 +176,7 @@ uint8_t Command::process(const char * path, const bool is_admin, const JsonObjec String dat = output["api_data"]; output.clear(); input["data"] = dat.c_str(); - data = input["data"]; + data = input["data"]; } } } @@ -439,7 +439,11 @@ void Command::erase_command(const uint8_t device_type, const char * cmd) { // list all commands for a specific device, output as json bool Command::list(const uint8_t device_type, JsonObject output) { - if (cmdfunctions_.empty()) { + // force add info and commands for those non-EMS devices + if (device_type == EMSdevice::DeviceType::TEMPERATURESENSOR || device_type == EMSdevice::DeviceType::ANALOGSENSOR) { + output[F_(info)] = Helpers::translated_word(FL_(info_cmd)); + output[F_(commands)] = Helpers::translated_word(FL_(commands_cmd)); + } else if (cmdfunctions_.empty()) { output["message"] = "no commands available"; return false; } @@ -453,12 +457,6 @@ bool Command::list(const uint8_t device_type, JsonObject output) { } sorted_cmds.sort(); - // force add info and commands for those non-EMS devices - if (device_type == EMSdevice::DeviceType::TEMPERATURESENSOR) { - output[F_(info)] = Helpers::translated_word(FL_(info_cmd)); - output[F_(commands)] = Helpers::translated_word(FL_(commands_cmd)); - } - for (const auto & cl : sorted_cmds) { for (const auto & cf : cmdfunctions_) { if ((cf.device_type_ == device_type) && !cf.has_flags(CommandFlag::HIDDEN) && cf.description_ && (cl == std::string(cf.cmd_))) { diff --git a/src/temperaturesensor.cpp b/src/temperaturesensor.cpp index 096bb6538..841ef633c 100644 --- a/src/temperaturesensor.cpp +++ b/src/temperaturesensor.cpp @@ -345,6 +345,11 @@ bool TemperatureSensor::updated_values() { // called from emsesp.cpp for commands bool TemperatureSensor::get_value_info(JsonObject output, const char * cmd, const int8_t id) { + // check of it a 'commmands' command + if (Helpers::toLower(cmd) == F_(commands)) { + return Command::list(EMSdevice::DeviceType::TEMPERATURESENSOR, output); + } + if (sensors_.empty()) { return true; // no sensors, return true } @@ -372,11 +377,6 @@ bool TemperatureSensor::get_value_info(JsonObject output, const char * cmd, cons return true; } - // check of it a 'commmands' command - if (Helpers::toLower(cmd) == F_(commands)) { - return Command::list(EMSdevice::DeviceType::TEMPERATURESENSOR, output); - } - // this is for a specific sensor // make a copy of the string command for parsing, and lowercase it char sensor_name[30] = {'\0'}; From 427e8cf11c7b3c37fdb264b2105354b6465b678e Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 30 Jan 2024 08:09:03 +0100 Subject: [PATCH 2/8] update packages --- interface/package.json | 6 +-- interface/yarn.lock | 114 ++++++++++++++++++++--------------------- 2 files changed, 60 insertions(+), 60 deletions(-) diff --git a/interface/package.json b/interface/package.json index 3546a18cb..128ff5c98 100644 --- a/interface/package.json +++ b/interface/package.json @@ -31,7 +31,7 @@ "@table-library/react-table-library": "4.1.7", "@types/imagemin": "^8.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.11.9", + "@types/node": "^20.11.10", "@types/react": "^18.2.48", "@types/react-dom": "^18.2.18", "@types/react-router-dom": "^5.3.3", @@ -54,8 +54,8 @@ "devDependencies": { "@preact/compat": "^17.1.2", "@preact/preset-vite": "^2.8.1", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", + "@typescript-eslint/eslint-plugin": "^6.20.0", + "@typescript-eslint/parser": "^6.20.0", "concurrently": "^8.2.2", "eslint": "^8.56.0", "eslint-config-airbnb": "^19.0.4", diff --git a/interface/yarn.lock b/interface/yarn.lock index c7f2946b1..aca552587 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1590,12 +1590,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.11.9": - version: 20.11.9 - resolution: "@types/node@npm:20.11.9" +"@types/node@npm:^20.11.10": + version: 20.11.10 + resolution: "@types/node@npm:20.11.10" dependencies: undici-types: "npm:~5.26.4" - checksum: 5683ec162f7975119b9c9b026f00bfc8e4fcd02d87ba106787685765fe042b8c16b71241baec043b6ac19caa343fe4e0edcb252c74943c36b98fadd72c8924fe + checksum: 41ca9c7e7c95bf070ad747ab266f267f41950e01f5ddda739d0665c2ed39acc45cce46f78e33ffa2bf2dacd74a8493044b967c86358017dacce12958e49db664 languageName: node linkType: hard @@ -1713,15 +1713,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/eslint-plugin@npm:6.19.1" +"@typescript-eslint/eslint-plugin@npm:^6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.20.0" dependencies: "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.19.1" - "@typescript-eslint/type-utils": "npm:6.19.1" - "@typescript-eslint/utils": "npm:6.19.1" - "@typescript-eslint/visitor-keys": "npm:6.19.1" + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/type-utils": "npm:6.20.0" + "@typescript-eslint/utils": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" debug: "npm:^4.3.4" graphemer: "npm:^1.4.0" ignore: "npm:^5.2.4" @@ -1734,44 +1734,44 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: e88a35527b066a42d0253d153183a360faedc1cd39867c541ce7cb1f7b22f8446bb913b998fcdeba269d5d4217888af42e6d64da5c0592b1f49ed5648d2e3e84 + checksum: dee6a2392c831e6ae69611ecc4de06e66a7b16f6bf6d8e3bfd25091eb14d88c9d0bb9c9cd634efcfa318902341f7a459cf48f713d55cb1d610145ca1f52af4d3 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/parser@npm:6.19.1" +"@typescript-eslint/parser@npm:^6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/parser@npm:6.20.0" dependencies: - "@typescript-eslint/scope-manager": "npm:6.19.1" - "@typescript-eslint/types": "npm:6.19.1" - "@typescript-eslint/typescript-estree": "npm:6.19.1" - "@typescript-eslint/visitor-keys": "npm:6.19.1" + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/typescript-estree": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 63ff00a56586879a62e40b27b55c94501173fcf2fb5a620d01e7505851b4bb20feb1e7fbad36010af97aefc0a722267d9ce3aa004abab22cb7eb23eebb0102ce + checksum: 691062d47cae7977604ede848ffff3689162428a53577f298989f585954aa3a3450e7fd5c2b363d024cd5f16022c163cecf0f1f1d138234bbd78048050b4b8bf languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/scope-manager@npm:6.19.1" +"@typescript-eslint/scope-manager@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/scope-manager@npm:6.20.0" dependencies: - "@typescript-eslint/types": "npm:6.19.1" - "@typescript-eslint/visitor-keys": "npm:6.19.1" - checksum: 2a17f68d3c41582bfac7ecd192e2c2539cf4d2c9728a7018d842da7a8a23986b8a1f8cfcb59862c909b483140a2d164a4ba44451905e0a141378e5dd0df056cc + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" + checksum: 2c1a644f2931454b34875f2e6dffad52a1fc7b6ac508d7d1ad3cd9da028a7dff9c6191feeea2c9ca691deba199ac9e83cbd0036914be4cd45b6954437f03c09a languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/type-utils@npm:6.19.1" +"@typescript-eslint/type-utils@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/type-utils@npm:6.20.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:6.19.1" - "@typescript-eslint/utils": "npm:6.19.1" + "@typescript-eslint/typescript-estree": "npm:6.20.0" + "@typescript-eslint/utils": "npm:6.20.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.0.1" peerDependencies: @@ -1779,23 +1779,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 5150b897d8b3778c549c6b964b031981da1039dfa0fb89a0eb92702735ca55793d2f840af14b340eccbca81669ba3dd02d7f09fb420fb66b18ec9f1f211b3243 + checksum: bc2f2793cfec3463164b5f5ded31b4e169e21c3a1990c1ce4effe70a359c486d92fbbc4cd92758bbf1c30a468ad0839e0fa890bd452c707d0c294cb3a7b14021 languageName: node linkType: hard -"@typescript-eslint/types@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/types@npm:6.19.1" - checksum: 93f3ded80b81a1b8686866b93e36ddf9bac04604d09e88d7ed1ec25b6b2f49ff64747d8d194ba1f3215e231fd0790b88fb5ecadcc6ed53ff584f8c0b87423216 +"@typescript-eslint/types@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/types@npm:6.20.0" + checksum: 74ed1761e27c3c1a29fd260fe51096f42cfb1472b20390d6df6ec41de0420208f379e809de416e81cd7c00fdc3d5550b2391872be56bf4a1b0c595f71db0b1ea languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/typescript-estree@npm:6.19.1" +"@typescript-eslint/typescript-estree@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.20.0" dependencies: - "@typescript-eslint/types": "npm:6.19.1" - "@typescript-eslint/visitor-keys": "npm:6.19.1" + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" debug: "npm:^4.3.4" globby: "npm:^11.1.0" is-glob: "npm:^4.0.3" @@ -1805,34 +1805,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 3ce91dd477ccb2cc3cf5d07ac8d23792988f4fad78bfd39783292846f32daea5081d3790ba9cc795d9de89ea2e1d55dc9c3d2aeaa8597093b0f6ac3a206195e9 + checksum: 55b280c6e71c79cb009ac80189a7f0e1aa9011bc7206c810bbb52d9703a894aa2817dfd44d947edf64d62f3aa0962e01f3423fcb21d2f39964a4840287d9e196 languageName: node linkType: hard -"@typescript-eslint/utils@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/utils@npm:6.19.1" +"@typescript-eslint/utils@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/utils@npm:6.20.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" "@types/json-schema": "npm:^7.0.12" "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.19.1" - "@typescript-eslint/types": "npm:6.19.1" - "@typescript-eslint/typescript-estree": "npm:6.19.1" + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/typescript-estree": "npm:6.20.0" semver: "npm:^7.5.4" peerDependencies: eslint: ^7.0.0 || ^8.0.0 - checksum: f8931df675defa84af373c81bbb13cc34c2fcf0803c687a38b982e85335dbf2fb8415667fbabaa043df0326ba3e98ed974104bbd21f09ec538304fc3adeed0c3 + checksum: 6d4604be6123e0073dd5e7dd357c95b370c678572d2e982478d0d6937d4d65f0cad0ac207b8b724f3bce239e64ba1ddd6bece11e1592734d8bf691177e6971e6 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:6.19.1": - version: 6.19.1 - resolution: "@typescript-eslint/visitor-keys@npm:6.19.1" +"@typescript-eslint/visitor-keys@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" dependencies: - "@typescript-eslint/types": "npm:6.19.1" + "@typescript-eslint/types": "npm:6.20.0" eslint-visitor-keys: "npm:^3.4.1" - checksum: b41f3247520e1e4d3e43876843b03f0d887e544d4ac8a9e1f4b25d08568da36fedde883fa226488a595f688198859cd0290d0f1351c2ca6cbc30cca2c90adf21 + checksum: df066c73f3880ad78880c442f307e58f026e6047d9caab9d7c356d13276f4fe466fab3e8d19cdb1e6749e87639cb7c4babcfe118f554fcd2d3929ce9f4983216 languageName: node linkType: hard @@ -1858,12 +1858,12 @@ __metadata: "@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.11.9" + "@types/node": "npm:^20.11.10" "@types/react": "npm:^18.2.48" "@types/react-dom": "npm:^18.2.18" "@types/react-router-dom": "npm:^5.3.3" - "@typescript-eslint/eslint-plugin": "npm:^6.19.1" - "@typescript-eslint/parser": "npm:^6.19.1" + "@typescript-eslint/eslint-plugin": "npm:^6.20.0" + "@typescript-eslint/parser": "npm:^6.20.0" alova: "npm:^2.17.0" async-validator: "npm:^4.2.5" concurrently: "npm:^8.2.2" From 5bd9ec963f3f5ad64c11010ba3c6263583d2496a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Tue, 30 Jan 2024 08:09:18 +0100 Subject: [PATCH 3/8] update translations --- interface/src/i18n/de/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interface/src/i18n/de/index.ts b/interface/src/i18n/de/index.ts index 1f03f7fb6..82ef8523e 100644 --- a/interface/src/i18n/de/index.ts +++ b/interface/src/i18n/de/index.ts @@ -191,7 +191,7 @@ const de: Translation = { THE_LATEST: 'Die neueste', OFFICIAL: 'offizielle', DEVELOPMENT: 'Entwicklungs', - RELEASE_IS: 'release ist', // TODO translate + RELEASE_IS: 'Release ist', RELEASE_NOTES: 'Versionshinweise', EMS_ESP_VER: 'EMS-ESP Version', UPTIME: 'System Betriebszeit', @@ -228,7 +228,7 @@ const de: Translation = { BROKER: 'Broker', CLIENT: 'Client', BASE_TOPIC: 'Base', - OPTIONAL: 'Optional', // TODO translate + OPTIONAL: 'Optional', FORMATTING: 'Formattierung', MQTT_FORMAT: 'Topic/Payload Format', MQTT_NEST_1: 'Eingebettet in einem Gesamttopic', @@ -307,7 +307,7 @@ const de: Translation = { LEAVE: 'Verlassen', SCHEDULER: 'Planer', SCHEDULER_HELP_1: 'Fügen Sie eigene, geplante Befehle zur Automatisierung hinzu. Vergeben Sie einen Entitätsnamen um die Aktivierung über API/Mqtt zu steuern', - SCHEDULER_HELP_2: 'Use 00:00 to trigger once on start-up', // TODO translate + SCHEDULER_HELP_2: '00:00 aktiviert einmalige Ausführung am Start', SCHEDULE: 'Zeitplan', TIME: 'Zeit', TIMER: 'Timer', @@ -316,7 +316,7 @@ const de: Translation = { SCHEDULE_TIMER_2: 'jede Minute', SCHEDULE_TIMER_3: 'jede Stunde', CUSTOM_ENTITIES: 'Individuelle Entitäten', - ENTITIES_HELP_1: 'Abfrage von Werten auf dem EMS-Bus', // TODO translate + ENTITIES_HELP_1: 'Definition eigener EMS-Werte oder dynamischer Variablen', ENTITIES_UPDATED: 'Entitäten gespeichert', WRITEABLE: 'Schreibbar', SHOWING: 'Anzeigen von', From 9573c4ed94b48cf53f81601a7eb6b8df12ef1ccf Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 3 Feb 2024 14:58:07 +0100 Subject: [PATCH 4/8] pretty_telegram 2nd fallback for name --- src/emsesp.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/emsesp.cpp b/src/emsesp.cpp index 59f31218d..646eb61a6 100644 --- a/src/emsesp.cpp +++ b/src/emsesp.cpp @@ -742,10 +742,20 @@ std::string EMSESP::pretty_telegram(std::shared_ptr telegram) { for (const auto & emsdevice : emsdevices) { if (telegram->operation != Telegram::Operation::RX_READ && emsdevice->is_device_id(src)) { type_name = emsdevice->telegram_type_name(telegram); + break; } } } + if (type_name.empty()) { + // 2nd fallback, get the type name from dest + for (const auto & emsdevice : emsdevices) { + if (telegram->operation != Telegram::Operation::RX_READ && emsdevice->is_device_id(dest)) { + type_name = emsdevice->telegram_type_name(telegram); + break; + } + } + } // if we can't find names for the devices, use their hex values if (src_name.empty()) { src_name = device_tostring(src); From 38e08be7520d27bf50b9ed4eb8e74305dfb9346a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 3 Feb 2024 14:58:49 +0100 Subject: [PATCH 5/8] button should always be input --- lib/PButton/PButon.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/PButton/PButon.cpp b/lib/PButton/PButon.cpp index dfbf4f898..61b8001d2 100644 --- a/lib/PButton/PButon.cpp +++ b/lib/PButton/PButon.cpp @@ -55,7 +55,7 @@ bool PButton::init(uint8_t pin, bool pullMode) { #if defined(ESP32) pinMode(pin_, pullMode ? INPUT_PULLUP : INPUT_PULLDOWN); -#else // esp8266 and standalone +#else // esp8266 and standalone pinMode(pin_, pullMode ? INPUT_PULLUP : INPUT); #endif enabled_ = (digitalRead(pin_) == pullMode); // see if a button is connected @@ -91,6 +91,12 @@ bool PButton::check(void) { int resultEvent = 0; long millisRes = millis(); + // make sure the pin is still input +#if defined(ESP32) + pinMode(pin_, pullMode_ ? INPUT_PULLUP : INPUT_PULLDOWN); +#else // esp8266 and standalone + pinMode(pin_, pullMode_ ? INPUT_PULLUP : INPUT); +#endif state_ = digitalRead(pin_) == pullMode_; // Button pressed down From d32178480d5eeba33e24ec0d75915690df57b17b Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 3 Feb 2024 14:59:14 +0100 Subject: [PATCH 6/8] fix #1599 --- interface/src/project/DashboardDevicesDialog.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/interface/src/project/DashboardDevicesDialog.tsx b/interface/src/project/DashboardDevicesDialog.tsx index aab6fa30d..dbc943b78 100644 --- a/interface/src/project/DashboardDevicesDialog.tsx +++ b/interface/src/project/DashboardDevicesDialog.tsx @@ -26,7 +26,7 @@ import type { ValidateFieldsError } from 'async-validator'; import { dialogStyle } from 'CustomTheme'; import { ValidatedTextField } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; -import { updateValue } from 'utils'; +import { updateValue, numberValue } from 'utils'; import { validate } from 'validators'; @@ -133,7 +133,7 @@ const DashboardDevicesDialog = ({ fieldErrors={fieldErrors} name="v" label={LL.VALUE(1)} - value={Math.round(editItem.v * 10) / 10} + value={numberValue(Math.round(editItem.v * 10) / 10)} autoFocus disabled={!writeable} type="number" From 3bb7e3514f95b59aabe556a08e3c5ae208903c39 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 3 Feb 2024 18:14:31 +0100 Subject: [PATCH 7/8] add #1597 temp diff --- src/devices/boiler.cpp | 37 +++++++++++++++++++++++++++++++++++++ src/devices/boiler.h | 13 +++++++++++++ src/locale_translations.h | 3 +++ 3 files changed, 53 insertions(+) diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 8a2e5333f..8a54d7429 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -806,6 +806,30 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const MAKE_CF_CB(set_wwEcoPlusOffTemp), 48, 63); + register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, + &wwComfDiffTemp_, + DeviceValueType::UINT, + FL_(wwComfDiffTemp), + DeviceValueUOM::K, + MAKE_CF_CB(set_wwComfDiffTemp), + 6, + 12); + register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, + &wwEcoDiffTemp_, + DeviceValueType::UINT, + FL_(wwEcoDiffTemp), + DeviceValueUOM::K, + MAKE_CF_CB(set_wwEcoDiffTemp), + 6, + 12); + register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, + &wwEcoPlusDiffTemp_, + DeviceValueType::UINT, + FL_(wwEcoPlusDiffTemp), + DeviceValueUOM::K, + MAKE_CF_CB(set_wwEcoPlusDiffTemp), + 6, + 12); register_device_value(DeviceValueTAG::TAG_BOILER_DATA_WW, &hpCircPumpWw_, DeviceValueType::BOOL, @@ -1906,6 +1930,10 @@ void Boiler::process_HpDhwSettings(std::shared_ptr telegram) { has_update(telegram, wwComfOffTemp_, 1); has_update(telegram, wwEcoOffTemp_, 0); has_update(telegram, wwEcoPlusOffTemp_, 5); + // https://github.com/emsesp/EMS-ESP32/issues/1597 + has_update(telegram, wwComfDiffTemp_, 12); + has_update(telegram, wwEcoDiffTemp_, 13); + has_update(telegram, wwEcoPlusDiffTemp_, 14); } // 0x49C: @@ -2918,6 +2946,15 @@ bool Boiler::set_tempDiff(const char * value, const int8_t id) { } bool Boiler::set_wwOffTemp(const char * value, const int8_t id) { + int v; + if (Helpers::value2temperature(value, v)) { + write_command(0x499, id, v, 0x499); + return true; + } + return false; +} + +bool Boiler::set_wwDiffTemp(const char * value, const int8_t id) { int v; if (Helpers::value2number(value, v)) { write_command(0x499, id, v, 0x499); diff --git a/src/devices/boiler.h b/src/devices/boiler.h index 106764a72..ff9f7f66b 100644 --- a/src/devices/boiler.h +++ b/src/devices/boiler.h @@ -265,6 +265,9 @@ class Boiler : public EMSdevice { uint8_t wwComfOffTemp_; uint8_t wwEcoOffTemp_; uint8_t wwEcoPlusOffTemp_; + uint8_t wwComfDiffTemp_; + uint8_t wwEcoDiffTemp_; + uint8_t wwEcoPlusDiffTemp_; uint8_t vp_cooling_; uint8_t heatCable_; @@ -475,6 +478,16 @@ class Boiler : public EMSdevice { inline bool set_wwEcoPlusOffTemp(const char * value, const int8_t id) { return set_wwOffTemp(value, 5); } + bool set_wwDiffTemp(const char * value, const int8_t id); + inline bool set_wwComfDiffTemp(const char * value, const int8_t id) { + return set_wwDiffTemp(value, 12); + } + inline bool set_wwEcoDiffTemp(const char * value, const int8_t id) { + return set_wwDiffTemp(value, 13); + } + inline bool set_wwEcoPlusDiffTemp(const char * value, const int8_t id) { + return set_wwDiffTemp(value, 14); + } bool set_vp_cooling(const char * value, const int8_t id); bool set_heatCable(const char * value, const int8_t id); bool set_VC0valve(const char * value, const int8_t id); diff --git a/src/locale_translations.h b/src/locale_translations.h index 3755367e8..957a9eec7 100644 --- a/src/locale_translations.h +++ b/src/locale_translations.h @@ -435,6 +435,9 @@ MAKE_TRANSLATION(silentTo, "silentto", "silent mode to", "Silentmodus Ende", "Ei MAKE_TRANSLATION(wwComfOffTemp, "wwcomfoff", "comfort switch off", "Komfort Ausschalttemp", "Comfort Uitschakeltemp.", "Komfortläge avstängingstemp.", "temperatura wyłączania w trybie komfort", "eco modus utkoblingstem", "Confort Temp. d'arrêt", "konfor kapalı", "spegnimento modalità comfort", "komfortné vypnutie") MAKE_TRANSLATION(wwEcoOffTemp, "wwecooff", "eco switch off", "ECO Ausschalttemp", "Eco Uitschakeltemp.", "Ekoläge avstängningstemp.", "temperatura wyłączania w trybie eko", "Øko avstengningstemp.", "Eco Temp. d'arrêt", "eko kapalı", "spegnimento modalità ECO", "eko vypínač") MAKE_TRANSLATION(wwEcoPlusOffTemp, "wwecoplusoff", "eco+ switch off", "ECO+ Ausschalttemp", "Eco+ Uitschakeltemp.", "Eko+ avstängningstemp.", "temperatura wyłączania w trybie eko+", "Øko+ avstengningstemp.", "Eco+ Temp. d'arrêt", "eko+ kapalı", "spegnimento modalità ECO+", "eko+ vypnutie") +MAKE_TRANSLATION(wwComfDiffTemp, "wwcomfdiff", "comfort diff", "Komfort Differenztemp", "", "", "", "", "", "", "", "") // TODO translate +MAKE_TRANSLATION(wwEcoDiffTemp, "wwecodiff", "eco diff", "ECO Differenztemp", "", "", "", "", "", "", "", "") // TODO translate +MAKE_TRANSLATION(wwEcoPlusDiffTemp, "wwecoplusdiff", "eco+ diff", "ECO+ Differenztemp", "", "", "", "", "", "", "", "") // TODO translate MAKE_TRANSLATION(auxHeatMode, "auxheatrmode", "aux heater mode", "Modus Zusatzheizer", "Modus bijverwarmer", "", "tryb pracy dogrzewacza po blokadzie z Zakładu Energetycznego", "tilleggsvarmer modus", "", "ilave ısıtıcı modu", "modalità riscaldatore addizionale", "režim pomocného ohrievača") // TODO translate MAKE_TRANSLATION(auxMaxLimit, "auxmaxlimit", "aux heater max limit", "Zusatzheizer max. Grenze", "Bijverwarmer grensinstelling maximaal", "", "dogrzewacz, maksymalny limit", "tillegsvarme maksgrense", "", "ilave ısıtıcı maks limit", "limite massimo riscaldatore addizionale", "maximálny limit pomocného ohrievača") // TODO translate From 24162b73507307e2b111e8e21398183e7c1b31dd Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 3 Feb 2024 18:37:26 +0100 Subject: [PATCH 8/8] update packages --- interface/package.json | 10 +-- interface/yarn.lock | 180 ++++++++++++++++++++--------------------- 2 files changed, 95 insertions(+), 95 deletions(-) diff --git a/interface/package.json b/interface/package.json index 128ff5c98..9537b36fd 100644 --- a/interface/package.json +++ b/interface/package.json @@ -26,13 +26,13 @@ "@babel/core": "^7.23.9", "@emotion/react": "^11.11.3", "@emotion/styled": "^11.11.0", - "@mui/icons-material": "^5.15.6", - "@mui/material": "^5.15.6", + "@mui/icons-material": "^5.15.7", + "@mui/material": "^5.15.7", "@table-library/react-table-library": "4.1.7", "@types/imagemin": "^8.0.5", "@types/lodash-es": "^4.17.12", - "@types/node": "^20.11.10", - "@types/react": "^18.2.48", + "@types/node": "^20.11.16", + "@types/react": "^18.2.52", "@types/react-dom": "^18.2.18", "@types/react-router-dom": "^5.3.3", "alova": "^2.17.0", @@ -45,7 +45,7 @@ "react-dom": "latest", "react-dropzone": "^14.2.3", "react-icons": "^5.0.1", - "react-router-dom": "^6.21.3", + "react-router-dom": "^6.22.0", "react-toastify": "^10.0.4", "sockette": "^2.0.6", "typesafe-i18n": "^5.26.2", diff --git a/interface/yarn.lock b/interface/yarn.lock index aca552587..2eeff3c6f 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -401,12 +401,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.23.8": - version: 7.23.8 - resolution: "@babel/runtime@npm:7.23.8" +"@babel/runtime@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/runtime@npm:7.23.9" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: ec8f1967a36164da6cac868533ffdff97badd76d23d7d820cc84f0818864accef972f22f9c6a710185db1e3810e353fc18c3da721e5bb3ee8bc61bdbabce03ff + checksum: 9a520fe1bf72249f7dd60ff726434251858de15cccfca7aa831bd19d0d3fb17702e116ead82724659b8da3844977e5e13de2bae01eb8a798f2823a669f122be6 languageName: node linkType: hard @@ -872,25 +872,25 @@ __metadata: languageName: node linkType: hard -"@floating-ui/dom@npm:^1.6.0": - version: 1.6.0 - resolution: "@floating-ui/dom@npm:1.6.0" +"@floating-ui/dom@npm:^1.6.1": + version: 1.6.1 + resolution: "@floating-ui/dom@npm:1.6.1" dependencies: "@floating-ui/core": "npm:^1.6.0" "@floating-ui/utils": "npm:^0.2.1" - checksum: fc559385a27feddff31bdb9f4c8bc05e12bda5aac4e44e7b5850a2af3d2960bf58d72034ccc3fc6c1bf5e69a97d6b5958ee73a885b5e7e7594dc4fa2c22ba47d + checksum: c010feb55be37662eb4cc8d0a22e21359c25247bbdcd9557617fd305cf08c8f020435b17e4b4f410201ba9abe3a0dd96b5c42d56e85f7a5e11e7d30b85afc116 languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.6": - version: 2.0.7 - resolution: "@floating-ui/react-dom@npm:2.0.7" +"@floating-ui/react-dom@npm:^2.0.8": + version: 2.0.8 + resolution: "@floating-ui/react-dom@npm:2.0.8" dependencies: - "@floating-ui/dom": "npm:^1.6.0" + "@floating-ui/dom": "npm:^1.6.1" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 15eb9ec493781253077e7e26c65c56586a1c92c414879c55d779cba5479d46b8897de06d61c831d03d24c24894257817fed9a515a4f2dc955666df5156dd757b + checksum: e57b2a498aecf8de0ec28adf434257fca7893bd9bd7e78b63ac98c63b29b9fc086fc175630154352f3610f5c4a0d329823837f4f6c235cc0459fde6417065590 languageName: node linkType: hard @@ -992,14 +992,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:5.0.0-beta.33": - version: 5.0.0-beta.33 - resolution: "@mui/base@npm:5.0.0-beta.33" +"@mui/base@npm:5.0.0-beta.34": + version: 5.0.0-beta.34 + resolution: "@mui/base@npm:5.0.0-beta.34" dependencies: - "@babel/runtime": "npm:^7.23.8" - "@floating-ui/react-dom": "npm:^2.0.6" + "@babel/runtime": "npm:^7.23.9" + "@floating-ui/react-dom": "npm:^2.0.8" "@mui/types": "npm:^7.2.13" - "@mui/utils": "npm:^5.15.6" + "@mui/utils": "npm:^5.15.7" "@popperjs/core": "npm:^2.11.8" clsx: "npm:^2.1.0" prop-types: "npm:^15.8.1" @@ -1010,22 +1010,22 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 8898430f4c8f6d9ce2aa46f621e7a84e800ee2a08fd6ce121e999494c77256060376d11e4d05640e8848eca1d8d553e95c2a150ce68d6416a1517136e8253ef8 + checksum: 8705872e4290bec1a0e19cdb62cf0ead3b18c2fc4d404a4c2913107cc3418524d2f53c337878636af59595c5ac3631d1f108cbc236f6f9cd51b6efe768b65ea5 languageName: node linkType: hard -"@mui/core-downloads-tracker@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/core-downloads-tracker@npm:5.15.6" - checksum: 38833a893c82e6244814be8321819fd08379a872068e06e1511f01ce243e21258b108fe5ddc66a02fddf07bba95b6cb6e9fc59538733c6072cab59b701ccb5c1 +"@mui/core-downloads-tracker@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/core-downloads-tracker@npm:5.15.7" + checksum: cdaea04222020086fd68e25bdf0f4dfdfc9a3b58a558297ef0a247f02cce8ea7671f9a31c07c5b53cfe553d24110baed2b03b701b1bea60f5c2b2e3ba56ba6fc languageName: node linkType: hard -"@mui/icons-material@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/icons-material@npm:5.15.6" +"@mui/icons-material@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/icons-material@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" + "@babel/runtime": "npm:^7.23.9" peerDependencies: "@mui/material": ^5.0.0 "@types/react": ^17.0.0 || ^18.0.0 @@ -1033,20 +1033,20 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: b7a39bbf86beac98ac0160e6bf4c6130fae16527cbd4e545e2fbcf07105c44c86364a0e03d27120225d30e01ca1a127caf693ba5ee6d0ac34421bc6db14cdb55 + checksum: d6c612aab0f10f57462e5bd467f8e32240123bc59728d471b7ae3724be4b02247db694e21e03ab58341e7737da87cef3aab35f98bbed14883688b8d667ff0f30 languageName: node linkType: hard -"@mui/material@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/material@npm:5.15.6" +"@mui/material@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/material@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" - "@mui/base": "npm:5.0.0-beta.33" - "@mui/core-downloads-tracker": "npm:^5.15.6" - "@mui/system": "npm:^5.15.6" + "@babel/runtime": "npm:^7.23.9" + "@mui/base": "npm:5.0.0-beta.34" + "@mui/core-downloads-tracker": "npm:^5.15.7" + "@mui/system": "npm:^5.15.7" "@mui/types": "npm:^7.2.13" - "@mui/utils": "npm:^5.15.6" + "@mui/utils": "npm:^5.15.7" "@types/react-transition-group": "npm:^4.4.10" clsx: "npm:^2.1.0" csstype: "npm:^3.1.2" @@ -1066,16 +1066,16 @@ __metadata: optional: true "@types/react": optional: true - checksum: c6aff7dc5b65c68b4a6e1d0b4cc9712b906f0d3d57dcda49d7d4dee15e53872dec292e71bbdb38800849dccb0565aa259635e00332e85c1a8ba372322c8eeab8 + checksum: bc7a31e53770b27b49786567d4d2912d6ecf163a438d75806ec98dea8fa2f0e0b2daeb6ee97cba57c9636ed2d7e3b42c5c801f9d3479f02716933f839b7df6a4 languageName: node linkType: hard -"@mui/private-theming@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/private-theming@npm:5.15.6" +"@mui/private-theming@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/private-theming@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" - "@mui/utils": "npm:^5.15.6" + "@babel/runtime": "npm:^7.23.9" + "@mui/utils": "npm:^5.15.7" prop-types: "npm:^15.8.1" peerDependencies: "@types/react": ^17.0.0 || ^18.0.0 @@ -1083,15 +1083,15 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: f56b4c99c4a634a29ff84e8d75940a6972a270ba896dae8d38ac8dc8663fe5c3c97db847c545302c80e831350b867b87c8cad6afc25eeb97ee6e0291bb274528 + checksum: 07d85483924f1ab641ff9810f5379d28bd0661db1b42604e1c1602d610d114396c1bd187eefd26b9c303727d7d16a4758ca5c8ffbc1b410cbae156edf8b9472f languageName: node linkType: hard -"@mui/styled-engine@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/styled-engine@npm:5.15.6" +"@mui/styled-engine@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/styled-engine@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" + "@babel/runtime": "npm:^7.23.9" "@emotion/cache": "npm:^11.11.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -1104,19 +1104,19 @@ __metadata: optional: true "@emotion/styled": optional: true - checksum: 0c932a6aff4fdacc0f1dcf02768ef3d56dbed4cd58c8040e2ea33d1e0284d18183d759af240fc4a891469e0ace3a32e1b9403951ed996e6e8a736b45ccf20ecc + checksum: 965e5738577db0d40904554b341395d337c93d7b4ebba783cb5362b6aa7f7e0be2cf1999d7c14daca6caba37a51f13188eaf260ff5b4099a269b1c155eee3773 languageName: node linkType: hard -"@mui/system@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/system@npm:5.15.6" +"@mui/system@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/system@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" - "@mui/private-theming": "npm:^5.15.6" - "@mui/styled-engine": "npm:^5.15.6" + "@babel/runtime": "npm:^7.23.9" + "@mui/private-theming": "npm:^5.15.7" + "@mui/styled-engine": "npm:^5.15.7" "@mui/types": "npm:^7.2.13" - "@mui/utils": "npm:^5.15.6" + "@mui/utils": "npm:^5.15.7" clsx: "npm:^2.1.0" csstype: "npm:^3.1.2" prop-types: "npm:^15.8.1" @@ -1132,7 +1132,7 @@ __metadata: optional: true "@types/react": optional: true - checksum: 742133972a60e2c137be9daf231dee47d296acb98742c6c198db94999119883bd36c24e5392eafa9c99e8fb3225883b5a20a282baf56fb29cf0a0ce51740df51 + checksum: 49db180adf1e3341cf14791c93711d16c76aad371dd43966da49c8727751d5c611835be8bac61278269414820c8f6bbd41481fa615df9a1cbc79be5846ef8896 languageName: node linkType: hard @@ -1148,11 +1148,11 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.15.6": - version: 5.15.6 - resolution: "@mui/utils@npm:5.15.6" +"@mui/utils@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/utils@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" + "@babel/runtime": "npm:^7.23.9" "@types/prop-types": "npm:^15.7.11" prop-types: "npm:^15.8.1" react-is: "npm:^18.2.0" @@ -1162,7 +1162,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 7ed0131bc776f01ad64615cca21b6813d44b792d61bd5a17f8b4aab8387c8c72581322c2d0f4cd9664dfecec13268c2a00b50d8991f93a9abddaf22579d68c45 + checksum: 34f4ed23d1ac8ed7cc4c027789ea60def6a85d922f742ff57a614c0a77a839d38de40031895a867c0dadc1e5f226ac7044f2fea084297201326f0201c3f85237 languageName: node linkType: hard @@ -1299,10 +1299,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.14.2": - version: 1.14.2 - resolution: "@remix-run/router@npm:1.14.2" - checksum: 422844e88b985f1e287301b302c6cf8169c9eea792f80d40464f97b25393bb2e697228ebd7a7b61444d5a51c5873c4a637aad20acde5886a5caf62e833c5ceee +"@remix-run/router@npm:1.15.0": + version: 1.15.0 + resolution: "@remix-run/router@npm:1.15.0" + checksum: 5cadae0c90874966ebd6b1b202284a337da32a68fc95af502859cd6158d3c254fbb4f76fa1844c837205dbc8a8120223360b9287a3d6aa0c747d02767c4c072c languageName: node linkType: hard @@ -1590,12 +1590,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.11.10": - version: 20.11.10 - resolution: "@types/node@npm:20.11.10" +"@types/node@npm:^20.11.16": + version: 20.11.16 + resolution: "@types/node@npm:20.11.16" dependencies: undici-types: "npm:~5.26.4" - checksum: 41ca9c7e7c95bf070ad747ab266f267f41950e01f5ddda739d0665c2ed39acc45cce46f78e33ffa2bf2dacd74a8493044b967c86358017dacce12958e49db664 + checksum: 751f50ec5c9332b11515e82fe37c71479ac4449b711280aa3c7910edf67b1e3f5ac00041512add543f9a892096a68356406998bf02a2c809a73d176c44c28414 languageName: node linkType: hard @@ -1670,14 +1670,14 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.2.48": - version: 18.2.48 - resolution: "@types/react@npm:18.2.48" +"@types/react@npm:^18.2.52": + version: 18.2.52 + resolution: "@types/react@npm:18.2.52" dependencies: "@types/prop-types": "npm:*" "@types/scheduler": "npm:*" csstype: "npm:^3.0.2" - checksum: 2e56ea6bd821ae96bd943f727a59d85384eaf5f8a3e6fce4fa1d34453e32d8eedda742432b3857fa0de7a4214bf84ce4239757eb52918e76452c00384731e585 + checksum: 0ab90a37fd82028c3559f18ce50790d01b262589a2ea49d014d8888291f47d9c91e65cb7db031a3e5d58818cb5376577afb4b593068473abfd0c695fa7e6b7c4 languageName: node linkType: hard @@ -1851,15 +1851,15 @@ __metadata: "@babel/core": "npm:^7.23.9" "@emotion/react": "npm:^11.11.3" "@emotion/styled": "npm:^11.11.0" - "@mui/icons-material": "npm:^5.15.6" - "@mui/material": "npm:^5.15.6" + "@mui/icons-material": "npm:^5.15.7" + "@mui/material": "npm:^5.15.7" "@preact/compat": "npm:^17.1.2" "@preact/preset-vite": "npm:^2.8.1" "@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.11.10" - "@types/react": "npm:^18.2.48" + "@types/node": "npm:^20.11.16" + "@types/react": "npm:^18.2.52" "@types/react-dom": "npm:^18.2.18" "@types/react-router-dom": "npm:^5.3.3" "@typescript-eslint/eslint-plugin": "npm:^6.20.0" @@ -1888,7 +1888,7 @@ __metadata: react-dom: "npm:latest" react-dropzone: "npm:^14.2.3" react-icons: "npm:^5.0.1" - react-router-dom: "npm:^6.21.3" + react-router-dom: "npm:^6.22.0" react-toastify: "npm:^10.0.4" rollup-plugin-visualizer: "npm:^5.12.0" sockette: "npm:^2.0.6" @@ -7240,27 +7240,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.21.3": - version: 6.21.3 - resolution: "react-router-dom@npm:6.21.3" +"react-router-dom@npm:^6.22.0": + version: 6.22.0 + resolution: "react-router-dom@npm:6.22.0" dependencies: - "@remix-run/router": "npm:1.14.2" - react-router: "npm:6.21.3" + "@remix-run/router": "npm:1.15.0" + react-router: "npm:6.22.0" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 6e23e35d02e5c83847c8e47d7912d1f6c2c42a35f2317802031bdd993a8205468138a045ff34f67fe807fe9f7dc9d0995ee05bab25aedc0bf978e620ac132815 + checksum: 32ba0386d400354094116fa7dd98f1d23bc7cf683b0f4509694be5f730d4957fcb8cc73e35946576fc3f48b4d36743422f1b9bcdc37ad77f04bde0bde5d9102e languageName: node linkType: hard -"react-router@npm:6.21.3": - version: 6.21.3 - resolution: "react-router@npm:6.21.3" +"react-router@npm:6.22.0": + version: 6.22.0 + resolution: "react-router@npm:6.22.0" dependencies: - "@remix-run/router": "npm:1.14.2" + "@remix-run/router": "npm:1.15.0" peerDependencies: react: ">=16.8" - checksum: 3d5107cfdb440519d84e6ad6d95454e3bf41ec97677b95f7b2a7f281f8ddf191b765cf1b599ead951f3cd33ed4429f140590d74a01cfdf835dc2f812023a978a + checksum: 627c25533667da0c8008587208e0d5633409173969fd579de706cde355465f6d1245e2b1a7ca2adeb96201f2858932b59ce3402482786cd20c4bf278562976dd languageName: node linkType: hard