All notable changes to this project will be documented in this file.
- Fix
@Nullable
in Utils class
- Updated source headers to year 2023
- Fixed several SonarCube issues
- Update Maven dependencies
- Remove escaping (0xAA and 0xA) master data bytes and master CRC on function
EBusCommandUtils.buildPartMasterTelegram
- Update project dependencies
- Update project dependencies
- Remove dependency to
commons-io
- Update to commons lang3
- Change interuppted behaviour in
EBusLowLevelController
thread - Enhance @Null check in
EBusDeviceTableService
- Simplified checks due to safe @Null checks
- Removed clone() from DataType objects
- Simplified EbusConfigurationReader methods
- Fix NPE for NestedValues
- Enhanced the internal ThreadPool from 30 to 60 to prevent issues on startup
- Throw better excepetions if the json configuration file is not valid
- Removed the unsed
annotation
folder
- The new "Change Status" check (from v1.0.8) does not work, since the old status is already set previously
- Changed many line of code to fix sonarlint/cloud issues
- Add more
final
to parameters - Changed to Java 8 syntax like Lambda expressions or Multi-Exceptions
- Fixed one or two wrong handled Interrupts
- Added
sonarcloud
to build pipeline
- Removed all old CI files from the project
- Added
gitflow-maven-plugin
to manage release process, see BUILD-HELP.md
- Switched from Travis CI to GitHub Actions
- Add Eclipse Null Annotionas to project
- Changed a lot of code lines to fix several
null
issues etc. - Declare all dependencies in
pom.xml
asprovided
- Fixed several
NullPointException
- Limit the ThreadPoolExecutor to max. 30 threads
- Add sender thread restart to main loop
- Fix a NullPoint Exception
- Add a send preparation function incl. auto attach crc if missing
- Enhance fireOn... events, including some sendId fixes
- Disable
InterruptedIOException
to prevent ebusd connector from closing after a short time
- Enhance telegram matcher in Command registry
- Add (debug) warning if master-slave command configuration is without slave part
- Throw an exception on
master-master
commands with slave addresses that have no master address pair
- Fix matcher in Command registry
- Fix several nested template bugs
- Fix internal clone() of nested templates
- Set type and default value for nested types
- Use list for
template-block
to also copy values withoutname
- Rename template to valueDto, better variable name
- Add nested values to
composeMasterData
incl. test case - Fix parent method for nested values
- Add Version class to identify build version, commit etc.
- Use timestamps for Bundle-Version
- enhance ebusd controller with version check
- update all unit tests
- improve NRJavaSerial connector
- add a warning if the received data doesn't match to the found config method.
- fix
FF
byte issue on sending - add a warning if a template-block element has no name (more a bug workaround!)
- revert default telegram type to
master-slave
if not specified - harden slave length function, expect no slave data
- check every send byte for LowLevelController
- enhance error and parsing logging
- enhance queue for ebusd controller
- adjust NRJavaSerial driver for low latency
- block send queue while controller is not connected
- reduce Device Table Service log messages
- add more details on connection errors
- add more details on parser errors
- add connection status incl. listeners to controllers
- fix thread interrupt handling
- allow null values for date and/or time for "datetime" type
- fix wrong replace broadcast message on building a telegram
- block table services if connection is not established
- add slave length to command match function to only process expected slave answer
- Just a new label for the Alpha 0.9.22 release
Bugfixes:
- fix critical Master-Master send issue
- change error handling for "End of stream reached"
- replace and warn wrong addresses for buildMasterTelegram
- enhance Wolf/Kromschröder CRC calculation for type "kw-crc"
Project Enhancements:
- fix project setup
- remove useless MANIFEST.MF file
- update all file headers to year 2019
Features:
- add ebusd connector
Bugfixes:
- fix NPE
- synchronize log writers
Features:
- add JSerialComm as additional serial driver
- add send/receive roundtrip time to controller
- Update DTO objects
- add divider property to DTO
- change java level to 1.8
Bugfixes:
- fix "indirectly referenced" issue on extern bundles
Features:
- add bruteforce analyzer to decode data with all data types (internal only)
- add watchdog timer to all eBus connections, default is 5mins at the moment
- add new controller exception to harden thread handling
Bugfixes:
- fix java 6 compatibility
- fix Replace Value for
bit
data type - fix NPE for data type decode
- fix NPE because of already closed thread pool
- fix some smaller issues
Never released, migrated internal development branch to github
Features:
- large internal update, see git commits for details
- move all configuration file to an extra bundle, easier to update
- add new data type
float
- Add variant
minute_short
for 8bit minute values - Enhance unit tests
Bugfixes:
- Fix template block for local and global id
- Swap,
hex
andhex_short
in decodeInt() - fix data type
minutes_short
- fix missing master length in csv file
Configurations:
- All configurations are moved! See ebus-configuration bundle.
Features:
- add support for global templates in json configuration files
- clean-up source code
- enhance documentation
Bugfixes:
- smaller bug fixes
Configurations:
- add device Vaillant VC206
- change Vaillant VRC430/470 label
Outside temperature
to toController Datetime
- add Vaillant BAI
datetime
,setopdata
andgetopdata
Features:
- add support to load complete configuration bundles via URL
- add device scan function, rename inquire function
- add CSV writer for resolved and unresolved telegrams
- add metrics service to collect eBUS data
Bugfixes:
- also use master addresses for device table
- activate unused resolve failed events
- delete unused projects from source
- remove closed connection streams on close
Configurations:
- add identification for Wolf MM
- add outside temperature and datetime to Vaillant VRC 4307470
Features:
- restructure internal configuration handling
- removed outdated maven modules from source
Configurations:
- add identification for Vaillant VRC430f and VRC470f
- add pressure for Vailant BAI00
- fix outside_temp for Vailant BAI00
Features:
- new data types
date
andtime
for variable length signed / unsigned numbers - more source code documentation
- enhance logging on firing event handler s
Bugfixes:
- fix issue if master/slave CRCs are escaped
- fix ignored properties for some non-standard properties in json files
- adjust some maven build properties
- fix and enhance manufacture id/name mapping
Configurations:
- add date and time to Vaillant VRC470
- fix identifier for Vailant BAI00
Features:
- change device table from master address to slave address indexed
- complete rewritten internal data types
- simplified class hierarchy
- junit tests for all data types
- property
reverseByteorder
for nearly all data types - replaceValue is now available for all data types
- new data type
date
andtime
,datetime
rewritten - enhance data type
bcd
to support variable length
Bugfixes:
- fix a bug where
factor
was used twice for data typemword
- fix all data type to not modify the input byte array
- fix data type
bcd
to only allow value in range of 0-99 - fix data type
bcd
returned as signed value - fix common configuration label, add mappings to status_heat_reqX
- fix id in configuration wolf mm
- fix manufacture name lookup issue