• 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 140
Release NHL TV™
As of last night, this addon has stopped working with playing past full games or new live games on my PC (Windows 10 x64, Kodi 16.0 RC3). Now I get "Sign-on restriction: too many usage attempts." Occasionally, Kodi will report that it cannot download the session key. I did not change anything in the addon (e.g. login / pass), which worked previously.

Other strange behavior that I noted is when running Kodi in windowed mode and using the addon, I see Kodi freezing periodically (can see "(Not Responding)" in the title bar) as I mouse-over the game list or am in dialog boxes. I also see the Kodi icon disappearing and reappearing on my Windows task bar sometimes. This just happens when using this addon.

I can play the past full streams and live games (but poorly, not 60fps!) through www.nhl.tv (using IE or Chrome), as well as through my iPad Air 2 (the iPad works the best). No error messages on either of these...

I sincerely hope that these issues can be fixed - I enjoyed using the addon ... while it worked! I appreciate the work on this addon!
Reply
I'm getting a 400: Bad Request error when attempting the login for my account while using unblock-us dns settings. It works perfect without it. I have no problem with this working in my browser with unblock-us.

Curiously, it seems to be failing before attempting the actual login. It's failing on the "#Get Token" portion or the login process. Relevant logs here.

My settings.xml is as follow (without username/password of course):

Code:
<settings>
    <setting id="fav_team" value="Los Angeles" />
    <setting id="media_auth" value="" />
    <setting id="no_spoilers" value="3" />
    <setting id="quality" value="HD (5000 kbps)" />
    <setting id="rogers" value="false" />
    <setting id="session_key" value="" />
    <setting id="stream_date" value="2016-02-11" />
    <setting id="team_names" value="3" />
    <setting id="time_format" value="0" />
</settings>



