UNPKG

inventoresed

Version:

Z-Wave driver written entirely in JavaScript/TypeScript

47 lines (40 loc) 1.19 kB
import { MessagePriority } from "@zwave-js/core"; import type { ZWaveHost } from "@zwave-js/host"; import { expectedResponse, FunctionType, gotDeserializationOptions, Message, MessageBaseOptions, MessageDeserializationOptions, MessageType, messageTypes, priority, } from "@zwave-js/serial"; @messageTypes(MessageType.Request, FunctionType.GetSUCNodeId) @expectedResponse(FunctionType.GetSUCNodeId) @priority(MessagePriority.Controller) export class GetSUCNodeIdRequest extends Message {} export interface GetSUCNodeIdResponseOptions extends MessageBaseOptions { sucNodeId: number; } @messageTypes(MessageType.Response, FunctionType.GetSUCNodeId) export class GetSUCNodeIdResponse extends Message { public constructor( host: ZWaveHost, options: MessageDeserializationOptions | GetSUCNodeIdResponseOptions, ) { super(host, options); if (gotDeserializationOptions(options)) { this.sucNodeId = this.payload[0]; } else { this.sucNodeId = options.sucNodeId; } } /** The node id of the SUC or 0 if none is present */ public sucNodeId: number; public serialize(): Buffer { this.payload = Buffer.from([this.sucNodeId]); return super.serialize(); } }