question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Waiting for WebRTC card to load ...

See original GitHub issue

Checklist:

  • [ x] I updated to the latest version available
  • [x ] I cleared the cache of my browser

Release with the issue: latest Last working release (if known):

Browser and Operating System: Chrome

Description of problem: I added a webrtc camera with new core integration and webrtc server addon fpr hassio. Instead of getting webrtc card i get spinning waiting to load webrtc card

Javascript errors shown in the web inspector (if applicable):

38188e47.js:2 
        
      
        
        
      
        
      
       
        
       GET https://home-assistant.ddns.me/webrtc/webrtc-camera.js?v2.2.0 net::ERR_ABORTED 404
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
      
        
        
      
        
      
       
        
       GET https://home-assistant.ddns.me/webrtc/webrtc-camera.js net::ERR_ABORTED 404
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
      
        
        
      
        
      
       
        
       GET https://home-assistant.ddns.me/local/sip/jssip-3.5.3.min.js net::ERR_ABORTED 404
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
      
        
        
      
        
      
       
        
       GET https://home-assistant.ddns.me/local/sip/gensipdoor-card.js net::ERR_ABORTED 404
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
      
        
        
      
        
      
       
        
       GET https://home-assistant.ddns.me/asterisk/sipjs-card.js net::ERR_ABORTED 404
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
main.js:3  Thermostat Card   Version  1.3.0 
38188e47.js:2 
        
       Uncaught (in promise) https://home-assistant.ddns.me/webrtc/webrtc-camera.js?v2.2.0
(anonym) @ 38188e47.js:2
error (asynchron)
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
       Uncaught (in promise) https://home-assistant.ddns.me/webrtc/webrtc-camera.js
(anonym) @ 38188e47.js:2
error (asynchron)
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
       Uncaught (in promise) https://home-assistant.ddns.me/local/sip/jssip-3.5.3.min.js
(anonym) @ 38188e47.js:2
error (asynchron)
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
38188e47.js:2 
        
       Uncaught (in promise) https://home-assistant.ddns.me/local/sip/gensipdoor-card.js
(anonym) @ 38188e47.js:2
error (asynchron)
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
338188e47.js:2 
        
       Uncaught (in promise) https://home-assistant.ddns.me/asterisk/sipjs-card.js