On a side not, I might have found a source of the "too many logins" error you're seeing.
Code:
def getAuthCookie():
    authorization = ''    
    login()
    try:
        cj = cookielib.LWPCookieJar(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'))    
        cj.load(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'),ignore_discard=True)    

        #If authorization cookie is missing or stale, perform login    
        for cookie in cj:            
            if cookie.name == "Authorization" and not cookie.is_expired():            
                authorization = cookie.value
    except:
        pass

    return authorization
The second line there that's always attempting a login before returning a value doesn't seem right. You might try something more like this.
Code:
def getAuthCookie(login_tried=False):
    try:
        cj = cookielib.LWPCookieJar(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'))    
        cj.load(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'),ignore_discard=True)    

        #If authorization cookie is missing or stale, perform login    
        for cookie in cj:            
            if cookie.name == "Authorization":
                if cookie.is_expired():            
                    if not login_tried:
                        login()
                        return getAuthCookie(True)
                else:
                    print cookie.value
                    return cookie.value
    except:
        pass

    if not login_tried:
        login()
        return getAuthCookie(True)

    return None

That code "works" I think, I didn't do much testing, but perhaps there was a reason you had it written the way you did.


Thanks for all your hard work and if there's anything else I can do to help you solve this problem, let me know.
Reply
(2016-02-12, 22:27)seanseymour Wrote: ...

The second line there that's always attempting a login before returning a value doesn't seem right. You might try something more like this.

Code:
def getAuthCookie(login_tried=False):
    try:
        cj = cookielib.LWPCookieJar(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'))    
        cj.load(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'),ignore_discard=True)    

        #If authorization cookie is missing or stale, perform login    
        for cookie in cj:            
            if cookie.name == "Authorization":
                if cookie.is_expired():            
                    if not login_tried:
                        login()
                        return getAuthCookie(True)
                else:
                    return cookie.value
    except:
        pass

    if not authorization and not login_tired:
        login()
        return getAuthCookie(True)

    return None

That code "works" I think, I didn't do much testing, but perhaps there was a reason you had it written the way you did.


Thanks for all your hard work and if there's anything else I can do to help you solve this problem, let me know.


seanseymour: Looks like you may have a typo in your code near the bottom: "login_tired" -- which should presumably be "login_tried".

Thanks for contributing the new code... hope it works!
Reply
(2016-02-12, 22:40)ilikesushi Wrote:
(2016-02-12, 22:27)seanseymour Wrote: ...

The second line there that's always attempting a login before returning a value doesn't seem right. You might try something more like this.

Code:
def getAuthCookie(login_tried=False):
    try:
        cj = cookielib.LWPCookieJar(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'))    
        cj.load(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'),ignore_discard=True)    

        #If authorization cookie is missing or stale, perform login    
        for cookie in cj:            
            if cookie.name == "Authorization":
                if cookie.is_expired():            
                    if not login_tried:
                        login()
                        return getAuthCookie(True)
                else:
                    return cookie.value
    except:
        pass

    if not authorization and not login_tired:
        login()
        return getAuthCookie(True)

    return None

That code "works" I think, I didn't do much testing, but perhaps there was a reason you had it written the way you did.


Thanks for all your hard work and if there's anything else I can do to help you solve this problem, let me know.


seanseymour: Looks like you may have a typo in your code near the bottom: "login_tired" -- which should presumably be "login_tried".

Thanks for contributing the new code... hope it works!

Indeed I did... Good lookin' out.
Reply
Hi, guys. I apologize English is my second language. I set up this addon on my laptop (win7). It works very well for me. I’ve got a STB "Openbox Prismcube Ruby". I’ve tried to set up on it, but I couldn’t do it. Every time I get a message “Dependencies not met. Please contact addon autor”. Can you help me fix this issue. With best regards!
Reply
(2016-02-13, 01:10)maxmaraman Wrote: Hi, guys. I apologize English is my second language. I set up this addon on my laptop (win7). It works very well for me. I’ve got a STB "Openbox Prismcube Ruby". I’ve tried to set up on it, but I couldn’t do it. Every time I get a message “Dependencies not met. Please contact addon autor”. Can you help me fix this issue. With best regards!

What version of Kodi are you using? The add-on won't work on Gotham (13.x), you need Helix (14.x) or higher. If that's not your issue, try posting a log (wiki) to get more help.
Kodi Matrix on Dell Optiplex 980 Lubuntu 22.04 | Kodi Matrix on HTPC Lubuntu 20.04 | My Add-ons | Legacy Repo | Matrix Repo
>>>>> Newest MetalChris Addons: Local Now | Redbox | NEWSnet| NHL Radio | Weather Unlocked
Reply
Hi all,

I can't start any live games with the addon. Windows 10, Kodi Jarvis Rc 3, latest version of the addon

heres my log. http://xbmclogs.com/pmneexpfp

I would really love some help with this as the quality of the streams are not very good on the Xbox One.
Reply
(2016-02-12, 22:40)ilikesushi Wrote:
(2016-02-12, 22:27)seanseymour Wrote: ...

The second line there that's always attempting a login before returning a value doesn't seem right. You might try something more like this.

Code:
def getAuthCookie(login_tried=False):
    try:
        cj = cookielib.LWPCookieJar(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'))    
        cj.load(os.path.join(ADDON_PATH_PROFILE, 'cookies.lwp'),ignore_discard=True)    

        #If authorization cookie is missing or stale, perform login    
        for cookie in cj:            
            if cookie.name == "Authorization":
                if cookie.is_expired():            
                    if not login_tried:
                        login()
                        return getAuthCookie(True)
                else:
                    return cookie.value
    except:
        pass

    if not authorization and not login_tired:
        login()
        return getAuthCookie(True)

    return None

That code "works" I think, I didn't do much testing, but perhaps there was a reason you had it written the way you did.


Thanks for all your hard work and if there's anything else I can do to help you solve this problem, let me know.


seanseymour: Looks like you may have a typo in your code near the bottom: "login_tired" -- which should presumably be "login_tried".

Thanks for contributing the new code... hope it works!

This was new in 2016.2.11 to attempt to keep "things fresh". 2016.2.9 didn't do this but they both suffer from the usage errors.
Reply
(2016-02-11, 22:00)WHamilton Wrote:
(2016-02-11, 19:21)eracknaphobia Wrote: Update 2016.2.11 Released

- Added No spoilers setting for live games only

I think this should be the other side.

"Spoilers only for live Games" makes senses and is a good Feature.

I see which games are tight and select the Game.

have you read my objection ?



Today i ve watched on kodi (linux native) since 7 pm eastern.

7 pm LA Kings @ NY Rangers (1/3)
7:40 pm St.Louis @ Florida (1/3)
8:10 pm LA Kings @ NY Rangers (2/3)
8:40 pm St.Louis @ Florida (2/3)
9:05 pm Montreal @ Buffalo (3/3)
9:25 pm LA Kings @ NY Rangers (OT)
9:35 pm Colorado @ Detroit (3/3)

without any error "too many usage attemps" until now 9:55 pm.
Reply
RE: the "too many usage attempts" error - could it be that the PC user agent string is being limited by NHL.TV? I seem to recall that this was a problem before (looking at some older Reddit NHL Streams posts...)

As an experiment, I replaced the "UA_PC" string with an iOS user agent string:

"AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; en_us)"

in the main.py script, and now I no longer get the "too many usage attempts" error. (Global search/replace)

Have only tested this with full replay games, not live games yet...
Reply
Does anyone know what's wrong ?

New log file with the .11 version here. I had no roger subrcribtion activated. Hope the new log helps

Http://xbmclogs.com/pdlgaijgj
Reply
ilikesushi - changing the UA string didn't seem to do anything for me this morning.

What I did:

1) Completely uninstalled everything and deleted directory in userdata/addon_data
2) Installed latest build from the repo 2016.2.11
3) Entered my credentials for my Rogers account
4) Played a recap from yesterday - New York and LA I think it was - looked amazing BTW
5) Tried to play the full game
6) Received the following error:

Sign On Restriction - Too Many Usage Attempts

7) Editted main.py and replace UA_PC with "AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; en_us)" - note no quotes around the UA_PC
8) Rebooted
9) Tried full game Carolina vs Pittsburgh - same error Sign On Restriction - Too Many Usage Attempts

