Discover a project aimed at crafting a lightweight, feature-packed doorbell. Enjoy video calling and remote door unlocking, all at a fraction of the usual cost.
dieKlingel is designed to run on a small computer like a Raspberry Pi. It has intergrations for different types of use-cases. We try to keep each use case as easy to configure as possible.
At the hearth of dieKlingel runs a kiosk application which is build with QML which makes it possible to be extended as needed. The kiosk application is desinged to run on small display and give the user the ability to ring the bell, turn on the light or unlock the doo via a passcode on the screen.
You need mediastreams? You get mediastreams! The SIP intergration allows it, to ring your phone, when some action is going on infront of your door. With the power of Flexisip and the Linphone APP you'll get notifications on your phone even, if you aren't at home.
How would it be easier to intergrate dieKlingel in your smarthome without coupling it to a decent provider? The mqtt intergration could be connected to an mqtt broker, and publish events on topics, so that other smart devices could react on these. Also states like "online" and "offline" could be gathered via mqtt.
Do you prefer a physical button instead of the onscreen button? Don't worry, use the gpio pins of your Raspberry Pi as input to react on a button press. An integration which gets extremle powerfull in combination with the Kiosk, just use QML to script the actions on an input event.
To be able to run the project you have to build it. Start by cloning this repository.
Install dependencies which are required to build and/or run the project.
# Buildtime dependencies
sudo make deps:build
# Runtime dependencies
sudo make deps:run
# Development dependencies
sudo make deps:dev
# Or for development, build and runtime
sudo make deps:all
make build
# Or build a debian package archive
make package
sudo make install
# Or if you build a debian package archive
sudo apt-get install ./build/dieklingel-core_<VERSION>_<ARCH>.deb
Now you should be able to run the core with its default configuration. Don't worry you won't see much, because all integrations are disabled by default.
dieklingel-core
Now its time to enable the integrations you would like to use. The configuration file is called core.js
and the core will look in multiple locations and choose the first file wich will be found.
$(pwd)/core.js
$HOME/.config/core.js
$HOME/core.js
/etc/dieklingel-core/core.js
/usr/share/dieklingel-core/core.js
To configure the core as needed refere to core.js and core.d.ts.
-
🚀 Start as user service
systemctl --user start dieklingel-core
-
✋ Stop as user service
systemctl --user stop dieklingel-core
-
🔄 Restart the service
systemctl --user restart dieklingel-core
-
🚗 Run after login
systemctl --user enable dieklingel-core