Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control of Settop Box no longer possible since ca 10 January 2024 #112

Open
jsiegenthaler opened this issue Jan 13, 2024 · 77 comments
Open
Assignees
Labels
bug Something isn't working help wanted Extra attention is needed work-in-progress Currently working on this issue

Comments

@jsiegenthaler
Copy link
Owner

jsiegenthaler commented Jan 13, 2024

In Switzerland and the UK the settop box can no longer be controlled as of ca 10 Jan 2024

It looks like the MQTT session is no longer connecting

UPDATE 25 Jan 2024: Solved for many countries, please use the latest v2.3.0 (or greater).
Still working on the issue for GB

@jsiegenthaler jsiegenthaler added the bug Something isn't working label Jan 13, 2024
@jsiegenthaler jsiegenthaler self-assigned this Jan 13, 2024
@jsiegenthaler jsiegenthaler added the work-in-progress Currently working on this issue label Jan 13, 2024
@jsiegenthaler
Copy link
Owner Author

Working on it...

@jsiegenthaler
Copy link
Owner Author

Issue may also impact other countries, I need user feedback to find out

@Flatsphere
Copy link

Might be related - but I’m in the UK and also unable to connect and control set top box but logs indicate 401 error:

Failed to create session - Step 3 of 7:
Unable to login: 401 Unauthorized

I have checked credentials, they work. Account has no biometrics attached. Worked Dec last year (2023).

@Sholofly
Copy link

Hi @jsiegenthaler, Can you keep me up-to-date about your findings?

@jsiegenthaler
Copy link
Owner Author

@Sholofly fixed in v2.2.15-beta.2, MQTT endpoint changed for CH, not sure about other countries yet

@jsiegenthaler
Copy link
Owner Author

Fixed in v2.2.15, released 14.01.2024

@jsiegenthaler
Copy link
Owner Author

@Sholofly I'll send you an email.

@absreda
Copy link

absreda commented Jan 14, 2024

@jsiegenthaler Same issue in GB. v2.2.15 has not fixed this here. Let me know if you need any more details.

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Jan 14, 2024

Hi @absreda and @Flatsphere
I am working on a new version v2.3.0 and will release a beta today for testing. I would love to have some GB and IE users provide some test feedback. v2.3.0 contains adaptations that should fix the changed endpoints for all countries, but I need confirmation of the authentication sequence

@jsiegenthaler
Copy link
Owner Author

Hi @absreda and @Flatsphere
I just published 2.3.0-beta.1 with fixes for the endpoints. Please test. If the authentication fails, please send me a full debug log with eosstb plugin debugging enabled at level 9 (ensure
"debugLevel": 9 exists in the eosstb config).
Send the logs to me by email. My email is my github username with a b between j and s, at that well known email service starting with g

@Flatsphere
Copy link

@jsiegenthaler - no problem. I’ll be able to test in a couple of hours and will let you know. Many thanks.

@Flatsphere
Copy link

Flatsphere commented Jan 15, 2024

@jsiegenthaler - sorry for the delay. The latest beta has solved the connection issue, but not if I use Method C (GB), only Method A works.

Unfortunately I then get the following error:
[1/15/2024, 9:03:40 PM] [Virgin Media] refreshMasterChannelList: Master channel list refreshed with 421 channels, val id until 1/15/2024, 9:33:40 PM [1/15/2024, 9:03:40 PM] [Virgin Media] Discovering devices... [1/15/2024, 9:03:40 PM] [Virgin Media] Failed to discover devices - No devices found. The backend systems may be down , or you have no supported devices on y our customer account [1/15/2024, 9:03:40 PM] [Virgin Media] sessionWatchdog (1): Exiting sessionWatchdog

@jsiegenthaler
Copy link
Owner Author

@Flatsphere that's great news! Can you send me the log showing the connection occurring? I'd like to see it with full debugging turned on, as @absreda cannot connect.
Send the logs to me by email. My email is my github username with a b between j and s, at that well known email service starting with g

@Flatsphere
Copy link

@jsiegenthaler - will do. I might not be able to email the log tonight, but will send them asap,

@Sholofly
Copy link

@jsiegenthaler Where do i find the changed code? Don't see it in your repo...

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Jan 15, 2024

@Sholofly Sorry, I didn't publish the branch. Here it is:
https://github.com/jsiegenthaler/homebridge-eosstb/tree/Add-auto-endpoint-detection

