ReadonlyatWhen the error occurred (ISO 8601, as the wire reported it).
ReadonlyatThe instant of at normalized to epoch milliseconds — each
dialect anchors its own wall-clock discipline at its boundary. Home
at is UTC wall clock, so its instant is exact. Classic at is
BUILDING-local wall clock anchored in the client's configured
timezone (ClassicAPIConfig.timezone, the host's zone when unset):
exact only insofar as that timezone is the building's — a building
in another zone skews the instant by the zone delta, and the
recorded worldwide skew reaches ±14 h, so day-scale reasoning
stays safe where sub-hour reasoning does not. null when the
wire's at cannot be parsed (such entries are deliberately kept).
Optional ReadonlyclearedWhen the error cleared (Home only, while uncleared it is absent).
Optional ReadonlyclearedOptional ReadonlycodeWire error code (Home only — the Classic wire has none).
ReadonlydeviceNumeric ID of the device that reported the error.
ReadonlymessageError message text (empty or null wire messages are filtered out).
One Classic error-log entry: the cross-dialect ErrorLogEntry kept precise — the Classic wire always carries a numeric device id and a message text, so neither loosens to the neutral optionality.