Skip to content

Releases: OpenEMS/openems

2020.13.0

18 Jun 20:30
Compare
Choose a tag to compare

Edge

  • Implement SMA Sunny Tripower PV Inverter (#1154)

  • Implement OCPP-Server & more for electric vehicle charging (#1142) Thanks @sebastianasen - this is huge!

    • Uses ChargeTimeEU OCPP server implementation: https://github.com/ChargeTimeEU/Java-OCA-OCPP
    • Start implementation of electric vehicle charging stations by
      • ABL
      • IES Keywatt
    • Numerous improvements on electric vehicle charging algorithms
  • Update Channel methods (#1165).

    • Update methods to access Channels as discussed in #1046 and started in #1099. This avoids calls to setNextValue() and setNextWriteValue() and should make the framework much more understandable and lower the learning curve.

    • Each Read-Channel of a Nature Interface gets following methods: (example for a Channel NAME of type Integer)

      • IntegerReadChannel getNameChannel()
      • Integer getName()
      • _setName(Integer value)
      • _setName(int value)
    • Write-Channels also get a method

      • setName(Integer value) that internally calls the setNextWriteValue() method
  • Fix for Soltaro Cluster Version B 395e563

  • Fix for Socomec Diris A14 0a63657

  • Update for Carlo Gavazzi documentation f67c2c4

  • Update Java dependencies #1149, #1166, #1168, #1170, #1171

UI

  • UI: add status component for each edge (#1162)
    • with right restrictions (at least admin)
  • UI: add feature to rename components in 'Anlagenprofil' (#1163)
    • UI: rename components in 'Anlagenprofil' with restriction (at least: owner)
  • Update UI dependencies b72256e

2020.12.0

05 Jun 10:32
Compare
Choose a tag to compare

Edge

  • Add generic implementation for State-Machines (#1099)
  • New OpenEMS Nature "BatteryInverter" (ManagedSymmetricBatteryInverter, SymmetricBatteryInverter) (#1099)
  • Implement Generic ManagedSymmetricEss (#1099)
    • This builds an energy storage system as a combination of a "Battery" with a "Battery-Inverter"
  • New feature "Start-Stop" (#1099)
    • Implementing the 'StartStoppable' interface marks a device or service that can be started or stopped
  • Add JUnit Test-Framework for all kinds of OpenemsComponents (#1099)
  • Generic implementation of SOCOMEC meters (#1157, 25cfcd3)
    • Just configure Meter.Socomec.Singlephase or Meter.Socomec.Threephase. The actual type and modbus protocol of the Socomec meter is identified automatically.
    • Implemented singlephase meters:
      • Socomec Countis E14
    • Implemented threephase meters:
      • Socomec Countis E24
      • Socomec Diris A10
      • Socomec Diris A14
      • Socomec Diris B30
  • Apply Getters and Setters for Nature-Channels: see #1046 (comment)
  • Refactoring of "Battery" interface (#1099)
  • Improvements for FENECON Mini implementation 32b7d57, 0921cf1
  • GoodWe ES: Add configuration for Capacity #1152
  • DcPredictiveDelayCharge-Controller: allow multiple chargers (#1153)

UI

  • Show Metered Consumption + FixDigitalOutput History Charts (#1155)
    • add metered consumption as history chart
    • add chart for fixdigitaloutput component
  • Update dependencies aed3fc0

Backend

  • JSONRPC: enable subscribe to Channels of multiple Edges f99ebcd

2020.11.0

20 May 20:19
Compare
Choose a tag to compare

Common

Edge

  • WAGO: compatibility with newer fieldbus couplers + all kinds of digital output modules (#1136)
    • Tries to read old 'ea-config.xml' and new 'io_config.xml'
    • Dynamically reads the number of output channels from xml file for WAGO 750 5xx-modules
  • Meter Carlo Gavazzi EM300: add invert config setting (#1140)
  • Improvements to GoodWe ET implementation (#1141)
    • Added the max apparent power reading from ModBus register. and also few code refactoring.

UI

  • Collected UI improvements (#1143)
    • add possibility to pick level when heatingelement is set to MANUAL_ON in heatingelement advanced widget
    • add help button which links to openems.io docs for chpsoc, evcs, singlethreshold, heatingelement and fixdigitaloutput
    • add metered consumption to consumption flat and advanced widget
    • remove workmode kwh from heatingelement advanced widget

2020.10.0

08 May 07:39
Compare
Choose a tag to compare

Edge

  • Implement BYD Battery-Box Commercial C130 #1120, thanks @huseyinsaht
  • Implement Janitza UMG 604 meter (#1116), thanks @pooran-c
  • Add _sum/EssDischargePower Channel 286ab73
    • For AC coupled energy storage systems this is the same as EssActivePower; for DC coupled or hybrid ESS this is the EssActivePower minus ProductionDcActualPower, i.e. the power that is actually charged to or discharged from the battery.
  • IO Heating-Element Controller:
    • use EssDischargePower-Channel to fix logic on DC/hybrid ESS d678a93
    • drop kWh, some refactoring, add tests 649777a
  • Add Modbus-Slave definition for ESS Sinexcel #1132
  • Fix: InfluxDB data collection for WRITE_ONLY Channels 5a87113
  • Fix: GoodWe apply power setpoints 0a5d741
  • Fix: Discovergy implementation with latest API for Production meters #1130
  • Fix: Pro 9-12 read-write Channel-IDs 28b2bf0
  • Fix: Modbus-Api Controller access on Write-Only registers + improve Javadoc + apply Checkstyle

UI

  • update pickdate period + minor changes (#1124)
    • when next day or next week is reached pickdate will automatically switch to the next day/week
    • no changes to custom dates made
    • resubscribe when websocket is reestablished
  • Update dependencies

Common

2020.9.0

23 Apr 17:09
Compare
Choose a tag to compare

Common

Edge

UI

  • Fix showing widget twice a9a37f4
  • Add check if nature ist defined in getFactoriesByNature() (#1113). Thanks @ahummelsberger
  • Add charts and other small changes (#1107)
    • change of phase 1 color to orange (red is too much in use for charge values)
    • small code fixes
    • add chpsoc history chart
    • add heating element chart
    • adjustments on heating element widget
    • automatic value update for history widgets and charts

2020.8.0

09 Apr 22:50
Compare
Choose a tag to compare

Common

Edge

  • IO Heating Element Controller (#794): Controls a three-phase heating element via Relays, according to grid active power
    grafik

  • Add Port configuration to Modbus/TCP bridge eefcb96

  • Improvements for FENECON Commercial 40, Pro 9-12 and Mini systems 106f04a 46f5286

UI

  • Combined update #1100
  • re-adjust side menu
  • exchange library of pickdatecomponent
  • add current day highlighten + popup animation to pickdatecomponent
  • second rate widget class error fix
  • full angular 9 update
  • singlethreshold history widget: exchanged y-axis of chart
  • singlethreshold history chart: correct use of yAxis if there are only % values
  • fixIO prevent sending updatecomponentconfig on init of advanced widget
  • add charge/discharge to peakshaving history widgets

Backend

2020.6.0

13 Mar 21:43
Compare
Choose a tag to compare

Common

  • Improve logging c875791
    • start pax logging api as early as possible
    • reduce default log level to INFO
    • move logging configuration to DefaultConfigurationWorker
  • Improvements in EdgeConfig handling (#1074) (#1076)
    • remove "isEnabled"; it's already covered by the 'enabled' property
    • improve "getAsText" method
    • Websocket.Api: do not collect EdgeConfig if no websocket is connected
    • Create EdgeConfigFactory that takes care of building and caching EdgeConfig
    • Cache EdgeConfig and only incorporate ConfigurationEvents on Change; improves speed a lot
    • Fix timing issue. Before it could happen, that EdgeConfigFactory would read an old configuration as the OpenEMS Component had not been initialized fast enough.
  • Improve formatting of EdgeConfigDiff
  • Fix handling of disappearing Components
  • Use EventAdmin to distribute updated EdgeConfig
  • Handle update of EdgeConfig by EdgeConfigWorker; this is required to get all available Channels
  • Apply explicit version numbers for dependencies (#1078); also provide slf4j.api, gson and guava per default for every bundle
  • Update Backend, Edge and UI dependencies c9c26ad 18a52aa

Edge

  • Fix behaviour of PID filter in low-priority Controllers 3ac5c31
    • This commit fixes a bug that would happen when a Controller that is using a PID filter has lower priority than another Controller; e.g. FixActivePower-Controller with higher priority than PeakShaving-Controller.
    • 1st: there was an issue that low+high limit would not be applied when they are equal - which happens e.g. after FixActivePower
    • 2nd: target value is now reduced to low+high limits before calculation starts; this avoids an always increasing error in above constellation
    • 3rd: when input already equals target; stop early as we are already there
    • also refactored "applyPidFilter" to use integers only; this is required for the "error = 0" clause to work properly
  • Improvements to FENECON DESS (#1067)
    • Set MaxApparentPower and Capacity Channels
  • Fix B-Control meter implementation (#1069)
  • Soltaro Battery Handling Controller (#1075)
  • GoodWe ET write implementation (#1077)
  • Add invert option to CHP-SoC-Controller (#1037)

UI

  • improve layout in UI log view c875791

Backend

  • Backport Backend improvements from fems (#1068)
    • improve handling of FileTypeConflicts:
    • Enable conversion of Float and Double to Integer
    • Try again on error (this is required for _property channels)
    • Configure pax logging only if it had not been configured before
    • Reduce logs on startup: introduce "isInitialized" state in Metadata service
    • Allow update of EdgeProductType
    • Clear debug system out printlns
  • improve performance to Postgres database: Use HikariCP: A solid, high-performance, JDBC connection pool https://github.com/brettwooldridge/HikariCP 141d605

2020.5.0

01 Mar 13:43
Compare
Choose a tag to compare

Edge

  • Add Asymmetric Peakshaving Controller (#1051)

  • Add Channel-Single-Threshold Controller (#979)

    • Generic Controller that sets a digital output according to the value of given Channel - e.g. turn a Relay on or off, when configured input channel (e.g. State-of-charge) is above or below a given threshold respectively.
  • Add DefaultConfigurationWorker. Creates default configurations for deployment. (#1054), 88f8033, 6c8880c

    • default config for Controller.Api.Rest.ReadOnly and Controller.Api.ModbusTcp.ReadOnly
  • Fixes and improvements on PID filter (#1059)

    • Add Excel PID Simulator (see doc-folder)
    • Add tests for PidFilter class (created using Excel PID Simulator)
    • Add SetActivePowerEqualsWithPid Channel on ManagedSymmetricEss
    • Fix PID behaviour when close to min/max limits: never reset ErrorSum
    • Drop unused features from PidFilter class
    • Use SetActivePowerEqualsWithPid in Symmetric PeakShaving, Asymmetric PeakShaving and Balancing Controllers
    • Add and fix tests in Symmetric PeakShaving, Asymmetric PeakShaving and Balancing Controllers
  • EdgeConfig: default directory for Edge related files is now c:/openems/ 1ac7ae8

  • EdgeConfig: Fix NullPointerException "ocd.getAttributeDefinitions(filter)" returns an array of attribute definitions or null if no attributes are selected 1dd6734

UI

  • Improvements for Symmetric Peakshaving
  • Add Asymmetric Peakshaving Controller (#1051)
  • General UI adjustments (#1050)
    • hide widget if component is not enabled
    • add charging target to modal evcs widget
    • adjust unitvalue pipe for displaying '-' on null values
    • UI: FEMS-Settings Adjustments (#1036)
      • add button at beginning/middle of array in repeat component
      • add alias to edit config component
      • add icons to profile in fems settings
      • add rework of install components
    • UI Overhaul (7ef9dd4)
      • fix of Expression has changed after it was checked error
      • sorted modules etc.
      • removed unnecessary subscribes
      • reworked energy chart for better visibility
      • reworked widgets to work with components instead of controllers as variable names
      • reworked translation variables for constant notation (camelCase for variables)
    • set edge port 8085 as default environment (#1064)

Common

  • Add documentation for openems edge core bundle (#1054)

2020.4.0

15 Feb 09:52
Compare
Choose a tag to compare

Common

Edge

  • Improvements to Simulation capabilities
    • Improve CSV datasource 5443338
      • Move existing CSV Datasource with predefined CSV files to "Simulator DataSource: CSV Predefined"
      • Add new "Simulator.Datasource.CSV.Direct". It allows configuring the CSV content directly in Apache Felix
      • Allow CSV without titles
    • Fix NRC (non-regulated-consumption) meter and Reacting GridMeter: this allows simulating Loads using a simulated NRC Meter 9de12ea
    • Full documentation on this feature is still missing, but it alread proved to be helpful in a university lecture about energy flows. To create a simple, static enery flow with grid, pv production, storage and loads that can be visualized in OpenEMS UI, configure:
      • to simulate a consumption of 5000 W, resulting in buy-from-grid 5000 W grafik
        • Simulator DataSource: CSV Direct
          • Component-ID: "datasource1"
          • Source: "5000"
        • Simulator NRCMeter Acting
          • Component-ID: "meter1"
          • Datasource-ID: "datasource1"
      • Simulator GridMeter Reacting
        • Component-ID: "meter0"
      • to add a production of 10000 W to the simulation, resulting in sell-to-grid 5000 W grafik
        • Simulator DataSource: CSV Direct
          • Component-ID: "datasource2"
          • Source: "10000"
        • Simulator ProductionMeter Acting
          • Component-ID: "meter2"
          • Datasource-ID: "datasource2"
      • to add a battery in self-consumption optimization mode to the simulation, resulting in 0 W grid exchange and battery charging of 5000 W grafik
        • Simulator EssSymmetricReacting
          • Component-ID: "ess0"
        • Controller Balancing Symmetric
          • Component-ID: "ctrlBalancing0"
          • Ess-ID: "ess0"
          • Meter-ID: "meter0"
  • Fix bug in RRD4j Timedata 586460c; thanks to @ahummelsberger
  • Split API Controllers in Read-Only and Read-Write variants: This allows deploying an energy management system by default with a read-only apis
  • ComponentManager: fix OsgiValidateWorker for defective components that get removed. Before OsgiValidateWorker would throw an exception, when a component configuration was removed, but the Component-ID was still considered 'defective' b5759b2
  • Add UUID-helper: add helper function to provide a 'Nil' UUID. See https://en.wikipedia.org/wiki/Universally_unique_identifier#Nil_UUID ca0150a

UI

  • UI: Fix refresh config from Edge: do not refresh simultaneously ea86ef6 7dbe4c4

2020.3.0

31 Jan 09:08
Compare
Choose a tag to compare

Common

Backend

  • B2bRest-Api: make sure JSON-RPC error is properly sent; (Unfortunately this requires to set Response code to OK (200)) f1432b7