@Flatsphere
Copy link

@jsiegenthaler - I have emailed you the logs. Let me know if there is anything else I can do to help.

@Sholofly
Copy link

Thanks @jsiegenthaler !

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Jan 16, 2024

To all watching and reading this: the change to the GB logon sequence (and maybe also other countries...) is a change to using OAuth 2.0 with PKCE (Pixie) using a code challenge method of S256. This is an authentication method that I am not familiar with. I thus at the bottom of a very steep learning curve and really need the help of volunteers. If you have experience with use of OAuth and OAuth 2.0 - in any programming language - and are able to help, please get in touch via email. Read the comments above for my email address.

@jsiegenthaler
Copy link
Owner Author

Hi All. 2.3.0-beta.3 has been published. Please try new Auth Method D with your valid credentials. Turn off the watchdog to prevent the watchdog from trying to restart the session and thus flooding the logs. Send me the logs by email - for logon fail and success please, remember to remove your real password.

@wojtul2323
Copy link

Hi! For PL it also stopped working. The device is discovered correctly, but sending power key doesn’t turn on set-top box.

@jsiegenthaler
Copy link
Owner Author

@wojtul2323 hi. I guess that means it did work in PL. I'll put PL in the confirmed list :)
Have you tried the latest beta version? If it doesn't work, please send me logs with max debugging enabled

@wojtul2323
Copy link

Beta version works lile a charm :)

@jsiegenthaler
Copy link
Owner Author

@wojtul2323 Good to hear. I'll prepare a release version shortly for all users

@Thornton69
Copy link

Thornton69 commented Jan 18, 2024

I am following this thread as I am struggling to get it working. I have tried all of the above. I just keep getting the following…

Failed to create session - Step 4 of 7: Unable to oauth authorize: 404 Not Found

Any advice would be appreciated.

@jsiegenthaler
Copy link
Owner Author

Hi @Thornton69 Can you tell me which country you are in?

@jsiegenthaler
Copy link
Owner Author

Progress report:
GB: none yet (delayed due to illness).
CH (and all other countries): yesterday I fixed the issue with the mqtt client connection that stopped working 2 days ago. Fixed in v2.3.0-beta.7.

@robcarey-uk
Copy link

robcarey-uk commented Jan 25, 2024

@jsiegenthaler I'm also in the UK and really appreciate all your hard work with creating this plugin, and agree with @Thornton69 it really is one of the best. If you require any logs or info to help with the UK problem please let me know.

@jsiegenthaler
Copy link
Owner Author

Hi All, v2.3.0 published to solve logon issues for many countries. GB is still being worked on.

@jsiegenthaler
Copy link
Owner Author

Sure, I'm orenpo

Invite sent

@jsiegenthaler
Copy link
Owner Author

@OrenPo: I sent you some comments on Discord but did not get any response.

@Thornton69
Copy link

Thornton69 commented Feb 8, 2024

Any progress on the GB login credentials yet? Many thanks

@jsiegenthaler
Copy link
Owner Author

@Thornton69 Not much apart from me having learnt a bit about PKCE and OpenId and SSO. I'd dearly love some help from someone with experience in OpenId...

This was referenced Feb 11, 2024
@OrenPo
Copy link

OrenPo commented Feb 26, 2024

Not sure if it is possible here, but if we can pop up a browser, it can be used for passing the first part of the authentication, and get back the needed tokens.

@MartiMan79
Copy link

Same issue with Belgian Telenet.

[27/02/2024, 13:39:21] [EOSSTB] sessionWatchdog(9): Started watchdog instance 9
[27/02/2024, 13:39:21] [EOSSTB] sessionWatchdog(9): Session connected but mqtt not connected, sessionWatchdog(9) will try to reconnect mqtt now...

@jsiegenthaler
Copy link
Owner Author

Not sure if it is possible here, but if we can pop up a browser, it can be used for passing the first part of the authentication, and get back the needed tokens.

You would have to do that every time you restart Homebridge or every time the MQTT connection is lost for any reason. However it is still an interesting thought.

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Feb 27, 2024

Not sure if it is possible here, but if we can pop up a browser, it can be used for passing the first part of the authentication, and get back the needed tokens.

I respectfully suggest trying this yourself - you will see how complex it is. The logon process is not simple and straight-forward. It's more than just a single cookie or token

