Version 6 is a full rewrite of the plugin in TypeScript. It is backwards compatible: your existing TVs stay in Home, you don't have to add them again, and your current config keeps working as it is.
Thank you to everyone who tested the betas and reported back in #756.
⚠️ After the update
- SmartThings has to be authorized again. The
api_keysetting no longer works. Until you go through the new wizard in the plugin settings, the features that depend on SmartThings stay unavailable: input sources, picture modes, sound modes and the full power off of a Frame TV. - Inputs and custom switches may need their Home names and scenes set up once more. Home now identifies them by what they do, not by their position in the list.
- A few settings were renamed or removed. Nothing breaks if you leave them: the old names still work for now, the removed ones are ignored, and at startup the log tells you what to change.
See the upgrade guide for the steps.
📋 Requirements
- Node.js 22.10+, 24, or 26. Node.js 20 is no longer supported.
- Homebridge 1.8 or newer (Homebridge 2.0 is recommended).
- Homebridge Config UI X v5.27.0 or newer, for the interactive configuration interface. Older versions show the basic editor instead.
✨ What's new
- Interactive configuration interface: The plugin has its own interface in Config UI X. You add, edit, delete and reorder devices, inputs and switches from there, without touching the JSON config. You can test the connection to a TV before you add it, and the MAC address is filled in for you.
- New SmartThings authorization: SmartThings dropped the personal access tokens that never expire. The plugin now uses the official OAuth flow: you create a SmartThings app once, and the plugin refreshes the access token on its own. A step by step wizard in the settings takes you through it, and the SmartThings guide covers every step. Once connected, the interface loads your TVs, their picture modes, sound modes and input sources, so you pick them from a list.
- Frame TVs: The plugin detects a Frame automatically and controls Art Mode on the local network. By default the TV tile follows Art Mode: ON means you are watching TV, OFF means Art Mode is active. Enable
Frame.RealPowerModeif you want the tile to turn the TV fully on and off, which needs SmartThings. You also get an Art Mode switch, a Power switch and an optionalartmodeinput. - Real time state: Power state arrives through SSDP announcements, and volume and mute through DMR (UPnP) events, so Home follows the physical remote. This also works on hosts with Docker, WireGuard or several network cards.
- Volume without SmartThings: Absolute volume control works on the local network. There is also an optional volume slider, shown in Home as a light, that you can use in scenes and automations. Enable it with
Volume.Slider.Enable. - Pairing when the TV turns on: The TV no longer has to be on when Homebridge starts. The pairing prompt opens as soon as the TV turns on.
- Custom switches that show their state: Switches that launch an app, select an input source, set a picture mode, a sound mode or a TV channel stay ON in Home while it is active on the TV. Custom switches can also set a sound mode now.
- Inputs and switches keep their identity: Reordering or renaming an input or a switch no longer makes it a different item in Home.
- More remote buttons:
keysnow map every iOS Remote button Home shows for a TV. - Disable a device:
Device.Disableturns a TV off in the plugin without removing it from the configuration.
🔧 Improvements
- SmartThings recovers on its own when the internet connection or the SmartThings servers are down, and its requests give up after 5 seconds, so a slow response no longer holds up Home.
- SmartThings values that have not been updated in more than a day are ignored, so Home does not keep showing the last known source after the TV has been off.
- When SmartThings rejects a request, the log has the reason it returned, not only a status code.
- Changes made to the plugin storage from the configuration interface are backed up first, keeping the last 10 backups.
- At startup the log lists every v5 setting still in your config and says what to change.
🐛 Bug fixes
- Turning the TV on or off when it is already in that state, or while it is still switching, no longer makes Home show "No Response".
- The power switch in Home no longer jumps back to off right after you turn the TV on.
- A TV that was unplugged no longer stays ON in Home, and a failed check is no longer treated as the TV being on.
- Custom remote key mappings no longer leak between TVs.
- Custom switches now honor
mute: falseand unmute the TV. - Opening the remote or the Frame art socket no longer hangs if the TV never sends a ready event.
🗑️ Settings that were renamed or removed
api_keywas replaced by the new SmartThings authorization.device_idis nowdeviceId,type: artis nowartmode, anddigitalTvis nowdtv. The old values still work for now.refresh,delay,timeout,wait_time,methodandportare no longer used and are ignored.
Full list of changes: CHANGELOG.md
Documentation: https://tavicu.github.io/homebridge-samsung-tizen/