Open justinmaiuto opened 1 year ago
Have tried restarting and disabling/enabling the camera with no help. Nothing suspect in the logs either
Does CTRL+SHIFT+R
help? It could be caching.
edit: I just noticed it's a phone...
Yep, problem is happening on all devices I try, phone/tablet/laptop.
Could these be related?
Logger: homeassistant.components.websocket_api.http.connection Source: components/websocket_api/connection.py:150 Integration: Home Assistant WebSocket API (documentation, issues) First occurred: 06:42:13 (1 occurrences) Last logged: 06:42:13 [140691642349792] Error handling message: required key not provided @ data['filename']. Got None (invalid_format) from 192.168.1.61 (Mozilla/5.0 (Linux; Android 13; SM-S901E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Mobile Safari/537.36)
Logger: homeassistant.helpers.script.websocket_api_script Source: helpers/script.py:409 First occurred: 06:42:13 (1 occurrences) Last logged: 06:42:13 websocket_api script: Error executing script. Invalid data for call_service at pos 1: required key not provided @ data['filename']
There are a couple of things we can look at:
Go to Developer Tools > STATES
and find your cameras, they will be named something like camera.aarlo_....
. Look the last_thumbnail
entry. Copy and paste that into your web browser. Try it with a camera that works and one that doesn't. You should see a thumbnail appear.
Now look for entity_picture
. Paste your Home Assistant URL with entity_picture
after into the web browser. Does that show the thumbnails?
Last_Thumbnail appears for the camera that are working and also the one not working.
The entity_picture also displays in the browser directly and is the same as the last_thumbnail
Interesting. The second URL is what the Lovelace card uses to get its picture. You any good with web browsing debugging?
This will need to be done on a desktop. And these instructions assume you are using Chrome.
Open the camera web page, press CTRL+SHIFT+I
and then CTRL+SHIFT+R
. This will load the page into the debugger.
Now select this button and click right on a camera image.
The debug window should pop up and you'll see something like this but with a proper URL as src
.
<img class="aarlo-image" id="camera-viewer-camera-aarlo-front-door-bell"
style="" title="automatically captured at 02-23 20:29"
src="XXXXXXX" alt="automatically captured at 02-23 20:29">
You can click on the src
URL. Does that work. And src
should look like the one you pasted in.
(And seeing all that green and sun made me jealous, I'm still under 4 feet of snow here!)
I can see the img block and the url is correct (obfuscated some urls with xxxx):
<img class="aarlo-image" style="display:none" id="camera-viewer-camera-aarlo-front-door-camera" title="snapshot captured at 02-25 15:00" src="/api/camera_proxy/camera.aarlo_front_door_camera?xxxx" alt="snapshot captured at 02-25 15:00">
but this is not what is displayed, when I hover over this in the debugger, it highlights the broken image on the page:
<div class="aarlo-image aarlo-broken-image" style="height: 100px" id="broken-image-camera-aarlo-front-door-camera">
</div>
here is the whole block if that helps:
<ha-card class="type-custom-aarlo-glance">
<div class="aarlo-base aarlo-aspect-16x9" id="aarlo-wrapper-camera-aarlo-front-door-camera">
<video class="aarlo-video" style="display:none" playsinline="" muted="" id="video-player-camera-aarlo-front-door-camera">
Your browser does not support the video tag.
</video>
<img class="aarlo-image" style="display:none" id="camera-viewer-camera-aarlo-front-door-camera" title="snapshot captured at 02-25 15:00" src="/api/camera_proxy/camera.aarlo_front_door_camera?token=xxxx" alt="snapshot captured at 02-25 15:00">
<div class="aarlo-image" style="display:none" id="library-viewer-camera-aarlo-front-door-camera"><div style="display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(3, 1fr); gap: 1px; padding: 2px;"><div style="position: relative; grid-area: 1 / 1 / auto / auto;"><img id="library-0-camera-aarlo-front-door-camera" title="captured: 02-21 17:29
reason: vehicle" src="xxxx" alt="captured: 02-21 17:29
reason: vehicle" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-0-camera-aarlo-front-door-camera" title="captured: 02-21 17:29
reason: vehicle" style="width: 16.6%; height: 14%; position: absolute; top: 5.8%; left: 44.7%; border-style: solid; border-width: thin; border-color: yellow;"></div><a id="library-a-0-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 1 / 2 / auto / auto;"><img id="library-1-camera-aarlo-front-door-camera" title="captured: 02-21 17:23" src="xxxx" alt="captured: 02-21 17:23" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-1-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-1-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 1 / 3 / auto / auto;"><img id="library-2-camera-aarlo-front-door-camera" title="captured: 02-21 15:59" src="xxxx" alt="captured: 02-21 15:59" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-2-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-2-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 2 / 1 / auto / auto;"><img id="library-3-camera-aarlo-front-door-camera" title="captured: 02-21 15:50" src="xxxx" alt="captured: 02-21 15:50" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-3-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-3-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 2 / 2 / auto / auto;"><img id="library-4-camera-aarlo-front-door-camera" title="captured: 02-21 15:45" src="xxxx" alt="captured: 02-21 15:45" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-4-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-4-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 2 / 3 / auto / auto;"><img id="library-5-camera-aarlo-front-door-camera" title="captured: 02-21 14:07" src="xxxx" alt="captured: 02-21 14:07" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-5-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-5-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 3 / 1 / auto / auto;"><img id="library-6-camera-aarlo-front-door-camera" title="captured: 02-21 13:47" src="xxxx" alt="captured: 02-21 13:47" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-6-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-6-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 3 / 2 / auto / auto;"><img id="library-7-camera-aarlo-front-door-camera" title="captured: 02-21 10:55" src="xxxx" alt="captured: 02-21 10:55" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-7-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px; display: none;"></div><a id="library-a-7-camera-aarlo-front-door-camera" download="" href="xxxx" style="position: absolute; left: 2%; top: 5%; display: none;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div><div style="position: relative; grid-area: 3 / 3 / auto / auto;"><img id="library-8-camera-aarlo-front-door-camera" title="captured: 02-21 10:33
reason: package" src="xxxx" alt="captured: 02-21 10:33
reason: package" style="width: 100%; height: 100%; object-fit: cover;"><div id="library-box-8-camera-aarlo-front-door-camera" style="width: 100%; height: 100%; position: absolute; top: 0px;"></div><a id="library-a-8-camera-aarlo-front-door-camera" download="" style="position: absolute; left: 2%; top: 5%;"><ha-icon class="aarlo-icon-small" icon="mdi:download" style="color: white;"></ha-icon></a></div></div></div>
<div class="aarlo-image aarlo-broken-image" style="height: 100px" id="broken-image-camera-aarlo-front-door-camera">
</div>
</div>
<div class="box box-top" style="display:none" id="top-bar-camera-aarlo-front-door-camera">
</div>
<div class="box box-bottom" style="display:none" id="bottom-bar-camera-aarlo-front-door-camera"><div class="box-align-left"><ha-icon class="aarlo-icon-medium" id="camera-motion-camera-aarlo-front-door-camera" title="motion: clear"></ha-icon><ha-icon class="aarlo-icon-medium" id="camera-sound-camera-aarlo-front-door-camera" title="sound: clear"></ha-icon><ha-icon class="aarlo-icon-medium" id="camera-library-camera-aarlo-front-door-camera" title="library: click to open"></ha-icon><ha-icon class="aarlo-icon-medium" id="camera-snapshot-camera-aarlo-front-door-camera" title="take a snapshot"></ha-icon><ha-icon class="aarlo-icon-medium" id="camera-battery-camera-aarlo-front-door-camera" title="battery strength: 97%" style="color: rgb(204, 204, 204);"></ha-icon><ha-icon class="aarlo-icon-medium" id="camera-signal-camera-aarlo-front-door-camera" title="signal strength: 3"></ha-icon></div><div class="box-align-right"></div></div>
<div class="box box-bottom" style="display:none" id="library-controls-camera-aarlo-front-door-camera">
<div>
<ha-icon id="library-control-first-camera-aarlo-front-door-camera" class="aarlo-icon-medium">
</ha-icon>
<ha-icon id="library-control-previous-camera-aarlo-front-door-camera" class="aarlo-icon-medium">
</ha-icon>
</div>
<div style="margin-left: auto; margin-right: auto">
<ha-icon id="library-control-resize-camera-aarlo-front-door-camera" class="aarlo-icon-medium" style="display: none; color: white;">
</ha-icon>
<ha-icon id="library-control-close-camera-aarlo-front-door-camera" class="aarlo-icon-medium" style="color: white;">
</ha-icon>
</div>
<div>
<ha-icon id="library-control-next-camera-aarlo-front-door-camera" class="aarlo-icon-medium">
</ha-icon>
<ha-icon id="library-control-last-camera-aarlo-front-door-camera" class="aarlo-icon-medium">
</ha-icon>
</div>
</div>
<div class="box box-bottom" style="display:none" id="video-controls-camera-aarlo-front-door-camera">
<div>
<ha-icon id="video-door-lock-camera-aarlo-front-door-camera">
</ha-icon>
<ha-icon id="video-light-on-camera-aarlo-front-door-camera">
</ha-icon>
<ha-icon id="video-toggle-sound-camera-aarlo-front-door-camera">
</ha-icon>
<ha-icon id="video-stop-camera-aarlo-front-door-camera" title="stop">
</ha-icon>
<ha-icon id="video-play-pause-camera-aarlo-front-door-camera">
</ha-icon>
</div>
<div class="slidecontainer">
<input class="slider" type="range" value="0" min="1" max="100" id="video-seek-camera-aarlo-front-door-camera">
</div>
<div>
<ha-icon id="video-full-screen-camera-aarlo-front-door-camera" title="go full screen">
</ha-icon>
</div>
</div>
<card-mod slot="none"><!---->
<style>
<!---->
<!----></style>
</card-mod></ha-card>
One thing I just noticed. Can try you changing this in the config:
image_view: direct
And that might explain the strange message you are seeing in the config. Did you want it to start streaming when you opened the GUI?
Yep I tried that and it doesnt fix the issue. All the other cameras are configured the same and display the image preview as expected, although the stream doesnt start for any of them on load as i had hoped. They have all been configured this way for years, and the only thing that has changed for the camera with the broken image is that it went completely flat (assume a broken image view is what should be shown when there is no connection?) Its like it just hasnt come back from that state even though its fully charged and controllable by HA
I'll try and reproduce it here and look through the code.
It looks like it's choosing it knows about the thumbnail image but is choosing to give you the broken one.
Sorry, it's back to the debug window. Is there anything appearing in the console? On Chrome it's a tab on the left, middle to bottom of the screen.
Console output:
CARD-MOD 3.2.0 IS INSTALLED
3e82212d.js:2 GET http://192.168.1.7:8123/webrtc/webrtc-camera.js?v2.3.0 net::ERR_ABORTED 404 (Not Found)
(anonymous) @ 3e82212d.js:2
r @ 3e82212d.js:2
s @ 3e82212d.js:2
(anonymous) @ ha-icon-button-arrow-next.ts:37
s @ ha-icon-button-arrow-next.ts:37
(anonymous) @ ha-panel-lovelace.ts:147
Promise.then (async)
value @ ha-panel-lovelace.ts:147
value @ ha-panel-lovelace.ts:147
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
k @ styles.ts:372
r @ ha-icon-button-arrow-next.ts:37
E @ typography.js:181
t @ typography.js:181
value @ hass-loading-screen.ts:84
value @ hass-loading-screen.ts:84
_currentLoadProm.l.then._currentLoadProm @ hass-loading-screen.ts:84
Promise.then (async)
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
r @ hass-loading-screen.ts:84
r @ app-drawer-layout.js:189
E @ typography.js:181
t @ typography.js:181
v @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
k @ styles.ts:372
i @ app-drawer-layout.js:189
E @ typography.js:181
t @ typography.js:181
v @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
value @ home-assistant.ts:66
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
Promise.then (async)
d @ core.0dfb5639.js:1
u @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
subscribe @ core.0dfb5639.js:1
S @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
Promise.then (async)
(anonymous) @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
3e82212d.js:2 Uncaught (in promise) http://192.168.1.7:8123/webrtc/webrtc-camera.js?v2.3.0
n.onerror @ 3e82212d.js:2
error (async)
(anonymous) @ 3e82212d.js:2
r @ 3e82212d.js:2
s @ 3e82212d.js:2
(anonymous) @ ha-icon-button-arrow-next.ts:37
s @ ha-icon-button-arrow-next.ts:37
(anonymous) @ ha-panel-lovelace.ts:147
Promise.then (async)
value @ ha-panel-lovelace.ts:147
value @ ha-panel-lovelace.ts:147
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
k @ styles.ts:372
r @ ha-icon-button-arrow-next.ts:37
E @ typography.js:181
t @ typography.js:181
value @ hass-loading-screen.ts:84
value @ hass-loading-screen.ts:84
_currentLoadProm.l.then._currentLoadProm @ hass-loading-screen.ts:84
Promise.then (async)
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
r @ hass-loading-screen.ts:84
r @ app-drawer-layout.js:189
E @ typography.js:181
t @ typography.js:181
v @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
k @ styles.ts:372
i @ app-drawer-layout.js:189
E @ typography.js:181
t @ typography.js:181
v @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
value @ home-assistant.ts:66
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
Promise.then (async)
d @ core.0dfb5639.js:1
u @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
subscribe @ core.0dfb5639.js:1
S @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
Promise.then (async)
(anonymous) @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
mini-climate-card-bundle.js?hacstag=268163975243:1 MINI-CLIMATE-CARD v2.4.3
main.js?hacstag=237887092130:3 Thermostat Card Version 1.3.0
hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at AarloGlance.updateLibraryView (hass-aarlo.js:1887:18)
at AarloGlance.initialSetup (hass-aarlo.js:2191:14)
at hass-aarlo.js:2156:22
_updateLibraryView @ hass-aarlo.js:1820
updateLibraryView @ hass-aarlo.js:1887
initialSetup @ hass-aarlo.js:2191
(anonymous) @ hass-aarlo.js:2156
Promise.then (async)
initialSetup @ hass-aarlo.js:2155
(anonymous) @ hass-aarlo.js:2148
Promise.then (async)
initialSetup @ hass-aarlo.js:2147
render @ hass-aarlo.js:312
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
k @ styles.ts:372
AarloGlance @ hass-aarlo.js:116
E @ typography.js:181
t @ typography.js:181
a @ hui-error-badge.ts:49
(anonymous) @ hui-error-badge.ts:49
h @ hui-error-badge.ts:49
d @ hui-error-badge.ts:49
w @ hui-error-badge.ts:49
value @ hui-stack-card.ts:99
value @ hui-stack-card.ts:99
t.addEventListener.once @ hui-stack-card.ts:99
i @ typography.js:181
(anonymous) @ hui-error-badge.ts:49
Promise.then (async)
(anonymous) @ hui-error-badge.ts:49
h @ hui-error-badge.ts:49
d @ hui-error-badge.ts:49
w @ hui-error-badge.ts:49
value @ hui-stack-card.ts:99
(anonymous) @ hui-light-card.ts:359
value @ hui-light-card.ts:359
(anonymous) @ hui-error-badge.ts:49
Promise.then (async)
(anonymous) @ hui-error-badge.ts:49
h @ hui-error-badge.ts:49
d @ hui-error-badge.ts:49
w @ hui-error-badge.ts:49
value @ hui-masonry-view.ts:357
(anonymous) @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
u @ styles.ts:372
g @ styles.ts:372
r @ hui-masonry-view.ts:357
E @ typography.js:181
t @ typography.js:181
value @ hui-root.ts:548
(anonymous) @ hui-root.ts:548
hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at hass-aarlo.js:842:26
_updateLibraryView @ hass-aarlo.js:1820
(anonymous) @ hass-aarlo.js:842
Promise.then (async)
_updateStatuses @ hass-aarlo.js:840
updateStatuses @ hass-aarlo.js:1038
initialSetup @ hass-aarlo.js:2177
(anonymous) @ hass-aarlo.js:2156
Promise.then (async)
initialSetup @ hass-aarlo.js:2155
(anonymous) @ hass-aarlo.js:2148
DevTools failed to load source map: Could not load content for https://cdn.jsdelivr.net/npm/hls.min.js.map: HTTP error: status code 404, net::ERR_HTTP_RESPONSE_CODE_FAILURE
38hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at AarloGlance.updateLibraryView (hass-aarlo.js:1887:18)
at AarloGlance.updateView (hass-aarlo.js:2116:14)
at set hass [as hass] (hass-aarlo.js:474:18)
at HTMLElement.value (hui-light-card.ts:359:1)
at HTMLElement._$AE (styles.ts:372:1)
at HTMLElement.performUpdate (styles.ts:372:1)
at HTMLElement.scheduleUpdate (styles.ts:372:1)
at HTMLElement._$Ej (styles.ts:372:1)
_updateLibraryView @ hass-aarlo.js:1820
updateLibraryView @ hass-aarlo.js:1887
updateView @ hass-aarlo.js:2116
set hass @ hass-aarlo.js:474
value @ hui-light-card.ts:359
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
(anonymous) @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ hui-root.ts:548
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ app-drawer-layout.js:189
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
e.subscribeMessage.type @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
_handleMessage @ core.0dfb5639.js:1
6e8a92ad.js:1 GET http://192.168.1.7:8123/api/hls/c80d56a4f0d4469db39fd2d3100b9d940b79c4f14aa33db947327cf950643981/playlist.m3u8?_HLS_msn=4&_HLS_part=16 400 (Bad Request)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
(anonymous) @ 6e8a92ad.js:1
setTimeout (async)
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
XMLHttpRequest.send (async)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at AarloGlance.updateLibraryView (hass-aarlo.js:1887:18)
at AarloGlance.updateView (hass-aarlo.js:2116:14)
at set hass [as hass] (hass-aarlo.js:474:18)
at HTMLElement.value (hui-light-card.ts:359:1)
at HTMLElement._$AE (styles.ts:372:1)
at HTMLElement.performUpdate (styles.ts:372:1)
at HTMLElement.scheduleUpdate (styles.ts:372:1)
at HTMLElement._$Ej (styles.ts:372:1)
_updateLibraryView @ hass-aarlo.js:1820
updateLibraryView @ hass-aarlo.js:1887
updateView @ hass-aarlo.js:2116
set hass @ hass-aarlo.js:474
value @ hui-light-card.ts:359
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
(anonymous) @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ hui-root.ts:548
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ app-drawer-layout.js:189
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
e.subscribeMessage.type @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
_handleMessage @ core.0dfb5639.js:1
6e8a92ad.js:1 GET http://192.168.1.7:8123/api/hls/0f4000e92dca95a816a14c7488fd7a8abedb0536a369c81d55e8390527ef98d7/playlist.m3u8?_HLS_msn=2531&_HLS_part=16 400 (Bad Request)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
(anonymous) @ 6e8a92ad.js:1
setTimeout (async)
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
XMLHttpRequest.send (async)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
XMLHttpRequest.send (async)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at AarloGlance.updateLibraryView (hass-aarlo.js:1887:18)
at AarloGlance.updateView (hass-aarlo.js:2116:14)
at set hass [as hass] (hass-aarlo.js:474:18)
at HTMLElement.value (hui-light-card.ts:359:1)
at HTMLElement._$AE (styles.ts:372:1)
at HTMLElement.performUpdate (styles.ts:372:1)
at HTMLElement.scheduleUpdate (styles.ts:372:1)
at HTMLElement._$Ej (styles.ts:372:1)
_updateLibraryView @ hass-aarlo.js:1820
updateLibraryView @ hass-aarlo.js:1887
updateView @ hass-aarlo.js:2116
set hass @ hass-aarlo.js:474
value @ hui-light-card.ts:359
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
(anonymous) @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ hui-root.ts:548
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ app-drawer-layout.js:189
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
e.subscribeMessage.type @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
_handleMessage @ core.0dfb5639.js:1
6e8a92ad.js:1 GET http://192.168.1.7:8123/api/hls/0dac1e1dc8461d5ab18ff5bfccaa74cb12dd273c138341e4823bd40630fd3932/playlist.m3u8?_HLS_msn=2994&_HLS_part=17 400 (Bad Request)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
(anonymous) @ 6e8a92ad.js:1
setTimeout (async)
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
XMLHttpRequest.send (async)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
XMLHttpRequest.send (async)
t.loadInternal @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.load @ 6e8a92ad.js:1
t.onLevelLoading @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
l.loadPlaylist @ 6e8a92ad.js:1
t.playlistLoaded @ 6e8a92ad.js:1
l.onLevelLoaded @ 6e8a92ad.js:1
o.emit @ 6e8a92ad.js:1
a.emit @ 6e8a92ad.js:1
a.trigger @ 6e8a92ad.js:1
t.handlePlaylistLoaded @ 6e8a92ad.js:1
t.handleTrackOrLevelPlaylist @ 6e8a92ad.js:1
t.loadsuccess @ 6e8a92ad.js:1
t.readystatechange @ 6e8a92ad.js:1
55hass-aarlo.js:1820 Uncaught (in promise) TypeError: Cannot read properties of null (reading 'split')
at AarloGlance._updateLibraryView (hass-aarlo.js:1820:53)
at AarloGlance.updateLibraryView (hass-aarlo.js:1887:18)
at AarloGlance.updateView (hass-aarlo.js:2116:14)
at set hass [as hass] (hass-aarlo.js:474:18)
at HTMLElement.value (hui-light-card.ts:359:1)
at HTMLElement._$AE (styles.ts:372:1)
at HTMLElement.performUpdate (styles.ts:372:1)
at HTMLElement.scheduleUpdate (styles.ts:372:1)
at HTMLElement._$Ej (styles.ts:372:1)
_updateLibraryView @ hass-aarlo.js:1820
updateLibraryView @ hass-aarlo.js:1887
updateView @ hass-aarlo.js:2116
set hass @ hass-aarlo.js:474
value @ hui-light-card.ts:359
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
(anonymous) @ hui-masonry-view.ts:357
value @ hui-masonry-view.ts:357
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ hui-root.ts:548
_$AE @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ app-drawer-layout.js:189
value @ hass-loading-screen.ts:84
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
j @ styles.ts:372
_$AI @ styles.ts:372
p @ styles.ts:372
$ @ styles.ts:372
_$AI @ styles.ts:372
j @ styles.ts:372
update @ styles.ts:372
performUpdate @ styles.ts:372
scheduleUpdate @ styles.ts:372
_$Ej @ styles.ts:372
await in _$Ej (async)
requestUpdate @ styles.ts:372
set @ styles.ts:372
value @ styles.ts:372
(anonymous) @ styles.ts:372
s @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
e.subscribeMessage.type @ core.0dfb5639.js:1
(anonymous) @ core.0dfb5639.js:1
_handleMessage @ core.0dfb5639.js:1
Randomly, the problem is fixed. The camera in question captured some recordings while it was armed when we were out. Now its dosplaying properly
The card has been working great for years. Recently one of my cameras battery went flat. Even though it is now charged and connected to HA (i can set alarm mode, take snapshots etc via service calls), the card just displays a broken image. All other cameras and their cards are working fine.