Changelog
0.10.0
Released: 2025-01-13
Breaking
- switch to a new license system. Licenses are now in json format. Please contact us to get a free license upgrade for this version.
New
- Vestel display plugin
- `__connection_state__` parameter for nion
Changed
- updated to Qt6
- updted to OpenSSL 3
Removed
- debian 10 support
- ubuntu 20.04 support
- openSUSE Leap 15.4 support
- almalinux / RHEL 8 support
0.8.2
Released: 2023-03-19
New
- pjlink: initial version of the PJLink protocol plugin. Currently only supporting power state.
Fixed
- metrics: fix duplicate metrics
0.8.1
Released: 2022-09-18
New
- Mappings now support a `when` check which allows or denies a value to be send out. For more info see https://dcontrol.dotcircle.co/config/settings#configuration-example
0.8.0
Released: 2022-05-27
New
- Added support for parsing of math formulas in mappings.
- modbusTCP: added support for using coils as inputs.
Changed
- The short flag for `--verbosity` has changed from `-d` to `-V`.
Fixed
- timax: fix reading values; group levels > 0dB are now correctly parsed.
- websocket: received messages are now correctly stored and send to new client connects.
- osc: fixed an issue where on some systems when the `allow_all_clients` is set to `false`, the allowed clients would still be blocked.
- udp: fixed an issue where on some systems when the `allow_all_clients` is set to `false`, the allowed clients would still be blocked.
Removed
- the --directory option to manually specify the plugin directory has been removed.
0.7.0
Released: 2021-10-10
New
- powersoftMezzo plugin.
- powersoftX plugin (replaces the deprecated powersoft plugin).
- powersoftX: added metrics support.
- core: add command line option `--plugin-list` to list all installed plugins.
Changed
- powersoftX: now only reading data from the amplifier that is used in the mappings to further reduce the CPU load on the amplifiers.
Fixed
- core: looped mappings that have the index `$(i)` in the middle of the mapping address or name are now correctly parsed.
- core: multiple occurrences of the index `$(i)` in a mapping address or name are now correctly parsed.
- powersoftX: standby state is now correctly reported.
- powersoftX: better support for the Quattrocanali amplifiers which are much slower as the Ottocanali or X4/X8 amplifiers.
Deprecated
- powersoft: the powersoft plugin is now deprecated and replaces with the powersoftX plugin, please upgrade your configuration to use the powersoftX plugin instead.
0.6.3
Released: 2021-01-25
New
- timer: The timer plugin now also supports single-shot events.
0.6.2
Released: 2021-01-24
New
- The logging verbosity can now be overruled on a per plugin instance basis with the `verbosity` option in the device definition.
- sACN: Added an option to specify the TTL for the outgoing sACN data. The default TTL is 1.
Changed
- Websocket: The websocket plugin now also stores values that er send to the plugin (`from` addresses) and sends those values to new clients connecting, so that they have the same initial state as clients already connected.
Fixed
- sACN: Fix address parsing. Addresses were considered to be 8bit wide, which meant that all address > 255 were handled wrong.
- icalscheduler: Fixed re-occurrence events that have an override (a modification of a single event in a re-occurrence ruleset). Prior to this version, both the original event, and the modified event would trigger.
0.6.1
Released: 2020-11-01
Fixed
- nion: Fixed writing mutated boolean values.
0.6.0
Released: 2020-10-25
Breaking
- Websocket: The 'json-schema' and 'server-name' configuration options have been renamed to 'json_schema' and 'server_name' respectively.
- The control type names have been changed: 'digital' -> 'bool'; 'analog_8' -> 'int8'; 'analog_16' -> int16; 'float' remains 'float' and 'string' remains 'string'.
- The control type has become a required parameter. Mappings without a type specified will error out when the settings file is loaded.
- The root device settings `ip`, `port`, `username` and `password` have been moved into the options key.
New
- Support for mutating values in between the receiver and transmitter. For more info see https://dcontrol.dotcircle.co/config/mutations .
- sACN plugin.
- timer plugin.
- Add support for regex matching icalscheduler event names.
- modbusTCP: Add support for coil, input register, holding register and 32bit registers.
Fixed
- modbusTCP: Unsupported data type on arm devices is now fixed.
Removed
- Debian Stretch is no longer supported.
0.5.1
Released: 2019-12-08
New
- udp: add support for appending the received value to the address string.
Fixed
- nion: strings containing spaces now work as expected.
- nion: fix error when only using mappings to a nion.
- udp: document the use of overlapping addresses.
- libqt5xml5 added as a dependency on debian installs.
0.5.0
Released: 2019-11-24
Breaking
- dcontrol now requires a license file to run.
New
- Looped mappings.
- Argument option to just test the settings file for errors (`dcontrol -t`).
- Docker image.
- Metrics.
- UDP plugin support for the invert parameter for boolean controls.
- Icalscheduler now supports invite events. Only accepted events will be parsed, pending / declined / cancelled events will be skipped.
- Support for Centos 8.
- Support for debian buster.
Fixed
- Systemd manual entry.
- Log messages cleanup.
- UDP string null termination.
- PowersoftX logging (amplifiers were always reported online, even when they were not).
0.4.1
Released: 2018-12-27
New
- powersoft: support for duecanali amplifiers.
Fixed
- nion: control subscription.
0.4.0
Released: 2018-11-28
New
- iCalscheduler plugin.
- TiMax plugin.
- OSC plugin.
- UDP plugin.
Changed
- The plugin files have been renamed from `libplugin.so` to `plugin.so`.
- Debug logging improvements.
- Plugin passwords will be logged with '******' in stead of printing them in clear text.
Fixed
- Boolean parsing on yaml string: yes & true => true; no & false => false.
- Installation of the websocket plugin and it's dependencies.
0.3.0
Released: 2018-07-16
New
- Powersoft plugin added.
- More complete example settings files added settings.yml.example and settings.json.example can both be found in /etc/dcontrol/ .
Changed
- Naming changed from dControl to dcontrol (all lowercase).
- Optimized the socket writes in the nion plugin.
Fixed
- Segmentation fault fixes when dcontrol is stopped.
- Removed noise debug messages from the websocket plugin.
0.2.1
Released: 2018-04-15
New
- Rpm package added for Centos / Redhat / Fedora systems.
- Debian stretch armhf package added.
- Websocket plugin.
- ModbusTCP: allow double as a received value (is parsed to int).
- Development documentation added.
Fixed
- ModbusTCP reconnect fixed. ModbusTCP disconnections are now handled more gracefully and will no longer spawn multiple connections to the remote device.
Removed
- Support for debian jessie has been removed due to the requirement of Qt > 5.5 .
0.2.0-1
Released: 2018-04-14
This is a hotfix release, backported to Debian Jessie.
Fixed
- ModbusTCP reconnect fixed. ModbusTCP disconnections are now handled more gracefully and will no longer spawn multiple connections to the remote device.
0.2.0
Released: 2017-06-27
New
- Restore outputs on reconnect. Save the state of the output on a write request, and restore all output states when the connection is re-established after a disconnect.
- Added verbosity level and plugins dir to settings.yml. Adds the the verbosity and plugin directory settings to the yaml/json settings file. The command arguments still override these values.
- ModbusTCP plugin.
- Nion plugin.
Fixed
- Correctly using threads now.
- Handle default I/O types.
- Handle SIGINT and SIGTERM signals and gracefully exit.
- Use the plugin instance name in log entries.
- Cleaned up connection error logging.