Freedomotic and its plugins send events when anything relevant happens.
Any event is sent on a messaging channel. A channel address is a simple
string with a hierarchical structure like
You can subscribe an event channel from a trigger which is a filter of events.
For example if your event is
an object changed state you can filter it using a trigger
a light in the kitchen changed its powered state.
Freedomotic events have a set of standard properties plus a list of properties related to the specific event.
The following properties are common to all events and can be intercepted and filtered by any trigger:
|date.dayname||eg: Sunday||English name of the day in which the event is throwed|
|date.day||eg: 4 for Thursday||The day number in which the event is throwed|
|date.month||eg: October||The month name in which the event is throwed|
|date.year||eg: 2016||The year number in which the event is throwed|
|time.hour||eg: 0-23||The hour number in 24h format in which the event is throwed|
|time.minute||eg: 0-59||The minute of the current hour in which the event is throwed|
|time.second||eg: 0-59||The second of the current minute in which the event is throwed|
|sender||The name of the module that have generated the event|
Here a list of predefined events:
|AccountEvent||app.event.sensor.account.change||Account status changed|
|GenericEvent||app.event.sensor||Generic event. Use ONLY if there is not a specific event|
|LocationEvent||app.event.sensor.person.movement.detected||Person position detected|
|ObjectHasChangedBehavior||app.event.sensor.object.behavior.change||Object behavior changed|
|PersonEntersZone||app.event.sensor.person.zone.enter||Person enters a zone|
|PersonExitsZone||app.event.sensor.person.zone.exit||Person exits a zone|
|PluginHasChanged||app.event.sensor.plugin.change||Plugin status changed|
|ScheduledEvent||app.event.sensor.calendar.event.schedule||Time related event|
For event specific data please refer to the Javadocs of the event classes https://freedomotic.github.io/javadoc/freedomotic-core/com/freedomotic/events/package-summary.html
For example this is the list of properties available to a trigger that listen to ObjectReceiveClick events