homesec 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- homesec-1.2.2/CHANGELOG.md +343 -0
- {homesec-1.2.0 → homesec-1.2.2}/DESIGN.md +8 -1
- {homesec-1.2.0 → homesec-1.2.2}/PKG-INFO +216 -167
- homesec-1.2.2/README.md +328 -0
- {homesec-1.2.0 → homesec-1.2.2}/config/example.yaml +23 -8
- {homesec-1.2.0 → homesec-1.2.2}/pyproject.toml +1 -1
- homesec-1.2.2/skills/local/homesec-db-logs/SKILL.md +73 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/__init__.py +3 -1
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/config.py +3 -1
- homesec-1.2.2/src/homesec/models/source/__init__.py +3 -0
- homesec-1.2.2/src/homesec/models/source/ftp.py +97 -0
- homesec-1.2.2/src/homesec/models/source/local_folder.py +30 -0
- homesec-1.2.2/src/homesec/models/source/rtsp.py +165 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/filters/yolo.py +2 -2
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/sources/ftp.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/sources/local_folder.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/sources/rtsp.py +2 -2
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/sources/__init__.py +4 -2
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/sources/ftp.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/sources/local_folder.py +1 -1
- homesec-1.2.2/src/homesec/sources/rtsp/__init__.py +5 -0
- homesec-1.2.2/src/homesec/sources/rtsp/clock.py +18 -0
- homesec-1.2.2/src/homesec/sources/rtsp/core.py +1264 -0
- homesec-1.2.2/src/homesec/sources/rtsp/frame_pipeline.py +325 -0
- homesec-1.2.2/src/homesec/sources/rtsp/hardware.py +143 -0
- homesec-1.2.2/src/homesec/sources/rtsp/motion.py +94 -0
- homesec-1.2.2/src/homesec/sources/rtsp/recorder.py +180 -0
- homesec-1.2.2/src/homesec/sources/rtsp/utils.py +35 -0
- homesec-1.2.2/tests/homesec/rtsp/test_frame_pipeline.py +120 -0
- homesec-1.2.2/tests/homesec/rtsp/test_hardware.py +111 -0
- homesec-1.2.0/tests/homesec/test_rtsp_helpers.py → homesec-1.2.2/tests/homesec/rtsp/test_helpers.py +3 -3
- homesec-1.2.2/tests/homesec/rtsp/test_runtime.py +962 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_app.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_ftp_source.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_yolo_filter.py +1 -1
- {homesec-1.2.0 → homesec-1.2.2}/uv.lock +2 -2
- homesec-1.2.0/CHANGELOG.md +0 -98
- homesec-1.2.0/README.md +0 -279
- homesec-1.2.0/src/homesec/models/source.py +0 -81
- homesec-1.2.0/src/homesec/sources/rtsp.py +0 -1304
- {homesec-1.2.0 → homesec-1.2.2}/.dockerignore +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/.env.example +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/.github/workflows/ci.yml +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/.github/workflows/release.yaml +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/.github/workflows/validate-pr-title.yaml +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/.gitignore +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/AGENTS.md +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/Dockerfile +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/LICENSE +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/Makefile +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/PLUGIN_DEVELOPMENT.md +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/TESTING.md +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/alembic/env.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/alembic/script.py.mako +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/alembic/versions/e6f25df0df90_initial.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/alembic.ini +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/docker-compose.yml +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/docker-entrypoint.sh +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/app.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/cli.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/config/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/config/loader.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/config/validation.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/errors.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/health/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/health/server.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/interfaces.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/logging_setup.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/maintenance/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/maintenance/cleanup_clips.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/alert.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/clip.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/enums.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/events.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/filter.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/storage.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/models/vlm.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/pipeline/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/pipeline/alert_policy.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/pipeline/core.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/alert_policies/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/alert_policies/default.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/alert_policies/noop.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/analyzers/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/analyzers/openai.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/filters/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/notifiers/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/notifiers/mqtt.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/notifiers/multiplex.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/notifiers/sendgrid_email.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/registry.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/sources/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/storage/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/storage/dropbox.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/storage/local.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/plugins/utils.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/py.typed +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/repository/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/repository/clip_repository.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/sources/base.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/state/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/state/postgres.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/storage_paths.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/telemetry/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/telemetry/db/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/telemetry/db/log_table.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/telemetry/db_log_handler.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/src/homesec/telemetry/postgres_settings.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/conftest.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/conftest.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/__init__.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/event_store.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/filter.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/notifier.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/state_store.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/storage.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/mocks/vlm.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_alert_policy.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_cleanup_clips.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_cli.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_clip_repository.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_clip_sources.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_config.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_dropbox_storage.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_enums.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_event_store.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_health.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_integration.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_local_storage.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_logging_setup.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_mqtt_notifier.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_notifiers.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_openai_vlm.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_pipeline.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_pipeline_events.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_plugin_registration.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_plugin_utils.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_sendgrid_notifier.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_source_health.py +0 -0
- {homesec-1.2.0 → homesec-1.2.2}/tests/homesec/test_state_store.py +0 -0
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
# CHANGELOG
|
|
2
|
+
|
|
3
|
+
<!-- version list -->
|
|
4
|
+
|
|
5
|
+
## v1.2.2 (2026-01-27)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- Align recording sensitivity constraints ([#16](https://github.com/lan17/homesec/pull/16),
|
|
10
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
11
|
+
|
|
12
|
+
- Defer rtsp detect fallback while recording ([#16](https://github.com/lan17/homesec/pull/16),
|
|
13
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
14
|
+
|
|
15
|
+
- Harden rtsp recording retries ([#16](https://github.com/lan17/homesec/pull/16),
|
|
16
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
17
|
+
|
|
18
|
+
- Honor exact rtsp reconnect attempts ([#16](https://github.com/lan17/homesec/pull/16),
|
|
19
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
20
|
+
|
|
21
|
+
- Improve rtsp reconnect and fallback ([#16](https://github.com/lan17/homesec/pull/16),
|
|
22
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
23
|
+
|
|
24
|
+
- Make recording motion threshold more sensitive ([#16](https://github.com/lan17/homesec/pull/16),
|
|
25
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
26
|
+
|
|
27
|
+
### Chores
|
|
28
|
+
|
|
29
|
+
- Remove rtsp improvements plan from repo ([#16](https://github.com/lan17/homesec/pull/16),
|
|
30
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
- Add homesec db logs skill ([#16](https://github.com/lan17/homesec/pull/16),
|
|
35
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
36
|
+
|
|
37
|
+
### Refactoring
|
|
38
|
+
|
|
39
|
+
- Centralize rtsp recording state ([#16](https://github.com/lan17/homesec/pull/16),
|
|
40
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
41
|
+
|
|
42
|
+
- Export rtsp public api ([#16](https://github.com/lan17/homesec/pull/16),
|
|
43
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
44
|
+
|
|
45
|
+
- Extract rtsp motion detector ([#16](https://github.com/lan17/homesec/pull/16),
|
|
46
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
47
|
+
|
|
48
|
+
- Make rtsp pipeline lifecycle explicit ([#16](https://github.com/lan17/homesec/pull/16),
|
|
49
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
50
|
+
|
|
51
|
+
- Reorganize source configs ([#16](https://github.com/lan17/homesec/pull/16),
|
|
52
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
53
|
+
|
|
54
|
+
- Restrict rtsp package exports ([#16](https://github.com/lan17/homesec/pull/16),
|
|
55
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
56
|
+
|
|
57
|
+
- Simplify rtsp run loop ([#16](https://github.com/lan17/homesec/pull/16),
|
|
58
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
59
|
+
|
|
60
|
+
- Simplify rtsp run loop and probes ([#16](https://github.com/lan17/homesec/pull/16),
|
|
61
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
62
|
+
|
|
63
|
+
- Split rtsp into package modules ([#16](https://github.com/lan17/homesec/pull/16),
|
|
64
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
65
|
+
|
|
66
|
+
- Tighten rtsp detect fallback and backoff ([#16](https://github.com/lan17/homesec/pull/16),
|
|
67
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
68
|
+
|
|
69
|
+
### Testing
|
|
70
|
+
|
|
71
|
+
- Add rtsp reconnect deferral coverage ([#16](https://github.com/lan17/homesec/pull/16),
|
|
72
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
73
|
+
|
|
74
|
+
- Add rtsp stall and detect recovery coverage ([#16](https://github.com/lan17/homesec/pull/16),
|
|
75
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
76
|
+
|
|
77
|
+
- Cover detect switch fallback ([#16](https://github.com/lan17/homesec/pull/16),
|
|
78
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
79
|
+
|
|
80
|
+
- Cover ffmpeg timeout fallback ([#16](https://github.com/lan17/homesec/pull/16),
|
|
81
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
82
|
+
|
|
83
|
+
- Cover ffprobe error handling ([#16](https://github.com/lan17/homesec/pull/16),
|
|
84
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
85
|
+
|
|
86
|
+
- Cover ffprobe timeout fallback ([#16](https://github.com/lan17/homesec/pull/16),
|
|
87
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
88
|
+
|
|
89
|
+
- Cover recording start backoff ([#16](https://github.com/lan17/homesec/pull/16),
|
|
90
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
91
|
+
|
|
92
|
+
- Cover rtsp frame pipeline edge cases ([#16](https://github.com/lan17/homesec/pull/16),
|
|
93
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
94
|
+
|
|
95
|
+
- Cover rtsp recording timers ([#16](https://github.com/lan17/homesec/pull/16),
|
|
96
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
97
|
+
|
|
98
|
+
- Expand rtsp config coverage ([#16](https://github.com/lan17/homesec/pull/16),
|
|
99
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
100
|
+
|
|
101
|
+
- Expand rtsp coverage and regroup tests ([#16](https://github.com/lan17/homesec/pull/16),
|
|
102
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
103
|
+
|
|
104
|
+
- Harden rtsp config paths ([#16](https://github.com/lan17/homesec/pull/16),
|
|
105
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
106
|
+
|
|
107
|
+
- Harden rtsp hardware detection ([#16](https://github.com/lan17/homesec/pull/16),
|
|
108
|
+
[`8ac42d2`](https://github.com/lan17/homesec/commit/8ac42d2e828cf2c5e9f7c0cc5da32b677ddbbd54))
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
## v1.2.1 (2026-01-19)
|
|
112
|
+
|
|
113
|
+
### Bug Fixes
|
|
114
|
+
|
|
115
|
+
- Correct ToC anchor for 'With Docker' section ([#9](https://github.com/lan17/homesec/pull/9),
|
|
116
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
117
|
+
|
|
118
|
+
- Improve CLI help output to show available commands ([#9](https://github.com/lan17/homesec/pull/9),
|
|
119
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
120
|
+
|
|
121
|
+
### Chores
|
|
122
|
+
|
|
123
|
+
- Sync uv.lock version ([#9](https://github.com/lan17/homesec/pull/9),
|
|
124
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
125
|
+
|
|
126
|
+
- Update uv.lock
|
|
127
|
+
([`f417abc`](https://github.com/lan17/homesec/commit/f417abc93632e52dbb8bb109ba9bedf354713252))
|
|
128
|
+
|
|
129
|
+
### Documentation
|
|
130
|
+
|
|
131
|
+
- Add .env setup to manual quickstart to address feedback
|
|
132
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
133
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
134
|
+
|
|
135
|
+
- Add installation section and update CLI examples ([#9](https://github.com/lan17/homesec/pull/9),
|
|
136
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
137
|
+
|
|
138
|
+
- Add Postgres state tracking to mermaid diagram ([#15](https://github.com/lan17/homesec/pull/15),
|
|
139
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
140
|
+
|
|
141
|
+
- Address copilot feedback (ToC links, hierarchy, config cleanup)
|
|
142
|
+
([#15](https://github.com/lan17/homesec/pull/15),
|
|
143
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
144
|
+
|
|
145
|
+
- Address PR feedback on Intro and Design Principles ([#9](https://github.com/lan17/homesec/pull/9),
|
|
146
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
147
|
+
|
|
148
|
+
- Clean up mermaid diagram with simplified Postgres tracking
|
|
149
|
+
([#15](https://github.com/lan17/homesec/pull/15),
|
|
150
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
151
|
+
|
|
152
|
+
- Consolidate plugin sections with interfaces table ([#9](https://github.com/lan17/homesec/pull/9),
|
|
153
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
154
|
+
|
|
155
|
+
- Fix ToC links to point to valid headers ([#15](https://github.com/lan17/homesec/pull/15),
|
|
156
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
157
|
+
|
|
158
|
+
- Fix yolo docstring in tests ([#9](https://github.com/lan17/homesec/pull/9),
|
|
159
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
160
|
+
|
|
161
|
+
- Huge readme refactor and config update ([#9](https://github.com/lan17/homesec/pull/9),
|
|
162
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
163
|
+
|
|
164
|
+
- Humanize tone, simpler phrasing, no em-dashes ([#9](https://github.com/lan17/homesec/pull/9),
|
|
165
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
166
|
+
|
|
167
|
+
- Improve mermaid diagram to show clip file intermediate step
|
|
168
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
169
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
170
|
+
|
|
171
|
+
- Improve README intro with clearer value prop and PyPI badge
|
|
172
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
173
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
174
|
+
|
|
175
|
+
- Move Clip Source inside subgraph to fix title overlap
|
|
176
|
+
([#15](https://github.com/lan17/homesec/pull/15),
|
|
177
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
178
|
+
|
|
179
|
+
- Overhaul README & Update Config for Accuracy/DX ([#9](https://github.com/lan17/homesec/pull/9),
|
|
180
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
181
|
+
|
|
182
|
+
- Polish README - consistent paths, clearer tips ([#9](https://github.com/lan17/homesec/pull/9),
|
|
183
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
184
|
+
|
|
185
|
+
- Position Postgres to the right of pipeline ([#15](https://github.com/lan17/homesec/pull/15),
|
|
186
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
187
|
+
|
|
188
|
+
- Refine mermaid diagram (graph LR, remove styles) ([#15](https://github.com/lan17/homesec/pull/15),
|
|
189
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
190
|
+
|
|
191
|
+
- Refine mermaid layout with nested wrapper subgraph
|
|
192
|
+
([#15](https://github.com/lan17/homesec/pull/15),
|
|
193
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
194
|
+
|
|
195
|
+
- Refine README tone to be more technical ([#9](https://github.com/lan17/homesec/pull/9),
|
|
196
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
197
|
+
|
|
198
|
+
- Remove dup header, fix ToC, update yolo docstring ([#9](https://github.com/lan17/homesec/pull/9),
|
|
199
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
200
|
+
|
|
201
|
+
- Rename RTSP var to DRIVEWAY_RTSP_URL to match camera name
|
|
202
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
203
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
204
|
+
|
|
205
|
+
- Reorganize README table of contents ([#9](https://github.com/lan17/homesec/pull/9),
|
|
206
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
207
|
+
|
|
208
|
+
- Restructure Configuration with minimal and full examples
|
|
209
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
210
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
211
|
+
|
|
212
|
+
- Restructure Quickstart - shared config, Docker/non-Docker run options
|
|
213
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
214
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
215
|
+
|
|
216
|
+
- Revert mermaid diagram to vertical (graph TD) ([#15](https://github.com/lan17/homesec/pull/15),
|
|
217
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
218
|
+
|
|
219
|
+
- Revert to mermaid diagram but make it vertical ([#9](https://github.com/lan17/homesec/pull/9),
|
|
220
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
221
|
+
|
|
222
|
+
- Simplify Running without Docker, expand Development section
|
|
223
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
224
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
225
|
+
|
|
226
|
+
- Streamline Quickstart for pip-only users ([#9](https://github.com/lan17/homesec/pull/9),
|
|
227
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
228
|
+
|
|
229
|
+
- Sync readme config examples with .env.example ([#9](https://github.com/lan17/homesec/pull/9),
|
|
230
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
231
|
+
|
|
232
|
+
- Update Highlights - YOLO11 and remove redundant bullet
|
|
233
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
234
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
235
|
+
|
|
236
|
+
- Wrap mermaid pipeline in subgraph for better visual grouping
|
|
237
|
+
([#15](https://github.com/lan17/homesec/pull/15),
|
|
238
|
+
[`908b0d8`](https://github.com/lan17/homesec/commit/908b0d807dfe91eae5a0b29601c598d305c676d6))
|
|
239
|
+
|
|
240
|
+
### Refactoring
|
|
241
|
+
|
|
242
|
+
- Rename YOLOv8Filter to YOLOFilter and overhaul docs based on feedback
|
|
243
|
+
([#9](https://github.com/lan17/homesec/pull/9),
|
|
244
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
245
|
+
|
|
246
|
+
- Use Fire's native help output for CLI commands ([#9](https://github.com/lan17/homesec/pull/9),
|
|
247
|
+
[`77b5f65`](https://github.com/lan17/homesec/commit/77b5f65461ce4016186cfbf2b3961779fd5a9fef))
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
## v1.2.0 (2026-01-19)
|
|
251
|
+
|
|
252
|
+
### Bug Fixes
|
|
253
|
+
|
|
254
|
+
- **rtsp**: Remove incompatible -rw_timeout flag and unused variables
|
|
255
|
+
([`40339a2`](https://github.com/lan17/homesec/commit/40339a27ff3f45117ef918c6485da8dbcc0be724))
|
|
256
|
+
|
|
257
|
+
- **rtsp**: Use -vsync 0 instead of -fps_mode for older ffmpeg compat
|
|
258
|
+
([`22fc7e3`](https://github.com/lan17/homesec/commit/22fc7e3fab57aefa869d4246b036d5d0b47494dd))
|
|
259
|
+
|
|
260
|
+
### Chores
|
|
261
|
+
|
|
262
|
+
- Sync uv.lock with project version 1.1.2 ([#14](https://github.com/lan17/homesec/pull/14),
|
|
263
|
+
[`64f50d8`](https://github.com/lan17/homesec/commit/64f50d86d22f0a52a8298c9ba38146cc17a1f0be))
|
|
264
|
+
|
|
265
|
+
### Features
|
|
266
|
+
|
|
267
|
+
- **rtsp**: Add configurable ffmpeg_flags and robust defaults
|
|
268
|
+
([`e460637`](https://github.com/lan17/homesec/commit/e460637bbdeee7f3947ddf2778a69c980edcf24b))
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
## v1.1.2 (2026-01-19)
|
|
272
|
+
|
|
273
|
+
### Bug Fixes
|
|
274
|
+
|
|
275
|
+
- Use PAT token for release workflow to bypass branch protection
|
|
276
|
+
([#13](https://github.com/lan17/homesec/pull/13),
|
|
277
|
+
[`511ac6d`](https://github.com/lan17/homesec/commit/511ac6d8899365d324ede41aefdbe8fab910f1cb))
|
|
278
|
+
|
|
279
|
+
### Refactoring
|
|
280
|
+
|
|
281
|
+
- Complete plugin architecture standardization ([#10](https://github.com/lan17/homesec/pull/10),
|
|
282
|
+
[`4e5b85f`](https://github.com/lan17/homesec/commit/4e5b85fd9a32d4f71c4365222a735c2e01eba583))
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
## v1.1.1 (2026-01-16)
|
|
286
|
+
|
|
287
|
+
### Bug Fixes
|
|
288
|
+
|
|
289
|
+
- Improve CLI help output to show available commands ([#8](https://github.com/lan17/homesec/pull/8),
|
|
290
|
+
[`4c8342f`](https://github.com/lan17/homesec/commit/4c8342f71274f2110231f112b77d68c8bb119c17))
|
|
291
|
+
|
|
292
|
+
### Chores
|
|
293
|
+
|
|
294
|
+
- Sync uv.lock version ([#8](https://github.com/lan17/homesec/pull/8),
|
|
295
|
+
[`4c8342f`](https://github.com/lan17/homesec/commit/4c8342f71274f2110231f112b77d68c8bb119c17))
|
|
296
|
+
|
|
297
|
+
### Refactoring
|
|
298
|
+
|
|
299
|
+
- Use Fire's native help output for CLI commands ([#8](https://github.com/lan17/homesec/pull/8),
|
|
300
|
+
[`4c8342f`](https://github.com/lan17/homesec/commit/4c8342f71274f2110231f112b77d68c8bb119c17))
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
## v1.1.0 (2026-01-12)
|
|
304
|
+
|
|
305
|
+
### Bug Fixes
|
|
306
|
+
|
|
307
|
+
- Add Codecov token to CI workflow ([#5](https://github.com/lan17/homesec/pull/5),
|
|
308
|
+
[`6657cf2`](https://github.com/lan17/homesec/commit/6657cf2e94fe7bf8d0eaed39cfa98242f9766188))
|
|
309
|
+
|
|
310
|
+
- Correct Codecov badge URL case (HomeSec) ([#6](https://github.com/lan17/homesec/pull/6),
|
|
311
|
+
[`74019fe`](https://github.com/lan17/homesec/commit/74019fe4b313d588a72e96ff86a7b647e69c8150))
|
|
312
|
+
|
|
313
|
+
### Features
|
|
314
|
+
|
|
315
|
+
- Add code coverage and improve documentation ([#4](https://github.com/lan17/homesec/pull/4),
|
|
316
|
+
[`b1d9490`](https://github.com/lan17/homesec/commit/b1d949057db675ed20f2623f06cef1fd58c4dcc3))
|
|
317
|
+
|
|
318
|
+
### Testing
|
|
319
|
+
|
|
320
|
+
- Improve code coverage from 64% to 70% ([#7](https://github.com/lan17/homesec/pull/7),
|
|
321
|
+
[`7b93468`](https://github.com/lan17/homesec/commit/7b934685e8389bb24c8cc8878cb43b5570f5371e))
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
## v1.0.2 (2026-01-11)
|
|
325
|
+
|
|
326
|
+
### Bug Fixes
|
|
327
|
+
|
|
328
|
+
- CI and release workflow improvements ([#3](https://github.com/lan17/homesec/pull/3),
|
|
329
|
+
[`ab61e47`](https://github.com/lan17/homesec/commit/ab61e47c7c16c79e8472807c07e4974e31a13c29))
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
## v1.0.1 (2026-01-11)
|
|
333
|
+
|
|
334
|
+
### Bug Fixes
|
|
335
|
+
|
|
336
|
+
- Improve release workflow dry run and prevent major version jumps
|
|
337
|
+
([#2](https://github.com/lan17/HomeSec/pull/2),
|
|
338
|
+
[`ba02512`](https://github.com/lan17/HomeSec/commit/ba025129de5caa984552807e4e0f376666db485e))
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
## v1.0.0 (2026-01-11)
|
|
342
|
+
|
|
343
|
+
- Initial Release
|
|
@@ -136,7 +136,14 @@ Build a reliable, pluggable pipeline to:
|
|
|
136
136
|
|
|
137
137
|
## Current Building Blocks (Repo)
|
|
138
138
|
|
|
139
|
-
- Motion + recording: `src/homesec/sources/rtsp.py` (OpenCV motion detection + ffmpeg recording).
|
|
139
|
+
- Motion + recording: `src/homesec/sources/rtsp/core.py` (OpenCV motion detection + ffmpeg recording).
|
|
140
|
+
- RTSP helpers live in `src/homesec/sources/rtsp/`:
|
|
141
|
+
- `frame_pipeline.py` (ffmpeg frame reader + stall/reconnect support)
|
|
142
|
+
- `recorder.py` (ffmpeg recording process)
|
|
143
|
+
- `motion.py` (motion detection logic)
|
|
144
|
+
- `hardware.py` (hwaccel detection)
|
|
145
|
+
- `clock.py` (clock abstraction for tests)
|
|
146
|
+
- `utils.py` (shared helpers)
|
|
140
147
|
- Object detection plugin (reference): `src/homesec/plugins/filters/yolo.py` (YOLOv8 sampling to detect people/animals).
|
|
141
148
|
- VLM plugin (reference): `src/homesec/plugins/analyzers/openai.py` (structured output with `risk_level`, `activity_type`, timeline).
|
|
142
149
|
- Postgres (workflow state when available): Alembic migrations (`alembic/`) + telemetry logging (`src/db_log_handler.py`) + workflow state table `clip_states` (best-effort; DB outages may drop state updates).
|