iControl (Xfinity Home) for Homebridge: https://github.com/nfarina/homebridge
npm install homebridge-icontrol-platformTo install:
npm install -g homebridge-icontrol-platform
To configure, add this to your homebridge config.json file:
"platforms": [
{
"platform": "iControl",
"name": "iControl Platform",
"system": "XFINITY_HOME",
"email": "email@email.com",
"password": "password_here",
"pin": "1234",
"path": "/OPTIONAL/your/absolute/path/persist,
"refresh_token": "refresh token that you got by using a proxy on your phone"
}
]
I am not sure how much time I will spend on finding other workarounds or ways forward... as the refresh tokens are very reliable once you have one. The trick is to have a SEPARATE account that Homebridge uses so that the refresh token will not be replaced when you log in to your app with that same account. If there is a need I can point out more helpful instructions for intercepting the tokens, and appologize there is not more that can be done at this time.
Once the refresh token has been used to log in, it can be removed from the config so the internally cached refresh token will be used.
I helped to update the iControl accessory plugin above, then was inspired to fully support the platform by supporting all peripherals.