|  Developer
Updated on November 8, 2021

Device House Modes Options

  • The device.house_mode_options is used to change default house modes behavior based on categories/subcategories and allows to override the default way the kind of devices should appear in a particular house mode.
  • The armed device can be made disarmed;
  • The alarm device can be marked as alarm off device.
  • The camera device should be marked both as camera off and camera on device.

A device’s house_modes_options is an optional field, which might contain one of the following fields:

Field Type Description
disarmed Array of strings House modes identifiers list. Contains house modes identifiers, like “1”, “2”, “3”, “4”. For the house modes listed the device should not be armed in case of the house mode has a property = . Overrides option of a house mode.
alarms_off Array of strings Contains house modes identifiers. For the house mode listed the siren device should be turned off when current house mode of a controller is one of a listed here. Overrides option of a house mode.
cameras_off Object Contains house modes as a key, and a boolean value as a setting. If it is true, the camera device should be off by default in the house mode pointed by a key. Otherwise, the camera device should be on by default. If house mode is not listed, the default value of a flag is .


The field can only be passed to core.add_device(), core.modify_device() Lua bindings and is hidden from commands like hub.devices.list, hub.data.list and broadcasts hub.device.added, hub.device.updated.

example:
Mark a device as disarmed in all preset house modes:
				
					local device = {
    ...
    "house_modes_options" = {
        "disarmed" = ["1", "2", "3", "4"]
    }
}				
			
Mark a alarm device off in and preset house modes:
				
					local device = {
    ...
    "house_modes_options" = {
        "alarm_off" = ["1", "3"]
    }
}				
			
Mark a camera device off in and , and on in and house modes:
				
					local device = {
    ...
    "house_modes_options" = {
        "cameras_off" = {
            "1" = true,
            "2" = false,
            "3" = true,
            "4" = false
        }
    }
}