@nickngsr
Copy link

nickngsr commented Feb 29, 2024

It's painful now Virgin media have switched to Ping Identity and use Ping One Protect (browser profiling). Might be worthwhile having a look at the android app, see if there's something helpful in there.

@jimbo-l
Copy link

jimbo-l commented Feb 29, 2024

As a fallback, is there anything that can be done with local network access only (e.g. power the box on and off), or does everything require authentication / network access?

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Feb 29, 2024

It's painful now Virgin media have switched to Ping Identity and use Ping One Protect (browser profiling). Might be worthwhile having a look at the android app, see if there's something helpful in there.

Indeed. Very painful. Unfortunately I do not have any Android devices. But if you do, and you can help, I would welcome the help.

@jsiegenthaler
Copy link
Owner Author

As a fallback, is there anything that can be done with local network access only (e.g. power the box on and off), or does everything require authentication / network access?

There's nothing to stop you powering the box down with a smart plug.
The physical remote control communicates via wireless signal (maybe Bluetooth) to the box. I cannot intercept or emulate the wireless signals.

This is why I was using network control of the box via the backend servers, and the network control requires authentication.

@jimbo-l
Copy link

jimbo-l commented Feb 29, 2024

There's nothing to stop you powering the box down with a smart plug. The physical remote control communicates via wireless signal (maybe Bluetooth) to the box. I cannot intercept or emulate the wireless signals.

This is why I was using network control of the box via the backend servers, and the network control requires authentication.

Yep, I think the remote uses bluetooth. I just wondered if the box itself also ran a web server which allowed you to perform certain commands à la Sky Q. I guess not though.

@nickngsr
Copy link

nickngsr commented Feb 29, 2024

Worst case scenario is to use IR, there are IR codes out there for the 'Ziggo mediabox next' that work with the VM 360 box, just the info and control available via the MQTT connection for integrations is quite appealing

@Rkokie
Copy link

Rkokie commented Feb 29, 2024

Worst case scenario is to use IR, there are IR codes out there for the 'Ziggo mediabox next' that work with the VM 360 box, just the info and control available via the MQTT connection for integrations is quite appealing

Too bad the newer mini boxes don't have IR :')

@nickngsr
Copy link

Worst case scenario is to use IR, there are IR codes out there for the 'Ziggo mediabox next' that work with the VM 360 box, just the info and control available via the MQTT connection for integrations is quite appealing

Too bad the newer mini boxes don't have IR :')

That's frustrating!

@jsiegenthaler
Copy link
Owner Author

Yep, I think the remote uses bluetooth. I just wondered if the box itself also ran a web server which allowed you to perform certain commands à la Sky Q. I guess not though.

Honestly, I do not know. I've never seen any info on this functionality.

@jsiegenthaler
Copy link
Owner Author

Hi All, I made good progress tonight and the results look positive. Keep watching...

@Sholofly
Copy link

Any updates? Need help?

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Mar 31, 2024 via email

@realmuster
Copy link

For me the login works (CH: Sunrise TV / Authentication Method A) but whenever it starts, it is not able to find any devices. When logging in to sunrisetv, I can see the device.

What I saw in the logs in homebridge: getPersonalizationData: GET https://spark-prod-ch.gnp.cloud.sunrisetv.ch/eng/web/personalization-service/v1/customer/anonymous?with=profiles%2Cdevices

But the customer should not be anonymous. As I was able to see with the web-inspector, the url is correct, but the customerId is the correct one (not anonymous). I guess there is the issue. Where does that "anonymous" come from? Was the login not successful at all?

@jsiegenthaler
Copy link
Owner Author

jsiegenthaler commented Apr 6, 2024

Hi @realmuster: the fact that it shows your customer as anonymous shows it did not work. The login was rejected and it defaulted to anonymous. Without a proper customer number, it cannot know who you are, what boxes you have and what channels you subscribe to. Thus control of the box is not possible. If you have experience working with oauth2.0 and are willing to help, please get in touch! This project is not dead yet, it is just stuck....

@diskobbbox
Copy link

Great to see the plugin working again in BE! Succes getting other countries to work! Thx!!!

@jsiegenthaler jsiegenthaler added the help wanted Extra attention is needed label Oct 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed work-in-progress Currently working on this issue
Projects
None yet
Development

No branches or pull requests