From 83796341c5d6398da30563be14791959232fbb2d Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 14 Nov 2025 17:46:13 +0100 Subject: [PATCH 1/2] fix #2726 --- interface/src/utils/binding.ts | 2 +- src/core/emsesp.cpp | 30 +++++++++++++++++++----------- src/emsesp_version.h | 2 +- 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/interface/src/utils/binding.ts b/interface/src/utils/binding.ts index 75cacaaa3..b856b70a4 100644 --- a/interface/src/utils/binding.ts +++ b/interface/src/utils/binding.ts @@ -24,7 +24,7 @@ export const extractEventValue = ( const isIncomplete = normalizedValue.endsWith('.') || normalizedValue === '-' || - normalizedValue === '-.' || + normalizedValue === '-0' || endsWithDecimalAndZeros; if (isIncomplete) { diff --git a/src/core/emsesp.cpp b/src/core/emsesp.cpp index ec7fe7988..a01b8907b 100644 --- a/src/core/emsesp.cpp +++ b/src/core/emsesp.cpp @@ -1183,7 +1183,7 @@ bool EMSESP::process_telegram(std::shared_ptr telegram) { uint8_t device_found = 0; EMSdevice * found_device = nullptr; - // Combined loop: check all conditions in a single pass + // check all conditions for (const auto & emsdevice : emsdevices) { // broadcast or send to us if (emsdevice->is_device_id(telegram->src) && (telegram->dest == 0 || telegram->dest == EMSbus::ems_bus_id())) { @@ -1191,17 +1191,25 @@ bool EMSESP::process_telegram(std::shared_ptr telegram) { found_device = emsdevice.get(); break; } - // check for command to the device - if (!telegram_found && emsdevice->is_device_id(telegram->dest) && telegram->src != EMSbus::ems_bus_id()) { - telegram_found = emsdevice->handle_telegram(telegram); - found_device = emsdevice.get(); - break; + } + if (!telegram_found) { + for (const auto & emsdevice : emsdevices) { + // check for command to the device + if (emsdevice->is_device_id(telegram->dest) && telegram->src != EMSbus::ems_bus_id()) { + telegram_found = emsdevice->handle_telegram(telegram); + found_device = emsdevice.get(); + break; + } } - // check for sends to master thermostat - if (!telegram_found && emsdevice->is_device_id(telegram->src) && telegram->dest == 0x10) { - telegram_found = emsdevice->handle_telegram(telegram); - found_device = emsdevice.get(); - break; + } + if (!telegram_found) { + for (const auto & emsdevice : emsdevices) { + // check for sends to master thermostat + if (emsdevice->is_device_id(telegram->src) && telegram->dest == 0x10) { + telegram_found = emsdevice->handle_telegram(telegram); + found_device = emsdevice.get(); + break; + } } } diff --git a/src/emsesp_version.h b/src/emsesp_version.h index 2956a3c97..9e9476802 100644 --- a/src/emsesp_version.h +++ b/src/emsesp_version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.3-dev.28" +#define EMSESP_APP_VERSION "3.7.3-dev.29" From daa98b106ea6fffe606e8d75e9695a7723c19cb4 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Fri, 14 Nov 2025 18:43:11 +0100 Subject: [PATCH 2/2] update pkg --- interface/package.json | 2 +- interface/pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/interface/package.json b/interface/package.json index 82a709c2c..d211a7974 100644 --- a/interface/package.json +++ b/interface/package.json @@ -41,7 +41,7 @@ "react": "^19.2.0", "react-dom": "^19.2.0", "react-icons": "^5.5.0", - "react-router": "^7.9.5", + "react-router": "^7.9.6", "react-toastify": "^11.0.5", "typesafe-i18n": "^5.26.2", "typescript": "^5.9.3" diff --git a/interface/pnpm-lock.yaml b/interface/pnpm-lock.yaml index f92deefcd..03f6f9c14 100644 --- a/interface/pnpm-lock.yaml +++ b/interface/pnpm-lock.yaml @@ -63,8 +63,8 @@ importers: specifier: ^5.5.0 version: 5.5.0(react@19.2.0) react-router: - specifier: ^7.9.5 - version: 7.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + specifier: ^7.9.6 + version: 7.9.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0) react-toastify: specifier: ^11.0.5 version: 11.0.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0) @@ -1027,8 +1027,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.8.27: - resolution: {integrity: sha512-2CXFpkjVnY2FT+B6GrSYxzYf65BJWEqz5tIRHCvNsZZ2F3CmsCB37h8SpYgKG7y9C4YAeTipIPWG7EmFmhAeXA==} + baseline-browser-mapping@2.8.28: + resolution: {integrity: sha512-gYjt7OIqdM0PcttNYP2aVrr2G0bMALkBaoehD4BuRGjAOtipg0b6wHg1yNL+s5zSnLZZrGHOw4IrND8CD+3oIQ==} hasBin: true bin-build@3.0.0: @@ -2528,8 +2528,8 @@ packages: react-is@19.2.0: resolution: {integrity: sha512-x3Ax3kNSMIIkyVYhWPyO09bu0uttcAIoecO/um/rKGQ4EltYWVYtyiGkS/3xMynrbVQdS69Jhlv8FXUEZehlzA==} - react-router@7.9.5: - resolution: {integrity: sha512-JmxqrnBZ6E9hWmf02jzNn9Jm3UqyeimyiwzD69NjxGySG6lIz/1LVPsoTCwN7NBX2XjCEa1LIX5EMz1j2b6u6A==} + react-router@7.9.6: + resolution: {integrity: sha512-Y1tUp8clYRXpfPITyuifmSoE2vncSME18uVLgaqyxh9H35JWpIfzHo+9y3Fzh5odk/jxPW29IgLgzcdwxGqyNA==} engines: {node: '>=20.0.0'} peerDependencies: react: '>=18' @@ -3963,7 +3963,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.8.27: {} + baseline-browser-mapping@2.8.28: {} bin-build@3.0.0: dependencies: @@ -4020,7 +4020,7 @@ snapshots: browserslist@4.28.0: dependencies: - baseline-browser-mapping: 2.8.27 + baseline-browser-mapping: 2.8.28 caniuse-lite: 1.0.30001754 electron-to-chromium: 1.5.250 node-releases: 2.0.27 @@ -5532,7 +5532,7 @@ snapshots: react-is@19.2.0: {} - react-router@7.9.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0): + react-router@7.9.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0): dependencies: cookie: 1.0.2 react: 19.2.0