Could someone please help with Alarm Configuration?

I am using the XBee ZigBee Cloud Kit with all the latest firmware installed.

If I access the XBee ZigBee Cloud Kit Dashboard (https://xbeegateway.herokuapp.com/#/dashboard) and press the User Button on the development board, the status of the standard User Button widget changes from OFF to ON.

If I view the corresponding DIO4 data stream in Device Cloud (https://devicecloud.digi.com/home.do#), I can see the change in the data value from 1 to 0.

I then added an alarm configured as follows -

Alarm Type: Data Point Condition
Name: User Button
Description: User Button Pressed

Fire Condition
Type: Numeric
Condition: =
Value: 0
Timeout: 1 second

Reset Condition: Disabled

DataPoint/00000000-00000000-00409DFF-FF859232/xbee.digitalIn/[00:13:A2:00:40:99:92:D5]!/DIO4

No matter what I try, I cannot get the alarm to fire. The normal state is 1 (OFF). The pressed state is 0 (ON) [inverted]. I have tried less than 1 (as opposed to equals zero). The DataPoint is a direct copy from the Data Stream and corresponds with the Gateway / XBee Module / Output Stream in the widget.

I tried the same exercise with the development board potentiometer - with similar results.

As an aside, I can get the Vending Machine Drink Temperature alarm to work without a problem (the Internet Of Snacks example). Having said this, the example makes use of a DIA channel.

Would it be possible for someone to highlight what I have done wrong?

I would expect this to work. Maybe 1 second might be too strict, try increasing to 10 to see if it makes a difference.

Did you set up a notification for this alarm in your device cloud account settings?

1 Like

Many thanks for your response.

I have already tried 10 seconds - with no success.

I did not originally set up an alarm notification. I have just added one but it had no effect. As an aside, the alarm notification for the Internet Of Snacks example worked fine.

Just a thought - I only have a free Developer Account. Would this have anything to do with it?

This should work with a Developer account, especially if it works with the Internet of Snacks example.

When configuring the Notification, did you create one separate from the Internet of Snacks notification (i.e. same contact information per alarm)?

Each alarm has a separate notification. Both notifications point to the same e-mail address.

As an aside, I removed the Internet of Snacks example - just in case there was some sort of conflict. This had no effect.

Would the fact that the Internet of Snacks example makes use of a DIA channel have any relevance?

Looking at this closer, I suspect a special character in the 64 bit address of the XBee is the culprit (maybe the ! character?). Unfortunately, I’m not having any luck working around it.

Problem Solved.

I was using the following DataPoint:
DataPoint/00000000-00000000-00409DFF-FF859232/xbee.digitalIn/[00:13:A2:00:40:99:92:D5]!/DIO4

What works is:
DataPoint/00000000-00000000-00409DFF-FF859232/xbee.digitalIn/*/DIO4

The wildcard accommodates DIO4 data from any device. At face value, this would appear problematic in that you could have more than one alarm configured against DIO4 from multiple devices. Having said this, the notification includes the following:
User Button Pressed has fired for 00000000-00000000-00409DFF-FF859232/xbee.digitalIn/[00:13:A2:00:40:99:92:D5]!/DIO4 at 2016-05-18T01:18:55.865Z
…which allows you to identify the specific alarm against the specific device.

Many thanks for the assistance.

Ah, I forgot about the wild-card character! Thanks for posting this workaround!

FYI: I’ve been informed that there is a fix expected with regards to special characters in the DataPoint field in a September Device Cloud update.