Xbox One / Smartglass Integration

You don’t need hass.io to use it, you can follow the instruction at github to set it up on other install methods as well :). It is a custom component with a requirement to run the server, addon just makes it easy. I think it should make its way into HA soon as a component, I hope lol.

The end goal is to have the component be a part of HA proper. It’s still in early stages of development. Will be releasing a new version of the custom component and server soon. Here’s a little preview of what to expect though.

4 Likes

Got this working on my Windows machine running HA and it works great.

I notice that there are delays (~5 seconds) when calling things (opening apps/pausing/playing etc).
When checking the rest server logs it is constantly sending/receiving ack messages on the ServiceChannel and about every 10 seconds is getting a Json message of all button options. Is this common behaviour?

Yes, the server is very chatty at the moment as we are debugging and ensuring everything is working correctly. We will probably reduce the default log level as the platform becomes more stable.

1 Like

For some odd reason mine is not working. I installed the add-on(nice job by the way, was waiting for this), went to port 5557 and then authenticated to xbox live just like it says in the instructions. But after turning on the xbox, getting the deviceID(LiveID) and creating the media_player command line with the information I got it does not find the xbox. Here’s how I put it. Since I have 2 tvs already setup in the media_player section I skipped and just put this(it’s correct in the configuration I just don’t want to post the whole thing if not necessary):

  • platform: xboxone
    device: myliveID
    name: XboxOne

After checking for errors by verifying the configuration I had no errors. So I restarted the PI by sending a service command and there was the xbox media icon with the turn on button. But the thing is my xbox was on and the icon didn’t see it. I tried to turn on my xbox by clicking on the button and also nothing. Any help? I’m using the 0.76.2 version of hassio.

hello! I successfully installed xbox-rest-server in a python3-venv. It is running and I was able to login to my account through it… But what do I do next to integrate with Home Assistant? I am not running HA in a Docker, or rather, I am not running Hass.io so I was not able to just install the Add-on. Please let me know what to do next lol.

Also I wrote up all the commands to install in the venv if anyone is curious

For install on Ubuntu 18.04 / Linux Mint 19


# First you should always make sure your system is up to date

sudo apt-get update
sudo apt-get upgrade



# If you haven't installed python3-venv run this command, if you have skip to next step

sudo apt install python3-pip python3-venv



# Create your virtual environment (you can name this whatever you like):

python3 -m venv smartglassrest



# Navigate to your venv directory 

cd smartglassrest



# Activate your Virtual environment

source/bin activate



#Install the Server:

python3 -m pip install wheel
python3 -m pip install xbox-smartglass-rest



# Start the server:

xbox-rest-server

I posted this in the discord but i figured i would say it here as well…

THANK YOU ALL! I have been looking for a way to control my xbox with HA and the only method I have found so far has required an external connection and a subscription for the good stuff. I stumbled on this a few hours ago and well… here we are. Special thanks to you tux for jumping on and showing me the way. Many thanks! can’t wait to see how the team adds to this and see it develop. Fingers crossed you guys get that full integration to HA I read you are hoping for.

Hi Chris. I’m having the same issue as you (no HASSIO and no idea how to install this plugin in Home Assistant) and wonder how exactly you installed it.

hey all just an FYI but i noticed latest version of xbox rest server is not sending media status for blu ray player or netflix, i had rolled it back to 0.9.3 and had also rolled back to the initial commit from @hunterjm repo in case anyone is wondering what happened to the media status for those 2 apps. Personally I use it for those 2 apps mainly so that was why i rolled back

The status issue is actually one on the Xbox itself, not with the component or server. A hard restart of your Xbox should fix it.

If you have the issue and look in the smart glass app, you will see that it does not receive the status properly either.

Interesting I was doing a hard restart earlier today and it was not working or pulling in any status, just the app. The moment I downgraded to 0.9.3 it was sending the media status properly. I even tried to unplug the xbox for 30 seconds and it was not giving me the status under 0.9.5

Hi,

Been waiting for something like this for ages.
Can someone please provide instruction how to install in HA - I don’t have Hassio.

Thanks
RE

@rebelelephant
Check out https://github.com/tuxuser/hassio-addons/blob/readme/manual_install/xboxone/README.md

I have this installed and it seems to be working great except for one thing. In my available sources (apps) I see things like Home and TV, but I don’t see Netflix or Plex. Is this expected or is there something I have to do to get them to show?

Thanks @tuxuser, managed to get it installed. Still having an issue with it autostarting - more work needed on that bit from me. For now, i am just manually starting it.

I am able to get the device ID for my XBox one, added that to my configuration.yaml file but nothing shows up in HA.

Anything else I should be aware of to make it work?

Did you add the custom component file to your home assistant custom_components directory?

You have to authenticate, and once you do, any app or game you save to your “Pins” will appear as a source. Make sure to add it to your “Pins” group: https://support.xbox.com/en-US/xbox-one/console/group-games-apps

Thanks for the reply. I am authenticated and have the apps in my “Pins” group but still don’t see them. I will have to take a close look and see if I can figure it out.

Here are the error messages I am seeing:
127.0.0.1 - - [2018-10-03 17:37:01] “GET /device/FD009FBDE2DEF712/ir HTTP/1.1” 200 7885 0.072394
127.0.0.1 - - [2018-10-03 17:37:01] “GET /auth HTTP/1.1” 200 5702 0.000751
[2018-10-03 17:37:01,884] DEBUG in connectionpool: https://eplists.xboxlive.com:443 “GET /users/xuid($$$$$$$$)/lists/PINS/XBLPins HTTP/1.1” 401 0
[2018-10-03 17:37:01,885] ERROR in app: {‘success’: False, ‘message’: ‘Download of pins failed, error: Expecting value: line 1 column 1 (char 0)’}
127.0.0.1 - - [2018-10-03 17:37:01] “GET /web/pins HTTP/1.1” 500 232 0.107554
127.0.0.1 - - [2018-10-03 17:37:01] “GET /auth HTTP/1.1” 200 5702 0.000743

Edit: I replaced my xuid in the message above.

Update: After restarting the xbox-rest-server it seems to have resolved the problem.

Yeah, there is a known bug where the pins API call doesn’t use the refreshed access tokens. I’m preparing an update that should fix this. Until then, restarting the addon should work.