diff --git a/CHANGELOG_LATEST.md b/CHANGELOG_LATEST.md index 8706eebe1..1f2ee87d0 100644 --- a/CHANGELOG_LATEST.md +++ b/CHANGELOG_LATEST.md @@ -24,4 +24,4 @@ For more details go to [docs.emsesp.org](https://docs.emsesp.org/). ## Changed -- +- show console log with ISO date/time [#2533](https://github.com/emsesp/EMS-ESP32/discussions/2533) diff --git a/interface/package.json b/interface/package.json index f22965595..9093c257a 100644 --- a/interface/package.json +++ b/interface/package.json @@ -36,7 +36,7 @@ "react": "^19.1.0", "react-dom": "^19.1.0", "react-icons": "^5.5.0", - "react-router": "^7.5.1", + "react-router": "^7.5.2", "react-toastify": "^11.0.5", "typesafe-i18n": "^5.26.2", "typescript": "^5.8.3" @@ -47,7 +47,7 @@ "@preact/compat": "^18.3.1", "@preact/preset-vite": "^2.10.1", "@trivago/prettier-plugin-sort-imports": "^5.2.2", - "@types/node": "^22.14.1", + "@types/node": "^22.15.1", "@types/react": "^19.1.2", "@types/react-dom": "^19.1.2", "concurrently": "^9.1.2", @@ -57,7 +57,7 @@ "rollup-plugin-visualizer": "^5.14.0", "terser": "^5.39.0", "typescript-eslint": "8.31.0", - "vite": "^6.3.2", + "vite": "^6.3.3", "vite-plugin-imagemin": "^0.6.1", "vite-tsconfig-paths": "^5.1.4" }, diff --git a/interface/yarn.lock b/interface/yarn.lock index c47e5c567..76f062897 100644 --- a/interface/yarn.lock +++ b/interface/yarn.lock @@ -1399,7 +1399,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:^22.14.1": +"@types/node@npm:*": version: 22.14.1 resolution: "@types/node@npm:22.14.1" dependencies: @@ -1408,6 +1408,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.15.1": + version: 22.15.1 + resolution: "@types/node@npm:22.15.1" + dependencies: + undici-types: "npm:~6.21.0" + checksum: 10c0/80bd7fff7d6f4058875feb2c980fa066266b02ffde51e794cf4b7bea5f1316c08baa135fa7cbffa677efb999b0945b2697b318e84af4563c1ab8d3392a17bf9a + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.2 resolution: "@types/parse-json@npm:4.0.2" @@ -1594,7 +1603,7 @@ __metadata: "@preact/preset-vite": "npm:^2.10.1" "@table-library/react-table-library": "npm:4.1.15" "@trivago/prettier-plugin-sort-imports": "npm:^5.2.2" - "@types/node": "npm:^22.14.1" + "@types/node": "npm:^22.15.1" "@types/react": "npm:^19.1.2" "@types/react-dom": "npm:^19.1.2" alova: "npm:3.2.10" @@ -1610,14 +1619,14 @@ __metadata: react: "npm:^19.1.0" react-dom: "npm:^19.1.0" react-icons: "npm:^5.5.0" - react-router: "npm:^7.5.1" + react-router: "npm:^7.5.2" react-toastify: "npm:^11.0.5" rollup-plugin-visualizer: "npm:^5.14.0" terser: "npm:^5.39.0" typesafe-i18n: "npm:^5.26.2" typescript: "npm:^5.8.3" typescript-eslint: "npm:8.31.0" - vite: "npm:^6.3.2" + vite: "npm:^6.3.3" vite-plugin-imagemin: "npm:^0.6.1" vite-tsconfig-paths: "npm:^5.1.4" languageName: unknown @@ -3303,7 +3312,7 @@ __metadata: languageName: node linkType: hard -"fdir@npm:^6.4.3, fdir@npm:^6.4.4": +"fdir@npm:^6.4.4": version: 6.4.4 resolution: "fdir@npm:6.4.4" peerDependencies: @@ -5572,9 +5581,9 @@ __metadata: languageName: node linkType: hard -"react-router@npm:^7.5.1": - version: 7.5.1 - resolution: "react-router@npm:7.5.1" +"react-router@npm:^7.5.2": + version: 7.5.2 + resolution: "react-router@npm:7.5.2" dependencies: cookie: "npm:^1.0.1" set-cookie-parser: "npm:^2.6.0" @@ -5585,7 +5594,7 @@ __metadata: peerDependenciesMeta: react-dom: optional: true - checksum: 10c0/54e9f77ede0bf36c12685a59c5d965f77f2223d01cd922ce7b6ef4f8fa5435e66c796f9f5da3487bde0cb98dadd64f5a406696d4f52e031af812857aaab0f76b + checksum: 10c0/5972ecb783e0ac0512c500b84bd4ff475665ba49c67b69e13b79dc24c7ee0496d523858058bb43c70147367688e0cc0d6d6d0f51cabfdebfbc5556d559bff457 languageName: node linkType: hard @@ -6492,7 +6501,7 @@ __metadata: languageName: node linkType: hard -"tinyglobby@npm:^0.2.12": +"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13": version: 0.2.13 resolution: "tinyglobby@npm:0.2.13" dependencies: @@ -6831,17 +6840,17 @@ __metadata: languageName: node linkType: hard -"vite@npm:^6.3.2": - version: 6.3.2 - resolution: "vite@npm:6.3.2" +"vite@npm:^6.3.3": + version: 6.3.3 + resolution: "vite@npm:6.3.3" dependencies: esbuild: "npm:^0.25.0" - fdir: "npm:^6.4.3" + fdir: "npm:^6.4.4" fsevents: "npm:~2.3.3" picomatch: "npm:^4.0.2" postcss: "npm:^8.5.3" rollup: "npm:^4.34.9" - tinyglobby: "npm:^0.2.12" + tinyglobby: "npm:^0.2.13" peerDependencies: "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 jiti: ">=1.21.0" @@ -6882,7 +6891,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/08681e83e8338f3915cee729d8296bb9cfd53f71d6796816445d58cd84a8387396a3f5f3e179c52b09e98ccf7247ec3fabb50b95b0e7f3289a619ef8bf71bd8a + checksum: 10c0/7ea27d2c80a9e0b7ccf6cbd6c251455501286568160e8b632984e5332440f21a6d05f9236408212ba7653f7d2d4790f848956d8a620bbf4dd2ecb792a2fe1ab1 languageName: node linkType: hard diff --git a/lib/uuid-console/src/shell_log.cpp b/lib/uuid-console/src/shell_log.cpp index decf47e67..0ae54eab7 100644 --- a/lib/uuid-console/src/shell_log.cpp +++ b/lib/uuid-console/src/shell_log.cpp @@ -106,7 +106,15 @@ void Shell::output_logs() { } while (1) { - print(uuid::log::format_timestamp_ms(message.content_->uptime_ms, 3)); + time_t offset = time(nullptr) - uuid::get_uptime_sec(); + if (offset < 1500000000L) { + print(uuid::log::format_timestamp_ms(message.content_->uptime_ms, 3)); + } else { + time_t t1 = offset + (time_t)(message.content_->uptime_ms / 1000); + char timestr[25]; + strftime(timestr, 25, "%FT%T", localtime(&t1)); + printf("%s.%03d", timestr, (uint16_t)(message.content_->uptime_ms % 1000)); + } printf(" %c %lu: [%s] ", uuid::log::format_level_char(message.content_->level), message.id_, message.content_->name); if ((message.content_->level == uuid::log::Level::ERR) || (message.content_->level == uuid::log::Level::WARNING)) { diff --git a/src/core/console.cpp b/src/core/console.cpp index 87a262730..ce34b6d83 100644 --- a/src/core/console.cpp +++ b/src/core/console.cpp @@ -670,9 +670,9 @@ void EMSESPShell::end_of_transmission() { void EMSESPShell::main_help_function(Shell & shell, const std::vector & arguments) { shell.println(); #if defined(EMSESP_DEBUG) - shell.printfln("%s%sEMS-ESP version %s%s", COLOR_BRIGHT_GREEN, COLOR_BOLD_ON, EMSESP_APP_VERSION, COLOR_RESET); -#else shell.printfln("%s%sEMS-ESP version %s%s (DEBUG)", COLOR_BRIGHT_GREEN, COLOR_BOLD_ON, EMSESP_APP_VERSION, COLOR_RESET); +#else + shell.printfln("%s%sEMS-ESP version %s%s", COLOR_BRIGHT_GREEN, COLOR_BOLD_ON, EMSESP_APP_VERSION, COLOR_RESET); #endif shell.println(); shell.print_all_available_commands(); diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index 411c1fae3..f79f6e919 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -1059,12 +1059,12 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const register_device_value(DeviceValueTAG::TAG_DHW1, &wwWorkM_, DeviceValueType::TIME, FL_(wwWorkM), DeviceValueUOM::MINUTES); // fetch some initial data - EMSESP::send_read_request(0x10, device_id); // read last errorcode on start (only published on errors) - EMSESP::send_read_request(0x11, device_id); // read last errorcode on start (only published on errors) - EMSESP::send_read_request(0x15, device_id); // read maintenance data on start (only published on change) - EMSESP::send_read_request(0x1C, device_id); // read maintenance status on start (only published on change) - EMSESP::send_read_request(0xC2, device_id); // read last errorcode on start (only published on errors) - EMSESP::send_read_request(0xC6, device_id); // read last errorcode on start (only published on errors) + EMSESP::send_read_request(0x10, device_id, 0, 11); // read last errorcode on start (only published on errors) + EMSESP::send_read_request(0x11, device_id, 0, 11); // read last errorcode on start (only published on errors) + EMSESP::send_read_request(0x15, device_id); // read maintenance data on start (only published on change) + EMSESP::send_read_request(0x1C, device_id); // read maintenance status on start (only published on change) + EMSESP::send_read_request(0xC2, device_id, 0, 20); // read last errorcode on start (not broadcasted) + EMSESP::send_read_request(0xC6, device_id, 0, 21); // read last errorcode on start (not broadcasted) if (model() != EMSdevice::EMS_DEVICE_FLAG_HEATPUMP && model() != EMSdevice::EMS_DEVICE_FLAG_HIU) { @@ -1835,8 +1835,8 @@ void Boiler::process_UBAMaintenanceStatus(std::shared_ptr telegr // 0xBF void Boiler::process_ErrorMessage(std::shared_ptr telegram) { - EMSESP::send_read_request(0xC2, device_id()); // read last errorcode - EMSESP::send_read_request(0xC6, device_id()); // read last errorcode + EMSESP::send_read_request(0xC2, device_id(), 0, 20); // read last errorcode + EMSESP::send_read_request(0xC6, device_id(), 0, 21); // read last errorcode } // 0x10, 0x11 diff --git a/src/devices/thermostat.cpp b/src/devices/thermostat.cpp index 478722457..3ef575291 100644 --- a/src/devices/thermostat.cpp +++ b/src/devices/thermostat.cpp @@ -194,8 +194,9 @@ Thermostat::Thermostat(uint8_t device_type, uint8_t device_id, uint8_t product_i register_telegram_type(0x269, "RC300Holiday", true, MAKE_PF_CB(process_RC300Holiday)); } register_telegram_type(0x16E, "Absent", true, MAKE_PF_CB(process_Absent)); + register_telegram_type(0xBF, "ErrorMessage", false, MAKE_PF_CB(process_ErrorMessageBF)); register_telegram_type(0xC0, "RCErrorMessage", false, MAKE_PF_CB(process_RCErrorMessage2)); - EMSESP::send_read_request(0xC0, device_id); // read last errorcode on start (only published on errors) + EMSESP::send_read_request(0xC0, device_id, 0, 20); // read last errorcode on start (only published on errors) // JUNKERS/HT3 } else if (model == EMSdevice::EMS_DEVICE_FLAG_JUNKERS) { @@ -1757,6 +1758,12 @@ void Thermostat::process_RCErrorMessage(std::shared_ptr telegram } } } + +// 0xBF +void Thermostat::process_ErrorMessageBF(std::shared_ptr telegram) { + EMSESP::send_read_request(0xC0, device_id(), 0, 20); // read last errorcode +} + // 0xC0 error log for RC300 void Thermostat::process_RCErrorMessage2(std::shared_ptr telegram) { if (telegram->offset > 0 || telegram->message_length < 20) { diff --git a/src/devices/thermostat.h b/src/devices/thermostat.h index 9f1b243f0..3ee85bdc2 100644 --- a/src/devices/thermostat.h +++ b/src/devices/thermostat.h @@ -412,6 +412,7 @@ class Thermostat : public EMSdevice { void process_RCError(std::shared_ptr telegram); void process_RCErrorMessage(std::shared_ptr telegram); void process_RCErrorMessage2(std::shared_ptr telegram); + void process_ErrorMessageBF(std::shared_ptr telegram); void process_RC35wwSettings(std::shared_ptr telegram); void process_RC35wwTimer(std::shared_ptr telegram); void process_RC35Monitor(std::shared_ptr telegram); diff --git a/src/emsesp_version.h b/src/emsesp_version.h index 82060ecd8..ca6316e7b 100644 --- a/src/emsesp_version.h +++ b/src/emsesp_version.h @@ -1 +1 @@ -#define EMSESP_APP_VERSION "3.7.3-dev.9" +#define EMSESP_APP_VERSION "3.7.3-dev.10"