简体中文界面。帖子、指南及政策正文保留原文;未对原文作自动翻译。

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

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

忘记密码?

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