(anonym) @ 38188e47.js:2
error (asynchron)
(anonym) @ 38188e47.js:2
r @ 38188e47.js:2
s @ 38188e47.js:2
(anonym) @ ha-icon-button-arrow-next.ts:8
s @ ha-icon-button-arrow-next.ts:8
(anonym) @ ha-panel-lovelace.ts:144
Promise.then (asynchron)
value @ ha-panel-lovelace.ts:144
(anonym) @ dwains-hash-switch-card.js:1
await in (anonym) (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
load (asynchron)
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
s @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1
(anonym) @ dwains-hash-switch-card.js:1

** Config of the card **

type: custom:frigate-card
styles:
  card:
    - height: 200px;
cameras:
  - webrtc:
      entity: camera.webrtc_test
    camera_entity: camera.doorbell
    live_provider: webrtc
  - camera_entity: camera.front_door
    live_provider: frigate-jsmpeg
  - camera_entity: camera.garage
    live_provider: frigate-jsmpeg
  - camera_entity: camera.garden
    live_provider: frigate-jsmpeg
  - camera_entity: camera.garden_upstairs_2
    live_provider: frigate-jsmpeg
view:
  update_cycle_camera: true
  default: live
  camera_select: live
menu:
  buttons:
    image: false
    frigate: true
  button_size: 80px
  mode: overlay-bottom
live:
  preload: true
  lazy_unload: true
  auto_unmute: true
  controls:
    next_previous:
      size: 100px
      style: none
    thumbnails:
      media: clips
      mode: none
    title:
      mode: popup-bottom-right
      duration_seconds: 8
event_gallery:
  min_columns: 8
event_viewer:
  auto_unmute: true
  controls:
    next_previous:
      style: chevrons
      size: 10px
    thumbnails:
      size: 10px
      mode: above
    title:
      duration_seconds: 8
      mode: popup-top-right
dimensions:
  aspect_ratio: '16:8'
  aspect_ratio_mode: static
elements:
  - type: custom:frigate-card-conditional
    conditions:
      camera:
        - camera.front_door
    elements:
      - type: state-badge
        entity: sensor.dark_sky_humidity
        style:
          right: 150px
          top: 86px
          color: rgba(0,0,0,0)
          opacity: 0.7
      - type: state-badge
        entity: sensor.solar_powered_outdoor_siren_air_temperature
        style:
          right: 80px
          top: 110px
          color: rgba(0,0,0,0)
          opacity: 0.7
      - type: custom:frigate-card-menu-state-icon
        entity: lock.main_door
        tap_action:
          action: toggle
      - type: custom:frigate-card-menu-state-icon
        entity: script.restart_foscam
        tap_action:
          action: toggle
      - type: custom:frigate-card-menu-state-icon
        entity: script.preset_garage
        tap_action:
          action: toggle
      - type: custom:frigate-card-menu-state-icon
        entity: script.preset_street
        tap_action:
          action: toggle
      - type: custom:frigate-card-menu-state-icon
        entity: script.preset_maindoor
        tap_action:
          action: toggle
      - type: custom:frigate-card-conditional
        conditions:
          view:
            - live
        elements:
          - type: icon
            icon: mdi:arrow-up
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 180px
              bottom: 250px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.turn_up
          - type: icon
            icon: mdi:arrow-down
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 180px
              bottom: 125px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.turn_down
          - type: icon
            icon: mdi:arrow-left
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 255px
              bottom: 185px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.turn_left
          - type: icon
            icon: mdi:arrow-right
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 105px
              bottom: 185px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.turn_right
          - type: icon
            icon: mdi:magnify-plus
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 105px
              bottom: 450px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.zoom_in
          - type: icon
            icon: mdi:magnify-minus
            style:
              background: rgba(10, 10, 10, 0.75)
              border-radius: 5px
              right: 105px
              bottom: 350px
              transform: scale(3, 3)
            tap_action:
              action: call-service
              service: script.turn_on
              service_data:
                entity_id: script.zoom_out
  - type: custom:frigate-card-conditional
    conditions:
      camera:
        - camera.doorbell
    elements:
      - type: custom:frigate-card-menu-state-icon
        entity: lock.main_door
        tap_action:
          action: toggle
  - type: custom:frigate-card-conditional
    conditions:
      camera:
        - camera.garage
    elements:
      - type: custom:frigate-card-menu-state-icon
        entity: light.garage
        tap_action:
          action: toggle
  - type: custom:frigate-card-conditional
    conditions:
      camera:
        - camera.garden
    elements:
      - type: custom:frigate-card-menu-state-icon
        entity: light.porch_garden
        icon: mdi:track-light
        tap_action:
          action: toggle

Additional information: image

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:13 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
tkdrobcommented, Feb 8, 2022

I can confirm that this is working for me as @thundergreen describes. Thanks for the hard work.

1reaction
thundergreencommented, Feb 8, 2022

Hello @dermotduffy once again thanks for your awesome work …I think readme would need some write up. Just to explain which live provider means what . But I really appreciate your awesome efforts in this card.i think frigate and your card put home assistant CCTV ecosystem on a higher level. Thanks also for the swipe function it’s just awesome and I still didn’t use all of your functions. If you want I can beta test new feature to test for you and report?

The naming is perfect I think that makes things clear now

Read more comments on GitHub >

github_iconTop Results From Across the Web

Add on: RTSPtoWeb and RTSPtoWebRTC - Home Assistant OS
About The RTSPtoWeb add-on lets you convert your RTSP streams to WebRTC, HLS, LL HLS, or even mirror as a RTSP stream.
Read more >
Dashcast no longer seems to work on Google Nest Hub #255
If a try to cast a view containing a WebRTC camera, the view comes up but continually displays "Waiting for WebRTC Card to...
Read more >
WebRTC not loading - Samsara Support
Problem WebRTC is not loading when viewing live video streams. You can check this by hovering over the red live button when viewing...
Read more >
My strategy for camera feeds to (appear to) load faster - Reddit
Just use webRTC to display the cameras. It actually is fast using that.
Read more >
View Cameras Live with WebRTC and the Frigate Card. Part 4 ...
This is part 4 of the Frigate NVR series. I show how to use the WebRTC card for live viewing and the Frigate...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found