Files
eva/packages/zigbee/index.ts
kenneth fb1fa642af
Some checks failed
Build and Publish Docker Image / build-and-push (push) Failing after 2m38s
fix(dashboard): dont use crypto randomUUID
use nanoid for jrpc request id generation instead

Co-authored-by: Ona <no-reply@ona.com>
2025-10-30 00:13:08 +00:00

33 lines
791 B
TypeScript

export const ZIGBEE_BASE_TOPIC = "nexus"
export const ZIGBEE_DEVICE = {
deskLamp: "desk_lamp",
livingRoomFloorLamp: "living_room_floor_lamp",
} as const
export type ZigbeeDeviceStates = {
[ZIGBEE_DEVICE.deskLamp]: {
state: "ON" | "OFF"
brightness: number
}
[ZIGBEE_DEVICE.livingRoomFloorLamp]: {
brightness: number
level_config: {
on_level: "previous"
}
linkquality: number
state: "ON" | "OFF"
update: {
installed_version: number
latest_version: number
state: "available" | "idle"
}
}
}
export type ZigbeeDeviceName = keyof ZigbeeDeviceStates
export type ZigbeeDeviceState<DeviceName extends ZigbeeDeviceName = ZigbeeDeviceName> = ZigbeeDeviceStates[DeviceName]
export const ALL_ZIGBEE_DEVICE_NAMES: ZigbeeDeviceName[] = Object.values(ZIGBEE_DEVICE)