Teslamate: Websocket Error / Spinner

Created on 28 Jul 2019  路  7Comments  路  Source: adriankumpf/teslamate

I've installed telsamate using the latest docker release. The UI runs and displays data from the car, but it displays a spinner in the center.

Looking at the debug window reports over 100 errors of the same type:
WebSocket connection to 'ws://IP_REDACTED:4000/live/websocket?vsn=2.0.0' failed: Error during WebSocket handshake: Unexpected response code: 403

Most helpful comment

If you're using docker and accessing it on another machine, it looks like you need to add a VIRTUAL_HOST environment variable to the teslamate container when you create it otherwise it defaults to localhost and you get those Phoenix.Socket errors.

All 7 comments

I didn't have the same error in my logs but I had to allow websocket in my proxy config to get the spinner to go away. If you're using nginx, here is a sample way: https://www.nginx.com/blog/websocket-nginx/

something like

    upstream websocket {
        server 192.168.100.10:8010;
    }

I'm running this on a Synology and am also receiving the spinning circle

I also am getting the spinning circle. My error is a little more specific though.

02:56:11.892 [error] Could not check origin for Phoenix.Socket transport.
Origin of the request: http://redacted:4000
This happens when you are attempting a socket connection to
a different host than the one configured in your config/
files. For example, in development the host is configured
to "localhost" but you may be trying to access it from
"127.0.0.1". To fix this issue, you may either:
  1. update [url: [host: ...]] to your actual host in the
     config file for your current environment (recommended)
  2. pass the :check_origin option when configuring your
     endpoint or when configuring the transport in your
     UserSocket module, explicitly outlining which origins
     are allowed:
        check_origin: ["https://example.com",
                       "//another.com:888", "//other.com"]

If you're using docker and accessing it on another machine, it looks like you need to add a VIRTUAL_HOST environment variable to the teslamate container when you create it otherwise it defaults to localhost and you get those Phoenix.Socket errors.

Sorry for being a n00b, but since I have already configured teslamate, is there anyway to do this now that it's up and running?

Just to add for clarity. If you're using docker-compose for this..

Look for this in your docker-compose.yml file:
- MQTT_HOST=mosquitto
Then add this after:
- VIRTUAL_HOST=ip_address_of_your_docker_host

an additional hint in case it happens for other : in my particuliar case, this issue was caused by a misconfigured MTU in the IPSEC tunnel used to reach teslamate.

and thank you for the time you took to create teslamate !

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tobiasehlert picture tobiasehlert  路  4Comments

DrMichael picture DrMichael  路  4Comments

bahree picture bahree  路  5Comments

virtualm2000 picture virtualm2000  路  4Comments

netkruzer picture netkruzer  路  6Comments