|
|
12 months ago | |
|---|---|---|
| .github | 4 years ago | |
| src | 12 months ago | |
| .gitignore | 5 years ago | |
| Dockerfile | 12 months ago | |
| LICENSE | 5 years ago | |
| README.md | 12 months ago | |
| VERSION | 12 months ago | |
| requirements.txt | 4 years ago | |
README.md
weirdtangent/amcrest2mqtt
Forked from dchesterton/amcrest2mqtt
A simple app to expose all events generated by Amcrest devices to MQTT using the
python-amcrest library.
It supports the following environment variables:
-
AMCREST_HOSTS(required, 1+ space-separated list of hostnames/ips) -
DEVICE_NAMES(required, 1+ space-separated list of device names - must match count of AMCREST_HOSTS) -
AMCREST_PORT(optional, default = 80) -
AMCREST_USERNAME(optional, default = admin) -
AMCREST_PASSWORD(required) -
MQTT_USERNAME(required) -
MQTT_PASSWORD(optional, default = empty password) -
MQTT_HOST(optional, default = 'localhost') -
MQTT_QOS(optional, default = 0) -
MQTT_PORT(optional, default = 1883) -
MQTT_TLS_ENABLED(required if using TLS) - set totrueto enable -
MQTT_TLS_CA_CERT(required if using TLS) - path to the ca certs -
MQTT_TLS_CERT(required if using TLS) - path to the private cert -
MQTT_TLS_KEY(required if using TLS) - path to the private key -
HOME_ASSISTANT(optional, default = false) -
HOME_ASSISTANT_PREFIX(optional, default = 'homeassistant') -
STORAGE_POLL_INTERVAL(optional, default = 3600) - how often to fetch storage data (in seconds) (set to 0 to disable functionality)
It exposes events to the following topics:
amcrest2mqtt/broker- broker configamcrest2mqtt/[SERIAL_NUMBER]/event- all eventsamcrest2mqtt/[SERIAL_NUMBER]/doorbell- doorbell status (if AD110 or AD410)amcrest2mqtt/[SERIAL_NUMBER]/human- human detection (if AD410)amcrest2mqtt/[SERIAL_NUMBER]/motion- motion events (if supported)amcrest2mqtt/[SERIAL_NUMBER]/config- device configuration information
Device Support
The app supports events for any Amcrest device supported by python-amcrest.
Home Assistant
The app has built-in support for Home Assistant discovery. Set the HOME_ASSISTANT environment variable to true to enable support.
If you are using a different MQTT prefix to the default, you will need to set the HOME_ASSISTANT_PREFIX environment variable.
Running the app
The easiest way to run the app is via Docker Compose, e.g.
version: "3"
services:
amcrest2mqtt:
container_name: amcrest2mqtt
image: weirdtangent/amcrest2mqtt:latest
restart: unless-stopped
environment:
AMCREST_HOSTS: 192.168.0.1 192.168.0.2 camera.local
DEVICE_NAMES: sensor.doorbell camera.garage camera.backyard
AMCREST_PASSWORD: password
MQTT_HOST: 192.168.0.2
MQTT_USERNAME: admin
MQTT_PASSWORD: password
HOME_ASSISTANT: "true"
Out of Scope
Non-Docker Environments
Docker is the only supported way of deploying the application. The app should run directly via Python but this is not supported.
Buy Me A Coffee
A few people have kindly requested a way to donate a small amount of money. If you feel so inclined I've set up a "Buy Me A Coffee" page where you can donate a small sum. Please do not feel obligated to donate in any way - I work on the app because it's useful to myself and others, not for any financial gain - but any token of appreciation is much appreciated 🙂