Bug with stream component not knowing it's own local IP address

Hi

I found a bug where home assistant stream component tells local devices the wrong IP address for playback stream. It tries to play “172.18.0.9:8123” when it should be “192.168.1.99:8123”.

My setup is as follows

Server

  • Ubuntu. Docker. Home Assistant v0.97.1
  • IP address: 192.168.1.99

Camera

  • Amcrest camera
  • IP address 192.168.1.90

Google Home Hub

  • IP address: 192.168.1.80
stream:

amcrest:
  - host: 192.168.1.90
    username: xxxx
    password: xxxx

cast:
  media_player:
    - host: 192.168.1.80
     
script:
  camera_test:
    sequence:
      - service: camera.play_stream
        data:
          entity_id: camera.amcrest_camera
          media_player: media_player.lounge_display

When I run the camera_test script the google home hub (media_player.lounge_display) tries to play the stream but gets stuck, when i go to the states page I can see the wrong URL.

http://172.18.0.9:8123/api/hls/848dbe8593757408287206c0716fa701f667324fad0b80210ca8f4a60815add4/playlist.m3u8

volume_level: 0.8200000524520874
is_volume_muted: false
media_content_id: http://172.18.0.9:8123/api/hls/848dbe8593757408287206c0716fa701f667324fad0b80210ca8f4a60815add4/playlist.m3u8
media_position: 0
media_position_updated_at: 2019-08-12T06:35:45.667842+00:00
app_id: CC1AD845
app_name: Default Media Receiver
friendly_name: Lounge display
supported_features: 21391

If I load VLC and then try to play
http://192.168.1.99:8123/api/hls/848dbe8593757408287206c0716fa701f667324fad0b80210ca8f4a60815add4/playlist.m3u8
then I can see the camera stream through home assistant in VLC.

if i add this then the url is corrected, however i still have some issues getting video to play on the home hub

http:
  base_url: xxx