Releases: BlackZork/mqmgateway
Releases · BlackZork/mqmgateway
v2.10.0
v2.8.1
v2.8.0
New features:
- std.map converter for state and command topics.
- TLS support for mqtt broker connection (git-developer).
- support for single quoted converter arguments of string type.
- support for hex (0x..) and octal (0123..) format in mqtt string payload for command topics
Bugfixes:
- Respect both delay_before_first_command and delay_before_command set for a single poll group
- Fixed bug with multi-slave poll_group definition overriding previously defined slave name property
v2.6.0
New features:
- support for nested maps and lists in state section, with converters added on any level.
- support for list of registers with converter in availability section.
- improved performance for configurations with a lot of modbus networks and many MQTT command and state topics:
- added relation map for poll group to MQTT state topics.
- added relation map for MQTT command topics to register data.
- Added multi device support for poll groups and mqtt topics
v2.4.0
This release was intended to be much smaller, but the changes got a bit out of control :-)
New features:
- Write commands now respect poll delays configured per network or per slave. Renamed min_delay_before[_first]_poll to delay_before[_first]_command (#40). Please update your config file.
- Added write_retries and read_retries, configurable per slave or per modbus network.
- Made log debug level (5) usable for real-time monitoring. Moved all very frequent logs to new trace level (6), added logs for read and write recovery.
- Added watchdog for Modbus network. It reconnects network if TCP /RTU connection is stalled (#39) or RTU device is unplugged (#9). The default watch period is 10s. See "watchdog" entry in modbus configuration section
Bug fixes:
- Fixed bug where state was not updated after a write to register that is a member of a poll group, but not the first one.
- Fixed write only mode
- Availability flag was not changed after reconnecting Modbus network (#43)
- a response_timeout and a response_data_timeout was not set for TCP network, defaults changed from invalid 1s to 500ms (#39)
- Removed double timestamp from logs when modqttd stderr is connected to systemd-journald stream.
- Do not send garbage as state if read fails on initial poll
- Fixed compile errors for gcc v.9
v2.2.0
New features:
- std.bit() converter for state topics. See Standard Converters for description
v2.0.0
New features:
- modbus thread polling loop was reorganized and partially rewritten. Removed sub-loops for initial poll and register group polling. Now there is a single control loop for reading, writing and reacting to control messages from the main thread. This is the main reason to bump version to 2.x.
- new per-slave configuration options
min_delay_before_first_poll
andmin_delay_before_poll
. Those options allows to define a silence period before reading register data.
v1.4.1
v1.4.0
Bug fixes:
- #30 Missing authentication data when MQTT username and password is set
- implementation for forgotten
response_timeout
andresponse_data_timeout
config variables - Fixed -DWITHOUT_TESTS if catch2 is not installed
New features:
-
log final poll specification after merging poll groups with topic registers
-
std.multiply
converter -
std.int8
andstd.uint8
state converter -
introduced new modbus network slaves config section and moved poll groups there.
Please update your config:Old config:
modbus: networks: - name: tcptest poll_groups: # slave 1 - register: 1.1 count: 2 # slave 3 - register: 3.2 count: 5
New config:
modbus: networks: - name: tcptest slaves: - address: 1 poll_groups: - register: 1 count: 2 - address: 3 poll_groups: - register: 2 count: 5
Old style poll groups are depreciated and will be removed in future releases.
If both old style and new style declarations are present in config file then
they will be merged altogether. This allows to migrate to new style config slave by slave.
v1.2.0
New features:
- Extended converter interfaces to handle MQTT -> Modbus data conversion
- Added RTU config variables for RST and delay
- Support for reading and writing multiple registers at once
- Support for predefined poll groups to optimize modbus registers reading
- (Breaking change!, please fix your config files after upgrade) Use 0-based modbus addressing if registers are defined as hex in config file, 1-based modbus addressing otherwise
- New converters: signed int16, string, float
- Support for handling 2-register data in divide converter (Christian)
- Support for 32bit int and float values for exprtk converter (Christian)
- Support for signed 16bit in values for exprtk
- Fixed rounding issues on linux/i386 (Christian)