Core: Updater Dont Work

Created on 7 Nov 2018  Â·  38Comments  Â·  Source: home-assistant/core

Home Assistant release with the issue:
0.81.1

Last working Home Assistant release (if known):
0.50

Operating environment (Hass.io/Docker/Windows/etc.):
HassBian

Component/platform:
https://www.home-assistant.io/components/updater

Description of problem:
The updater component dont get updates.

If you try to make CURL with these parameters

curl -l -X POST -H "Content-Type: application/json"  -d '{"test" : "123"}' https://updater.home-assistant.io/ -v 

the output is

Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 143.204.181.70...
* TCP_NODELAY set
* Connected to updater.home-assistant.io (143.204.181.70) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=home-assistant.io
*  start date: Mar 31 00:00:00 2018 GMT
*  expire date: Apr 30 12:00:00 2019 GMT
*  subjectAltName: host "updater.home-assistant.io" matched cert's "*.home-assistant.io"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x137de48)
> POST / HTTP/1.1
> Host: updater.home-assistant.io
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 16
>
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
* We are completely uploaded and fine
< HTTP/2 200
< content-type: application/json
< content-length: 90
< date: Wed, 07 Nov 2018 14:15:58 GMT
< x-amzn-requestid: a5e5f412-e297-11e8-a9ae-bd40af2660b2
< x-amz-apigw-id: P_sAyE7EPHcFkbQ=
< x-amzn-trace-id: Root=1-5be2f39e-eb6910446bebc492685bc27c;Sampled=0
< x-cache: Miss from cloudfront
< via: 1.1 967425266468bd56bf14d0a928942c04.cloudfront.net (CloudFront)
< x-amz-cf-id: _6lVWQ1MLlyTesRcsVNuYMMRxATMsSolgk2L1mOurMOYOU8logaMyA==
<
* Curl_http_done: called premature == 0
* Connection #0 to host updater.home-assistant.io left intact

{"version":"0.81.6","release-notes":"https://www.home-assistant.io/latest-release-notes/"}l

_Correct, I think._

If send curl with this parameters

curl -l -X POST -H "Content-Type: application/json"  -d '{"huuid": "489a44ab96dc40cd8632bd64ad23d5f2", "hassio": False, "os_name": "Linux", "virtualenv": False, "python_version": "3.5.3", "timezone": "Europe/Lisbon", "arch": "armv7l", "dev": False, "os_version": "9", "version": "0.81.1", "docker": False, "distribution": "raspbian"}' https://updater.home-assistant.io/ -v 

the output is

Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 143.204.181.13...
* TCP_NODELAY set
* Connected to updater.home-assistant.io (143.204.181.13) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=home-assistant.io
*  start date: Mar 31 00:00:00 2018 GMT
*  expire date: Apr 30 12:00:00 2019 GMT
*  subjectAltName: host "updater.home-assistant.io" matched cert's "*.home-assistant.io"
*  issuer: C=US; O=Amazon; OU=Server CA 1B; CN=Amazon
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x1fc5e48)
> POST / HTTP/1.1
> Host: updater.home-assistant.io
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Type: application/json
> Content-Length: 276
>
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
* We are completely uploaded and fine
< HTTP/2 200
< content-type: application/json
< content-length: 4
< date: Wed, 07 Nov 2018 14:18:00 GMT
< x-amzn-requestid: ee80139b-e297-11e8-a9fa-85266ae6c5a4
< x-amz-apigw-id: P_sT0GhfPHcF-Mw=
< x-amzn-trace-id: Root=1-5be2f418-89b151206498b7e8726feb38;Sampled=0
< x-cache: Miss from cloudfront
< via: 1.1 089ee28df029aa2f4878a528c124aaf9.cloudfront.net (CloudFront)
< x-amz-cf-id: g1VK6XXc1pfyFi-5xdiZn5GVtMJW-KN4yM_vctB7fn1i_UgvtOItWg==
<
* Curl_http_done: called premature == 0
* Connection #0 to host updater.home-assistant.io left intact
nulll

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

updater:

Traceback (if applicable):

2018-11-07 13:54:44 INFO (MainThread) [homeassistant.components.updater] Submitted analytics to Home Assistant servers. Information submitted includes {'huuid': '489a44ab96dc40cd8632bd64ad23d5f2', 'hassio': False, 'os_name': 'Linux', 'virtualenv': False, 'python_version': '3.5.3', 'timezone': 'Europe/Lisbon', 'arch': 'armv7l', 'dev': False, 'os_version': '9', 'version': '0.81.1', 'docker': False, 'distribution': 'raspbian'}
2018-11-07 13:54:44 ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None
updater

Most helpful comment

Can we reopen this ticket? I'm on 0.91.2 and it's still not working. My config is as follows:

