Commit Graph
43 Commits
Author SHA1 Message Date
Blake Blackshear 8f101ccca8 improve box merging and keep tracking 2021-11-01 07:58:30 -05:00
Blake Blackshear 26ae6084ea fix rtmp again 2021-10-24 13:53:43 -05:00
Blake Blackshear a67b8ab84d validate with runtime config (fixes #2055) 2021-10-23 08:21:15 -05:00
Blake Blackshear c3109f808c allow partial days in retention settings 2021-09-20 18:59:16 -05:00
Blake Blackshear 661f7baa21 fix global live config 2021-09-13 20:33:00 -05:00
Blake Blackshear 288b1a0562 remove nested enabled config setting on events 2021-09-08 08:02:26 -05:00
Blake Blackshear e8eb3125a5 disallow extra keys in config 2021-09-04 16:56:01 -05:00
65855e23d9 Add RTMP and timestamp style to global config (#1674)
* :memo::white_check_mark:🔧 - Make RTMP config global

Fixes #1671

* :memo::white_check_mark:🔧 - Make timestamp style config global

Fixes #1656

* fix test function names

* formatter

Co-authored-by: Blake Blackshear <blakeb@blakeshome.com>
2021-09-03 07:03:36 -05:00
Blake Blackshear fbea51372f sync global snapshot options (fixes #1621) 2021-08-28 09:14:00 -05:00
Blake Blackshear fa5ec8d019 cleanup global and camera detect config (fixes #1615) 2021-08-28 08:51:51 -05:00
Blake Blackshear 11c425a7eb error on invalid role 2021-08-28 08:16:25 -05:00
Blake Blackshear 45798d6d14 clean house on clips 2021-08-15 08:30:27 -05:00
Blake Blackshear f3a1c1de0a move width/height/fps under detect and make required
also resizes the output from ffmpeg to specified size
2021-08-14 14:18:35 -05:00
Jason HunterandBlake Blackshear a476bc9885 initial commit 2021-08-07 15:51:16 -05:00
Blake Blackshear ebee204ca0 ensure default args propogate 2021-07-10 06:40:50 -05:00
Blake Blackshear 92aa16c556 add labelmap customization to the config (fixes #507) 2021-07-07 22:58:18 -05:00
Blake Blackshear a3853af47a fix test 2021-07-07 22:58:18 -05:00
Blake Blackshear b4e7e51e63 make contour_area dynamic 2021-07-01 07:54:09 -05:00
Blake Blackshear 2a41a9d3ff set min motion frame to 180 2021-07-01 07:54:09 -05:00
Blake Blackshear f9457be109 add test for max_disappeared default 2021-06-27 08:13:48 -05:00
Jason HunterandBlake Blackshear 8d01cc4807 fix ffmpeg config and remove side effects 2021-06-25 06:13:08 -05:00
Jason HunterandBlake Blackshear c664bd63f6 initial conversion to pydantic 2021-06-24 06:53:05 -05:00
Blake Blackshear fa61e9da29 maintain aspect ratio for birdseye 2021-06-23 08:15:15 -05:00
Blake Blackshear c70419bd0b update birdseye layout calculations 2021-06-12 07:23:14 -05:00
Sean VigandBlake Blackshear 84a0827aee Use dataclasses for config handling
Use config data classes to eliminate some of the boilerplate associated
with setting up the configuration.  In particular, using dataclasses
removes a lot of the boilerplate around assigning properties to the
object and allows these to be easily immutable by freezing them.  In the
case of simple, non-nested dataclasses, this also provides more
convenient `asdict` helpers.

To set this up, where previously the objects would be parsed from the
config via the `__init__` method, create a `build` classmethod that does
this and calls the dataclass initializer.

Some of the objects are mutated at runtime, in particular some of the
zones are mutated to set the color (this might be able to be refactored
out) and some of the camera functionality can be enabled/disabled.  Some
of the configs with `enabled` properties don't seem to have mqtt hooks
to be able to toggle this, in particular, the clips, snapshots, and
detect can be toggled but rtmp and record configs do not, but all of
these configs are still not frozen in case there is some other
functionality I am missing.

There are a couple other minor fixes here, one that was introduced
by me recently where `max_seconds` was not defined, the other to
properly `get()` the message payload when handling publishing mqtt
messages sent via websocket.
2021-05-23 20:38:57 -05:00
Blake Blackshear 39ff49e054 formatting cleanup 2021-02-25 07:01:57 -06:00
Blake Blackshear ce90ae343c add global object mask 2021-02-20 08:20:17 -06:00
Blake Blackshear d51e9446ff add camera level ffmpeg params 2021-02-20 08:20:17 -06:00
Blake Blackshear 3fab321045 update object filters to inherit like motion settings 2021-01-26 21:40:33 -06:00
Blake Blackshear 63e14a98f9 add retention settings for snapshots 2021-01-26 21:40:33 -06:00
Blake Blackshear 80a5a7b129 cleanup save_Clips/clips inconsistency 2021-01-26 21:40:33 -06:00
Blake Blackshear 8f68df60c7 fix test 2021-01-26 21:40:33 -06:00
Blake Blackshear 41dd4447cc allow region to extend beyond the frame 2021-01-26 21:40:33 -06:00
Blake Blackshear 3c07767138 handle and warn if roles dont match enabled features 2021-01-26 21:40:33 -06:00
Blake Blackshear d60ca9d783 log level configuration 2021-01-26 21:40:33 -06:00
Blake Blackshear 117569830d ensure zones dont have the same name as a camera 2021-01-26 21:40:33 -06:00
Blake Blackshear 4e0cf3681e add multiple streams per camera 2021-01-26 21:40:33 -06:00
Blake Blackshear addfa2a32d manage events for unlisted cameras 2021-01-26 21:40:33 -06:00
Blake Blackshear 5155875a72 add clip retention to config 2021-01-26 21:40:33 -06:00
Blake Blackshear af303cbf2a create typed config classes 2021-01-26 21:40:33 -06:00
Blake Blackshear 180baeba50 app container and config schema 2021-01-26 21:40:33 -06:00
Blake Blackshear f64320a464 remove invalid tests 2020-09-17 07:37:27 -05:00
Blake Blackshear ea4ecae27c Refactor with a working false positive test 2020-09-17 07:37:27 -05:00