UNPKG

neramirez-broadlink-ts

Version:

A TypeScript-enhanced Node.JS fork of broadlinkjs, designed for interacting with RM devices in homebridge-broadlink-rm. Now includes a feature for handling multiple requests to the same device, with a specific focus on supporting homebridge-broadlink-wind

99 lines 3.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.payloadHandlers = exports.GetLearntDataHandler = exports.RawDataHandler = exports.RmProCheckRFFrequencyFoundHandler = exports.GetCheckFromDataHandler = exports.RM3CheckTemperatureHumidityHandler = exports.Rm4ProCheckRfFrequencyFoundHandler = exports.GetFromCheckDataHandler = exports.Rm3CheckTemperatureHandler = exports.PayloadHandler = void 0; const events_1 = __importDefault(require("events")); class PayloadHandler extends events_1.default { constructor(rm4Type) { super(); this.rm4Type = rm4Type; } } exports.PayloadHandler = PayloadHandler; class Rm3CheckTemperatureHandler extends PayloadHandler { handle(payload) { const temp = (payload[0x4] * 10 + payload[0x5]) / 10.0; this.emit("temperature", temp); } } exports.Rm3CheckTemperatureHandler = Rm3CheckTemperatureHandler; class GetFromCheckDataHandler extends PayloadHandler { handle(payload) { const data = Buffer.alloc(payload.length - 4, 0); payload.copy(data, 0, 4); this.emit("rawData", data); } } exports.GetFromCheckDataHandler = GetFromCheckDataHandler; class Rm4ProCheckRfFrequencyFoundHandler extends PayloadHandler { handle(payload) { const data = Buffer.alloc(1, 0); payload.copy(data, 0, 0x6); if (data[0] !== 0x1) { return; } this.emit("rawRFData", data); } } exports.Rm4ProCheckRfFrequencyFoundHandler = Rm4ProCheckRfFrequencyFoundHandler; class RM3CheckTemperatureHumidityHandler extends PayloadHandler { handle(payload) { const temp = (payload[0x6] * 100 + payload[0x7]) / 100.0; const humidity = (payload[0x8] * 100 + payload[0x9]) / 100.0; this.emit("temperature", temp, humidity); } } exports.RM3CheckTemperatureHumidityHandler = RM3CheckTemperatureHumidityHandler; class GetCheckFromDataHandler extends PayloadHandler { handle(payload) { const data = Buffer.alloc(1, 0); payload.copy(data, 0, 0x4); if (data[0] !== 0x1) { return; } this.emit("rawRFData", data); } } exports.GetCheckFromDataHandler = GetCheckFromDataHandler; class RmProCheckRFFrequencyFoundHandler extends PayloadHandler { handle(payload) { const data = Buffer.alloc(1, 0); payload.copy(data, 0, 0x4); if (data[0] !== 0x1 && !this.rm4Type) { return; } //Check if Fequency identified this.emit("rawRFData2", data); } } exports.RmProCheckRFFrequencyFoundHandler = RmProCheckRFFrequencyFoundHandler; class RawDataHandler extends PayloadHandler { handle(payload) { this.emit("rawData", payload); } } exports.RawDataHandler = RawDataHandler; class GetLearntDataHandler extends PayloadHandler { handle(payload) { const data = Buffer.alloc(payload.length - 4, 0); payload.copy(data, 0, 6); this.emit("rawData", data); } } exports.GetLearntDataHandler = GetLearntDataHandler; exports.payloadHandlers = { [0x1]: Rm3CheckTemperatureHandler, [0x4]: GetFromCheckDataHandler, [0x9]: Rm4ProCheckRfFrequencyFoundHandler, [0xa9]: RawDataHandler, [0xb0]: RawDataHandler, [0xb1]: RawDataHandler, [0xb2]: RawDataHandler, [0x26]: RawDataHandler, [0xa]: RM3CheckTemperatureHumidityHandler, [0x1a]: GetCheckFromDataHandler, [0x1b]: RmProCheckRFFrequencyFoundHandler, [0x5e]: GetLearntDataHandler }; //# sourceMappingURL=payload.handler.js.map