EMQX’s Device Agent documentation describes two ways to use Jev with connected devices: branch a workflow on a decision, or map an explicit request to device commands. The important boundary is what happens when the model cannot choose cleanly or a sequence fails partway through.

Make missing evidence a branch

A workflow decision supplies the triggering event as state, a question and a set of named choices. Each choice leads to a workflow output.

  • The system also adds insufficient_evidence for missing or contradictory information.
  • That branch can notify a person or send the case for manual handling.
  • EMQX recommends ordinary rules for explicit thresholds and statistical methods for numeric anomaly detection.

An abstention option gives the workflow somewhere to send uncertain cases. It does not ensure Jev will pick that option when it should; typed output is not proof of a correct decision.

Treat direct commands as real side effects

The quick-command interface selects commands and parameters from the current device model, then sends them without a full agent conversation. EMQX says it supports explicit target values, not relative requests such as “two degrees warmer.”

  • Parameters can be booleans, enumerated values or bounded numeric candidates; free text and complex parameters are unsupported.
  • Nothing runs if no command matches. An unresolved required parameter or failed step stops later steps.
  • Earlier commands are not rolled back. Check the result and the device state, not just the model’s selected answer.

Caveat: This is a documentation walkthrough, not a measured reliability or safety evaluation. The integration was not run or audited for this capture.