Looking at the log files it appears to be sending the playstation 4 UA way for some reason:
09:39:05 T:1924187184 DEBUG: CFileCache::Open - opening <|User-Agent=PS4Application libhttp/1.000 (PS4) libhttp/3.15 (PlayStation 4).....

I went back in and changed UA_PS4 to the same user agent above and still got the Sign On Restriction error trying to start a game from yesterday.

Log here: http://xbmclogs.com/p3cfnemkv

This is on a Pivos XS running TOFULinux - which is basically Kodi 15.2. Everything ran fine before the MLB migration.

Thanks for your efforts Devs & Troubleshooters!
Reply
(2016-02-13, 13:56)cruisecruise Wrote: Does anyone know what's wrong ?

New log file with the .11 version here. I had no roger subrcribtion activated. Hope the new log helps

Http://xbmclogs.com/pdlgaijgj

Still not sure why you are getting http error 400. If you use a dns proxy or vpn services disable them and try starting a stream.

I added some debug code to the next version that should help me understand what's going on.

(2016-02-13, 16:48)thermo Wrote: ilikesushi - changing the UA string didn't seem to do anything for me this morning.

What I did:

1) Completely uninstalled everything and deleted directory in userdata/addon_data
2) Installed latest build from the repo 2016.2.11
3) Entered my credentials for my Rogers account
4) Played a recap from yesterday - New York and LA I think it was - looked amazing BTW
5) Tried to play the full game
6) Received the following error:

Sign On Restriction - Too Many Usage Attempts

7) Editted main.py and replace UA_PC with "AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; en_us)" - note no quotes around the UA_PC
8) Rebooted
9) Tried full game Carolina vs Pittsburgh - same error Sign On Restriction - Too Many Usage Attempts

Looking at the log files it appears to be sending the playstation 4 UA way for some reason:
09:39:05 T:1924187184 DEBUG: CFileCache::Open - opening <|User-Agent=PS4Application libhttp/1.000 (PS4) libhttp/3.15 (PlayStation 4).....

I went back in and changed UA_PS4 to the same user agent above and still got the Sign On Restriction error trying to start a game from yesterday.

Log here: http://xbmclogs.com/p3cfnemkv

This is on a Pivos XS running TOFULinux - which is basically Kodi 15.2. Everything ran fine before the MLB migration.

Thanks for your efforts Devs & Troubleshooters!

I did a bunch more testing last night. It seems the session key is what is causing the issue. The session key also seems to only change every 24 hours or so. Basically, if you request a new session key too many times in a short period of time the error is tripped. Also, if you put an improper session key in the request it will count as a new session key request.
So what gives? I've got a valid key why is the request treating it like it's not valid? That's when I noticed the session key wasn't being url encoded. So what that means is if the session key had a special character (ie. '+') in it, it was being sent incorrectly and the nhl tv servers counted it as a new session key request. This would explain why some people like my self would be able to stream fine and others couldn't. If you were a lucky one who got a session key without any special characters everything would run fine, if not you probably ran into too many usage attempts pretty quickly. It wasn't until my session key was updated to one that contained a special character last night that I began to realize what was happening.

I still need to do some more testing with the next release, but I pretty confident that it will squash this bug. However, keep in mind you can still trip this error if you login to your account multiple times with in a short period. That means if you login via the browser, official apps, or other kodi apps these all count towards the sign-on restriction. In fact I was able to trip the error by running the logout 4 times in a row with my addon alone. However, there should be no reason to do this I was just doing it for testing purposes and once you login your cookies are valid for 6 hours which is plenty of time for the sign-on counter to reset before a new login is needed. Also, most the official apps hold on to there cookies for long periods of time, that is why people are able to stream videos on there game consoles while the addon is throwing errors. The addon is attempting a new login (including a new session key request) while the official app is still running on valid cookies, if you were to logout of the official app and attempt a log in it would throw an error.

I'll update my repo and post and update message once I am satisfied with my preliminary testing.

(2016-02-13, 04:56)WHamilton Wrote:
(2016-02-11, 22:00)WHamilton Wrote:
(2016-02-11, 19:21)eracknaphobia Wrote: Update 2016.2.11 Released

