|  Developer
Updated on May 17, 2022

modify_device()

  • Modify existing device fields. (only for migration)
Edit
  • params: device_id, device (table).
fields type description
gateway_id string [deprecated] an id of a gateway the device is being registering for
name string a name displayed by the UI
category string a device category
subcategory string a device subcategory
type string
device_type_id string
room_id string [opt] an id of a room this device belongs to
parent_device_id string [opt] id of parent device
info [opt] some additional information for this device
battery_powered bool whether the device is battery powered
reachable bool [opt] whether the device is reachable
persistent bool [opt] whether the device is persistent. False by default.
security string [opt] Security level how the device is connected. Possible options: , , , . by default.
ready bool [opt] Ready status of device. value means device is ready to any changes. value means device is busy.
status string [opt] a device status
house_modes_options object [opt] Information about a device settings in preset house modes.
parentRoom bool [opt] Defines the behavior of a child device when the parent device is moved to another room. If true, it should follow the parent device. If false, it can be placed in a separate room. This property is available only for child devices. The default value is true
  • params: device_id, device (table).
Fields that will be modified
category
subcategory
type
security
name
parent_device_id
info
house_modes_options
Possible info value Required Description
manufacturer + Name of device manufacturer
model + Name of device model
firmware Firmware version
hardware Hardware version

Note: If parent_device_id is set to a child device id, then the return value would be nil and no device will be created.

Edit
Edit
				
					require "core"

local gateway = core.get_gateway()
local device = core.modify_device( device_id, { gateway_id = gateway.id, ... } )				
			
Edit
				
					require "core"

local gateway = core.get_gateway()
local sirenDevice = core.modify_device( siren_device_id, { house_modes_options = { alarms_off = {"1", "2", "3", "4" } }, ... } )

local motionSensorDevice = core.modify_device( motion_sensor_id, { house_modes_options = { disarmed = {"1", "3"} }, ... } )