PowerLight: Difference between revisions

From RevSpace
Jump to navigation Jump to search
Line 63: Line 63:
* <b>B19 (wind onshore): useful</b>
* <b>B19 (wind onshore): useful</b>
* <b>B20 (other): ???</b>
* <b>B20 (other): ???</b>
For my application, I'm using the following categories:
* solar = B16 (from the forecast document)
* wind = B18+B19
* fossil = B04+B05
* nuclear = B14
* waste = B17
* other = B15+B20


== Hardware ==
== Hardware ==

Revision as of 14:13, 19 July 2022

Project PowerLight
PowerLight.jpg
Show energy mix of dutch power generation as a pie chart on a LED ring
Status In progress
Contact bertrik
Last Update 2022-07-19

The concept

Draw the current power generation-mix as a kind of pie chart on a LED ring light, with colors representing a fraction of a specific power generation source.

For example:

  • blue: wind power
  • yellow: solar power see below
  • green: power from biomass see below
  • purple: power from nuclear
  • red: fossil
  • grey: other

Power generation data

Information about energy in Europe is collected at the european organisation https://www.entsoe.eu/ . The section about electrical energy is collected in ENTSO-E. Data is available from this platform at a 15-minute interval.

TenneT is the organisation that supplies ENTSO-E with data from the Netherlands.

The solar power problem

In particular the solar power fraction is incomplete, but also the biomass figures are missing. See:

There is a model to estimate this fraction at https://api.netanders.io/, however you cannot use this API without a key (and you can't just get a key).

Some ideas to fix this gap somewhat:

  • Correlate official reported solar data with the model, and extract a kind of tennet-reported->best-guess-actual multiplication factor
  • Use yesterday's solar prediction data from ENTSO-E. The number seen here seems to correlate reasonably well with the number shown at https://energieopwek.nl/ (which bases itself on the netanders model)

Information about ENTSO-E generation domain API: https://transparency.entsoe.eu/content/static_content/Static%20content/web%20api/Guide.html#_generation_domain

Power generation categories

The backend uses the following categories

ENTSO-E numbers the production types from B01 to B20 ("PsrType"), how these are filled for the netherlands:

  • B01 (biomass): always 0
  • B02: not available
  • B03: not available
  • B04 (fossil hard coal): useful
  • B05 (fossil gas): useful
  • B06: not available
  • B07: not available
  • B08: not available
  • B09 (geothermal): not available
  • B10 (hydro): not available
  • B11 (hydro): always 0
  • B12 (hydro): not available
  • B13 (marine): not available
  • B14 (nuclear): useful
  • B15 (other renewable): useful, but what is this???
  • B16 (solar): hugely underreported, *not* useful
  • B17 (waste): useful
  • B18 (wind offshore): useful
  • B19 (wind onshore): useful
  • B20 (other): ???

For my application, I'm using the following categories:

  • solar = B16 (from the forecast document)
  • wind = B18+B19
  • fossil = B04+B05
  • nuclear = B14
  • waste = B17
  • other = B15+B20

Hardware

Parts:

Software

The software consists of two parts:

  • backend part that collects the power generation data
  • light part that visualizes the power generation as fractions on a LED ring

Backend

Source code: https://github.com/bertrik/energymix-server

In progress, run as a REST-like resource at http://stofradar.nl:9001/energy/latest (1-minute rate limit)

Returns a JSON-structure like:

{
  "time": 1657057500,
  "total": 9122,
  "mix": [
    { "id": "solar", "power": 0, "color": "#FFFF00"},
    { "id": "wind", "power": 4, "color": "#0000FF"},
    { "id": "fossil", "power": 86, "color": "#FF0000"},
    { "id": "nuclear", "power": 5, "color": "#FF00FF"},
    { "id": "other", "power": 4, "color": "#444444"},
    { "id": "waste", "power": 1, "color": "#444444"}
  ]
}
  • time is a unix time stamp in seconds, representing the end of the 15-minute period that the power figures refer to
  • total is the total current electrical power (megawatt), suitable for display (on a numeric display inside the ring for example)
  • energymix is an array of power sources, each with:
    • a short unique id
    • most recent known power (megawatt)
    • hex color, for display on the led ring

Light

Source code: https://github.com/bertrik/PowerLight