matterbridge-roborock-vacuum-plugin
Version:
Matterbridge Roborock Vacuum Plugin
39 lines (38 loc) • 1.11 kB
JavaScript
import { Protocol } from './protocol.js';
import { randomInt } from 'node:crypto';
export class RequestMessage {
messageId;
protocol;
method;
params;
secure;
timestamp;
nonce;
constructor(args) {
this.messageId = args.messageId ?? randomInt(10000, 32767);
this.protocol = args.protocol ?? Protocol.rpc_request;
this.method = args.method;
this.params = args.params;
this.secure = args.secure ?? false;
this.nonce = args.nonce ?? randomInt(10000, 32767);
this.timestamp = args.timestamp ?? Math.floor(Date.now() / 1000);
}
toMqttRequest() {
return this;
}
toLocalRequest() {
if (this.protocol == Protocol.rpc_request) {
return new RequestMessage({
messageId: this.messageId,
protocol: Protocol.general_request,
method: this.method,
params: this.params,
secure: this.secure,
timestamp: this.timestamp,
});
}
else {
return this;
}
}
}