Commit Graph

52 Commits (8ac2f13c70cdaa3d1666d59dbd5e54f73932f850)

Author SHA1 Message Date
Jeff Culverhouse 8a585191a6 fix: simply event for reporting to HA 3 months ago
Jeff Culverhouse ee053122bd fix: always setup defaults for all states expected at init time 3 months ago
Jeff Culverhouse 2ca75d4128 fix: return last known state if we fail to get current state, so upsert just works 3 months ago
Jeff Culverhouse 40e235c2df chore: no need for timezone in config, just set in ENV; update sample files and README 3 months ago
Jeff Culverhouse 33ab97597f fix: more generic Dockerfile; remove old/; better logging for failed /media writes 3 months ago
Jeff Culverhouse 1b111b8a4f fix: add last_device_check sensor; fix service status; only post messages on changes 3 months ago
Jeff Culverhouse a414715f26 fix: code cleanup; fix service sensors; reduce logging 3 months ago
Jeff Culverhouse e8ea58b42d fix: add heartbeat bits and pieces 3 months ago
Jeff Culverhouse 57efd3e86b chore: switch 2 errors to just info 3 months ago
Jeff Culverhouse 35c8486b96 chore: std Dockerfile and docker-compose, plus a few other fixes 3 months ago
Jeff Culverhouse 11e18b1b73 chore: move safe_publish to our helper 3 months ago
Jeff Culverhouse 06e6ce24bb fix: adjust server avty and states 3 months ago
Jeff Culverhouse d0381e28a3 fix: backoff 5+ sec for snapshot retries 3 months ago
Jeff Culverhouse f38251344e fix: one wrong sensor state topic; allow None (null) value to be sent 3 months ago
Jeff Culverhouse 1d52185673 feature: move things around, cleaner code 3 months ago
Jeff Culverhouse 9eb890bad8 feature: added media option to store event recordings on filesystem 3 months ago
Jeff Culverhouse 1a4954b647 refactor: change snapshot from camerga to image entity 3 months ago
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