node-red-contrib-discovergy-meter
v0.7.3
Published
Allows to work with a Discovergy Smart Meter (Electricity only) within Node RED flows
Downloads
75
Maintainers
Readme
casa-corrently
Allows to work with a smartmeters (Electricity only) within Node RED flows. If you do not have a Smart Meter you might get it here from STROMDAO (Germany only).
NOTE: new name
This package gets renamed into casa-corrently - Previous: node-red-contrib-discovergy-meter
Installation
Node-RED (Node) via Shell
cd ~/.node-red/
npm install --save node-red-contrib-discovergy-meter
Node-RED (Node) via Editor
Install node-red-contrib-discovergy-meter
as NODE package.
QuickStart
This QuickStart allows you to start node-red with one the sample meters to get quickly familiar with this Node (module).
Prerequisites
- Node-RED installed global (e.q you could start it from command line using
node-red
) - Cloned version of GIT Repository https://github.com/energychain/node-red-contrib-discovergy-meter.git
Corrently Demo Meter(s) - Full generation (Messkonzept1 - Volleinspeisung)
Reference: https://casa.corrently.de/books/demo-z%C3%A4hler/page/messkonzept-1-%28volleinspeisung%29
npm install node-red-dashboard
npm run demo-messkonzept1
Corrently Demo Meter(s) - surplus feed-in (Messkonzept2 - Überschusseinspeisung)
Reference: https://casa.corrently.de/books/demo-z%C3%A4hler/page/messkonzept-2-%28%C3%BCberschusseinspeisung%29
npm install node-red-dashboard
npm run demo-messkonzept2
Accessing Demo
- Editor: http://localhost:1880/
- Dashboard (UI): http://localhost:1880/ui
Usage
First time usage
On first time adding a Discovery Meter to a flow the list of available meters will be empty.
- Add Discovergy login information to configuration node
Deploy
changes to flow- Re-Open Configuration of Discovergy Meter
Modify time and reading of installation (optional)
You might overwrite time and value of first reading from the node configuration.
Output (standard)
If triggered (maybe periodic via an inject) this node provides a json Object as msg.payload
.
msg.payload = {
time: <TIME>, // time of reading per Discovergy API
latest: {
power: <POWERVALUE>, // Power in Watt * 10^-3
power1: <POWERVALUE>,// Power in Watt * 10^-3 of Phase 1
power2: <POWERVALUE>,// Power in Watt * 10^-3 of Phase 2
power3: <POWERVALUE>,// Power in Watt * 10^-3 of Phase 3
energy: <ENERGYVALUE>,// Actual Meter Reading in Watthours * 10^-7 (consumption . OBIS Code 1.8.0)
energyOut: <ENERGYVALUE>,// Actual Meter Reading in Watthours * 10^-7 (production . OBIS Code 2.8.0)
baseCosts: <EUROVALUE>, // Accumulated base fee (Grundgebühr) since first measument time (eq. installation - might be overwritten)
energyCost: <EUROVALUE>, // Accumulated energy costs (Arbeitspreis) since first measument time (eq. installation - might be overwritten)
energyRevenue: <EUROVALUE>, // Revenue from feeding Energy into the grid
incomeSaldo: <EUROVALUE> // Pre Calculated : energyRevenue - (baseCosts + energyCost)
}
}
Output with statistics (advanced)
If msg.topic
is set to statistics
additional statistic information will be provided. Beside of power,power1,power2,power3 the object gets formated same as in msg.payload.latest
above.
*NOTE: Retrieving statistics requires a significant higher amount of API calls. Consider to use it less than once per minute. *
msg.payload = {
time: <TIME>// time of reading per Discovergy API
latest: { ... }, // latest values
last24h: { ... }, // From latest reading 24 hours backward
today: { ... }, // Values from today
yesterday: { ... }, // Values from yesterday
monthToDay: { ... }, // Values from this month
lastMonth: { ... }, // Values from last month
yearToDay: { ... }, // Values from this year
last365d: { ... } // Values from last 365 days
}
Output with aggregation (advanced)
You might add multiple Discovergy Meters in sequence. In this case a property aggregation
will contain aggregated values of all meters.
msg.payload = {
time: <TIME>// time of reading per Discovergy API
latest: { ... }, // latest values
aggregation: { ... } // Aggregated values of all meters in sequence
}
Sample flows
Messkonzept 2 (Überschußeinspeisung) ohne Z2 (Produktionszähler)
Standalone usage
It is possible to run this node without Node-RED. It comes shipped with a express APP.
git clone https://github.com/energychain/node-red-contrib-discovergy-meter.git
cd node-red-contrib-discovergy-meter.git
npm install
npm start ./sample_config_messkonzept2.json
Online Demo (via Heroku): https://casa-corrently-demo.herokuapp.com/index.html
By default the Web UI will be visible at http://localhost:3000/index.html
One Click Deployment
Heroku: https://heroku.com/deploy?template=https://github.com/energychain/node-red-contrib-discovergy-meter
Funding
This module is part of the Corrently Ecosystem which looks for funding in Germany: https://www.stromdao.de/crowdfunding/info
Further reading
Further Documentation is available as Casa Corrently Chapter at: https://casa.corrently.de/books/nutzung-von-node-red/chapter/gr%C3%BCnstromz%C3%A4hler-%28discovergy-meter%29
Maintainer / Imprint
This module is not an official contribution by Discovergy GmbH.
LICENSE
Apache-2.0