updater:
  reporting: false
Got unexpected response: None
6:14 PM components/updater/__init__.py (ERROR) - message first occured at April 15, 2019, 6:14 PM and shows up 9 times



md5-79d239e61b012bf79bacd98390cf9347



2019-04-24 01:14:55 ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None

All 38 comments

Just confirming I’ve been getting this since at least 0.79.x as well. I’m running in a venv on Raspbian.

I can confirm that I see the same error message using 0.80.0.

Glad to see I'm not the only one. :-) Seeing the same issue. Updated updater.py and following is the response received through updater.py:

<ClientResponse(https://updater.home-assistant.io/) [200 OK]>
<CIMultiDictProxy('Content-Type': 'application/json', 'Content-Length': '4', 'Connection': 'keep-alive', 'Date': 'Tue, 13 Nov 2018 21:41:43 GMT', 'x-amzn-RequestId': 'e96f8ec4-e78c-11e8-abe4-999c95825509', 'x-amz-apigw-id': 'QUe7oHM0vHcFQ2Q=', 'X-Amzn-Trace-Id': 'Root=1-5beb4517-ef2568acb8dfb9dcbb6b11ec;Sampled=0', 'X-Cache': 'Miss from cloudfront', 'Via': '1.1 f0b290c4e2273a7586bc6f080031d9bc.cloudfront.net (CloudFront)', 'X-Amz-Cf-Id': 'spZ6xDs_rMpNe_8MvxyHnTEk5hREwQA-h5S20RQgWS1ZP7bktLkrtQ==')>

Same error here hasbian 0.82.1

Hello I've been testing and

if e send

{'uid': '489a44ab96dc40cd8632bd64ad23d5f2', 'hassio': False, 'os_name': 'Linux', 'virtualenv': False, 'python_version': '3.5.3', 'timezone': 'Europe/Lisbon', 'arch': 'armv7l', 'dev': False, 'os_version': '9', 'version': '0.81.1', 'docker': False, 'distribution': 'raspbian'}

Updater work

I think the problem is in the field huuid if switching to uid works correctly

Hello I've been testing and

if e send

{'uid': '489a44ab96dc40cd8632bd64ad23d5f2', 'hassio': False, 'os_name': 'Linux', 'virtualenv': False, 'python_version': '3.5.3', 'timezone': 'Europe/Lisbon', 'arch': 'armv7l', 'dev': False, 'os_version': '9', 'version': '0.81.1', 'docker': False, 'distribution': 'raspbian'}

Updater work

I think the problem is in the field huuid if switching to uid works correctly

Yup, this seems like the problem!
I edited ../hass/lib/python3.7/site-packages/homeassistant/components/updater.py and modified line 165 from info_object['huuid'] = huuid to info_object['uid'] = huuid and this afternoon I got an update notification for 0.83!

Any core devs want to chime in? I’d be happy to make the fix and submit it.

Same issue on Hassio 0.83.3. Clean install.

Same issue on homeassistant-0.84.0 running on Raspbian (virtual environment, manual install).
Clean install homeassistant-0.77.2 was updated to homeassistant-0.83.3 and updated just today to homeassistant-0.84.0

Same issue here running 0.84.1 in docker on debian.
Only warning in log file is:"Got unexpected response: None"

Hi. I have the same issue on Hass.io 0.83.5

On hass.io 0.84.3
Getting ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None in log.

I'm still getting the same error in the logs on Hassio 0.84.6. However, I've been able to successfully update Hassio for about the past 4-5 releases.

I've opened a PR; not 100% clear I know why it broke, but as I can confirm that the huuid -> uid change causes notifications to show up, maybe someone from core will be able to confirm what the root cause was.

Can confirm that the huuid -> uid change works and notifications are send when new Version available

That is not the right solution, you just hit a bug in the analytics receiver and bypass the broken part. I am going to fix the receiver part soon.

Same error in version 0.85.1 using python.

Could it be it's working now with 0.86.3? At least I got an email today...

It's working here too 0:86

Yesterday I got same error on Hassbian 0.87.0
2019-02-09 19:52:27 INFO (MainThread) [homeassistant.components.updater] Submitted analytics to Home Assistant servers. Information submitted includes {}
2019-02-09 19:52:27 ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None

I have set in configuration.yaml:

updater:
  reporting: False

@smasongarrison @SelcouthGuy Are you still experiencing this issue? Seems to be working for others now. Please try upgrading to the latest Home Assistant (0.90) and report back.

Hello. I don't wanna make any changes, especially upgrade to higher versions where always are some braking changes, because I'm in delegation and if something went wrong than my wife will have much trouble with this.
I'll back in two months... Sorry tjorim

@SelcouthGuy Please re-open this issue if you continue to experience this problem even after a upgrade.

it does not work in 0.90 either:(

#─► echo -e "$(<.HA_VERSION)\n"; grep -E 'updater|default_config:' home-assistant.log configuration.yaml
0.90.1

home-assistant.log:2019-03-25 05:10:19 INFO (MainThread) [homeassistant.setup] Setting up updater
home-assistant.log:2019-03-25 05:10:19 INFO (MainThread) [homeassistant.setup] Setup of domain updater took 0.0 seconds.
home-assistant.log:2019-03-25 06:10:19 ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None
configuration.yaml:default_config:

Same problem with 0.91.3

It seems to be non-relliable, because right now I am in 0.91.0 and the updater.updater component has state 0.91.2, which is correct. But I updated to 0.91.0 without the updater component working, and once updated it didn't work out of the bat. I am not sure if we can help to debug it somehow :confused:

Can we reopen this ticket? I'm on 0.91.2 and it's still not working. My config is as follows:

updater:
  reporting: false
Got unexpected response: None
6:14 PM components/updater/__init__.py (ERROR) - message first occured at April 15, 2019, 6:14 PM and shows up 9 times



md5-79d239e61b012bf79bacd98390cf9347



2019-04-24 01:14:55 ERROR (MainThread) [homeassistant.components.updater] Got unexpected response: None

Getting the same error as @chilicheech on 0.93.2
Selection_070

Same issue here - 0.93.2 (and earlier versions as well)...

Problem is still present in 0.94.1 when reporting = false.

I changed the component to submit a dummy JSON (by just adding info_object['reporting'] = 'false' after creating the empty info_object = {}) and it started working properly.

From the command line, test the difference using:
curl -l -X POST -H "Content-Type: application/json" -d '{}' https://updater.home-assistant.io/, this returns null.

When submitting "something": curl -l -X POST -H "Content-Type: application/json" -d '{"reporting" : "false"}' https://updater.home-assistant.io/, the return is {"version":"0.94.1","release-notes":"https://www.home-assistant.io/latest-release-notes/"} as intended.

Please reopen this ticket. Latest version still happen this issue. I usign docker and nginx. Fresh install.

Same here just did a fresh install due to a power outage and did not have this issue before. Before fresh install was runnung 91.? now at 94.4 and have error. Not sure what it means.

Just keeps printing this over and over

> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140627002696536] Client exceeded max pending messages [2]: 512
> 2019-06-21 13:27:48 ERROR (MainThread) [homeas

Updater is still broken. We are aware and apologize. This isn't super high priority for us at the moment due to being unable to identify a long term data storage solution for the analytics that doesn't cost us an arm and a leg.

understood, thanks for the reply and more importantly hard work and time!

In the meantime is there any way to disable updater in hassio 94.4, i do not see it listed in my config ? I use hassio and really don't need it any way. I googled and cant seem to find anything except lots of people with the issue.

Wait a second @msauto, apologies for my response. Your error is something entirely different and almost certainly unrelated to updater, as the updater doesn't use WebSockets in any way.

As for everyone else, i've rebuilt the server side component so that it should now stop returning None and this error will go away.

@robbiet480 Ok , not sure what my issue was but i was able to correct the issue and stop the errors by commenting out the new default_config: and manually adding the needed config entries and leaving updater: out of my config . Everything seems to be working fine and a lot more responsive.
Below is a copy of my config for clarification. Maybe this will help someone else with the same issue.

> homeassistant:
>   name: MNS
>   # Location required to calculate the time the sun rises and sets
>   latitude: 
>   longitude: 
>   # Impacts weather/sunrise data (altitude above sea level in meters)
>   elevation: 0
>   # metric for Metric, imperial for Imperial
>   unit_system: "imperial"
>   # Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
>   time_zone: America/Chicago
>   # Customization file
>   customize: !include customize.yaml
>   
> # Enables the frontend
> frontend:
>  themes: !include themes.yaml
> config:
>  
> 
> discovery:
>   ignore:
>     - harmony
>     - plex_mediaserver
> 
> # Enables support for tracking state changes over time
> history:
> 
> # View all events in a logbook
> logbook:
> 
> # Allows you to issue voice commands from the frontend in enabled browsers
> conversation:
> 
> recorder:
> 
> system_log:
> 
> logger:
>   default: debug
> 
> system_health:  
> 
Was this page helpful?
0 / 5 - 0 ratings

Related issues

Konstigt picture Konstigt  Â·  3Comments

kirichkov picture kirichkov  Â·  3Comments

aweb-01 picture aweb-01  Â·  3Comments

arangates picture arangates  Â·  3Comments

sh0rez picture sh0rez  Â·  3Comments