UNPKG

node-red-contrib-voice-assistant

Version:

一个小度-小爱-猫精音箱控制NODE-RED自定义设备的节点

56 lines (55 loc) 1.88 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const customModel_1 = __importDefault(require("../handleAttr/customModel")); const baseService_1 = __importDefault(require("./baseService")); class CustomService extends baseService_1.default { constructor(devtype, brokerConn) { super(brokerConn); this.devtype = devtype; } //处理自定义设备设置数据 resSetData(cmd) { var _a; if (((_a = cmd.id) === null || _a === void 0 ? void 0 : _a.split('-')[1]) !== 'diy') return; console.log(cmd, this.did); if (cmd.id !== this.did) return; cmd.status = 0; try { cmd.value = this.handleAttribute.changeVal(cmd); } catch (_b) { cmd.status = -1; console.error('不支持属性'); } console.log('custom resSetData', cmd); if (cmd.value === undefined || cmd.value === -1) cmd.status = -1; return new Promise((resolve) => resolve(cmd)); } /** * 创建设备 */ createDevModel(name) { const model = customModel_1.default.getModel(name, this.devtype); if (!model) return; this.did = model.id = `${this.brokerConn.username}-diy-${this.brokerConn.localmac}-${this.devtype}-${this.models.length + 1}`; return model; } updateState(data) { if (!data.devid) return; const model = this.models.find((it) => it.id === data.devid); if (!model) return; console.log(data.payload); console.log(model); this.handleAttribute.saveCustomState(data); } } exports.default = CustomService;