Releases: OpenEMS/openems
2023.7.0
Release Highlights
- Refactor: apply best practices and coding guidelines globally (#2209)
- Introduce ElectricityMeter as replacement for SymmetricMeter & AsymmetricMeter (#2144)
- UI: introduce type-safe and testable Views (#2123)
Details
Common/General
- Java: generate code coverage report (#2234)
OpenEMS Edge
- Add 'CumulatedActiveTime' Channel for Controllers with Relay (#677) (#2230)
- Kaco.BlueplanetHybrid10.PvInverter: add phase values (#2232)
- SunSpec PV-Inverters + Meters: improve implementation (#2231) Applies to
- PV-Inverter.Fronius
- PV-Inverter.KACO.blueplanet
- PV-Inverter.Kostal
- PV-Inverter.SMA.SunnyTripower
- SolarEdge.PV-Inverter
OpenEMS UI
- add ESlint rule for unused imports (#2221)
- add new eslint rule to remove unused commas (#2219)
- replace PNG-Icons with SVG-Icons (#2210)
- FEMS UI Backport 2023-06 (#2235)
- FEMS UI Backport 2023-06 - part 2 (#2243)
- fix typos (#2244)
- inject globalRouteChangeHandler (#2242)
Version Upgrades
- Bump influxdb-client-core from 6.8.0 to 6.9.0 in /cnf (#2217)
- Bump fastexcel from 0.15.3 to 0.15.4 in /cnf (#2211)
- Bump checker-qual from 3.34.0 to 3.35.0 in /cnf (#2216)
- Bump d3 from 7.8.4 to 7.8.5 in /ui (#2213)
- Bump guava from 32.0.0-jre to 32.0.1-jre in /cnf (#2223)
- Bump kotlin-osgi-bundle from 1.8.21 to 1.8.22 in /cnf (#2222)
- Bump commons-io from 2.12.0 to 2.13.0 in /cnf (#2224)
- fix fallback for SymmetricMeter (#2228)
- Bump fastexcel from 0.15.4 to 0.15.5 in /cnf (#2240)
- Bump kotlinx-coroutines-core-jvm from 1.7.1 to 1.7.2 in /cnf (#2251)
- Bump checker-qual from 3.35.0 to 3.36.0 in /cnf (#2250)
- Bump guava from 32.0.1-jre to 32.1.1-jre in /cnf (#2248)
- Update to Gradle 8.2
Full Changelog: 2023.6.0...2023.7.0
2023.6.0
Release Highlights
- Implement the Phoenix Contact EEM-MB370-24DC meter by @michaelgrill in #2208
Details
Common/General
- Code Cleanup & Refactoring
- Refactor streams to use toList() method by @SalmaElKhalfaoui in #2122
- Convert Text Blocks to Java 15 by @saeedniko in #2141
- Update Gradle & build scripts by @da-Kai in #2198
OpenEMS Edge
- Solar-Log PV-Inverter: cumulate production energy by @mlang97 in #2167
- Battery Protecteion: Fix units by @pooran-c in #2168
- Electric Vehicle Charging (EVCS) Controller: cleanup by @sebastianasen in #2188
- followed by EVCS Controller & KEBA Bugfix by @sfeilmeier in #2199
- Off-Grid Generic ESS: Implementation Optimization (#550) by @huseyinsaht in #2190
- ESS Balancing Controller: modernize Code by @sfeilmeier in #2142
- Code Cleanup & Refactoring
- Channel-ID: provide convenience methods on declaration by @sfeilmeier in #2192
- PersistenceModel predictor: fix broken URL in readme.adoc by @Byonnem in #2184
- Channel: introduce explicit CUMULATED Channel Unit; never reset cumulated Channels to null by @sfeilmeier in #2202
- ElementToChannelConverter: use static imports & add mathematical operators by @huseyinsaht, @sfeilmeier in #2197
- Edge Common ChannelId: Add ChannelIdImpl record for component dynamic channels definition by @huseyinsaht in #2196
OpenEMS UI
- FEMS UI Backport 2022-05 by @venu-sagar, @lukasrgr in #2179
- Refactor Production History by @lukasrgr in #2189
- Getting Started: Added 'Implementing a UI-WIdget' by @lukasrgr in #2173
-> https://openems.github.io/openems.io/openems/latest/ui/implementing-a-widget.html - UI: Fix Bugs by @sfeilmeier in #2201
- UI: Avoid calling Energy Request for empty channelAddresses by @lukasrgr in #2204
Version upgrades
- Bump jsoup from 1.15.4 to 1.16.1 in /cnf by @dependabot in #2165
- Bump date-fns from 2.29.3 to 2.30.0 in /ui by @dependabot in #2162
- Bump kotlin-osgi-bundle from 1.8.20 to 1.8.21 in /cnf by @dependabot in #2164
- Bump kotlinx-coroutines-core-jvm from 1.6.4 to 1.7.1 in /cnf by @dependabot in #2177
- Bump checker-qual from 3.32.0 to 3.34.0 in /cnf by @dependabot in #2170
- Bump commons-io from 2.11.0 to 2.12.0 in /cnf by @dependabot in #2182
- Bump d3 from 7.8.2 to 7.8.4 in /ui by @dependabot in #2129
- Bump @ngx-formly/ionic from 6.1.1 to 6.1.7 in /ui by @dependabot in #2181
- Bump guava from 31.1-jre to 32.0.0-jre in /cnf by @dependabot in #2193
New Contributors
- @SalmaElKhalfaoui made their first contribution in #2122
- @saeedniko made their first contribution in #2141
- @Byonnem made their first contribution in #2184
Full Changelog: 2023.5.0...2023.6.0
2023.5.0
Release Highlights
- Support for dezony IQ x electric vehicle charging station
- New ESS Fix-SoC/Prepare-Battery-Extension-Controller
- Enhancements for ESS Fix Active Power Controller
Details
Common/General
- Improve CI/Github Actions by @sfeilmeier in #2155
- Add util parser methods for date and time by @michaelgrill in #2156
OpenEMS Backend
- Update to Odoo 15 by @sfeilmeier in #2146
OpenEMS Edge
-
EVCS (Electric Vehicle Charging Stations)
- KEBA EVCS: cleanup by @sfeilmeier in #2137
- dezony IQ x openEMS - Hackathon 24.02.2023 by @hoip in #2075
- EVCS-Controller: added option for use without an ESS attached by @DerWahreKlinki in #2111
-
ESS (Energy Storage Systems)
- ESS Fix Active Power Controller: enhancements by @sfeilmeier in #2138
- ESS Fix-SoC/Prepare-Battery-Extension-Controller by @sfeilmeier in #2157
-
IP-Address config properties: strip before parsing by @sfeilmeier in #2134
-
KDK Meter: backport updates from FEMS by @sfeilmeier in #2143
-
PV-Inverters: add read-only mode by @sfeilmeier in #2147
-
Channel: catch errors while updating Process-Image by @sfeilmeier in #2148
OpenEMS UI
- Fix accessibility modifiers by @mahdiataie in #2145 and #2152
Version upgrades
- Bump fastexcel from 0.15.2 to 0.15.3 in /cnf by @dependabot in #2135
- Bump okhttp from 4.10.0 to 4.11.0 in /cnf by @dependabot in #2154
New Contributors
- @hoip made their first contribution in #2075
- @mahdiataie made their first contribution in #2145
Full Changelog: 2023.4.0...2023.5.0
2023.4.0
Release Highlights
- update to Java 17 LTS
- support for the Webasto Unite and Webasto Next electric vehicle charging stations
- a brand new documentation about how to use IntelliJ IDEA for OpenEMS development
Details
Common/General
- Java 17
- IntelliJ IDEA
- Extended Intellij Config with Reformater by @TimStoecker in #2086
- Changed to the Correct Code Format by @TimStoecker in #2102
- Adapted script to autocreate missing eclipse files when made in intellij by @DerStoecki in #2083
- Apache Felix File Install: Added dynamic loading of components by @chrblabla in #2085
- App-Center: FEMS-Backports in #2120
OpenEMS Edge
- Implement Webasto Unite EVCS by @TimStoecker in #2076
- Implement Webasto Next by @tsicking in #2081
- SDM 630 Meter: fix scale factors and reactive power by @DerWahreKlinki in #2104
OpenEMS UI
Version upgrades
- Bump fastexcel from 0.14.18 to 0.15.0 in /cnf by @dependabot in #2089
- Bump org.apache.felix.http.jetty from 4.2.2 to 5.0.4 in /cnf by @dependabot in #2088
- Bump fastexcel from 0.15.0 to 0.15.2 in /cnf by @dependabot in #2101
- Bump checker-qual from 3.31.0 to 3.32.0 in /cnf by @dependabot in #2096
- Bump postgresql from 42.5.4 to 42.6.0 in /cnf by @dependabot in #2115
- Bump org.apache.felix.fileinstall from 3.6.4 to 3.7.4 in /cnf by @dependabot in #2114
- Bump influxdb-client-core from 6.7.0 to 6.8.0 in /cnf by @dependabot in #2133
- Bump kotlin-osgi-bundle from 1.8.10 to 1.8.20 in /cnf by @dependabot in #2128
New Contributors
- @TimStoecker made their first contribution in #2086
- @chrblabla made their first contribution in #2085
Full Changelog: 2023.3.0...2023.4.0
2023.3.0
The first OpenEMS Hackathon in 2023 took place on 23rd and 24th February at the headquarter of FENECON. Apart from extremely valuable discussions and brainstormings, more than 6400 lines of code were written on these two days. Most of the Pull-Requests are still in the review phase, so please feel to leave your comments there: https://github.com/OpenEMS/openems/pulls. We summarized our results at the OpenEMS Networking Friday. See the video here: https://www.youtube.com/watch?v=xCY4bv-of8M
Common/General
- Update Gradle to 8.0.1 (#2070)
- Docs Getting Started: add guide for IntelliJ IDEA (#2077) Thanks @wimmerp
- Docs Getting Started: add hosted UI (#2080) Thanks @wimmerp
- Add link to hosted UI for OpenEMS Edge, provided by Consolinno
- Extract Setup UI IDE doc to separate document
- JsonUtils: simplify
getAsOptional...
methods (#2093)
OpenEMS Backend
- Improvements to Backend Timedata services (#2045)
- Introduce TimedataManager
- InfluxDB:
- add possibility for predefined FieldTypeConflictHandlers
- add MergePointsWorker and configurable PoolSize
- drop unused Influx interface
- limit queue
- Timedata:
- drop getChannelValues
- Add Component-IDs for Timedata-Backend-Components
- EdgeWebsocket
- move EdgeCache
- fix EdgeCacheTest for 15 minutes
- move getChannelValues()
- remove 'complementDataFromCache' feature to improve performance
- Backend Alerting: bugfixes and improvements (#2072) Thanks @da-Kai
- Add Executor with one Thread
- Handle Events in Queue
- Check validity again just before sending an alert (when queue is very long)
- Fix typos/naming
OpenEMS Edge
- Tibber: add filter for multiple 'Homes' (#2055)
- The TIbber API allows accessing multiple 'Homes'. This PR introduces a 'filter' config property, that allows filtering for the correct one.
- Also add State-Channels:
- UnableToUpdatePrices: general HTTP error
- FilterIsRequired: multiple Homes where retreived from the API and it is not possible to identify without filter (i.e. more than one valid 'Home' was parsed)
- KACO PV-Inverter: make Unit-ID configurable for Modbus/RTU (#2056) Thanks @SebastianRinger
- Made Modbus ID configurable, since previous hardcoded modbus ID of 1 did not work for Modbus RTU.
- SunSpec compatibility:
- Implement the Alpitronic Hypercharger DC charging station (#2071) Thanks @hydroid7, @sebastianasen
- The charging station comes with up to four physical connectors. This implementation is designed in a way, that each connector is represented by an individual OpenEMS Component. So if you have a Alpitronic with two connectors, please configure two "EVCS Alpitronic Hypercharger" with the connector configuration property set to SLOT_0 and SLOT_1 respectively.
- Supported Firmware versions: 1.7.2 and higher.
- Virtual Meters:
- EVCS: Add manual for implementing an evcs (#2073) Thanks @sebastianasen
- ESS Fix Active Power: handle Hybrid-ESS (BREAKING CHANGE) (#2092)
- Add a configuration setting
hybridEssMode
, that allows defining the DC-side power set-point - BREAKING CHANGE: the default mode for Hybrid-ESS changed from setting the AC-side (Battery + PV) to DC-side power (Battery Charge/Discharge)
- Add a configuration setting
Version upgrades
- Bump postgresql from 42.5.1 to 42.5.3 in /cnf (#2050)
- Bump kotlin-osgi-bundle from 1.8.0 to 1.8.10 in /cnf (#2053)
- Bump fastexcel from 0.14.4 to 0.14.17 in /cnf (#2051)
- Bump jszip from 3.7.1 to 3.10.1 in /ui + fix Checkstyle (#2048)
- Bump fastexcel from 0.14.17 to 0.14.18 in /cnf (#2063)
- Bump commons-fileupload from 1.4 to 1.5 in /cnf (#2065)
- Bump postgresql from 42.5.3 to 42.5.4 in /cnf (#2067)
- Bump jsoup from 1.15.3 to 1.15.4 in /cnf (#2066)
- Bump checker-qual from 3.29.0 to 3.31.0 in /cnf (#2068)
2023.2.0
Common/General
- CalculateAverage now supports all numbers (not only integer) (#2034) Thanks @JoopAue
- Add OpenEMS Contribution Guidelines (#2042) Thanks @opernikus-common
- Update gradle 0c79b48
OpenEMS Backend
OpenEMS Edge
- REST-Api: fix RegEx for Component-ID in /channel endpoint (#2046)
- FENECON Commercial 40 Chargers: fix Config case sensitivity (#1781) Thanks @simonfey
OpenEMS UI
- Remove limit to node version < 17 c9b5f7b
- this used to break the build, but is not required anymore
Version upgrades
- Bump @ngx-formly/ionic from 6.0.4 to 6.1.0 in /ui (#2031)
- Bump jna from 5.12.1 to 5.13.0 in /cnf (#2032)
- Bump d3 from 7.8.0 to 7.8.1 in /ui (#2033)
- Bump org.apache.felix.scr from 2.2.4 to 2.2.6 in /cnf (#2038)
- Bump rxjava from 3.1.5 to 3.1.6 in /cnf (#2037)
- Update UI dependencies c9b5f7b
- Angular 15.1.2
- ionic/angular
- ngx-formly
- d3
- tslib
- eslint
2023.1.0
Common/General
- Rename 'master' branch to 'main'
- See https://github.com/github/renaming for details on the rationale
- Improve Github-Workflows (#2012). Thanks @da-Kai
OpenEMS Edge
- GoodWe Grid-Meter: fix unit of Frequency (#2008)
- KACO Bp10: move communication failure to individual components (#2009)
- Errors become clearer visible to the user (not "kacoCore0" failed, but "ess0" failed)
- Pure PV-Inverter is not reachable during night. New structure allows to avoid/delay the error
- Introduce BpData record to merge all DataSet classes from KACO library
- REST-Api: handle WRITE_ONLY channels properly #2026. Thanks @MatthiasRossmann
OpenEMS UI
Version upgrades
- Bump kotlin-osgi-bundle from 1.7.21 to 1.7.22 in /cnf (#1994)
- Bump checker-qual from 3.27.0 to 3.28.0 in /cnf (#2005)
- Update main UI dependencies (#2000)
- Angular 15
- ngx-cookie-service
- Bump @ngx-formly/ionic from 6.0.2 to 6.0.4 in /ui (#2000)
- Bump ngx-spinner from 14.0.0 to 15.0.0 in /ui #2019 (#2000)
- Bump d3 from 7.6.1 to 7.8.0 in /ui #2014 (#2000)
- Bump @types/uuid from 8.3.4 to 9.0.0 in /ui #1998 (#2000)
- Bump json5 from 1.0.1 to 1.0.2 in /ui (#2027)
- Bump compare-versions from 5.0.1 to 5.0.3 in /ui (#2011)
- Bump fastexcel from 0.14.0 to 0.14.3 in /cnf (#2018)
- Bump org.osgi.service.component from 1.5.0 to 1.5.1 in /cnf (#2017)
- Bump org.osgi.service.jdbc from 1.0.1 to 1.1.0 in /cnf (#2016)
- Bump org.osgi.util.promise from 1.2.0 to 1.3.0 in /cnf (#2015)
- Bump org.osgi.service.component.annotations from 1.5.0 to 1.5.1 in /cnf (#2013)
- Bump kotlin-osgi-bundle from 1.7.22 to 1.8.0 in /cnf (#2022)
- Bump okio-jvm from 3.2.0 to 3.3.0 in /cnf (#2030)
- Bump checker-qual from 3.28.0 to 3.29.0 in /cnf (#2029)
- Bump gson from 2.10 to 2.10.1 in /cnf (#2028)
- Bump fastexcel from 0.14.3 to 0.14.4 in /cnf (#2024)
- Bump pax-logging / slf4j-api from 1.7.36 to 2.0.6 in /cnf (#2003)
2022.12.0
OpenEMS Edge
- OpenemsComponent: do not auto-generate a Component-ID; throw IllegalArgumentException instead (#1985)
- Soltaro Battery: adjust protection parameters (#2004)
- Modbus/TCP Api: general improvements (#2004)
- HeatPump Controller: fix min SoC handling (#2004)
- App-Center: general improvements, configure IP addresses (#2004)
- GoodWe Grid-Meter: fix voltage and current channels (#2004)
- Simulated EVCS: fix power calculation (#2004)
- Backend-Controller: improve reconnect (#2004)
OpenEMS Backend
- Improve handling of many connected OpenEMS Edges - mainly improve performance and reduce logging (#2004)
- Configure SIMPLE or DETAILED logging; reduce excessive logging on individual UI/Edge events
- Use String instead od ChannelAddress → avoids conversion of String to ChannelAddress and vice versa
- Avoid parsing EdgeConfig → avoids conversion of JSON to EdgeConfig and vice versa
- Use ConcurrentHashMap as WebSocket collection → as suggested by https://github.com/TooTallNate/Java-WebSocket/blob/master/src/main/java/org/java_websocket/server/WebSocketServer.java#L195-L202
- InfluxDB: parse values without relying on Exceptions → avoids throwing Exceptions in normal control flow
- Do not block Threads for waiting JSONRPC Requests → avoids filling of reserved ThreadPools
- Fix possible NullPointerExceptions in certain places
- TimescaleDB beta: refactoring of database Schema and implementation (#2004)
- Alerting: refactoring for Code cleanup and prepare for more alerting functions (#2004)
- Odoo.Metadata: improve Odoo API implementation (#2004)
OpenEMS UI
- UI: Login improvements (#2007)
- Subscribe to Edge in Backend → avoids sending unnecessary Notifications from Backend to UI (#2004)
- Add help buttons; fully OEM-able (#2004)
- Unify visualization of power, voltage and current (#2004)
- Show "Offline Since" in overview for Edges (#2004)
- Better handling of empty history charts (#2004)
- Fix timing issue with translations: load JSON statically (#2004)
Common
- Fix Gradle buildAntoraDocs (#2006)
- Unit: make Symbols unique (#2004)
- Gradle Build files: faster build (#2004)
Version upgrades
- Bump fastexcel from 0.12.15 to 0.14.0 in /cnf (#1975)
- Bump flux-dsl from 6.5.0 to 6.7.0 in /cnf (#1974)
- Bump rrd4j from 3.8.1 to 3.8.2 in /cnf (#1973)
- Bump org.apache.felix.webconsole.plugins.ds from 2.1.0 to 2.2.0 in /cnf (#1971)
- Bump aXMLRPC from 1.12.0 to 1.12.1 in /cnf (#1970)
- Bump influxdb-client-core/utils from 6.5.0 to 6.7.0 in /cnf (#1979)
- Bump org.apache.felix.configadmin from 1.9.24 to 1.9.26 in /cnf (#1983)
- Bump org.apache.felix.http.servlet-api from 2.0.0 to 2.1.0 in /cnf (#1982)
- Bump loader-utils from 2.0.3 to 2.0.4 in /ui (#1984)
- Bump aXMLRPC from 1.12.1 to 1.13.0 in /cnf (#1988)
- Bump postgresql from 42.5.0 to 42.5.1 in /cnf (#1990)
2022.11.0
Highlights
- Add TimescaleDB timeseries database support to OpenEMS Backend (BETA test quality) (#1964)
- See discussion at https://community.openems.io/t/new-integration-timescaledb/983
- Implementation of Weidmüller fieldbus coupler UR20-FBC-MOD-TCP-V2 (#1964)
- Implementation of Meter Ziehl EFR4001IP (#1964)
- Implementation of KACO Blueplanet Hybrid 10 (#1966)
- NOTE: implementation is open source, but requires a proprietary
identkey
. See Pull-Request for details.
- NOTE: implementation is open source, but requires a proprietary
Bug Fixes and Other Changes
- SDM630 Meter: fix Energy values; implement ModbusSlave (#1953) Thanks @DerWahreKlinki
- SDM630 Meter: implement ModbusSlave (#1952) Thanks @DerWahreKlinki
- OpenEMS Docs (#1958)
- fix xref links
- ignore backend bundles
- update package.json dependencies
- drop unused files
- Shelly: fix possible NullPointerException (#1959)
- ElementToChannelConverter KEEP_POSITIVE (#1961) Thanks @tsicking
- Timedata/InfluxDB: Add documentation (#1963)
Version upgrades
- Bump org.apache.felix.scr from 2.1.30 to 2.2.4 in /cnf (#1954)
- Bump org.apache.felix.http.jetty from 4.1.14 to 4.2.2 in /cnf (#1947)
- Update Github Actions (#1962)
- This update was mainly triggered by https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
- Bump kotlin-osgi-bundle from 1.7.10 to 1.7.20 in /cnf (#1941)
- Bump date-fns from 2.29.2 to 2.29.3 in /ui (#1927)
- Bump moshi from 1.12.0 to 1.14.0 in /cnf (#1924)
- Update UI dependencies (#1967)
-
- Replace
semver-compare-multi
withcompare-versions
because of: Warning: /home/.../git/openems/ui/src/app/shared/edge/edge.ts depends on 'semver-compare-multi'. CommonJS or AMD dependencies can cause optimization bailouts. For more info see: https://angular.io/guide/build#configuring-commonjs-dependencies
- Replace
-
- Simulator: Ignore Ess-Cluster (#1968)
- Simulator Grid-Meters Acting and Reacting should ignore Ess-Cluster, otherwise values are applied twice.
- See https://community.openems.io/t/fehler-bei-verbrauch-mit-ess-cluster/1133/4
FEMS Backports 2022-10 (#1948)
-
OpenEMS Edge
- Improve startup time/behaviour via @Activate/@Modifed/@deactivate
- Soltaro Battery: remove non-required info
- Sinexcel Battery-Inverter: improve control speed
- Time-Of-Use-Discharge Controller: properly handle emergency reserve SoC
- Sell-To-Grid-Limit PV-Inverter: add asymmetric control
- Improvements to App-Center
- Improvements to Network Configuration
- Add Modbus/TCP definitions for GoodWe ESS
-
OpenEMS UI
- Add linting check to Github Workflow/CI
- Improvements to Alerting
- Improvements to Network Configuration
- ngx-translate: switch to async translations and json file format; Translations are now compatible with i18n-ally Visual Studio Code extension
- General improvements
-
OpenEMS Backend
- Add TimescaleDB implementation (BETA test quality)
- Handle SerialNumber of EMS in Odoo
- Improvements to Alerting
- Improve handling of subscribes to Channels
- Move EdgeCache (caching of current data) to EdgeWebsocket.WsData
- Metadata.Odoo: code cleanup
- General performance improvements - analyzed via JDK Mission Control
-
Common
- JsonUtils: performance improvements + JUnit tests
- Improve automated Websocket reconnect on error
- Add @Modifed to all Singletons
- Handle @Modifed in JUnit tests
FEMS Backports 2022.11 (#1964)
-
OpenEMS Edge
- Implementation of Weidmüller fieldbus coupler UR20-FBC-MOD-TCP-V2
- Configuration is dynamically read from Modbus and Channels are created accordingly in the same format as for the existing WAGO fieldbus coupler.
- Implementation of Meter Ziehl EFR4001IP
- GoodWe Grid-Meter: implement ModbusSlave, improve code, HIGH modbus priority
- Modbus-Bridge Cleanup
- Prepare for bigger changes in Modbus-Bridge implementation
- Rename Thread inside AbstractWorker to
thread
and make it protected - Drop priority ONCE, because it has no feasible use the way it is implemented currently. Use LOW instead. It makes sure the value is actually going to be read, even if e.g. the connection cannot be established from the beginning
- Simplify TasksManager and move unused parts to Kostal Piko implementation
- Structural changes in EVCS. Thanks @sebastianasen
- AbstractManagedEvcs
- Write handler no longer needed in every Evcs Component
- Abstract Methods to ensure the minimum required information
- Calculating the flexible hardware power limits depending on the hardware limits and current used phases
- Handles the current ChargeState (Additionally to a normal State "CHARGING", it is aware if the limit is increasing, decreasing, normal or not charging)
- This State is important because an evcs and the car itself need from 5 to 40 seconds (round about), till a limit is taken
- Changed:
- Phases stored as Enum
- MaximumHardwarePower set by the component changed to FixedMaximumHardwarePower
- MaximumHardwarePower still present (for boundaries in UI), but calculated automatically mentioned in AbstractManagedEvcs
- EvcsCluster ClusterState depending on ChargeStates of each evcs.
- Blocking new distribution if there was a regulation before and one or more evcss still increasing or decreasing.
- Limit for each evcs is set with a filter
- Fallback solution if the grid meter is above the limit
- Evcs Comonents
- Extending AbstractManagedEvcs & changes according to that
- AbstractManagedEvcs
- Improvements in App-Center
- Implementation of Weidmüller fieldbus coupler UR20-FBC-MOD-TCP-V2
-
OpenEMS UI
- Wait for App till translations are loaded
-
Common
- Fix TypeUtils multiply
2022.10.0
Highlights
- Add Plexlog Meter (#1921)
- Implement Edge-to-Edge control of Energy Storage System (#1777)
- Enables Edge-to-Edge connection of devices from a slave OpenEMS Edge via Modbus. This requires
Controller Api Modbus/TCP Read-Write
to be active on the slave system, e.g. via the https://fenecon.de/produkte/fems/fems-app-modbus-tcp-schreibzugriff/[FEMS App Modbus/TCP Schreibzugriff] for a FENECON Energy Storage System.
- Enables Edge-to-Edge connection of devices from a slave OpenEMS Edge via Modbus. This requires
FEMS Backports 2022-08 (#1921)
- Backend.Api.Controller
- Improve reconnection speed
- Fix problems if initial connection fails with timeout
- Disable JUnit test as it sometimes breaks CI
- Modbus-TCP-Api Controller:
- Add implementation of 'cycleValue'
- Return actual ESS limits at the Controller position in the Scheduler (instead of just AllowedCharge/DischargePower)
- Heating Element Controller
- Add Status information
- Runtime fixes
- Timeslot-Peakshaving ("Hochlastzeitfenster")
- Fix parsing of times
- Add PeakShavedPower Channel
- App-Center
- Improve Javadoc and minor improvements to App definitions and App-Manager service
- Shelly IO
- Implement 'Meter' Nature. Now Shelly Plugs are shown as Consumption in OpenEMS UI
- Meters by Carlo Gavazzi, Janitza, Siemens, SOCOMEC, Schneider
- Add invert feature
- Simulated ESS
- Derive AllowedCharge/DischargePower from Capacity (simulate a C-Rate of 1)
- UI
- Add ES-Lint and Unit tests
- Continue migration to oe-modal-line etc.