👉 Join the discussion and share your feedback on this thread: GitHub Issue #756
This release is a complete ground-up rewrite of the plugin in TypeScript, shipped natively as an ES module (ESM).
Important: v6 is fully backwards compatible with your existing HomeKit setup. Your TVs will remain in the Home app without needing to be re-added. However, due to configuration schema updates, SmartThings must be re-authorized, and some custom switches or inputs may require one-time renaming or scene reassignment in Home.
🚨 Known Limitations
- Frame TVs: Support for Frame TV Art Mode is temporarily omitted in this release and will be restored in a future update.
📋 System Requirements
- Node.js:
22.10+,24, or26 - Homebridge:
1.8+(Homebridge 2.0 recommended) - Homebridge Config UI X:
v5.27.0+(required for the new interactive configuration interface)
✨ New Features
- TypeScript & ESM Rewrite: Entire codebase migrated for improved stability, maintainability, and performance.
- Interactive Config UI X Interface: Manage devices, inputs, and switches directly within Homebridge Config UI X without manual JSON editing. Includes built-in connection testing and automatic MAC address discovery.
- New SmartThings OAuth Flow: Replaced legacy API keys with the official SmartThings OAuth authorization flow (Client ID + Client Secret with automatic token refreshes).
- SmartThings Integration in UI: Automatically populates available TV Device IDs and fetches TV-specific picture modes when configuring custom switches.
- Real-time State Monitoring:
- Power state now updates dynamically via SSDP announcements with a reachability fallback mechanism.
- Volume and mute states are read in real time via DMR (UPnP) events, keeping Home app perfectly synced with physical remotes.
- Standalone Absolute Volume: Absolute volume control now functions without requiring SmartThings.
- Enhanced iOS Remote Sync: Speaker service matches TV power state, keeping volume controls active in the iOS Control Center Remote widget while the TV is ON.
- Global Configuration Inheritance:
keys,inputs,switches, andwolcan now be set globally at the plugin level and inherited by all devices. Device-level settings still take priority. - Expanded Remote Key Mapping: Added support for mapping all iOS Remote buttons exposed by HomeKit.
- Device Disabling: Added a flag to temporarily disable a device without deleting its configuration.
- Token Authentication Guard: Officially restricts full support to TVs with token authentication. Logs warnings and alerts in UI for unsupported legacy models.
⚡ Improvements
- Automated Storage Backups: Changing plugin settings via UI now automatically creates a backup of
samsung-tizen.json(retains the last 10 versions inbackups/samsung-tizen/). Internal runtime updates (pairing tokens, device caches) do not clutter backups. - Smart Input Prioritization: Home app input queries now prioritize active states to minimize unnecessary network requests to the TV.
- Smarter Custom Switches:
- App, input, and picture mode switches remain ON in Home as long as they are active on the TV.
- Multi-state switches (e.g.,
sleep+mute) now report ON if any condition is active (previously required all conditions). - Switches triggered while the TV is off grace-fail back to OFF with a log warning instead of showing an execution error in Home.
- Localized Picture Mode Compatibility: Picture mode switches store immutable SmartThings mode IDs (e.g.,
modeMovie) rather than localized English display names. Existing switch configs remain backward-compatible. - Stable Accessory Identity: Inputs and switches are now tracked by functional identity rather than config array indices. Reordering items no longer affects HomeKit pairings, and unnamed items are safely skipped.
- Dependency Updates: Updated all dependencies to their latest major/minor releases.
🐛 Bug Fixes
- State Transition Lockouts: Fixed "No Response" errors caused by toggling power while the TV was already in that state or mid-transition.
- Power Toggle Bounce: Prevented the Home app power switch from snapping back to OFF while the TV is booting up.
- Ghost Online Status:
- Unplugged TVs or devices disconnected without a goodbye SSDP packet no longer stay stuck ON indefinitely.
- Fixed an issue where standby TVs broadcasting periodic network announcements were falsely marked as ON.
- Scope Leakage: Fixed a bug where custom remote key mappings leaked between multiple TV configurations.
🗑️ Breaking Changes & Deprecations
device_idhas been renamed todeviceId(the old key is temporarily supported for backwards compatibility).api_keyhas been removed. Users must migrate to the new OAuth flow via the UI wizard.- Removed Legacy Settings: The following configuration keys are no longer used and will be safely ignored:
refresh– Replaced by SSDP announcements, DMR events, and intelligent internal polling.delay,timeout,wait_time– Timing parameters are now handled internally.method,port– TV connection parameters are now automatically detected.