# States: Types and Conditions

- Number of States
- Lamp State
- [Operation]

## Number of States

You can set the number of display states for the Lamp.

[Type] | [State Change Condition] | [Number of States]
[Bit] | [State] | 2-32
[Bit] | 2-33
[Word] | [State] | 2-256
[Bit] | 2-33
[Range] | 2-256

## Lamp State

Desired Lamp state can be represented by a combination of a variable [Type] that controls the Lamp, and [State Change Condition] that defines the state of the Lamp.

- [Type]: [Bit], [State Change Condition]: [Bit]
- [Type]: [Bit], [State Change Condition]: [State]
- [Type]: [Word], [State Change Condition]: [Bit]
- [Type]: [Word], [State Change Condition]: [State]
- [Type]: [Word], [State Change Condition]: [Range]

### [Type]: [Bit], [State Change Condition]: [Bit]

You can change Lamp state based on ON/OFF status by using 33 different boolean variables.

[Bit Position]: [Low Bit]

State | Variable value of State0 | Variable value of State1 | Variable value of State2 | Variable value of State3 | Variable value of State4 - 30 | Variable value of State31
State0 | OFF | OFF | OFF | OFF | OFF | OFF
State1 | ON | * | * | * | * | *
State2 | OFF | ON | * | * | * | *
State3 | OFF | OFF | ON | * | * | *
State4 | OFF | OFF | OFF | ON | * | *
... | ... | ... | ... | ... | ... | ...
State32 | OFF | OFF | OFF | OFF | OFF | ON

* The bit status is either ON or OFF.

[Bit Position]: [High Bit]

State | Variable value of State0 | Variable value of State1 | Variable value of State2 | Variable value of State3 | Variable value of State4 - 30 | Variable value of State31
State0 | OFF | OFF | OFF | OFF | OFF | OFF
State1 | ON | OFF | OFF | OFF | OFF | OFF
State2 | * | ON | OFF | OFF | OFF | OFF
State3 | * | * | ON | OFF | OFF | OFF
State4 | * | * | * | ON | OFF | OFF
... | ... | ... | ... | ... | ... | ...
State32 | * | * | * | * | * | ON

* The bit status is either ON or OFF.

### [Type]: [Bit], [State Change Condition]: [State]

You can change Lamp state based on ON/OFF status by using five different boolean variables.

State | Variable value of State0 | Variable value of State1 | Variable value of State2 | Variable value of State3 | Variable value of State4
State0 | OFF | - | - | - | -
State1 | ON | - | - | - | -
State2 | OFF | ON | - | - | -
State3 | ON | ON | - | - | -
State4 | OFF | OFF | ON | - | -
State5 | ON | OFF | ON | - | -
State6 | OFF | ON | ON | - | -
State7 | ON | ON | ON | - | -
State8 | OFF | OFF | OFF | ON | -
State9 | ON | OFF | OFF | ON | -
State10 | OFF | ON | OFF | ON | -
State11 | ON | ON | OFF | ON | -
State12 | OFF | OFF | ON | ON | -
State13 | ON | OFF | ON | ON | -
State14 | OFF | ON | ON | ON | -
State15 | ON | ON | ON | ON | -
State16 | OFF | OFF | OFF | OFF | ON
State17 | ON | OFF | OFF | OFF | ON
State18 | OFF | ON | OFF | OFF | ON
State19 | ON | ON | OFF | OFF | ON
State20 | OFF | OFF | ON | OFF | ON
State21 | ON | OFF | ON | OFF | ON
State22 | OFF | ON | ON | OFF | ON
State23 | ON | ON | ON | OFF | ON
State24 | OFF | OFF | OFF | ON | ON
State25 | ON | OFF | OFF | ON | ON
State26 | OFF | ON | OFF | ON | ON
State27 | ON | ON | OFF | ON | ON
State28 | OFF | OFF | ON | ON | ON
State29 | ON | OFF | ON | ON | ON
State30 | OFF | ON | ON | ON | ON
State31 | ON | ON | ON | ON | ON

### [Type]: [Word], [State Change Condition]: [Bit]

You can change Lamp state based on the ON/OFF status by using bit values.

State Configuration | State | Variable value
[Bit Position] | [Undefined Bits] | Bit 0 | Bit 1 | Bit 2 | Bit 3 - 30 | Bit 31 | Bit 32 To Max
[Low Bit] | [Ignore] | 0 | OFF | OFF | OFF | OFF | OFF | *
1 | ON | * | * | * | * | *
2 | OFF | ON | * | * | * | *
3 | OFF | OFF | ON | * | * | *
... | ... | ... | ... | ... | ... | ...
32 | OFF | OFF | OFF | OFF | ON | *
[Use] | 0 | OFF | OFF | OFF | OFF | OFF | OFF
1 | ON | * | * | * | * | *
2 | OFF | ON | * | * | * | *
3 | OFF | OFF | ON | * | * | *
... | ... | ... | ... | ... | ... | ...
32 | OFF | OFF | OFF | OFF | ON | *
Invalid | OFF | OFF | OFF | OFF | OFF | Any one is ON
[High Bit] | [Ignore] | 0 | OFF | OFF | OFF | OFF | OFF | *
1 | ON | OFF | OFF | OFF | OFF | *
2 | * | ON | OFF | OFF | OFF | *
3 | * | * | ON | OFF | OFF | *
... | ... | ... | ... | ... | ... | ...
32 | * | * | * | * | ON | *
[Use] | 0 | OFF | OFF | OFF | OFF | OFF | OFF
1 | ON | OFF | OFF | OFF | OFF | OFF
2 | * | ON | OFF | OFF | OFF | OFF
3 | * | * | ON | OFF | OFF | OFF
... | ... | ... | ... | ... | ... | ...
32 | * | * | * | * | ON | OFF
Invalid | * | * | * | * | * | Any one is ON

* The bit status is either ON or OFF.

### [Type]: [Word], [State Change Condition]: [State]

When the value of the associated variable changes, the display state of the Lamp also changes.

State | Variable value
State0 | 0
State1 | 1
State2 | 2
State3 | 3
: | :
State255 | 255

If the [Number of States] are more than the configured states, then [Invalid] state is displayed.

### [Type]: [Word], [State Change Condition]: [Range]

You can change the lamp state depending on which condition is applied by the value of the associated variable.

The number of [Condition] fields to set up is the [Number of States] minus 1.

Example: [Number of States] is 5 and each [Condition] is set up as follows (Variable 1 is an integer)

State | [Condition] | Description | Variable value (X)
State0 | X == 0 | Equal 0 | 0
State1 | 0 < X < 50 | More than 0 and less than 50 | 1...49
State2 | 50 <= X < 100 | 50 or more and less than 100 | 50...99
State3 | 100 != X | Not equal 100 | Other than 0...100
State4 | (No settings) | Value that doesn't apply to any condition of State0 to State3 | 100

When the range defined by the [Condition] overlaps between states, the smaller numbered state has priority. In the above example, a variable value of 80 fits the range for both State2 and State3, but State2 is used.

Note:

- When the [State Change Condition] is set to [Range], the [Invalid] state is not applied to the object color or text.

## [Operation]

For touch operation type/operation properties, see [Operation].