npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

casa-corrently

v1.0.99

Published

Casa Corrently EcoSystem - Standalone and Node-RED

Downloads

259

Readme

casa-corrently

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).

npm Build Status Code Quality This project is using Percy.io for visual regression testing. chat

Sample Usage

Online Demo (via Heroku)

https://stromdao.de/casa

Homescreen

Casa Corrently Homescreen

Energy Price statistics

Casa Corrently Strompreis

Community Screen

Casa Corrently Community

Installation

Standalone

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.

Node-RED (Node) via Shell

cd ~/.node-red/
npm install --save casa-corrently

Node-RED (Node) via Editor

Install casa-corrently 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/casa-corrently.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)

Dashboard

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/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

One Click Deployment

Heroku: https://heroku.com/deploy?template=https://github.com/energychain/casa-corrently

IPFS Support (early beta!)

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 peers
  • http://localhost:3000/p2p?method=self gives this peers infos
  • http://localhost:3000/p2p?method=msg&peer=CID msg object of a peer

Funding

This module is part of the Corrently Ecosystem which looks for funding in Germany: https://www.stromdao.de/crowdfunding/info STROMDAO - Corrently Crowdfunding

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

LICENSE

Apache-2.0