casa-corrently

    1.0.99 • Public • Published

    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

    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

    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

    STROMDAO GmbH
    Gerhard Weiser Ring 29
    69256 Mauer
    Germany

    tel: +49 6226 968 009 0

    kontakt@stromdao.com

    Handelsregister: HRB 728691 (Amtsgericht Mannheim)

    LICENSE

    Apache-2.0

    Install

    npm i casa-corrently

    DownloadsWeekly Downloads

    7

    Version

    1.0.99

    License

    Apache-2.0

    Unpacked Size

    130 kB

    Total Files

    38

    Last publish

    Collaborators

    • zoernert