@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
20 lines • 1.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.rebuildDiyOpCode = void 0;
const _ultimate_govee_common_1 = require("../../../../common");
const rebuildDiyOpCode = (code, opCodeBase64) => {
return (identifier) => {
if (opCodeBase64 === undefined || code === undefined) {
return undefined;
}
const codes = (0, _ultimate_govee_common_1.base64ToHex)(opCodeBase64);
const lines = (0, _ultimate_govee_common_1.chunk)([0x01, 0x02, 0x04, ...codes.splice(1)], 17);
return [
...lines.map((line, index) => (0, _ultimate_govee_common_1.asOpCode)(163, index === lines.length - 1 ? 255 : index, ...line)),
(0, _ultimate_govee_common_1.asOpCode)(_ultimate_govee_common_1.OpType.COMMAND, ...(identifier ?? []), code % 256, code >> 8),
(0, _ultimate_govee_common_1.asOpCode)(_ultimate_govee_common_1.OpType.REPORT, ...([identifier?.at(0)] ?? []), 1),
];
};
};
exports.rebuildDiyOpCode = rebuildDiyOpCode;
//# sourceMappingURL=op-code.js.map