- Added No spoilers setting for live games only

I think this should be the other side.

"Spoilers only for live Games" makes senses and is a good Feature.

I see which games are tight and select the Game.

have you read my objection ?



Today i ve watched on kodi (linux native) since 7 pm eastern.

7 pm LA Kings @ NY Rangers (1/3)
7:40 pm St.Louis @ Florida (1/3)
8:10 pm LA Kings @ NY Rangers (2/3)
8:40 pm St.Louis @ Florida (2/3)
9:05 pm Montreal @ Buffalo (3/3)
9:25 pm LA Kings @ NY Rangers (OT)
9:35 pm Colorado @ Detroit (3/3)

without any error "too many usage attemps" until now 9:55 pm.

Yes, I will add a "Only for archive games" selection for the no spoilers setting.

I'm almost positive this is a result of your session key rolling to a new one that contained special characters. I would imagine this probably happened around the 9:25 request and allowed you to load streams until the sign-on restriction was tripped. This should be fixed in the next version.
Reply
(2016-02-13, 16:48)thermo Wrote: ilikesushi - changing the UA string didn't seem to do anything for me this morning.

What I did:

1) Completely uninstalled everything and deleted directory in userdata/addon_data
2) Installed latest build from the repo 2016.2.11
3) Entered my credentials for my Rogers account
4) Played a recap from yesterday - New York and LA I think it was - looked amazing BTW
5) Tried to play the full game
6) Received the following error:

Sign On Restriction - Too Many Usage Attempts

7) Editted main.py and replace UA_PC with "AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; en_us)" - note no quotes around the UA_PC
8) Rebooted
9) Tried full game Carolina vs Pittsburgh - same error Sign On Restriction - Too Many Usage Attempts

Looking at the log files it appears to be sending the playstation 4 UA way for some reason:
09:39:05 T:1924187184 DEBUG: CFileCache::Open - opening <|User-Agent=PS4Application libhttp/1.000 (PS4) libhttp/3.15 (PlayStation 4).....

I went back in and changed UA_PS4 to the same user agent above and still got the Sign On Restriction error trying to start a game from yesterday.

Log here: http://xbmclogs.com/p3cfnemkv

This is on a Pivos XS running TOFULinux - which is basically Kodi 15.2. Everything ran fine before the MLB migration.

Thanks for your efforts Devs & Troubleshooters!


This add-on does not work on Pivos Tofu Linux. There is something in the Tofu Linux firmware that causes live games not to play.
Reply
Hello, yes I have unblock-us on my router.
Do you think it will be possible to get the add on working with that?
Perhaps with an new update ? Thank you

(2016-02-13, 18:32)eracknaphobia Wrote: [quote='cruisecruise' pid='2244401' dateline='1455364619']
Does anyone know what's wrong ?

New log file with the .11 version here. I had no roger subrcribtion activated. Hope the new log helps

Http://xbmclogs.com/pdlgaijgj

Still not sure why you are getting http error 400. If you use a dns proxy or vpn services disable them and try starting a stream.

I added some debug code to the next version that should help me understand what's going on.

(2016-02-13, 16:48)thermo Wrote: ilikesushi - changing the UA string didn't seem to do anything for me this morning.

What I did:

1) Completely uninstalled everything and deleted directory in userdata/addon_data
2) Installed latest build from the repo 2016.2.11
3) Entered my credentials for my Rogers account
4) Played a recap from yesterday - New York and LA I think it was - looked amazing BTW
5) Tried to play the full game
6) Received the following error:

Sign On Restriction - Too Many Usage Attempts

7) Editted main.py and replace UA_PC with "AppleCoreMedia/1.0.0.8C148 (iPad; U; CPU OS 4_2_1 like Mac OS X; en_us)" - note no quotes around the UA_PC
8) Rebooted
9) Tried full game Carolina vs Pittsburgh - same error Sign On Restriction - Too Many Usage Attempts

Looking at the log files it appears to be sending the playstation 4 UA way for some reason:
09:39:05 T:1924187184 DEBUG: CFileCache::Open - opening <|User-Agent=PS4Application libhttp/1.000 (PS4) libhttp/3.15 (PlayStation 4).....

I went back in and changed UA_PS4 to the same user agent above and still got the Sign On Restriction error trying to start a game from yesterday.

Log here: http://xbmclogs.com/p3cfnemkv

This is on a Pivos XS running TOFULinux - which is basically Kodi 15.2. Everything ran fine before the MLB migration.

Thanks for your efforts Devs & Troubleshooters!
Reply
  • 1
  • 25
  • 26
  • 27(current)
  • 28
  • 29
  • 140

Logout Mark Read Team Forum Stats Members Help
NHL TV™8