selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

amcrest2mqtt logo

Self-host amcrest2mqtt

1.0.16

Bridge Amcrest camera events to MQTT for home automation

BetaOpen SourceMIT
Updated4 years ago
LanguagePython
Setup difficultyEasy
Stars
154
Requires
Amcrest camera, MQTT Broker
Docker
dchesterton/amcrest2mqtt
Install with Docker Compose

What is amcrest2mqtt?

amcrest2mqtt is a lightweight Python application that connects to Amcrest IP cameras and publishes all camera events — motion detection, doorbell presses, human detection, and device configuration — to an MQTT broker. It uses the python-amcrest library to communicate with any Amcrest device supported by that library. The app includes native Home Assistant MQTT discovery so entities appear automatically in Home Assistant when enabled. It runs as a Docker container (the only supported deployment method) and requires an MQTT broker and network access to the camera. The project is maintained by a single developer and accepts donations via Buy Me A Coffee.

Should you self-host amcrest2mqtt?

amcrest2mqtt scores 41/100 on selfhost.directory (how scoring works) and ranks #85 of 104 in Home Automation. It has 154 GitHub stars.

There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.

Setup is easy: most people get it running in one sitting. An official Docker image is available. It is MIT-licensed and written mostly in Python.

Its closest alternative on selfhost.directory is Home Assistant (91/100, 91 794 stars). It scores higher overall, so compare the two before you pick. See amcrest2mqtt vs Home Assistant side by side.

Features

  • Device configuration publishing
  • Doorbell event support
  • Home Assistant discovery
  • Human detection events
  • Motion detection events
  • MQTT event publishing
  • MQTT TLS support
  • Storage polling

amcrest2mqtt README

How to install amcrest2mqtt

Install amcrest2mqtt with Docker Compose

Environment variables
AMCREST_HOST, AMCREST_PORT, AMCREST_USERNAME, AMCREST_PASSWORD, MQTT_HOST, MQTT_PORT, MQTT_USERNAME, MQTT_PASSWORD, MQTT_QOS, MQTT_TLS_ENABLED, MQTT_TLS_CA_CERT, MQTT_TLS_CERT, MQTT_TLS_KEY, HOME_ASSISTANT, HOME_ASSISTANT_PREFIX, STORAGE_POLL_INTERVAL, DEVICE_NAME

version: "3" services: amcrest2mqtt: container_name: amcrest2mqtt image: dchesterton/amcrest2mqtt:latest restart: unless-stopped environment: AMCREST_HOST: 192.168.0.1 AMCREST_PASSWORD: password MQTT_HOST: 192.168.0.2 MQTT_USERNAME: admin MQTT_PASSWORD: password HOME_ASSISTANT: "true"

Docker is the only supported deployment method per the project documentation

How to configure amcrest2mqtt

  • AMCREST_HOSTIP address or hostname of the Amcrest camera (required)

    IP address or hostname of the Amcrest camera (required)

  • AMCREST_PASSWORDPassword for Amcrest camera authentication (required)

    Password for Amcrest camera authentication (required)

  • AMCREST_PORT80Port of the Amcrest camera

    Port of the Amcrest camera

  • AMCREST_USERNAMEadminUsername for Amcrest camera authentication

    Username for Amcrest camera authentication

  • DEVICE_NAMEOverride the default device name used in the Amcrest app

    Override the default device name used in the Amcrest app

  • HOME_ASSISTANTfalseEnable Home Assistant MQTT discovery

    Enable Home Assistant MQTT discovery

    values: true, false

  • HOME_ASSISTANT_PREFIXhomeassistantHome Assistant MQTT discovery prefix

    Home Assistant MQTT discovery prefix

  • MQTT_HOSTlocalhostHostname or IP of the MQTT broker

    Hostname or IP of the MQTT broker

  • MQTT_PASSWORDPassword for MQTT broker authentication

    Password for MQTT broker authentication

  • MQTT_PORT1883Port of the MQTT broker

    Port of the MQTT broker

  • MQTT_QOS0MQTT Quality of Service level

    MQTT Quality of Service level

    values: 0, 1, 2

  • MQTT_TLS_CA_CERTPath to CA certificate for MQTT TLS

    Path to CA certificate for MQTT TLS

  • MQTT_TLS_CERTPath to client certificate for MQTT TLS

    Path to client certificate for MQTT TLS

  • MQTT_TLS_ENABLEDEnable TLS for MQTT connection

    Enable TLS for MQTT connection

    values: true, false

  • MQTT_TLS_KEYPath to client private key for MQTT TLS

    Path to client private key for MQTT TLS

  • MQTT_USERNAMEUsername for MQTT broker authentication (required)

    Username for MQTT broker authentication (required)

  • STORAGE_POLL_INTERVAL3600How often to fetch storage data in seconds (0 to disable)

    How often to fetch storage data in seconds (0 to disable)

More in Home Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…