Replacement SDK returns a container where our old dashboard expected one status value. Failed read, sensible-looking mode on screen. What should decide whether there's a mode worth displaying?
What do the captured successful and failed replies contain, and which documented SDK version produced them? The container's existence doesn't establish a successful read.
There is your invented status. The adapter needs to recognise a successful reply before interpreting the mode. Missing data is not the robot choosing mode zero, even if zero happens to be a valid value elsewhere.
I would keep the distinction visible to the reader as well. An unavailable current reading and a known operating mode shouldn't share the same plain status label.
Luca, was the timestamp actually described as the last successful read? A time beside a value can also look like the screen's refresh time, which leaves the same misunderstanding.
I've removed the zero fallback in our offline adapter. Captured failures now show unavailable; the last successful mode sits separately with its read time.
Harish's case needs its own test. Also test a malformed reply after a good read. The screen must not preserve the old current-mode label just because the new answer was awkward to parse.
Unrecognised payload now produces unsupported response in the harness. The good-then-malformed sequence is still missing. Leaving this as an adapter change under test.
That wording distinguishes a failed request from a response your software cannot interpret. I'd have an intended user explain both screens before deciding whether the distinction is clear enough.