Skip to main content
Version: 8.2.2

sos.management

The sos.management API group provides methods for managing the device. Through this API, things like device firmware, battery status, brightness, network information, remote control, power, time, or volume can be monitored.

Management Capabilities
CapabilityDescription
MODELIf device can return proper model name
SERIAL_NUMBERIf device can return serial number
BATTERY_STATUSIf device can return battery status
TEMPERATUREIf device can return current temperature
BRANDIf device can return manufacturer brand
FACTORY_RESETIf device can perform factory reset
EXTENDED_MANAGEMENTIf device can return or set extended management URL
HARDWARE_ACCELERATIONIf device can turn hardware acceleration on or off

If you want to check if the device supports those capabilities, use sos.management.supports().

Methods

factoryReset()

The factoryReset() method initializes the factory reset of the device.

factoryReset(): Promise<void>;

Return value

A promise that resolves when the factory reset is initiated.

Possible errors

If the device does not support factory reset.

getBatteryStatus()

The getBatteryStatus() method returns information about the battery of the device.

note
  • Emulator has mocked this method and will always return a battery status with 100% charge.
getBatteryStatus(): Promise<IBatteryStatus>;

Return value

A promise that resolves to an object containing the battery status.

Possible errors

If the device does not support battery status monitoring.

Example

const batteryStatus = await sos.management.getBatteryStatus();
console.log(`Battery status: ${batteryStatus.percentage}% charged`);

getBrand()

The getBrand() method returns the manufacturer brand of the device.

getBrand(): Promise<string>;

Return value

A promise that resolves to the brand name of the device.

Possible errors

If the device does not support brand information.

Example

const brand = await sos.management.getBrand();
console.log(`Device brand is: ${brand}`); // e.g., 'Samsung', 'LG', BrightSign, etc.

getExtendedManagementUrl()

The getExtendedManagementUrl() method returns the management URL of the device.

info

This is currently only implemented for the MagicInfo on the Tizen platform.

getExtendedManagementUrl(): Promise<string | null>;

Return value

A promise that resolves to the management URL of the device, or null if not set.

Possible errors

If the device does not support the extended management URL.

getModel()

The getModel() method returns the model of the device.

getModel(): Promise<string>;

Return value

A promise that resolves to the model name of the device.

Example

const model = await sos.management.getModel();
console.log(`Device model is: ${model}`); // e.g. 'XC4055' (BrightSign)

getSerialNumber()

The getSerialNumber() method returns the serial number of the device.

getSerialNumber(): Promise<string>;

Return value

A promise that resolves to the serial number of the device.

Example

const serialNumber = await sos.management.getSerialNumber();
console.log(`Device serial number is: ${serialNumber}`); // e.g. '1234567890'

getTemperature()

The getTemperature() method returns the temperature of the device (in the 0-100 range of degrees Celsius).

getTemperature(): Promise<number>;

Return value

A promise that resolves to the current temperature of the device.

Possible errors

If the device does not support temperature monitoring.

Example

const temperature = await sos.management.getTemperature();
console.log(`Current device temperature is: ${temperature}°C`); // e.g. 25°C

isHardwareAccelerationEnabled()

The isHardwareAccelerationEnabled() method returns whether hardware acceleration is enabled.

isHardwareAccelerationEnabled(): Promise<boolean>;

Return value

A promise that resolves to true if hardware acceleration is enabled, otherwise false.

Possible errors

If the device does not support hardware acceleration management.

Example

const isEnabled = await sos.management.isHardwareAccelerationEnabled();
console.log(`Hardware acceleration is ${isEnabled ? 'enabled' : 'disabled'}.`);

resetSettings()

The resetSettings() method initializes the reset of the specific device settings.

warning

This is currently only implemented on the Linux platform.

resetSettings(): Promise<void>;

Return value

A promise that resolves when the settings are reset.

Possible errors

If the device does not support settings reset.

setExtendedManagementUrl()

The getExtendedManagementUrl() sets the management URL of the device.

info

This is currently only implemented for the MagicInfo on the Tizen platform.

setExtendedManagementUrl(url: string | null): Promise<void>;

Params

NameTypeRequiredDescription
urlstring | null
Yes
The management URL to set. If null, it will remove the current URL.

Return value

A promise that resolves when the URL is set.

Possible errors

  • If the URL is not a valid string or if the device
  • If the device does not support the extended management URL.

Example

await sos.management.setExtendedManagementUrl('https://example.com/management');
// later
const url = await sos.management.getExtendedManagementUrl();
console.log(`Extended management URL is: ${url}`); // e.g. 'https://example.com/management'

setHardwareAcceleration()

The setHardwareAcceleration() method turns hardware acceleration on or off.

note
  • This is currently only implemented for the BrightSign platform.
  • Device must always be rebooted for the changes to take effect.
setHardwareAcceleration(enabled: boolean): Promise<void>;

Params

NameTypeRequiredDescription
enabledboolean
Yes
Whether hardware acceleration should be enabled.

Return value

A promise that resolves when the hardware acceleration setting is applied.

Possible errors

  • If the enabled parameter is not a boolean.
  • If the device does not support hardware acceleration management.

Example

await sos.management.setHardwareAcceleration(true).then(async () => {
console.log('Hardware acceleration enabled.');
await sos.management.reboot();
}).catch((error) => {
console.error('Failed to set hardware acceleration:', error);
});

supports()

The supports() method determines whether a queried capability is supported.

What are capabilities?

Capabilities are features or functionalities that a device can support. We divided those capabilities into front and management capabilities. This section is about management capabilities, which include features to manage the device, receive information about the device, or change its settings.

On the other hand, the front capabilities are features that are related to the application running on the device, such as displaying content, handling user input, etc. To check front capabilities, refer to the sos.display.supports() method or this section.

tip

If you want to check specific capabilities, refer to the sidebar for the selected management section. Every section has its capabilities written in the description, or check the ManagementCapability type in supports() method. It has a list of all available capabilities for all platforms.

supports(capability: ManagementCapability): Promise<boolean>;

Params

NameTypeRequiredDescription
capabilityManagementCapability
Yes
The capability to check for support.

Return value

A promise that resolves to true if the capability is supported, otherwise false.

Possible errors

If the capability is not a valid string.

Example

const isSupported = await sos.management.supports('OS_VERSION');
console.log(`Is OS_VERSION supported? ${isSupported}`);

getNetworkInfo()

Deprecated

This method was deprecated. Use sos.management.network.listInterfaces() instead.

getNetworkInfo(): Promise<INetworkInfo>;