Lights and switches, including roomsAsLighs, is now proposing an area for Home Assistant based on the room name from Plejd.

This by using suggested_area in MQTT config.

In many installations, Plejd units have the same name and are separated by the room they belong to.
Eg. Badrum -> Spottar, Kök->Spottar, Sovrum->Taklampa, Kök->Taklampa

With 8.0.0 devices can have the same name, and therefore it makes sense to now also support areas.
This commit is contained in:
faanskit 2021-05-07 08:52:57 +02:00
parent 49024f5392
commit 7ba38d6acf
3 changed files with 7 additions and 0 deletions

View file

@ -69,6 +69,7 @@ const getOutputDeviceDiscoveryPayload = (
manufacturer: 'Plejd',
model: device.typeName,
name: device.name,
...(device.roomName !== undefined ? { suggested_area: device.roomName } : {}),
sw_version: device.version,
},
...(device.type === MQTT_TYPES.LIGHT ? { brightness: device.dimmable, schema: 'json' } : {}),

View file

@ -436,6 +436,8 @@ class PlejdApi {
loadType = 'light';
}
const room = this.siteDetails.rooms.find((x) => x.roomId === device.roomId);
/** @type {import('types/DeviceRegistry').OutputDevice} */
const outputDevice = {
bleOutputAddress,
@ -446,6 +448,7 @@ class PlejdApi {
name: device.title,
output: deviceOutput,
roomId: device.roomId,
roomName: room.title,
state: undefined,
type: loadType,
typeName,
@ -519,6 +522,7 @@ class PlejdApi {
name: room.title,
output: undefined,
roomId,
roomName: room.title,
state: undefined,
type: 'light',
typeName: 'Room',
@ -548,6 +552,7 @@ class PlejdApi {
name: scene.title,
output: undefined,
roomId: undefined,
roomName: undefined,
state: false,
type: 'scene',
typeName: 'Scene',

View file

@ -13,6 +13,7 @@ export interface OutputDevice {
name: string;
output: number;
roomId: string;
roomName: string;
state: boolean | undefined;
type: string;
typeName: string;