Casa-Corrently is an energy monitoring solution design to run from within a local network (home area network). It might be used either standalone, as Node-RED module or embedded into other applications.
This core module is designed to work with smartmeters (Electricity only). If you do not have a Smart Meter you might get it here from STROMDAO (Germany only).
- casa-corrently
Standalone installation uses an express http server to provide a nice looking UI (see sample screens above).
git clone https://github.com/energychain/casa-corrently.git
cd casa-corrently
npm install
You will get the UI at http://localhost:3000/ pre-configured for one of our demo households.
Copy sample_config.json
to config.json
and configure to your needs.
cd ~/.node-red/
npm install --save casa-corrently
Install casa-corrently
as NODE package.
This QuickStart allows you to start node-red with one the sample meters to get quickly familiar with this Node (module).
- 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/casa-corrently.git
Reference: https://casa.corrently.de/books/demo-z%C3%A4hler/page/messkonzept-1-%28volleinspeisung%29
npm install node-red-dashboard
npm run demo-messkonzept1
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
- Editor: http://localhost:1880/
- Dashboard (UI): http://localhost:1880/ui
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
You might overwrite time and value of first reading from the node configuration.
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)
}
}
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
}
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
}
It is possible to run this node without Node-RED. It comes shipped with a express APP.
git clone https://github.com/energychain/casa-corrently.git
cd casa-corrently
npm install
npm start ./sample_config_messkonzept2.json
By default the Web UI will be visible at http://localhost:3000/index.html
Heroku: https://heroku.com/deploy?template=https://github.com/energychain/casa-corrently
It is possible access a Casa Corrently Instance via IPFS from remote. To do so you need to install casa-corrently-ipfs-edge
and add an publisher entry into your config.json
installation of IPFS publisher
cd casa-corrently
npm install casa-corrently-ipfs-edge
In config.json
{
...
"publisher":"casa-corrently-ipfs-edge",
...
}
Restarting casa-corrently should provide you an ipfs URL of your msg
objects.
You might use the following URLs from within the Webinterface:
http://localhost:3000/p2p?method=ls
gives list of available peershttp://localhost:3000/p2p?method=self
gives this peers infoshttp://localhost:3000/p2p?method=msg&peer=CID
msg object of a peer
This module is part of the Corrently Ecosystem which looks for funding in Germany: https://www.stromdao.de/crowdfunding/info
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
STROMDAO GmbHGerhard Weiser Ring 29
69256 Mauer
Germany
tel: +49 6226 968 009 0
[email protected]
Handelsregister: HRB 728691 (Amtsgericht Mannheim)
Apache-2.0