mirror of
https://github.com/esphome/esphome.git
synced 2026-10-07 11:26:39 +00:00
Revert "Revert API compilation_time to old locale-dependent format"
This reverts commit d2b5398fad.
This commit is contained in:
@@ -1472,7 +1472,10 @@ bool APIConnection::send_device_info_response(const DeviceInfoRequest &msg) {
|
|||||||
|
|
||||||
resp.set_esphome_version(ESPHOME_VERSION_REF);
|
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
|
// Manufacturer string - define once, handle ESP8266 PROGMEM separately
|
||||||
#if defined(USE_ESP8266) || defined(USE_ESP32)
|
#if defined(USE_ESP8266) || defined(USE_ESP32)
|
||||||
|
|||||||
@@ -26,12 +26,13 @@ async def test_build_info(
|
|||||||
assert device_info.name == "build-info-test"
|
assert device_info.name == "build-info-test"
|
||||||
|
|
||||||
# Verify compilation_time from device_info is present and parseable
|
# 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
|
compilation_time = device_info.compilation_time
|
||||||
assert compilation_time is not None
|
assert compilation_time is not None
|
||||||
|
|
||||||
# Validate the format (locale-dependent, so just check it's not empty)
|
# Validate the ISO format: "YYYY-MM-DD HH:MM:SS +ZZZZ"
|
||||||
assert len(compilation_time) > 0
|
parsed = datetime.strptime(compilation_time, "%Y-%m-%d %H:%M:%S %z")
|
||||||
|
assert parsed.year >= time.localtime().tm_year
|
||||||
|
|
||||||
# Get entities
|
# Get entities
|
||||||
entities, _ = await client.list_entities_services()
|
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}'"
|
f"build_time_str '{build_time_str}' should match timestamp '{expected_str}'"
|
||||||
)
|
)
|
||||||
|
|
||||||
# Note: compilation_time (from API) uses old locale-dependent format,
|
# Verify compilation_time matches build_time_str (they should be the same)
|
||||||
# while build_time_str (text sensor) uses new ISO format
|
assert compilation_time == build_time_str, (
|
||||||
|
f"compilation_time '{compilation_time}' should match "
|
||||||
|
f"build_time_str '{build_time_str}'"
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user