Rule
data class Rule(val id: Int, val channels: Set<Channel>, val condition: Condition, val action: Action)
Represents rule used to define edge logic on the device.
Rules are defined by conditions and actions. If Condition is true, trigger Action.
It is possible to configure up to 12 rules and assign them to different channels. One rule can be assigned to any number of channels. For instance rule "If temperature is over 10 C, trigger the transmission" can be assigned to channels 1 and 2. No matter to how many channels a rule is assigned to, it's still counted as one rule.