Field Type Required Description
valueTypes object Contains a list of value types present in the firmware, except scalable value types. which are included. By them full set of rules is filtered
valueTypes.list array of strings + An array of value type names.
scalableValueTypes object Contains a list of scalable value types/(values with units), available for that version of the firmware.
scalableValueTypes.list array of strings + An array of scalable value type names.
valueScales object Lists available scales/units of a specific scalable value type. Indicates whether a scalable value has a converter between different , has a default .
valueScales.{scalable type name} object Information about particular scalable type
valueScales.{scalable type name}.scales array of strings + A list of for a value type
valueScales.{scalable type name}.converter boolean If true, a value has a converter between different .
valueScales.{scalable type name}.defaultScale string If a type has a default , shows its name.
scenesValueTypes object Contains a list of Scene value types present in the firmware. Examples: , .
scenesValueTypes.list array of strings + An array of value type names.
valueTypeFamilies object A list of families of value types. A single value type family can have the same list of comparison methods for any type present in the family.
valueTypeFamilies.{familyName} object + A list of value types that forms a family.
comparisonOperators object Describes comparison operators available for different value type families.
comparisonOperators.families array of family operations objects + A list of different sets of comparison methods bound to a specific value type family
comparisonMethods object Describes properties of different comparison methods.
comparisonMethods.info object Describes a version of a comparison methods metadata.
comparisonMethods.{methodName}.dataSource array of objects An array of data sources supported by the comparison method.
comparisonMethods.{methodName}.dataSource[].index int The position of a data source is a method (0 – left, 1 – right in case of two operands). One of the fields or is required.
comparisonMethods.{methodName}.dataSource[].types array of data source types + Data source types that are supported on this position or field. Possible data sources: , , , , , . Future data sources: , .
comparisonMethods.{methodName}.dataSource[].field string Optional. The field name of a parameter. One of the fields or is required.
comparisonMethods.{methodName}.comparator object Optional. description of a comparator if needed
comparisonMethods.{methodName}.comparator.type string + A type of a comparator possible values
comparisonMethods.{methodName}.comparator.options array of strings A name of a field where the comparator is expected by a comparison method
comparisonMethods.{methodName}.comparator.field string A list of comparators supported by the comparison method
actionMethods object Describes properties of different action methods.
actionMethods.info object Describes a version of a action methods metadata.
actionMethods.{actionName}.dataSource array of objects An array of data sources supported by the action methods.
actionMethods.{actionName}.dataSource[].index int The position of a data source is a method (0 – left, 1 – right in case of two operands). One of the fields or is required.
actionMethods.{actionName}.dataSource[].types array of data source types + Data source types that are supported on this position or field. Possible data sources: , , , .
actionMethods.{actionName}.dataSource[].field string Optional. The field name of a parameter. One of the fields or is required.
actionMethods.{actionName}.dataTarget array of objects An array of data targets supported by the action method.
actionMethods.{actionName}.dataTarget[].index int The position of a data target is a method (0 – left, 1 – right in case of two operands). One of the fields or is required.
actionMethods.{actionName}.dataTarget[].types array of data target types + Data target types that are supported on this position or field. Possible data targets: , , , , , , , , .
actionMethods.{actionName}.dataTarget[].field string Optional. The field name of a parameter. One of the fields or is required.
actionMethods.{actionName}.execution string + An array of execution modes supported by the action method, which can be or .
actionMethods.{actionName}.scope string Optional. An array of scopes in which the action method can be executed, such as or .
actionMethods.{actionName}.typeSystem string Optional. A string that specifies the type system used by the action method, such as .
advancedScenesVersion string The value of advanced_scenes feature.

Value Type Family Operations:

Field Type Required Description
family string + Name of a value type family.
methods array of objects + A list of comparison methods is available for a value of any type from the value type family.
methods[].op string + A comparison operation to use with a comparison method as a comparator.
methods[].name string + A name of a comparator.
methods[].method string + A comparison method name to compose a when block with (like , , etc).