zigbee-herdsman-zigate
Version:
An open source ZigBee gateway solution with node.js.
64 lines • 3.16 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.asAttributeReportMessage = exports.createZGMessage = exports.ZGMessageCode = void 0;
const debug_1 = require("../debug");
const attribute_report_1 = require("./messages/attribute-report");
const status_1 = require("./messages/status");
const device_announce_1 = require("./messages/device-announce");
const active_endpoint_1 = require("./messages/active-endpoint");
const get_devices_list_1 = require("./messages/get-devices-list");
const version_list_1 = require("./messages/version-list");
const buffer_reader_1 = __importDefault(require("./buffer-reader"));
const on_off_update_1 = require("./messages/on-off-update");
const level_update_1 = require("./messages/level-update");
const debug = debug_1.Debug('driver:messages');
var ZGMessageCode;
(function (ZGMessageCode) {
ZGMessageCode[ZGMessageCode["AttributeReport"] = 33026] = "AttributeReport";
ZGMessageCode[ZGMessageCode["Status"] = 32768] = "Status";
ZGMessageCode[ZGMessageCode["DeviceAnnounce"] = 77] = "DeviceAnnounce";
ZGMessageCode[ZGMessageCode["ActiveEndpoint"] = 69] = "ActiveEndpoint";
ZGMessageCode[ZGMessageCode["VersionList"] = 32784] = "VersionList";
ZGMessageCode[ZGMessageCode["GetDevicesList"] = 32789] = "GetDevicesList";
ZGMessageCode[ZGMessageCode["LevelUpdate"] = 32901] = "LevelUpdate";
ZGMessageCode[ZGMessageCode["OnOffUpdate"] = 32917] = "OnOffUpdate";
})(ZGMessageCode = exports.ZGMessageCode || (exports.ZGMessageCode = {}));
function createZGMessage(code, payload) {
const hexCode = '0x' + code.toString(16);
debug.log(`new message from code: %s`, hexCode);
switch (code) {
case ZGMessageCode.AttributeReport:
return new attribute_report_1.ZGAttributeReportMessage(payload);
case ZGMessageCode.DeviceAnnounce:
return new device_announce_1.ZGDeviceAnnounceMessage(payload);
case ZGMessageCode.ActiveEndpoint:
return new active_endpoint_1.ZGActiveEndpointMessage(payload);
case ZGMessageCode.GetDevicesList:
return new get_devices_list_1.ZGGetDevicesListMessage(payload);
case ZGMessageCode.VersionList:
return new version_list_1.ZGVersionListMessage(payload);
case ZGMessageCode.Status:
return new status_1.ZGStatusMessage(payload);
case ZGMessageCode.OnOffUpdate:
return new on_off_update_1.ZGOnOffUpdateMessage(payload);
case ZGMessageCode.LevelUpdate:
return new level_update_1.ZGLevelUpdateMessage(payload);
default:
debug.error(`Unsupported message code : ${hexCode}`);
}
}
exports.createZGMessage = createZGMessage;
function asAttributeReportMessage(msg) {
return msg;
}
exports.asAttributeReportMessage = asAttributeReportMessage;
class ZGMesage {
constructor(payload) {
this.reader = new buffer_reader_1.default(payload);
}
}
exports.default = ZGMesage;
//# sourceMappingURL=message.js.map