Ergonomic facade over the generated device-profile binding.
A profile is a named, pre-wired bundle: a control policy, a publish topic,
and a power schedule. Instantiate one rather than choosing algorithms and
tuning constants by hand.
A profile is the manifest, which loads from and saves to JSON so it ships as
a file. A controller is the decision logic that manifest describes: hand it a
reading and it says what the output should do and whether the reading crossed
a threshold worth raising. The presentation a dashboard reads travels inside
the manifest JSON and is read and built here as a typed Presentation.
A Node runs a profile: each tick reads, lets the profile's policy
decide, switches the output, and publishes the reading over a link, and run
repeats that at the cadence the battery allows. A PolicyRegistry
resolves a control kind the library never shipped to the program's own code.
A rule file decides between nodes: a RuleEngine runs it off a link,
switching outputs by name and publishing as rules set and clear, and
RuleEvaluator is its deciding half for a program that moves its own
messages.
The alert, control, and rule action kinds are re-exported as runtime objects,
because the generated enums are types-only.
Ergonomic facade over the generated device-profile binding.
A profile is a named, pre-wired bundle: a control policy, a publish topic, and a power schedule. Instantiate one rather than choosing algorithms and tuning constants by hand.
A profile is the manifest, which loads from and saves to JSON so it ships as a file. A controller is the decision logic that manifest describes: hand it a reading and it says what the output should do and whether the reading crossed a threshold worth raising. The presentation a dashboard reads travels inside the manifest JSON and is read and built here as a typed Presentation.
A Node runs a profile: each tick reads, lets the profile's policy decide, switches the output, and publishes the reading over a link, and
runrepeats that at the cadence the battery allows. A PolicyRegistry resolves a control kind the library never shipped to the program's own code.A rule file decides between nodes: a RuleEngine runs it off a link, switching outputs by name and publishing as rules set and clear, and RuleEvaluator is its deciding half for a program that moves its own messages.
The alert, control, and rule action kinds are re-exported as runtime objects, because the generated enums are types-only.