---
sidebar_position: 0
---

# deviceInfo

The `sos.deviceInfo` API groups together methods for retrieving information about the device set in the CloudControl, such as location or
tags.

## Methods

### getDeviceName()

The `getDeviceName()` method returns a name of the device. Name is requested from server on application start, automatically
updated when changed and persisted in local storage.

:::note
Device name can be set only in CloudControl on Device Info page, or via [Rest API](https://developers.signageos.io/api/#tag/Device/paths/~1v2~1device~1%7BdeviceUid%7D/get).
:::

```ts expandable
getDeviceName(): Promise<string | null>;
```

#### Return value

A promise that resolves to the device name.

#### Example

```ts
const deviceName = await sos.deviceInfo.getDeviceName();
console.log(`Device name is: ${deviceName}`);
```

<Separator />

### getLocation()

The `getLocation()` method returns location of the device. Location is requested from server on application start, automatically
updated when changed and persisted in local storage.

:::note
Location can be set only in CloudControl on Device Info page, or via [Rest API](https://developers.signageos.io/api/#tag/DeviceLocation/paths/~1v1~1device~1%7BdeviceUid%7D~1location~1%7BlocationUid%7D/get).
:::

```ts expandable
getLocation(): Promise<IDeviceLocation | null>;
// show-more
interface IDeviceLocation {
    name: string;
    customId?: string;
    description?: string;
}

```

#### Return value

A promise that resolves to the device location or `null` if not set.

<Separator />

### getOrganizationTags()

The `getOrganizationTags()` method returns all tags assigned to the device. Tags are requested from server on application start, automatically
updated when changed and persisted in local storage.

:::note
Tags can be set only in CloudControl on Device Info page, or via [Rest API](https://developers.signageos.io/api/#tag/DeviceTag-(Device-Tags)).
:::

```ts expandable
getOrganizationTags(): Promise<IOrganizationTag[]>;
// show-more
interface IOrganizationTag {
    name: string;
}

```

#### Return value

A promise that resolves to an array of organization tags.

## API Example

```ts
import { sos } from '@signageos/front-applet';

void sos.onReady(async () => {
	await printLocation();
	await printTags();
});

const printLocation = async () => {
	const { name, customId, description } = (await sos.deviceInfo.getLocation()) ?? {};

	console.log('Location: ', { name, customId, description });
};

const printTags = async () => {
	const tags = await sos.deviceInfo.getOrganizationTags();

	for (const { name } of tags) {
		console.log('Tag: ', name);
	}
};

```