[ST EdgeDriver] How Does EdgeDriver Handle Device Error Situation?

Hi, all

Recently I’m helping manufactures to integrate their devices (Zigbee/Lan/C2C) into ST.

For Hub connected devices, The workflow is like this:

ST App <—Capability—> EdgeDriver <—Zigbee/Matter/API—> Device

What happens by default if a command fails to execute on the device?
I noticed that most Zigbee drivers do not handle the error situation.
(Without any explicit handlers to process FAILURE)

For example,
ST App send Switch capability On command to EdgeDriver, EdgeDriver sent a zigbee switch command to zigbee device, and my zigbee device response FAILURE.
ST APP will pop up an error message.

My questions are:

  1. About Zigbee/Lan devices, how does the EdgeDriver handle error responses by default ?
  2. About C2C connector, what is the default handling of error responses by the ST platform?

Thanks ~

Hi @liuyd96 ,

Could you please clarify which specific C2C errors you’re referring to? It would be helpful to know which particular errors you’re encountering.

Regarding the issue you mentioned about the error message popping up, it seems that it occurs because there’s a failure to detect a status change in the capability as a response to the command. This could be because the device didn’t report anything due to the encountered failure.

For more detailed information on error responses in cloud-connected devices, you can refer to this link: Error Responses

Let me know if you need further assistance or clarification on handling these errors.

1 Like

Hi @Luis_Humberto_Medina

Thanks a lot ~

Could you please clarify which specific C2C errors you’re referring to?

No, I don’t have any specific C2C errors yet.

I just realized that I never process device failure in EdgeDriver but I could receive error message in ST APP, so I wonder how ST process device failure by default.

And if the way of processing device failure is different between Hub Connected Devices (EdgeDriver) and C2C Connector.

it seems that it occurs because there’s a failure to detect a status change in the capability as a response to the command.

It make sense to me :blush:
So there is an error detection mechanism that is why we don’t need to check command response in EdgeDriver.

Let me know if you need further assistance or clarification on handling these errors.

The link you provided is enough. At least I know that the way of processing error of C2C Connector is different from Hub Connected Devices (EdgeDriver), C2C Connector requires explicit Error Responses.

1 Like

Hi @liuyd96 ,

Regarding the device failure, could you please share the failure logs with us? This will help us assist you better. If you’ve already resolved the issue, that’s great too!

Hi @Luis_Humberto_Medina

could you please share the failure logs with us?

I’m sorry that I don’t have any failure logs.

When I developed a zigbee EdgeDriver, my driver sent a zigbee command to device but device didn’t response. So my driver log didn’t have any error message. :slightly_frowning_face:

I didn’t process this situation in my driver, but ST APP pop up a error message something like “Internet Error …”, so I’m curious why ST App knows that there is a problem with device processing.

it seems that it occurs because there’s a failure to detect a status change in the capability as a response to the command.

Your answer has solved my confusion :blush:

Thank you so much.

1 Like