UNPKG

homebridge-xbox-tv

Version:

Homebridge plugin to control Xbox game consoles.

1,062 lines (641 loc) 19.8 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ### NOTE - After update to 2.x.x the plugin settings (xboxLiveId) need to be updated - After update to v3.0.0 RESTFull and MQTT config settings need to be updated - After update to v3.4.0 all buttons in config need to be updated - After update to v3.9.0 plugin need to be reconfigured and console reauthorized - After update to v4.0.0 sensors need to be reconfigured!!! ## Warning - For plugin < v4.1.0 use Homebridge UI <= v5.5.0 - For plugin >= v4.1.0 use Homebridge UI >= v5.13.0 ## [4.1.20] - (28.05.2026) ## Changes - fix: plugin config UI — authorization manager spinner no longer hangs indefinitely - fix: server responses now delivered via HTTP file polling, bypassing unreliable Socket.IO server→client channel in Homebridge Config UI - fix: button label and status message correctly reflect current authorization phase (Start Authorization / Activate Console / Check State) - fix: Web API Token field now accepts full callback URL (code extracted automatically) and URL-encoded codes (%24 → $ etc.) ## [4.1.19] - (24.05.2026) ## Changes - fix: console power-off detected in ~14 s instead of ~3 min (watchdog timer no longer reset by network ping) - security: replaced `elliptic` and `jsrsasign` with Node.js built-in crypto (removes GHSA-848j-6mx2-7j84 CVE) ## [4.1.13] - (06.04.2026) ## Changes - refactor inputs switch - bump dependencies - cleanup ## [4.1.4] - (27.01.2026) ## Changes - bump dependencies - cleanup ## [4.1.1] - (03.01.2026) ## Changes - bump dependencies - warn if console not exist on server - cleanup ## [4.1.0] - (01.01.2026) ## Changes - added support for Homebridge UI >= v5.13.0 - config schema updated - readme updated ## [4.0.0] - (12.12.2025) ## Changes - after update to v4.0.0 sensors need to be reconfigured!!! - full refactor the sensor section code, now is possible to create multiple sensors of differrent types - config schema updated - redme updated - cleanup ## [3.9.16] - (09.12.2025) ## Changes - moved to MQTT v5 ## [3.9.11] - (08.11.2025) ## Changes - stability and performance improvements - bump deependencies - config schema updated - redme updated - cleanup ## [3.9.1] - (30.09.2025) ## Changes - added possibility to change accessory display type in Home app - stability improvements - redme updated - cleanup ## [3.9.0] - (24.09.2025) ## Changes - config schema and json refactor - plugin need to be reconfigured - console need to be reauthorized - fix [#234](https://github.com/grzegorz914/homebridge-xbox-tv/issues/234) - stability improvements - bump deependencies - redme updated - cleanup ## [3.8.1] - (13.09.2025) ## Changes - fix [#232](https://github.com/grzegorz914/homebridge-xbox-tv/issues/232) - bump dependencies - cleanup ## [3.8.0] - (10.09.2025) ## Changes - stability and performance improvement - added dynamic firmware info update if changed - bump dependencies - cleanup ## [3.7.0] - (17.08.2025) ## Changes - added dynamic add/update/remove input/channel if load from device - added dynamic firmware info update if changed - cleanup ## [3.6.0] - (30.05.2025) ## Changes - added speaker option to volume control (for feature use) - now if volume control option is set to disable/nonethe also TV Speakers (hardware control) is disabled - stability improvements - cleanup ## [3.5.1] - (15.03.2025) ## Changes - fix [#224](https://github.com/grzegorz914/homebridge-xbox-tv/issues/224) - cleanup ## [3.5.0] - (13.03.2025) ## Changes - added possibility to disable indyvidual accessory - bump dependencies - config schema updated - redme updated - cleanup ## [3.4.0] - (05.03.2025) ## Changes - after update to this version all buttons in config need to be updated - refactor code of buttons - bump dependencies - config schema updated - cleanup ## [3.3.11] - (20.02.2025) ## Changes - stability and improvements - fix deprected method - cleanup ## [3.3.9] - (07.02.2025) ## Changes - stability and improvements ## [3.3.8] - (07.02.2025) ## Changes - fix inputs display order ## [3.3.7] - (06.02.2025) ## Changes - cleanup and optimizations of web api control ## [3.3.6] - (06.02.2025) ## Changes - fix HAP-NodeJS WARNING: The accessory has an invalid 'Name' characteristic 'configuredName' - Please use only alphanumeric, space, and apostrophe characters - Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis ## [3.3.4] - (05.02.2025) ## Changes - Web Api improvements of authoriztion check and remote management - cleanup ## [3.3.3] - (04.02.2025) ## Changes - fix [#221](https://github.com/grzegorz914/homebridge-xbox-tv/issues/221) ## [3.3.2] - (04.02.2025) ## Changes - update RESTFul - bump dependencies ## [3.3.0] - (19.01.2025) ## Changes - added possibility to disable/enable log success, info, warn, error - refactor cnnect code - bump dependencies - config schema updated - redme updated - cleanup ## [3.2.0] - (30.11.2024) ## Changes - move from commonJS to esm module - moved constants.json to constants.js - cleanup ## [3.1.12] - (27.09.2024) ## Changes - fix restFul start [#212](https://github.com/grzegorz914/homebridge-xbox-tv/issues/212) - cleanup ## [3.1.6] - (06.09.2024) ## Changes - Authorization manager layout improvements - cleanup ## [3.1.5] - (06.09.2024) ## Changes - cleanup ## [3.1.4] - (06.09.2024) ## Changes - fix display duplicated dev info - cleanup ## [3.1.3] - (06.09.2024) ## Changes - refactor web and local api connect code - cleanup ## [3.1.0] - (23.08.2024) ## Changes - add control over RESTFul POST JSON Object - cleanup ## [3.0.2] - (18.08.2024) ## Changes - fixed authorization manager [#204](https://github.com/grzegorz914/homebridge-xbox-tv/issues/204) - cleanup ## [3.0.0] - (14.08.2024) ## Changes ### After update to v3.0.0 RESTFull and MQTT config settings need to be updated - hide passwords by typing and display in Config UI - remove return duplicate promises from whole code - bump dependencies - cleanup ## [2.14.0] - (04.08.2024) ## Changes - added possiblity to set own volume control name and enable/disable prefix - config schema updated - bump dependencies - cleanup ## [2.13.0] - (05.03.2024) ## Changes - added support to subscribe MQTT and control device - config schema updated - cleanup ## [2.12.0] - (02.01.2024) ## Changes - added possibility to disable prefix name for buttons and sensors - config schema updated - cleanup ## [2.11.0] - (29.12.2023) ## Changes - added possibility to select display inputs order, possible by `None`, `Alphabetically Name`, `Alphabetically Reference` - config schema updated - cleanup ## [2.10.0] - (26.12.2023) ## After update to this version the plugin properties are changed and console must be authorized and settings need to be corrected ## Changes - full code refactor - added possibility toggle Power control between local/web api - fixed disconnect problem on first run - performance and stability improvements - config.schema updated - readme updated - cleanup ## [2.9.0] - (29.07.2023) ## Changes - added RESTFul server - use JWT token for lokal api if console authorizen - code refactor and cleanup - config.schema updated - fixed some minor issues - prepare for next release and features ## [2.8.0] - (20.02.2023) ## Changes - fix load plugin gui on first start after install - authorization manager updated - added possibility to set IP Address and Xbox Live ID from Authorization Manager. - added possibility to enable Web Api Control from Authorization Manager after authorization successfull done. - cleanup ## [2.7.0] - (13.02.2023) ## Changes - standarize function of display type and volume control, now volume control -1 None/Disabled, 0 Slider, 1 Fan, please see in readme - config.schema updated - fix expose extra input tile in homekit app - other small fixes and improvements - cleanup ## [2.6.0] - (12.02.2023) ## Changes - integrate web api library in to the plugin - simplify the authorization manager process(reduced 1 step, correct some words) - bump dependencies - stability improvements - config.schema updated - cleanup ## [2.5.0] - (29.01.2023) ## Changes - update logging - added new mqtt topics *Consoles List*, *Profile*, *Apps*, *Storages*, *Status* - bump dependencies - stability improwements - config.schema updated - cleanup ## [2.4.0] - (24.01.2023) ## Changes - added Power Sensor for use with automations (active if power is ON) - added Input Sensor for use with automations (activ on every Input change) - added Screen Saver Sensor for use with automations (active on change to Screen Saver) - added custom Inputs Sensor based on reference for use with automations (active on change to Input) - config.schema updated - cleanup ## [2.3.16] - (04.01.2023) ## Changes - fix wrong state after power Off - fix display current app - fix save target visibility - fix save custom names ## [2.3.15] - (04.01.2023) ## Changes - fix #147 #148 ## [2.3.14] - (03.01.2023) ## Changes - code refactor - stability improwements ## [2.3.13] - (31.12.2022) ## Changes - dynamic update accessory information ## [2.3.12] - (24.12.2022) ## Changed - fix #145 ## [2.3.11] - (18.12.2022) ## Changed - fix buttons and switch services ## [2.3.10] - (02.12.2022) ## Changed - fix [#143](https://github.com/grzegorz914/homebridge-xbox-tv/issues/143) ## [2.3.9] - (28.11.2022) ## Changed - fix [#143](https://github.com/grzegorz914/homebridge-xbox-tv/issues/143) - update dependencies ## [2.3.8] - (02.11.2022) ## Changed - fix error with 2.3.7 ## [2.3.7] - (02.11.2022) ## Changed - code refactor ## [2.3.6] - (10.09.2022) ## Changed - cleanup - added content type properties to inputs - bump dependencies ## [2.3.3] - (29.08.2022) ## Changed - cleanup - rebuild mqtt topics ## [2.3.2] - (28.08.2022) ## Changed - fix publish MQTT message ## [2.3.0] - (24.08.2022) ## Changed - fix MQTT device info - refactor debug and info log - refactor send mqtt message - bump dependencies - code cleanup - added Xbox Guide as default input - fix [#137](https://github.com/grzegorz914/homebridge-xbox-tv/issues/137) ## [2.2.2] - (09.03.2022) ## Changed - MQTT Client connection process ## Fixed - webApiControl switch state ## [2.2.0] - (27.02.2022) ## Added - MQTT Client, publish all device data - possibility to set custom command for Info button in RC ## Changes - update dependencies - code refactor ## [2.1.3] - (28.01.2022) ### Fixed - offset out of range - code refactor ## [2.1.2] - (21.01.2022) ### Fixed - [#136](https://github.com/grzegorz914/homebridge-xbox-tv/issues/136) ## [2.1.1] - (21.01.2022) ### Changed - refactor debug message logging - update readme ### Fixed - wrong variables - removed unnecessary async - report unknown message if power on fail ## [2.1.0] - (21.01.2022) ### Added - check authorization state of console every 10 min. if powered ON and web api control enabled - check cosole data and installed apps every 10 min. if powered ON and web api control enabled ### Changed - send status message data only if changed - debug message logging - code refactor - code cleanup - stability and performance improvements ### Fixed - unexpected set authorization to true however the console is not authorized - data offset out of range [#133](https://github.com/grzegorz914/homebridge-xbox-tv/issues/133) - incorrect client authorization on console ## [2.0.13] - (15.01.2022) ### Added - Network Troubleshooter as defaul input ### Changed - removed manual authorization method - code cleanup - redme update ### Fixed - services calculation count ## [2.0.12] - (09.01.2022) ### Changed - code cleanup ## [2.0.10/11] - (08.01.2022) ### Changed - rebuild device info read and write ## [2.0.9] - (03.01.2022) ### Added - ability to disable log device info by every connections device to the network (Advanced Section) ### Fixed - unexpected power on after power off ## [2.0.8] - 2021-12-29 ### Added - prevent load plugin if host or xboxLiveId not set - prepare directory and files synchronously ## [2.0.6] - 2021-12-28 ### Added - better handle clientId if not defined in config ## [2.0.3] - 2021-12-28 ### Added - Selectable display type of buttons in HomeKit app ## [2.0.2] - 2021-12-28 ### Changed - Changed switches to buttons appear in HomeKit accessory ## [2.0.1] - 2021-12-26 ### Fixed - RC Control ## [2.0.0] - 2021-12-25 ### Added - Screensaver and Settings TV input as default - Smartglass library (based on @unknownskl code) as standalone packet, completelly rebuilded - Debug mode - TV Remote control (buttons) - Media control (buttons) - Game Pad control (buttons) - Clear web api token from plugin config menu ### Changes - full code rebuild - config.schema updated - dependencies updated - authorizatin manager updated - removed bramnding ### Fixed - memmory leak on some scenerious - protocol disconnect if send multiple command at once - authorization manager ## [1.8.13] - 2021-12-01 ### Fixed - fix authorization UI Manager open URI ## [1.8.12] - 2021-12-01 ### Fixed - fix authorization UI Manager ## [1.8.8] - 2021-11-04 ### Fixed - fix some connect/disconnect case - fix some remote command not send ## [1.8.7] - 2021-11-01 ### Changes - performance improvement ## [1.8.6] - 2021-10-30 ### Fixed - fix powerOn ## [1.8.3] - 2021-10-30 ### Fixed - fix graphic in settings ## [1.8.2] - 2021-10-30 ### Changes - code optimize - config.schema update - redme update ## [1.8.1] - 2021-10-26 ### Fixed - fixed callback issue ([#105](https://github.com/grzegorz914/homebridge-xbox-tv/issues/105)) ## [1.8.0] - 2021-10-26 ### Changes - added possibility Record Game DVR - rebuild connection proces to console - fixed Authorization Manager error on first run - removed 'Undefined Input', not nedded any more - code cleanup ## [1.7.9] - 2021-09-26 ### Changes - config.schema update ## [1.7.8] - 2021-09-24 ### Changes - update authorization manager - code cleanup ## [1.7.5] - 2021-09-05 ### Changes - update config schema - extend fiter possibility - code cleanup ## [1.7.3] - 2021-09-03 ### Changes - update config schema ## [1.7.2] - 2021-09-03 ### Changes - added filter for Games, Apps, Dlc ## [1.7.1] - 2021-08-31 ### Changes - code refactorin - added default inputs TV, Settings, Dashboard, Accessory, no need to create it in config - many small changes and stability improvements ## [1.6.3] - 2021-08-05 ### Changes - added alternative check current running app if reference app is missing - removed unnecessary reference property from buttons in config.json ## [1.6.2] - 2021-08-05 ### Changes - added possibility reboot console - added possibility switch to Television input - code and config reconfigured - update config schema ## [1.6.0] - 2021-08-04 ### Changes - fixes ## [1.6.0] - 2021-08-04 ### Changes - added possibility load inputs list direct from device - chenged config properties, please adapted config to latest one - changed stored files names, may be need authenticate console again or just copy authentication Token to the new created file(authToken_xxxx) - update dependencies - code rebuild ## [1.5.0] - 2021-04-11 ### Changes - added control over Web Api - code rebuild ## [1.4.0] - 2021-02-19 ### Changes - code rebuild, use Characteristic.onSet - require Homebridge 1.3.x or above ## [1.3.10] - 2021-02-15 ### Added and Fixed - Add possibility disable log info, options available in config - Fix memory leak ## [1.3.2] - 2021-01-18 ### Fixed - Fix log info regarding Input references ([#63](https://github.com/grzegorz914/homebridge-xbox-tv/issues/63)) ## [1.3.1] - 2021-01-06 ### Fixed - Fix `getAppChannelLineups` data error. ## [1.3.0] - 2020-11-20 ### Fixed - Dependency bump ([#55](https://github.com/grzegorz914/homebridge-xbox-tv/issues/55)) ## [1.2.41] - 2020-11-20 ### Fixed - Fix slow response on RC control. ## [1.2.1] - 2020-09-18 ### Changes - Updated device category to `TV_SET_TOP_BOX` ([#47](https://github.com/grzegorz914/homebridge-xbox-tv/pull/47)) ## [1.2.0] - 2020-09-17 ### Changes - Fix send power on until successful ([#38](https://github.com/grzegorz914/homebridge-xbox-tv/issues/38)) - Fix remote control function ([#28](https://github.com/grzegorz914/homebridge-xbox-tv/issues/28)) - Add `refreshInterval` with a default of five seconds. - Updated config layout. ## [1.1.0] - 2020-09-06 ### Changes - Completely reconfigured layout of the configuration schema. ## [1.0.0] - 2020-06-28 ### Added - Release version. ## [0.9.0] - 2020-05-23 ### Added - Add possibility to select what a type of extra volume control you want to use. None, Slider, Fan. ## [0.8.21] - 2020-05-23 ### Changes - Output app reference to log when opening app ([#22](https://github.com/grzegorz914/homebridge-xbox-tv/issues/22), [#26](https://github.com/grzegorz914/homebridge-xbox-tv/issues/26)) - Used for discovering the value to use for `reference` when adding new inputs. ## [0.8.0] - 2020-05-20 ### Added - Add mute ON/OFF to the slider volume. ## [0.7.60] - 2020-05-18 ### Fixed - Fix bug in RC control. ## [0.7.35] - 2020-05-17 ### Added - Add read console configuration after Homebridge restart and save to `/homebridge_folder/xboxTv/` file. ## [0.7.2] - 2020-05-14 ### Added - Add descriptions in `config.schema.json`. ## [0.7.0] - 2020-05-14 ### Added - Revert back with defaults inputs. - Add input type to inputs. - Add other fixes in code to prevent app crash without configured inputs. ## [0.6.0] - 2020-05-14 ### Breaking Changes - Update your config.json: Add types to the inputs. ### Default Inputs ```json "inputs": [ { "name": "TV", "reference": "Microsoft.Xbox.LiveTV_8wekyb3d8bbwe!Microsoft.Xbox.LiveTV.Application", "type": "HDMI" }, { "name": "Dashboard", "reference": "Xbox.Dashboard_8wekyb3d8bbwe!Xbox.Dashboard.Application", "type": "HOME_SCREEN" }, { "name": "Settings", "reference": "Microsoft.Xbox.Settings_8wekyb3d8bbwe!Xbox.Settings.Application", "type": "OTHER" }, { "name": "Accessory", "reference": "Microsoft.XboxDevices_8wekyb3d8bbwe!App", "type": "OTHER" } ] ``` ## [0.5.0] - 2020-05-10 ### Changes - Code cleanup. - Miscellaneous fixes and performance improvements. ## [0.4.0] - 2020-05-06 ### Changes - Adapted to HAP-Node JS lib. ## [0.3.12] - 2020-05-05 ### Changes - Cleanup code. ### Breaking Changes - Update your config.json: replace `apps` with `inputs`. ## [0.3.12] - 2020-05-05 ### Changes - Fix and performance improvements. - Corrected logging state. ## [0.3.9] - 2020-05-05 ### Added - Add real time read and write data for lightbulb slider volume value. ## [0.2.3] - 2020-04-27 ### Added - Add switch ON/OFF volume control. ## [0.2.1] - 2020-04-27 ### Added - Add Siri volume control. - Add slider or Brightness volume control. ## [0.1.39] - 2020-04-21 - Different fixes. ## [0.1.12] - 2020-04-13 - Fix memory leak. ## [0.1.9] - 2020-04-07 - Fix store of position in HomeKit favorites. ## [0.1.6] - 2020-04-06 - Test 2. ## [0.1.5] - 2020-04-05 - Test 1. ## [0.1.2] - 2020-04-05 - Some improvements. ## [0.1.1] - 2020-04-05 - Update `README.md`. - Update `sample-config.json`. ## [0.1.0] - 2020-03-29 - Fix crash if no device name defined. - Fix `config.schema.json`. - Fix store file inside the Homebridge directory. ## [0.0.118] - 2020-03-29 - Small fixes. ## [0.0.115] - 2020-03-21 - Corrections for Homebridge git. - Performance improvements. ## [0.0.1] - 2020-02-05 - Initial release.