Commit Graph

85 Commits (af666c119ba67ac713925a505428d94b77b8f2da)

Author SHA1 Message Date
Jeff Culverhouse ec3f096246 fix: when motion goes idle, also clear region 3 months ago
Jeff Culverhouse e230a7673f feat!: complete MQTT and service refactor, add timestamp + event tracking, and new modular mixins
- Rewrote MQTT handling with reconnect, structured logging, and Home Assistant re-discovery triggers
- Introduced modular mixins (`helpers`, `mqtt`, `amcrest_api`) for cleaner architecture
- Replaced `util.py` with internal mixin helpers and `to_gb()` conversions
- Added new `event_text` and `event_time` sensors (with `device_class: timestamp`)
- Added support for doorbell and human-detection binary sensors
- Improved reconnect logic, last-will handling, and clean shutdown on signals
- Overhauled device discovery and state publishing to use unified upsert logic
- Simplified event handling and privacy mode inference from motion/human/doorbell events
- Introduced `tools/clear_mqtt.sh` for quick topic cleanup
- Added full pyproject.toml with lint/test/dev config (Black, Ruff, Pytest)
- Embedded full metadata and image labels in Docker build

BREAKING CHANGE:
Project layout moved to `src/amcrest2mqtt/`, internal class and import paths changed.
Users must update configs and volumes to the new structure before deploying.
3 months ago
Jeff Culverhouse ec34875f68 move app; fix Dockerfile 12 months ago
Jeff Culverhouse c72d89cea9 remove bak 12 months ago
Jeff Culverhouse 0080df406c more code cleanup 12 months ago
Jeff Culverhouse ef752c3b5a change event logging to DEBUG 12 months ago
Jeff Culverhouse c197768f3f fix log message 12 months ago
Jeff Culverhouse d46be67b57 code cleanup 12 months ago
Jeff Culverhouse d322f9ad4e another missing dict entry 12 months ago
Jeff Culverhouse b25e871067 ok, back to cheating with globals 12 months ago
Jeff Culverhouse cf0846aba0 one more dict entry to fix 12 months ago
Jeff Culverhouse c6f7887498 Wild circus of python 12 months ago
Jeff Culverhouse 47c2dbf015 send device_name too 12 months ago
Jeff Culverhouse 4046eaff00 try to op on multiple devices; how does this python stuff work?? 12 months ago
Jeff Culverhouse f905880cdf Just sleep after error instead of exiting 12 months ago
Daniel Chesterton d23d12fbb2 Various updates
- Bump dependencies
- Remove ping functionality in favour of new python-amcrest functionality (closes #33 and #38)
- Fix issue with MQTT publish hanging indefinitely if the app cannot connect to broker
- Display build date in software version (closes #53)
4 years ago
Daniel Chesterton bd18f74507 fix: fix doorbell entity name when device is called 'Doorbell' 4 years ago
Daniel Chesterton cfa7b00135 fix: move to more static Home Assistant topic names 4 years ago
Daniel Chesterton f10c04b006 fix: ensure entity_id is correct for Storage Used % entity 4 years ago
Daniel Chesterton 1a4718db0c Add support for overriding device name and add optional additional entities 4 years ago
Daniel Chesterton cc5e374419 Add entity_category and fix bug with storage totals 4 years ago
Daniel Chesterton 594a42320f Fix issue with fetching serial number (closes #35) 4 years ago
Daniel Chesterton 8e96fc5408 Add ping functionality to stop app hanging 5 years ago
Ben Fu 2a56eee4f5 Add TLS support 5 years ago
Daniel Chesterton d7e52c0843 Add STORAGE_POLL_INTERVAL environment variable 5 years ago
Daniel Chesterton df45393453 Add config topic 5 years ago
Daniel Chesterton 2e3e3afc4d Add support for human detection on AD410 and add versioning 5 years ago
Daniel Chesterton 319217b195 Add fix for AD410 events 5 years ago
Daniel Chesterton 22bf616c16 Add motion events for non-doorbell devices 5 years ago
Daniel Chesterton 6ecbbb7205 Fix bug with Home Assistant discovery and add qos attribute to discovery 5 years ago
Daniel Chesterton 8597dd94f5
Log warning if unable to fetch storage sensors 5 years ago
Daniel Chesterton 378f99a64b
Large refactor and added sensors for SD storage 5 years ago
Daniel Chesterton 2bf406d7c9
Support AD410 doorbell 5 years ago
Daniel Chesterton b84537dd4e
Use ProfileAlarmTransmit event for motion instead of AlarmLocal 5 years ago
Daniel Chesterton 7fe314614d Initial commit of amcrest2mqtt code 5 years ago