Push connection monitoring

What product/components do you use and which version/fix level are you on?

Backend 1013.0.167

Is your question related to the free trial, or to a production (customer) instance?

Customer

What are you trying to achieve? Please describe it in detail.

I’m learning about connection monitoring, reading about that here.

Our system is based on plenty of devices. On each device an agent sends data to our tenant using both MQTT and REST api depending on the type of data. We monitor our devices through a custom Cockpit application.

When I look in device managmentdevice status, the arrow corresponding to the push connection is always green.
image

I was wondering how this is working as long as I didn’t implemented explicitly this feature. In the documentation (linked at the beginnign) under Push connections it’s stated that:

A push connection is an active HTTPS long poll or an MQTT connection from Cumulocity IoT to the /notification/operations API endpoint (not the real time API endpoint).

  1. How can I tell which of the two options is the one in use in my system?
  2. The following statement it’s not clear to me: “an MQTT connection from Cumulocity IoT to the /notification/operations API endpoint”. In my understanding, the operations is something CumulocityIoT sends to the device. So, using MQTT CumulocityIot is able to get if operations are pushed to the device and so if a push connection is open. This is my best guess, plese correct me if I’m wrong.

Regards,
Luca

Hi Luca,

  1. From the platform side of view you cannot tell which option is used.
  2. yes, the statement is not well formulated. A better statement would be: “A push connection is an active HTTPS long poll connection to the /notification/operations API endpoint OR an active MQTT Connection to the mqtt endpoint of Cumulocity IoT.”

It is not necessary to subscribe to any topic or send any operation to the device so the push connection gets recognized as “active”.

The interpretation is that data could be pushed to a device because it using an endpoint or protocol which is able to do so (even you are not subscribed to any topic or have an implementation in place handling operations).
If you just use REST in the agent implementation the push connection will be inactive.

1 Like