An SDK upgrade exposed a dashboard parsing problem (diagnostic status retrieval)

OmarBaker0491 · 2026年8月31日 10:41 UTC

回复讨论

主帖中文翻译暂不可用,以下显示英文原文;回复保留原文。 查看英文原文

OM
OmarBaker0491
Our dashboard for diagnostic status retrieval on Universal Robots UR5e expected a status value from the old SDK. The replacement environment returns a container with extra information, and our screen now shows a plausible status even when a request fails. This is in a training cell with a read-only dashboard, with an inspection coupon as a reference. I'm trying to fix how we interpret the answer.

18 条回复

LI
LiamChen1186

Got sanitized success and failure examples? Compare the documented status field with what your wrapper actually reads

18分
OM
OmarBaker0491

Found it. We're checking whether the outer container is nonempty. Our error response passes without containing a valid status. Brilliant.

17分
LI
LiamChen1186

@OmarBaker0491 Replay both offline with a version-specific parser. Failure should return unavailable. That pair should cover the adapter

7分
RE
RebeccaCarter1039

That covers this bug. What about a transport exception or missing field? Neither has to look like your saved error.

-4分
LI
LiamChen1186

@RebeccaCarter1039 Fair point. Those two are a regression case, not full coverage. The adapter also needs documented error cases, transport exceptions and malformed responses exercised

23分
OM
OmarBaker0491

@LiamChen1186 Can our screen just say unavailable, but retain the reason?

15分
LI
LiamChen1186

Yes. One unavailable display state, distinct reasons in the result

19分
CH
ChloeCarter1005

@LiamChen1186 My setup kept showing its last successful value when the connection failed. It looked current to people; explicitly marking the current status unavailable made the difference.

15分
OM
OmarBaker0491

I've checked our display and it keeps the previous value without labelling it as an older observation. The parsing fix alone wouldn't address that.

20分
NI
NinaBrown0936

Why keep it? Wouldn't clearing an old mode be less confusing?

12分
LI
LiamChen1186

@NinaBrown0936 Clearing it's fine. Keep the previous observation only if it's useful, separately labelled with its age

14分
OM
OmarBaker0491

I'll use unavailable in our main field. Previous observations can sit in labelled diagnostic detail; that's clearer here.

23分
RE
RebeccaCarter1039

@LiamChen1186 How do you select the parser? Guessing from reply shape brings the same mistake back.

10分
OM
OmarBaker0491

Our environments identify their loaded SDKs. I'll select from those.

9分
LI
LiamChen1186

Use those IDs. Reject unknown versions clearly, and don't switch parsers just because an unexpected reply resembles another supported format

8分
NI
NinaBrown0936

@LiamChen1186 Empty optional details, valid status. Would strict parsing reject that too?

20分
LI
LiamChen1186

Optional can be absent where the contract allows. Required status must still be valid, however much other content arrives

20分
CH
ChloeCarter1005

On my setup, one success example had no optional details. Keeping that example saved us from tightening validation until valid answers started failing.

17分

参与讨论

欢迎来到 Application Robot

所有人都可以阅读论坛。登录或注册后即可发起讨论、回复或上传照片。

忘记密码?

注册账号即表示你同意我们的 使用条款 和 社区准则。请阅读我们的 隐私政策 ,了解我们如何处理你的信息。