This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to send data from end device to coordinator without using the periodic reporting

Hi,

I want to know if is it possible to send data from the end device to a coordinator without using the periodic reporting method which makes the end device sending the attribute value every x time?

I will explain my application concept to clarify my point:

Think about a sensor (end device) that measures the temperature periodically, and should send the temperature's values to the coordinator only if the value has exceeded certain limit, so I don't want to send the temp periodically but only if the limit value or higher has been detected.

Consider also that the sensor is a battery application, so I have to di that to minimize the power consumption.

Thanks in advance

Arsanios

  • Hello,

    Yes. This should be possilbe. If you look at the multi_sensor example from the SDK\examples\zigbee\experimental\multi_sensor, this is an example containing a (simulated) temperature sensor and a (simulated) pressure sensor.

    The function found in main.c:

    Will set the values for the two sensor on a timer interrupt. Let us look at only the temperature:

    Will simulate a temperature value, while

    Will uptade the attribute (and print the error if it failed to update the value). 

    So if you just call zb_zcl_set_attr_val() only if it fulfills your limit requirements it will only update the value when the limit is reached.

    BR,

    Edvin