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:
- node-red-contrib-enocean
- enocean-ip-gateway (very early alpha)
- dolphin view like tool based on electron (not started yet)
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.
join the conversation
npm i -S enocean-js
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)
the documentation is still lacking, sorry... the only thing i can offer for now is the description of the content of enocean telegrams (EEP specification). It's not yet fully functional :-(