2019.1.0
Improvements in this Release:
Common
- Update all dependencies
- Improve documentation in Antora and JavaDocs
- Improve Gradle build:
gradlew antora
to build the Antora docs inside/build/www
directory. 40df39dgradlew buildEdge
to build an OpenEMS Edge fat-jar at/build/openems-edge.jar
gradlew buildBackend
to build an OpenEMS Backend fat-jar at/build/openems-backend.jar
building using gradle automatically increases the OpenEMS additional version information
- Use JSON-RPC for communication between Edge, Backend and UI. This was huge. Read 7207fc4 for more information. Some highlights:
- Clear communication protocol between OpenEMS Edge, Backend and UI
- Fully asynchronous handling of JSON-RPC requests allow thousands of simultaneous connections
- Apply Checkstyle on some bundles: https://checkstyle.org/eclipse-cs/#!/
- Fix bugs with old references due to dynamic OSGi. Avoid keeping static references to Channels and Components.
- A lot of overall bug fixing and improvement of code quality
- Add OpenemsNamedException to get defined IDs for OpenEMS errors
Edge
- Add Controller for High-Load timeslot (German: "Hochlastzeitfenster")
- Add Nature for PV-Inverter
- Implement Solar-Log 14b32db (read current PV production + set PV power limitation). Thanks to @abraovic
- Add PV-Inverter Fix-Power-Limit Controller. Allows setting of a max PV production power.
- LimitTotalDischargeController: make Force-Charge Power configurable
- Improve + finalize API for Modbus-TCP Slave Controller
- Use OptionsEnum for all Channels. No simple enums are allowed anymore. e866cf0
- Implement FENECON DESS Series (PRO Hybrid, PRO Compact,...) 628ac14
- Add ComponentManager. eb286cd It provides access to
- an OpenemsComponent via its Component-ID; this reduces the need to keep static references to Components.
- a Channel via its ChannelAddress; this reduces the need to keep static references to Channels.
- Add Modbus Bridge simulator
- Improve StateCollectorChannel
_sum/State
collects all informations/warnings/faults from all OpenEMS Components centrally. This is a first step to a user alerting system- show
_sum/State
in DebugLog
- Implement OsgiValidateWorker: it verifies that all configured Components are actually running
- Improve REST-Api Controller: constantly write values till timeout 90785ec
- Fix FC6WriteRegisterTask e463682. Thanks @Philip1Karmann for finding that bug.
- Refactor AbstractOpenemsComponent.activate()-method. No need for properties, as they are available via ComponentContext
- Get rid of mandatory 'service_pid' in every Component Config.
- Make Factory-PID available
- Add EVCS simulator
- Add EVCS Controller
- Add OneFullCycleController: executes one full charge/discharge Cycle on an energy storage system
- Add generic error handling for Controllers b6e13d6
- Introduce Controller-Channel "RunFailed" as StateChannel
- Allow Controller.run() to throw an Exception -> sets RunFailed Channel
- Update all Controllers accordingly
Backend
- Improve all service APIs
- Implement Backend-to-Backend Websocket server
- Create Timedata.Dummy service
- Backend.Metadata: add authentication via username + password
UI
- Refactor Chart Sections
- Refactor UI language selection
- Fix formatting of numbers using 'formatNumber'
- Avoid having 'Edge' and 'Config' as @input parameter; use Service instead
- Refactor handling of UI Widgets
- Add EVCS Widgets to Index & Historic view
- Add Download Protocol as Excel for Modbus-TCP Slave Controller
And a lot more little things...