@mrobst/solar-edge
v0.6.1
Published
Edge application for SOLAR - Sensor Objects Linked to Actions and Reports
Downloads
1
Maintainers
Readme
SOLAR EDGE
Sensor Objects Linked [to] Actions [and] Reports
About
This project uses Feathers.
Code written with Typescript using ES6
High Level Architecture
The edge application is designed to connect to an MQTT service and subscribe to topics. Messages received on the topics are stored in a local database and then posted to an AMQP exchange (assumed to be durable) before being flagged as posted in the local database.
Features
The edge application is sensor and action agnostic but the sensors and actuators need to comply with a message and topic schema when talking to MQTT ...tbc
The edge application subscribes to a PING
channel on the MQTT service and can be setup to expect device IDs to be received at regular intervals on this channel. If a device ping is not received after a configurable interval then alert messages can be triggered through configurable mechanisms.
The edge application will delete queued
data from its local database after a configurable retention period. It is assumed that data older than this period is no longer needed on the edge device but can still be accessed from the central service for reporting or billing purposes.
The edge application will check for connectivity to the remote AMQP service and delay sending local messages when connectivity is not available. When connectivity is restored messages will be sent to the remote AMQP service in batches with some throttling to manage throughput
Installation
git clone
Install your dependencies
cd path/to/solar npm install
Start your app
npm start
Development
npm run dev
Testing
Simply run npm test
and all your tests in the test/
directory will be run.