Notify a Telegram user when the motion service detects motion
Project description
motion2telegram
Motion is a program that monitors the video signal from one or more cameras and is able to detect if a significant part of the picture has changed. I.e., it can detect motion.
motion2telegram applies a pre-configured set of motion and systemd service configuration files and a script to send a message including a picture to a Telegram user/group when motion is detected.
The intent of motion2telegram is to enable me to quickly setup a Raspberry Pi with a webcam to notify me through Telegram when motion is detected.
Stack
- Raspberry Pi 1 B+
- Raspberry Pi OS Lite (32-bit) (Port of Debian Bookworm)
- Python 3.11.2
- Motion 4.5.1
- Logitech C270 HD WEBCAM
Prerequisites
- A Raspberry Pi setup with a working network configuration and connected to the internet
- Motion installed
- A Telegram account
- A Telegram bot token
- A user on Raspberry Pi OS to run the motion service. motion2telegram installation and motion service configuration is done in the context of this user. The user MUST be a member of the groups motion and video
- A Python virtual environment
Install with pip
Login with the user created to run the motion service. Create a directory, e.g. motion2telegram, and cd into it. From here on, you'll work in this directory. Create and activate a Python virtual environment and then
(venv) $ pip install motion2telegram
...
# Verify by version
(venv) $ motion2telegram -V
x.y.z
(venv) $
Configuration
Create a motion.env file and change it's access permissions. This file is used by the motion service to retrieve the Telegram bot token and the recipient's chat id.
(venv) $ motion2telegram --init
Specify your Telegram chat id and bot token in the file motion.env
# motion.env
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
Configure motion and install /etc/motion/motion.conf and /lib/systemd/system/motion.service.
(venv) $ motion2telegram --configure
motion is configured to write logs into log/motion.log and media files into media/ relative to the current directory.
The motion systemd service will reference the motion.env file in the current directory. The command will stop, configure and bring the motion service back up.
Reference
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for motion2telegram-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500f0660c357c79be51a79588aae88975fa2e2f56bad6b7696936806bff46eaf |
|
MD5 | 370c3a41e343adfb420d0cb00fe4ab79 |
|
BLAKE2b-256 | 284ef48aa4eb3d46e54c89985a4f32553ab53923be550cfa1a9db10b0862d24c |