The order of your elements in the state object matters. The first one which is true will match. The value field for all operators except regex support JS templates.
Operator
value example
Description
<
5
Current state is inferior to value
<=
4
Current state is inferior or equal to value
==
42 or 'on'
This is the default if no operator is specified. Current state is equal (== javascript) to value
>=
32
Current state is superior or equal to value
>
12
Current state is superior to value
!=
'normal'
Current state is not equal (!= javascript) to value
regex
'^norm.*$'
value regex applied to current state does match
template
See templates for examples. value needs to be a javascript expression which returns a boolean. If the boolean is true, it will match this state