All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Replaced usage of deprecated synchronous version of
evaluateJSONataExpression
by asynchronous version as synchronous version will not work anymore starting with Node-RED 4.0. - Updated versions of some dependencies.
- Removed port input for video sources in configuration UI.
- Fixed illegal argument error for video input.
- Updated versions of dependencies where possible.
- Improved and updated help texts.
- Updated versions of some dependencies.
- Added additional sound field values to the "set sound settings" control command.
- Added night mode without narration as possible value for night mode to the "set sound settings" control command.
This is a complete rework of the Node-RED Sony Audio package with breaking changes. Therefore the project has also been renamed and published as a new NPM package. The old package is still available and you can decide on your own if you want to continue using the old package or if you want to migrate to the new one. Due to the new names of the package and the nodes, it is possible to install both versions in parallel.
- New package name following the new naming conventions for Node-RED contributions.
- New, more intuitive node names:
- controller node → control node
- receiver node → notify node
- Completely revised the flow nodes, making them more modern, more flexible and leaner.
- Completely redesigned the configuration UI of the flow nodes.
- Optimized the output of some predefined filters.
- Removed the possibility to override commands and command settings from the configuration UI via input message.
- Removed the support for multiple outputs.
- Upgraded dependencies to newest versions (except node-fetch as version 3.x does not support the
require
syntax anymore)
- Added the possibility to make direct API calls from the configuration UI of the control node.
- Added the possibility to fetch the API including parameters from input messages, environment variables and context variables.
- Added the support for processing input data with templates and JSONata expressions.
- Added the possibility to precisely configure output messages and set context variables upon receiving data from the device.
- Added example flows to the package (however, I strongly recommend to also have a look into the wiki).
- And many more small things...
- Fixed saving of sound, speaker and playback settings in case of multiple entries.
- Added topic placeholders for device and controller/receiver node names.
- Fixed source filter (did not extract
contentId
parameter of URI for FM source).
- Fixed non-loading nodes due to unresolved dependency.
- Added support for specifying the topic for output messages, including the usage of placeholders.
- Added new custom filter which makes it possible to define an own filter based on a JSONata expression.
- Added connection monitoring via regular lifesign/ping messages to detect dead connections.
- Topics from incoming messages of controller node will now be passed through to the outputs.
- Reconnect command of controller node closes connection if open before reconnection instead of ignoring trigger.
- Reconnect command indicates reaction with status update.
- Added extended recovery mechanism to recover from connections losses longer than 25 seconds.
- Added new command to controller node for explicitly trigger a reconnection attempt for service connections.
- Added standby command to controller node which some devices use to distinguish between full power off and standby.
- Added possibility to specify on/off sound settings (e.g., night mode) as boolean values.
- Fixed inconsistent types for volume, preset, port and zone.
- Implemented workaround for forced spinner input field width.
- Changed output format for speaker settings filter in case of multiple results: instead of a value array, payload is now an object with properties for each result.
- Added support for speaker settings (NOTE: experimental feature, uses undocumented API, not tested!).
- Fixed port number input appearing for non-applicable commands.
- Fixed setSource command for video input and FM radio source (added possibility to specify port and preset).
- Internal code optimizations.
- Optimizations for help pages.
- Allow chaining of nodes via response outputs.
- New option Enable Low-Level Override can be used to prevent interpretation of low-level information in subsequent nodes.
- Fixed wrong interpretation of null payload as object.
- Internal code optimizations.
- Internal code optimizations.
- Corrected and improved node documentation.
- Fixed wrong label assignment in device node configuration page.
- Renamed commands getPlaybackModes and setPlaybackModes to getPlaybackSettings and setPlaybackSettings respectively (backward compatible).
- Fixed setSource command for line input source (added possibility to specify port).
- Fixed wrong links in documentation.
- Fixed and optimized configuration page layout.
- Optimized texts and translations.
- Added support for localization of UI and documentation texts.
- Added German localization.
- Moved detailed documentation from README.md to repository wiki.
- Fixed crash when connection to notification API service failed.
- Fixed showing/hiding filters list in configuration page depending on output port selection.
- Fixed ESLint issues and other minor bugs.
- Device discovery now also provides model name of each found device.
- Added the possibility to provide the volume for setVolume command as payload of type 'number'.
- Direct access to Sony audio control web API now abstracted by device node.
- Manage connections to Sony audio notification API centrally from device node instead of each receiver node.
- Fixed error logs during device discovery for non-conform devices using Sony's SSDP search scheme.
- Device discovery to search for Sony audio devices in the network
- Support for multi-zone volume information
- Internal code optimizations
- Auto filter for controller node automatically selecting an appropriate filter depending on the command and customizable through command suffixes.
- Auto filter for receiver node automatically selecting an appropriate filter depending on the notification.
- New command for controller node to retrieve software update information.
- Support for MQTT like topics. If enabled,
msg.topic
is parsed for either command or low-level request service/method/version.
- Migrated controller node to Node-RED 1.0 API (remaining backwards compatible to Node-RED 0.x).
- Removed error output from controller node to be more compliant to Node-RED guidelines (all possible errors to be handled by catch nodes).
- Receiver node now throws errors instead of logging warnings to allow handling errors via a catch node.
- No error status shown when invalid command or volume provided via input message to command node.
Initial version and first published release.