{"id":18115030,"url":"https://github.com/janw/doorelf","last_synced_at":"2025-04-06T09:28:08.635Z","repository":{"id":98526271,"uuid":"170319342","full_name":"janw/doorelf","owner":"janw","description":"🧝‍♂️ Wireless doorbell Slack notifications for TeckNet WA 1078/1088","archived":false,"fork":false,"pushed_at":"2019-02-20T07:24:00.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T14:59:03.992Z","etag":null,"topics":["433mhz","gpio","raspberry-pi","slack","slack-bot"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/janw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-12T13:05:40.000Z","updated_at":"2021-12-30T11:30:12.000Z","dependencies_parsed_at":"2023-03-08T03:30:35.477Z","dependency_job_id":null,"html_url":"https://github.com/janw/doorelf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janw%2Fdoorelf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janw%2Fdoorelf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janw%2Fdoorelf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/janw%2Fdoorelf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/janw","download_url":"https://codeload.github.com/janw/doorelf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247462842,"owners_count":20942918,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["433mhz","gpio","raspberry-pi","slack","slack-bot"],"created_at":"2024-11-01T03:07:48.727Z","updated_at":"2025-04-06T09:28:08.614Z","avatar_url":"https://github.com/janw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🧝‍♂️ Doorelf — wireless doorbell Slack notifications\n\nDoorelf is a small python daemon to be run on a Raspberry Pi equipped with an RF receiver (433/315 MHz). It listens for the signals from the doorbell button, and sends a Slack notification to a configured channel when somebody rings at the door.\n\nDoorelf has been tested with the following wireless / RF doorbell products:\n\n- [TeckNet WA 1078 / 1088](https://www.amazon.de/dp/B01BI57H06/)\n\nTechnically it should work™ with almost any 433 or 315MHz product, as the [underlying RF library, rpi_rf](https://github.com/milaq/rpi-rf) handles all signal logic in a generalized way, and only passes the received codes on to Doorelf.\n\n## Requirements and setup\n\nDoorelf requires an RF receiver to be connected to your Pi. Instructions on how to deal with the hardware side of things can be found in [this Instructables How-To](https://www.instructables.com/id/Super-Simple-Raspberry-Pi-433MHz-Home-Automation/).\n\nFor the software to run, first install the necessary packages via apt as Raspbian Lite does have neither git nor pip installed. Doorelf so far has only been tested with python3 provided by Raspbian Lite (currently v3.5).\n\n```\nsudo apt update\nsudo apt install git python3-pip -y\n```\n\nNow clone the repo, install the Python dependencies, and make sure to adjust the configuation file to match your setup — most notably, set the Slack Webhook URL, that you get after adding an [Incoming Webhook to your space](https://slack.com/apps/A0F7XDUAZ-incoming-webhooks).\n\n```\ngit clone https://github.com/janw/doorelf.git ~/doorelf\ncd ~/doorelf\n\n# Install requirements via pip\npip3 install -r requirements.txt\n\n# Modify config.ini\nvi config.ini\n```\n\nBefore starting the daemon for the first time, symlink the systemd service into place, reload, and enable the service.\n\n```\nsudo ln -s /home/pi/doorelf/doorelf.service /etc/systemd/system/\nsudo systemctl --system daemon-reload\nsudo systemctl enable doorelf.service\n```\n\n\n## Starting and running the daemon\n\nNow you're ready to start the daemon. Wait a few seconds to check its status.\n\n```\nsudo systemctl start doorelf.service\nsudo systemctl status doorelf.service\n```\n\nThe status should look as follows:\n\n```\n● doorelf.service - Doorelf, the doorbell Slack integration\n   Loaded: loaded (/home/pi/doorelf/doorelf.service; enabled; vendor preset: enabled)\n   Active: active (running) since Wed 2019-02-06 18:12:25 GMT; 1s ago\n     Docs: https://github.com/janw/doorelf\n Main PID: 4439 (python3)\n   CGroup: /system.slice/doorelf.service\n           └─4439 /usr/bin/python3 /home/pi/doorelf/daemon.py\n```\n\n\n## Setup for your actual doorbell\n\nBy default DEBUG output is enabled in `config.ini`. This way you'll be able to determine the doorbell code from the systemd status output. Simply press the doorbell button from within a reasonable distance of the Pi/receiver, and shortly after check `sudo systemctl status doorelf.service` again. You should see a few lines like this one:\n\n```\n… doorelf 2019-02-06 18:13:15,175 [DEBUG] Received code 111110001100010100001000 (pulselen 109; proto 109).\n```\n\nIf that appears multiple times it's fairly safe to assume it's your doorbell. 😄\n\nEnter the code in the `config.ini` and run `sudo systemctl restart doorelf.service\n`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanw%2Fdoorelf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjanw%2Fdoorelf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjanw%2Fdoorelf/lists"}