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 🙏

© 2026 – Pkg Stats / Ryan Hefner

nr-energyschedule

v1.0.0

Published

Node-RED Implementation of the Energy Schedule API

Readme

nr-energyschedule

A Node-RED node for smart energy consumption scheduling based on the Corrently GrünstromIndex (GreenPowerIndex). This node helps optimize the energy consumption of your devices by scheduling their operation during periods of favorable electricity conditions - whether that's lowest cost, highest renewable energy content, or maximum user comfort.

Description

The Energy Schedule node uses the Corrently API to create and manage energy consumption schedules. It's designed for the German energy market and uses the GrünstromIndex to determine optimal operation times for electrical devices and systems.

Key Features

  • Optimize for different goals (price, CO2 emissions, or comfort)
  • Flexible scheduling with configurable active hours
  • Support for consecutive and non-consecutive operation periods
  • Real-time status monitoring
  • Persistent schedule tracking across Node-RED restarts
  • Simple boolean output for easy device control
  • Detailed schedule information for advanced use cases

Use Cases

  1. Smart Home Appliances

    • Schedule washing machines to run during cheap/green energy periods
    • Optimize dishwasher operation for overnight running
    • Control water heaters based on energy availability
  2. Electric Vehicle Charging

    • Smart charging when renewable energy is abundant
    • Cost-optimized charging schedules
    • CO2-minimized charging patterns
  3. Heat Pump Management

    • Optimize heating cycles based on energy prices
    • Buffer heat during green energy periods
    • Balance comfort and efficiency
  4. Energy Storage Systems

    • Schedule battery charging during optimal periods
    • Support grid stability through smart timing
    • Maximize self-consumption of solar energy

Prerequisites

  • Location must be in Germany (uses German postal codes/Postleitzahl)
  • Node-RED installation
  • Optional: Personal API token from Corrently Console

Installation

npm install nr-energyschedule

or install via the Node-RED Palette Manager.

Configuration

Node Settings

  • Name: Optional node name
  • ZIP: German postal code (Postleitzahl) for location-specific scheduling
  • Personal Token: Your Corrently API token (optional)
  • Law: Optimization strategy
    • comfort: Optimize for user convenience (default)
    • price: Optimize for lowest electricity cost
    • co2: Optimize for lowest CO2 emissions
  • Coverage Hours: How many hours ahead to schedule (default: 24)
  • Active Hours: Required operation hours within coverage period (default: 1)
  • Consecutive Hours: Whether operation hours must be consecutive (default: true)

Input

The node accepts a payload with scheduling requirements:

{
    "zip": "69168",                    // Optional: override configured ZIP
    "coverageHours": 24,              // Optional: override configured coverage
    "requirements": {
        "law": "price",               // Optional: override configured law
        "activeHours": 4,             // Optional: override configured hours
        "consecutiveHours": true,     // Optional: override configured setting
        "energyDemand": 10,           // Required energy in kWh
        "maxLoad": 3500,              // Maximum power in watts
        "avgLoad": 2000               // Average power in watts
    }
}

Outputs

  1. Status Output (first output)

    {
        "payload": true  // or false - indicates if schedule is currently active
    }
  2. Details Output (second output)

    {
        "payload": {
            "scheduleId": "...",
            "timeSlots": [...],
            "progress": {...},
            // Additional schedule details
        }
    }

Example Flows

Example flows are included in the exsamples directory:

  • basic-schedule-flow.json: Basic washing machine scheduling
  • ev-charging-flow.json: Electric vehicle charging optimization
  • dynamic-requirements-flow.json: Dynamic requirement calculation

Limitations

  • Geographic Restriction: This node only works in Germany as it relies on the GrünstromIndex (GreenPowerIndex) which is specifically designed for the German energy market.
  • ZIP Code Required: A valid German postal code (Postleitzahl) is required for proper operation.
  • API Rate Limits: May apply depending on your Corrently API access level.

License

Apache-2.0

Credits

  • Uses the Corrently API and GrünstromIndex
  • Developed for the Node-RED community