EXPERIMENTAL
It's working well for me but if everything stop working please drop back to 0.1
If you don't see any changes:
- desktop chrome; open developer tools on your web browser and reload;
CTRL+SHIFT+I
followed byCTRL+R
- desktop firefox; open developer tools on your web browser and reload;
CTRL+SHIFT+I
followed byCTRL+R
- ipad/iphone: this one is drastic but;
Settings > Safari > Clear History and Website Data
Why...
This is a complete re-write of the module. When adding the new modal window I realized the underlying code was doing things backwards. For example, for state changes I was giving Home Assistant a complete re-rendering of the card when I would have been better manipulating the DOM directly.
Apple Playback
It should be working better now - it's working in the browser on an iPad and iPhone for me, I haven't tried the app yet. To get it working:
- make sure you don't set a
user_agent
in youraarlo
config inconfiguration.yaml
- don't use
direct
play in the Lovelace card configuration.
This will ensure Home Assistant sends a HLS stream which is supported by Apple products.
Video Controls
There is now a mute button. It gets reset when a video stops, I might make the card remember the state.
Stopping a stream now should now work better.
New Configuration Format
The existing format will continue to work. The code looks for the show
item and, if it finds it, uses the old format.
I decided to change the format because I found it was getting long winded adding single options per line. The new format uses keywords in comma separated string lists to simplify things.
This gives you an idea of the new format. The play
options have moved to image_bottom
and the top+*
options have moved to image_top
.
entity: camera.aarlo_front_door_camera
name: 'The Front Door'
image_view: active
image_top: 'name,status'
image_bottom: 'motion,library,play,snapshot,battery'
image_click: 'direct,recordings'
library_view: 'download'
library_sizes: '3,4,2,1'
type: 'custom:aarlo-glance'
See here for more details. And here for some examples.
Download
Add the download
keyword to library_view
and the card will show a download icon over each recording thumbnail so you can save the video.
Multiple Cameras
To try multiple cameras use the following config (changing the entities obviously). This example shows a shared global config but it's possible to have per camera settings as well.
entities:
- entity: camera.aarlo_front_door_camera
name: 'The Front Door'
- entity: camera.aarlo_front_camera
name: 'The Front'
image_view: active
library_view: 'blended,download'
image_top: 'name,status'
image_bottom: 'motion,library,play,snapshot,battery'
image_click: 'direct,recordings'
library_sizes: '3,4,2,1'
light: light.virtual_deck_light
door: binary_sensor.virtual_front_door
door_lock: lock.virtual_front_door_lock
type: 'custom:aarlo-glance'
On desktops devices you get chevrons to click and change camera, on mobile you can swipe left and right.
You can join the libraries together with library_view: blended
and automatically move to the most recently active camera with camera_view: active
.
Changes include, but not limited to:
- German language support by TheDK
- Spanish language support by alceasan
- download videos from the library
- newer configuration
- multiple camera support [stage 2]
- blended library mode; show multiple cameras in one library
- automatically flip to active camera
- handle empty libraries better
- smart modal windows, will fall back to inline on mobile devices, see
smart
option ofimage_click
. - will now show if Arlo doorbells are silenced on the card and you can mute/unmute from the card, see
door_bell_mute
- you can swipe left/right on mobile devices in the library - crude support for now
- the library will update in real time and won't load unless necessary, generally nicer operation
- you can limit how many videos are loaded
- you can specify different grid size for the library
- objects that trigger events are highlighted in the library view
- beginning and end buttons for the library
- autoplay
- customizable snapshot image reload
- changes handled programmatically; for example, a motion event now changes the element in the DOM rather than re-drawing the whole card
- localization support
- added French language
- better startup
- internally most things have changed, hopefully for the best
Planned changes include:
- better exception handling