Triggers

Triggers are used to issue events when certain conditions are met. Stream Monitor will send Mqtt message with "trigger" topic and conditions payload when there is a match. Upon reporting, the trigger is removed from an internal queue.

The logic: - Event is fired when the conditions inside the trigger resolve to true (logical AND) - Event is fired only once ( if armed state is true). After that, the armed state is set to false

For example, below are YAML defined triggers:

triggers: 
  # Send start message when stream becomes online 
    - trigger: start 
      armed: true
    conditions:
    state: online
  # Send start message based on telemetry defined conditions - ground speed > 100 km/h and altitude > 200 m
    - trigger: start
    armed: true 
    conditions:
      state: online
        telemetry:
          speed:
            above: 100
          altitude:
            above: 200  
    # Send arrived message based on telemetry defined conditions - platform location is inside of predefined polygon
    - trigger: arrived
      armed: true  
    conditions:  
      telemetry:
        location:
          coordinates: [[[34.7373,32.0686],[34.8616,32.0686],[34.8616,32.1238],[34.7373,32.12387],[34.7373,32.0686]]]
    # Send stop message based on telemetry defined conditions - ground speed < 20
    - trigger: stop
      armed: true  
    conditions:  
      telemetry:
        speed:
          below: 20