UNPKG

eep-packet

Version:

Parses an EnOcean Serial Protocol 3 buffer to an EEP packet.

74 lines (62 loc) 1.71 kB
# eep-packet This module extracts all information out of an esp3 buffer. ## Usage ```javascript const EEPPacket = require('eep-packet'); ... const eepPacket = new EEPPacket(); eepPacket.setParser(parser); const packet = eepPacket.parse(buffer); ``` ## Constructor ```javascript new EEPPacket(parser); new EEPPacket(null, knownDevices); new EEPPacket(parser, knownDevices); ``` ## Methods ### setParser(parser) * `parser` A parser that can parses esp3 buffer like [esp3-packet](https://github.com/Softwareschmiede/esp3-packet) ### addKnownDevice(device) * `device` An object that has a `senderId` key and an `eep` key Throws a `TypeError` if the device is missing or invaild. **Device example:** ```javascript { senderId: '00000000', eep: { rorg: 'd5', func: '00', type: '01' } } ``` ### setKnownDevices(devices) * `devices` An array of devices, see [Device example](#addKnownDevice(device)) Throws a `TypeError` if the devices are not set or have an invaild format. ### parse(buffer) * `buffer` A vaild buffer like [esp3-packet](https://github.com/Softwareschmiede/esp3-packet) returns. Throws a `TypeError` if the `buffer` or the `parser` is missing. **Returns:** ```javascript { data: { rorg: String, senderId: String, status: String, userData: Object }, optionalData: { subTelNum: Number, destinationId: String, dBm: Number, securityLevel: Number }, learnMode: Boolean eep: { // This only exists if learnMode is true rorg: String, func: String, type: String } } ```