inventoresed
Version:
Z-Wave driver written entirely in JavaScript/TypeScript
49 lines (42 loc) • 1.33 kB
text/typescript
import { MessagePriority } from "@zwave-js/core";
import type { ZWaveHost } from "@zwave-js/host";
import {
expectedResponse,
FunctionType,
Message,
MessageBaseOptions,
MessageDeserializationOptions,
MessageType,
messageTypes,
priority,
} from "@zwave-js/serial";
export interface IsFailedNodeRequestOptions extends MessageBaseOptions {
// This must not be called nodeId or rejectAllTransactions may reject the request
failedNodeId: number;
}
(MessageType.Request, FunctionType.IsFailedNode)
(FunctionType.IsFailedNode)
(MessagePriority.Controller)
export class IsFailedNodeRequest extends Message {
public constructor(host: ZWaveHost, options: IsFailedNodeRequestOptions) {
super(host, options);
this.failedNodeId = options.failedNodeId;
}
// This must not be called nodeId or rejectAllTransactions may reject the request
public failedNodeId: number;
public serialize(): Buffer {
this.payload = Buffer.from([this.failedNodeId]);
return super.serialize();
}
}
(MessageType.Response, FunctionType.IsFailedNode)
export class IsFailedNodeResponse extends Message {
public constructor(
host: ZWaveHost,
options: MessageDeserializationOptions,
) {
super(host, options);
this.result = !!this.payload[0];
}
public readonly result: boolean;
}