* experimental 403 fix
* use ips directly
* fix crash on empty device list
* bump for beta
* test post before returning
* bump for beta
* use cloudflare by default
* bump for beta
* bump for release
* remove hints to force prebuffer snapshots to fetch stream
* cleanup exception guard + catch prebuffer snapshot errors
* settings to remove Battery interface
* delayed init to load battery percentage
* fix plugin crash due to missing smart features dict
* properly add toggle for wired power
* fix race condition when multiple settings are updated at once
* bump 0.7.10 for beta
* audio detection + clean up battery/no-battery settings
* bump 0.7.11 for beta
* remove basestation models from camera class
* bump 0.7.12 for release
* only create vss and siren for supported basestation models
* VideoClips only if camera has cloud recording + start of Cameras as DeviceProviders
* make verbose logging a boolean toggle
* camera spotlights and floodlights
* tweak video clip delete warning
* bump 0.7.5 for beta
* bump 0.7.6 for release + pin deps
* expose sirens on supported cameras
* bump 0.7.7 for release
* fix doorbell device type
* bump 0.7.1 for beta
* standalone camera fixes
* bump 0.7.2 for beta
* more type annotations + trickle discover all devices
* fetch arlo library clips
* log options
* cache library at lower level and fetch clips on demand
* move library timedelta range lower in stack
* wip siren as security system
* virtual security system and tweaks
* vss documentation and settings
* expand vss usage docs
* more docs changes
* force homekit and scrypted to update given vss and siren state
* RE-ENABLING SIREN!!!
* bump 0.7.3 for beta
* bump 0.7.3 for release
* remove unused dependencies
* expose configs to enable/disable two-way as experimental
* remove Few logging and clean up settings
* initial imap settings scaffolding and 90-min stream refresh
* fix sse refresh and make it configurable
* fix double printing in provider
* clean up logger names
* safer imap re-login and proper SSE exits
* some more logging with ids
* fix MQTT refresh and cleanly cancel tasks on restart
* document IMAP requirements
* bump 0.6.3 for release
* fix new device load error
* bump 0.6.4 for release
* parse endpoint and ffmpeg args
* aiortc logging, detect ffmpeg input source format
* log intercom source
* bump
* write sdp to file
* bump
* stop loop correctly
* run ffmpeg to convert inputs to known format
* options don't seem to do anything
* bump
* refactoring to use webrtc for video
* pass through ffmpeg to clean up stream for PyAV
* relay talkback audio
* cachebust
* mute talkback with silence
* cleanly exit orphaned subprocesses
* rename class
* bump minor version
* fetch webrtc stream from prebuffer
* prebuffer still not working
* Revert "prebuffer still not working"
This reverts commit b30ccebb17.
* Revert "fetch webrtc stream from prebuffer"
This reverts commit 8dbd308c59.
* try to fix buffer overrun
* expose option to purge pip cache and reinstall deps
* some more logging
* use v1 pypi
* bump 0.5.2
* per-camera settings to toggle webrtc implementation
* change setting name
* wire up existing push to talk for Intercom
* documentation
* bump 0.5.3
* 0.5.4 with new python dependency versioning
* bump av build
* 0.5.5
* optimize event waiting by reducing polling
* more minor optimizations
* tweak performance and requirements.txt
* reimplement with pion webrtc
* bump 0.6.0
* fix interfaces for doorbells
* initial research
* experimental
* sdp seems to work, stopIntercom is broken
* converting to separate rtc device
* standalone rtc speaker implemented but not working
* minor cleanup
* webrtc troubleshooting and improvements
* wait for sdp response before sending candidates
* logging changes, rtc troubleshooting
* use a future
* restore aiortc and run RTC in a background thread
* documentation
* documentation
* typo
* comments + simplify background coroutine calls
* simplify future
* only enable intercom for basestation cameras
* bump 0.4.0
* backward compatible headers
* bump 0.4.1
* pin cryptography to latest without rust
* monkey patch binary deps and pin cryptography for armv7l
* hacks to use ffmpeg but fails due to dependency on pylibsrtp
* revert back to 0.4.2
* 0.4.3 fix for M1 Macs
* use pre-built armv7l wheels
* publish 0.4.4
* use custom pypi index for armv7l wheels
* bump and enable new doorbell press detection
* sse debugging, hwVersion optional, avd1001 excludes battery
* bump 0.3.3
* patch SSE iterator to handle broken connection
* I am silly and don't know how six lib works
* initial beta for doorbells
* clarify comments
* temporarily disable ArloDoorbell and add arloqs
* re-add SSE as transport option
* bump
* generate event id and timestamp when sending requests
* ping doorbells
* remove Refresh, extend internal timeout, add new action to snapshots
* lower timeout, properly listen for last image url
* tweak arlo endpoint
* promote to official release
* more mqtt subscriptions
* bump
* send heartbeats to real basestations
* bump
* fix basestation registration race condition, make single action subscriptions more efficient
* bump
* remove Online interface since it's broken for basestation cameras
* bump
* log number of discovered devices, skip cameras without basestations
* remove monkey patch, don't crash when creating cameras before they are loaded
* use storage api, significant cleanup
* more cleanup
* start of arlo plugin
* use a logger
* patch missing method onto devicemanager
* arlo camera link should be done on camera settings page
* consolidate
* log formatter
* log formatter
* discover devices as cameras. snapshot not working
* take arlo pictures
* implement video camera stream
* pull in custom arlo module and try to fix session bugs
* proxy arlo rtsp to stop stream when no clients
* snapshot ongoing stream
* cache image snapshots
* use host ip addr
* use cached if error
* using live555ProxyServer
* build live555ProxyServer, use cached pictures more
* cache pic on video, threaded
* fix issue of snapshot turning off stream
* more async
* significant cleanup, vendoring, first attempt at getting async arlo lib
* works, but problem with async and queue juggling
* timeout, queues per resource/action
* subscribe to multiple queues
* distinguish cameras and basestations, remove dependence on gmail
* some cleanup
* some cleanup
* some cleanup
* support SMS MFA
* event queue garbage collection
* video stream options
* add dependencies per koush's suggestion
Co-authored-by: Brett Jia <dev.bjia56@gmail.com>