Generally one does not have to worry about the thing types as they are automatically defined.
If for any reason you need to manually define the Things and you are not exactly sure what type of thermostat you have, you can choose `thermostat` for both the thermostat and thermostat+, this will not affect their working.
There are no binding wide settings as all configuration settings are now per MAX! Cube, hence in case you have multiple Cubes, they can run with alternative settings.
| mode | String | This channel indicates the mode of a thermostat (AUTOMATIC/MANUAL/BOOST/VACATION). | thermostat, thermostatplus, wallthermostat |
| battery_low | Switch | This channel indicates if the device battery is low (ON/OFF). | thermostat, thermostatplus, wallthermostat, ecoswitch, shuttercontact |
| set_temp | Number:Temperature | This channel indicates the sets temperature of a thermostat. | thermostat, thermostatplus, wallthermostat |
| actual_temp | Number:Temperature | This channel indicates the measured temperature of a thermostat (see below for more details). | thermostat, thermostatplus, wallthermostat |
| valve | Number | This channel indicates the valve opening in %. Note this is an advanced setting, normally not visible. | thermostat, thermostatplus, wallthermostat |
| locked | Contact | This channel indicates if the thermostat is locked for adjustments (OPEN/CLOSED). Note this is an advanced setting, normally not visible. | thermostat, thermostatplus, wallthermostat |
| contact_state | Contact | This channel indicates the contact state for a shutterswitch (OPEN/CLOSED). | shuttercontact |
| free_mem | Number | This channel indicates the free available memory on the cube to hold send commands. Note this is an advanced setting, normally not visible. | bridge |
| duty_cycle | Number | This channel indicates the duty cycle. Due to regulatory compliance reasons in Europe, the cube is allowed to send at no more than 1% of the time, which sums up to 36 seconds per hour. Once the threshold has been reached, the cube stops sending commands for the remaining time of the hour. The value in this field seems to represent a percentage ranging from 0 to 100, with a value of 100 meaning that the threshold has been reached. Note that this is an advanced setting, normally not visible. | bridge |
## Full Example
In most cases no Things need to be defined manually.
In case your Cube can't be discovered you need a `max:bridge` definition including the right IP address of the Cube.
Only in exceptional cases you would need to define the thermostats etc.
Please be aware that the actual temperature measure for thermostats is only updated after the valve moved position or the thermostats mode has changed.
Hence the temperature you see may be hours old.
In that case you can update the temperature by changing the mode, wait approximately 2 minutes and change the mode back.
There is an experimental mode that does this automatically.
During this time, holding the _boost_ button on your device will link it to the Cube.
## Device Configuration
In the _Configuration Parameters_ section of the device Things you can update some of the device configuration parameters.
Currently the following parameters can be updated:
*_name_ Name of the thermostat stored in the Cube (also used by the eQ-3 software).
_Cube device configurable parameters_
*_ntpServer1_ The hostname for NTP Server 1 used by the Cube to get the time
*_ntpServer2_ The hostname for NTP Server 2 used by the Cube to get the time
## Thing Actions
Several Thing Actions are available to trigger special actions on the MAX! Cube
*`reset()`: _Reset Cube Configuration_ resets the MAX! Cube room and device information. Devices will need to be included again!
*`reboot()`: _Restart Cube_ triggers the reboot of a Cube. This can be used if a Cube became unresponsive to commands or no connection can be made. (e.g. if you tried to connect to the Cube with multiple applications at the same time)
On the MAX! devices you can trigger the following action
*`deleteFromCube()`: _Delete Device from Cube_ deletes the device from the MAX! Cube. Device will need to be included again!
### Example Rule
demo.rules:
```java
rule "Reboot MAX! Cube"
when
...
then
val maxCubeActions = getActions("max-cube", "max:bridge:KEQ0565026")
val Boolean success = maxCubeActions.reboot()
logInfo("max", "Action 'reboot' returned '{}'", success)