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.
Added support for node.js v22
Added support for Homebridge 2.x
- Add the tv name to the volume service. Thanks @berno22 for the contribution!
- The
launch
cli command now accepts parameters. Thanks @wondertwins for the contribution!
- Add
filmMaker
picture mode. Thanks @ipichy for the info!
- Fix
silentLog
property not having any effect
- Added state option for picture mode buttons. Thanks @tcarlson25 for contribution!
- Increase the live tv subscription delay
- Fix appButtons not working
- New
serviceMenuButton
property which when enabled shows a button that when pressed opens the service menu - New
ezAdjustButton
property which when enabled shows a button that when pressed opens the ezAdjust menu - Add
serviceMenu
cli command - Add
ezAdjust
cli command - New
soundModeButtons
property which allows to create sound mode buttons to quickly switch between sound modes on the TV - Add support for sound mode change and
set-sound-mode
cli command. Thanks @pengsrc for contribution!
- Fix channel change service subscription when Live TV is not the starting app
- Fix switch naming
- Fixed issues with newer webos firmware versions where SSL is required for a connection
- Add
request
cli command - Add
luns-send
cli command. Thanks @kopiro for contribution! - Add
set-picture-mode
cli command. Thanks @Keagel for contribution!
- Fix potential crash during input change
- Fix fan as volume state
- New
triggers
property which allows to add occupancy sensors which trigger at a certain threshold for specific tv properties - New
silentLog
property which when enabled allows to disable all log output - Added a command line interface to control your TV directly from the command line
- Volume control can now be configured as a fan in a addition to the lightbulb
- Allow to configure per app specific control center remote remap
- The plugin is now based on pure ESM
- Fix a potential crash during startup
- As Node.js 12.x will not be supported anymore by homebridge as of April 2022, the minimum required Node.js was bumped to 16.x, please make sure to update: https://github.com/homebridge/homebridge/wiki/How-To-Update-Node.js
- Bump homebridge version dependency
- Update dependencies
- Fix dependencies
- Lock dependency versions to prevent dependencies breaking the plugin
- Update screen control switch when screen is turned off/on directly on the TV
- Improve screen off/on detection
- Improve picture mode buttons on TVs with webOS version 3.5 and less
- Fix popup which might have appeared when using the picture mode buttons
- New
backlightControl
property which when enabled allows to control the TV backlight setting - New
brightnessControl
property which when enabled allows to control the TV brightness setting - New
colorControl
property which when enabled allows to control the TV color setting - New
contrastControl
property which when enabled allows to control the TV contrast setting - New
pictureModeButtons
property which allows to create picture mode buttons to quickly switch between picture modes on the TV
- Improved the readability of switches by removing the TV name prefix
- Fixed some minor issues
- Optimize config.schema.json, organize services in sections
- Updated README
- Fixed "input limit reached" warning showing up when hide TV service was enabled
- Trigger HomeKit automations when pressing Volume Up/Down on the remote control
- Fix screen on/off feature on newer LG TVs.
- A file can now be used for notification buttons message. This way dynamic text can be displayed in the notification.
- New
inputSourcesLimit
property which allows to specify a limit for input sources which will be fetched from the TV. It is not documented in the README as it should only be used in edge cases.
- Improved logging
- Updated README
- Fixed a homebridge warning when using external sound devices.
- Improved tv status reporting
- Improved error logging
- Clarify in config UI that TV must be added explicitly. Thanks @henrik
- Fixed "TV turned on!" appearing in log messages to many times
- Fixed an which might have cause to crash the plugin
- Correctly show the error message when a subscription fails
- Fixed illegal value warning
- Fixed an issue where the channel buttons service would not update the status in some cases
- Setup on tv connection should not get stuck now in cases where no response comes back from the tv
- Some under the hood improvements
- Updated README
- Automatically generate keyFile name for the TV if not specified by the user. Due to this there is no need anymore to specify custom keyFile names when using multiply TVs
- Default keyFile location, if not specified by the user, is now inside the prefsDir
- Due to the change in the keyFile location you might be asked by the TV to allow connection to the plugin again
- Bumped dependencies
- The tv speaker service is now working properly
- Under the hood changes for better readability
- The TV webOS version is now displayed on connection in the console
- TV status should now again work correctly on webOS 2.x TVs
- Home automations with inputs from the "input spinner" should now work properly
- Updated README
- new
external_speaker
sound output. Thanks @perana
- Fixed basic inputs missing on TVs with webOS 4.5 and higher (2)
- Notification buttons can now have a
params
property
- Fixed basic inputs missing on TVs with webOS 4.5 and higher
- Fixed a possible crash with the control center remote
- Updated README
- Inputs will now automatically be retrieved from the TV. You now only need to enable or disable the desired inputs straight from the Home app
- Notification button service has now an optional
appId
property. When this is set pressing on the notification will take you to the specified app - Remote control buttons now also accept as an array of objects with
action
andname
properties as values. This allows you to name your buttons as you desire - sound output buttons now also accept as an array of objects with
soundOutput
andname
properties as values. This allows you to name your buttons as you desire - new
appButtons
property which allows to create dedicated input buttons which can be used for automations or controlled by Siri - new
screenControl
property which when enabled allows to turn on/off the TV screen - new
screenSaverControl
property which when enabled allows to instantly activate the screen saver on the tv - new
ccRemoteRemap
property which allows to completely remap the control center remote buttons - new
deepDebugLog
property which enabled more detailed debug log
- Completely rewrote the plugin!
- Much better status detection and accuracy (I would consider it like native HomeKit at this point)
- Volume limit now also works for any source that changes the volume on the tv, that includes the remote control
- Channel button service now works much more better and more reliable
- Renamed
channelName
property toname
to be consistent with other properties - Fixed some typos in the README
- Removed
showInputButtons
property as it is no longer needed - Removed
inputs
property as it is no longer needed and has been replaced byappButtons
property - Removed
infoButtonAction
property as it is no longer needed and has been replaced byccRemoteRemap
property
- Fixed a possible crash
- Updated README
- Fixed config.schema.json volume control
- Fixed some typos
- Completing the transition to platform. From now one the plugin can only be setup as a platform
- Optimize code
- Removed the possibility to setup the plugin as an accessory (breaking change for some users)
- Added new hideTvService configuration property
- Fixed some typos
- Removed the legacyTvService (breaking change for some users)
- Fixed a crash when using the legacyTvService
- Fixed an issue which might have caused disconnects on some TVs
- Fixed config.schema.json
- Updated README
- Small improvements to the volume control service
- More improvements to config.schema.json
- Updated README
- Improved the config.schema.json
- Removed unnecessary logs
- Do not shutdown homebridge when mandatory information is missing, instead display an error
- Changed default prefsDir path to "~/.homebridge/.webosTv"
- Removed unused dependency
- An optional channelId can now be specified for the channelButtonService
- Updated README
- TV information request errors log silently now
- Renamed name to channelName in the channelButtonService
- Additional checks when requesting tv information and initializing devices
- Updated README
- Extended the channelButtonService with an optional name
- Extended the notificationButtonService with an optional name
- Store launch points (apps, inputs)
- Store channel list
- Updated README
- Fixed missing AccessoryInformation.Name warning
- Improved logging
- The channelButtonService now also accepts an array of objects as value
- The notificationButtonService now also accepts an array of objects as value
- Wait till all tv information is retrieved
- Platform is now the preferred way to use the plugin, when still using as an accessory a warning will be shown
- Input names are no longer beeing saved in a file, renaming should be done in the config.json
- Adjusted config.schema.json to be able to handle the new platform
- Fixed a small issue
- You can now configure this plugin to run as a platform with multiple TVs
- Small code optimizations
- Additional checks to make sure required properties are set
- Remote button sequence interval can now be an array. This can help to reduce sequence run time since not all actions take the same amount of time
- Apps can now be lanuched with parameters. You can specify the launch parameters using the "params" argument per app in the inputs list
- The plugin can now detect if the Pixel Refresher is running on OLED TVs and display the TV as off at that times
- Power status of the TV can now be debuged
- Fixed a bug with channelButtons
- Optimized code
- New property
infoButtonAction
- manually configure the info button on the control center remote - VolumeUp and VolumeDown buttons now send home automation triggers
- Optimized code
- New property
remoteSequenceButtons
- run a sequence of remote control button presses - New property
showInputButtons
- show inpt as buttons for autmation - New property
legacyTvService
- emulate TV as a switch - Optimized code
- TV service from iOS12.2+ is now the default service
tvService
property was removed