Library able of decoding all the frames coming from our products.
Analog | Breath | Comfort | Comfort CO2 |
Comfort SERENITY | Delta P | Dry Contacts | Motion |
Modbus | Pulse | Pulse 4 NB-IoT | Repeater |
Temp | TIC CBE Linky | TIC PME-PMI |
Create a new directory, go into it, and execute
npm init (accept all default choices) npm i @adeunis/codecs npm i --save-dev @types/node
Create a file named demo.ts, and past the code below
const codec = require('@adeunis/codecs'); // Products types are defined in DecoderProducts enum (src/shared/product.enum.ts) const productType = 'analog'; const payloadValue = '42500110000002100000'; let payloadResult; console.log(`Decoding ${productType} frame => ${payloadValue}`); const decoder = new codec.Decoder(); // Configure the decoder for the appropriate device decoder.setDeviceType(productType); // Decode the given payload const parserResult = decoder.decode(payloadValue); if (parserResult.error) { // Incompatible frame and product payloadResult = 'decoding issue'; } else { // Format result payloadResult = JSON.stringify(parserResult, null, 2); } // Display result console.log(payloadResult);
Compile demo.ts
npx tsc demo.ts
Execute demo.js
node demo.js