open source java script implementation of the enocean protocol


Keywords
iot, enocean, home, automation, facility, management, smart
License
CC0-1.0
Install
npm install enocean-js@0.0.13

Documentation

enocean-js

GitHub

Greenkeeper badge

Code Climate coverage

Code Climate maintainability Code Climate technical debt

Total alerts Language grade: JavaScript

npm

npm

This is the monorepo for all things enocean in javascript. It is home to a library of tools to work with enocean telegrams in javascript. some of the features are:

  • a general encoder/decoder for all EEPs that runs in node.js and the browser allowing you to go from binary representation to JSON back and forth. i call it the transcoder.
  • a serialport ESP3Parser
  • a common command interface for managing your USB device
  • a transformer to turn ESP3 packets into concrete types with all their interfaces.

you can install and use these tools separately or in a complete package. so either npm install enocean-js or npm install @enocean-js/some-tool. You can find all the installable modules at the enocean-js npm organisation

You will also find some full blown apps here:

Some work has started on creating an EEP Description Language (EEPDL) based on JSON. I started creating a json-schema for it. It will be used for documentation as well as beeing an integral part of the transcoder. I will also publish the json descritions of all the EEPs for other implementers. For this to be useful, the describing language must be well defined.

slack

join the conversation

join the conversation on slack

install

npm i -S enocean-js

simple examle

nmp i -S enocean-js serialport

and then...

const SerialPort = require('serialport')
const Enocean = require('enocean-js')
const pretty = Enocean.pretty
const ESP3Parser = Enocean.ESP3Parser

const port = new SerialPort('/dev/ttyUSB0', { baudRate: 57600 })
const parser = new ESP3Parser()
port.pipe(parser)

parser.on('data', pretty.logESP3)