lifxlan
Version:
TypeScript library for controlling LIFX products over LAN
121 lines • 3.33 kB
JavaScript
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