Feature Requests: Multiple Node Commands and Alerts

Hello OpenChirp team!

Just wanted to say thanks for putting this together and I’m excited to make use of this in our upcoming project. I’ve been in communication with Anthony and a few folks around an upcoming project that we hope to build on the open chirp platform. There are a few essential features that we would love to see in the platform though.

One essential feature is the ability to send the same command to multiple nodes. This would probably require a concept of a “group” of nodes then having actions associated with that group rather than individual devices.

Another one would be an alerting mechanism. Pretty straight forward, if some event happens then send an alert notification. One use case here would be around a heartbeat, if it has been some configurable amount of time since the last report I would like to get an alert. I know the system connects to an influxdb instance in some way, so if that is publicly accessible then I could certainly tack it on externally I suppose. Need to read up on how the influx instance is set up.

Happy to move these requests to a more appropriate issue tracker if needed, not sure how these are normally handled.

Thanks,
Jon

We are definitely thinking about how to do group actuate. Probably a service to start with that you would add to devices. We need to think of a slick way for the service to provide feedback.

We have an event trigger service that we have been developing to do some types of alerting. It has been mostly threshold-based triggers as opposed to timing, but we can look into that.

What types of triggers would want?

  1. Heartbeat (alert when missed)
  2. Time-based threshold (alert when some value exceeds specified bounds for a certain period of time)
    ???

These would all be a on a single-device basis as opposed to an aggregate across devices?

I know Craig was thinking of something more like scripting language support.

-Anthony

Thresholds would be good.
An alert with a configurable threshold based on the amount of time that has elapsed since the last event. Certainly some configuration on cool down in a time-based threshold would be pretty important.

The thresholds would like be the same for groups of devices, so being to manage and push them as a group would be really helpful.

Hi Jon!

Great to see your interest. Internally, we have been talking about features that would enable both of those cases. As Anthony mentioned, it seems that Services is the path of least resistance for adding group functionality. I’m not completely clear what the interface for controlling all sub-devices (of a service) will look like yet, but the importance is well understood.

For alerts, I could see the trigger service providing these timeout notifications, in conjunction with a new “clock service”.

The following is a proposed solution that somewhat embraces the OpenChirp model:
The clock service can be configured to simply publish a value on a configured interval (which might be your max timeout duration). The trigger service would be configured to listen to that clock event(published value). When the trigger service is activated it would check the timestamps of last value and conditionally send an alert.

Best,

Craig