UNPKG

lifxlan

Version:

TypeScript library for controlling LIFX products over LAN

121 lines 3.33 kB
import * as Encoding from '../encoding.js'; import { Type } from '../constants/index.js'; import { NOOP } from '../utils/index.js'; export function GetServiceCommand() { return { type: Type.GetService, decode: Encoding.decodeStateService, defaultResponseMode: 'response', }; } export function GetHostFirmwareCommand() { return { type: Type.GetHostFirmware, decode: Encoding.decodeStateHostFirmware, defaultResponseMode: 'response', }; } export function GetWifiInfoCommand() { return { type: Type.GetWifiInfo, decode: Encoding.decodeStateWifiInfo, defaultResponseMode: 'response', }; } export function GetWifiFirmwareCommand() { return { type: Type.GetWifiFirmware, decode: Encoding.decodeStateWifiFirmware, defaultResponseMode: 'response', }; } export function GetPowerCommand() { return { type: Type.GetPower, decode: Encoding.decodeStatePower, defaultResponseMode: 'response', }; } export function SetPowerCommand(power) { return { type: Type.SetPower, payload: Encoding.encodeSetPower(power), decode: Encoding.decodeStatePower, defaultResponseMode: 'ack-only', }; } export function GetLabelCommand() { return { type: Type.GetLabel, decode: Encoding.decodeStateLabel, defaultResponseMode: 'response', }; } export function SetLabelCommand(label) { return { type: Type.SetLabel, payload: Encoding.encodeString(label, 32), decode: Encoding.decodeStateLabel, defaultResponseMode: 'ack-only', }; } export function GetVersionCommand() { return { type: Type.GetVersion, decode: Encoding.decodeStateVersion, defaultResponseMode: 'response', }; } export function GetInfoCommand() { return { type: Type.GetInfo, decode: Encoding.decodeStateInfo, defaultResponseMode: 'response', }; } export function SetRebootCommand() { return { type: Type.SetReboot, decode: NOOP, defaultResponseMode: 'ack-only', }; } export function GetLocationCommand() { return { type: Type.GetLocation, decode: Encoding.decodeStateLocation, defaultResponseMode: 'response', }; } export function SetLocationCommand(location, label, updatedAt) { return { type: Type.SetLocation, payload: Encoding.encodeSetLocation(location, label, updatedAt), decode: Encoding.decodeStateLocation, defaultResponseMode: 'ack-only', }; } export function GetGroupCommand() { return { type: Type.GetGroup, decode: Encoding.decodeStateGroup, defaultResponseMode: 'response', }; } export function SetGroupCommand(group, label, updatedAt) { return { type: Type.SetGroup, payload: Encoding.encodeSetGroup(group, label, updatedAt), decode: Encoding.decodeStateGroup, defaultResponseMode: 'ack-only', }; } export function EchoRequestCommand(echoing) { return { type: Type.EchoRequest, payload: Encoding.encodeEchoRequest(echoing), decode: Encoding.decodeEchoResponse, defaultResponseMode: 'response', }; } //# sourceMappingURL=device.js.map