1
0
mirror of https://github.com/esphome/esphome.git synced 2026-02-08 08:41:59 +00:00

Revert "Revert API compilation_time to old locale-dependent format"

This reverts commit d2b5398fad.
This commit is contained in:
David Woodhouse
2025-12-15 23:12:21 +00:00
parent d2b5398fad
commit ffbbf37fc2
2 changed files with 13 additions and 6 deletions

View File

@@ -1472,7 +1472,10 @@ bool APIConnection::send_device_info_response(const DeviceInfoRequest &msg) {
resp.set_esphome_version(ESPHOME_VERSION_REF);
resp.set_compilation_time(App.get_compilation_time_ref());
// Stack buffer for build time string
char build_time_str[Application::BUILD_TIME_STR_SIZE];
App.get_build_time_string(build_time_str);
resp.set_compilation_time(StringRef(build_time_str));
// Manufacturer string - define once, handle ESP8266 PROGMEM separately
#if defined(USE_ESP8266) || defined(USE_ESP32)

View File

@@ -26,12 +26,13 @@ async def test_build_info(
assert device_info.name == "build-info-test"
# Verify compilation_time from device_info is present and parseable
# The format is locale-dependent: "Dec 15 2025, 17:44:16"
# The format is ISO 8601 with timezone: "YYYY-MM-DD HH:MM:SS +ZZZZ"
compilation_time = device_info.compilation_time
assert compilation_time is not None
# Validate the format (locale-dependent, so just check it's not empty)
assert len(compilation_time) > 0
# Validate the ISO format: "YYYY-MM-DD HH:MM:SS +ZZZZ"
parsed = datetime.strptime(compilation_time, "%Y-%m-%d %H:%M:%S %z")
assert parsed.year >= time.localtime().tm_year
# Get entities
entities, _ = await client.list_entities_services()
@@ -109,5 +110,8 @@ async def test_build_info(
f"build_time_str '{build_time_str}' should match timestamp '{expected_str}'"
)
# Note: compilation_time (from API) uses old locale-dependent format,
# while build_time_str (text sensor) uses new ISO format
# Verify compilation_time matches build_time_str (they should be the same)
assert compilation_time == build_time_str, (
f"compilation_time '{compilation_time}' should match "
f"build_time_str '{build_time_str}'"
)