Skip to content

Scrypted Documentation / DeviceManager

Interface: DeviceManager

DeviceManager is the interface used by DeviceProvider to report new devices, device states, and device events to Scrypted.

Methods

getDeviceLogger()

getDeviceLogger(nativeId?): Logger

Get the logger for a device given a native id.

Parameters

nativeId?: ScryptedNativeId

Returns

Logger


getDeviceConsole()

getDeviceConsole(nativeId?): Console

Get the console for the device given a native id.

Parameters

nativeId?: ScryptedNativeId

Returns

Console


getMixinConsole()

getMixinConsole(mixinId, nativeId?): Console

Get the console for the device given a native id.

Parameters

mixinId: string

nativeId?: ScryptedNativeId

Returns

Console


getDeviceState()

getDeviceState(nativeId?): DeviceState

Get the device state maintained by Scrypted. Setting properties on this state will update the state in Scrypted.

Parameters

nativeId?: ScryptedNativeId

Returns

DeviceState


createDeviceState()

createDeviceState(id, setState): WritableDeviceState

Create a device state object that will trap all state setting calls. Used internally by mixins and fork.

Parameters

id: string

setState

Returns

WritableDeviceState


getMixinStorage()

getMixinStorage(id, nativeId?): Storage

Get the storage for a mixin.

Parameters

id: string

The id of the device being mixined.

nativeId?: ScryptedNativeId

The nativeId of the MixinProvider.

Returns

Storage


onMixinEvent()

onMixinEvent(id, mixinDevice, eventInterface, eventData): Promise<void>

Fire an event for a mixin provided by this plugin.

Parameters

id: string

mixinDevice: any

eventInterface: string

eventData: any

Returns

Promise<void>


getDeviceStorage()

getDeviceStorage(nativeId?): Storage

Get the device Storage object.

Parameters

nativeId?: ScryptedNativeId

Returns

Storage


getNativeIds()

getNativeIds(): string[]

Get all the native ids that have been reported by this plugin. This always includes "undefined", the plugin itself.

Returns

string[]


onDeviceDiscovered()

onDeviceDiscovered(device): Promise<string>

onDeviceDiscovered is used to report new devices that are trickle discovered, one by one, such as via a network broadcast.

Parameters

device: Device

Returns

Promise<string>


onDeviceEvent()

onDeviceEvent(nativeId, eventInterface, eventData): Promise<void>

Fire an event for a device provided by this plugin.

Parameters

nativeId: ScryptedNativeId

eventInterface: string

eventData: any

Returns

Promise<void>


onDeviceRemoved()

onDeviceRemoved(nativeId): Promise<void>

onDeviceRemoved is used to report when discovered devices are removed.

Parameters

nativeId: ScryptedNativeId

Returns

Promise<void>


onDevicesChanged()

onDevicesChanged(devices): Promise<void>

onDevicesChanged is used to sync Scrypted with devices that are attached to a hub, such as Hue or SmartThings. All the devices should be reported at once.

Parameters

devices: DeviceManifest

Returns

Promise<void>


requestRestart()

requestRestart(): Promise<void>

Restart the plugin. May not happen immediately.

Returns

Promise<void>