Hirsh
📟 Resilient monitoring system that detects utility outages in unreliable environments (e.g. IoT, RaspberryPi, etc).
Hirsh is designed and optimized for:
- 💪 residency, robustness and self-healing
- 📟 running in resource-constrained IoT-like unstable environments
Maturity
The project is in early MVP state.
It's being actively tested using my RaspberryPi Zero 2W under the current unstable Ukrainian infrastructure conditions.
Setups
Hirsh can be executed in any IoT device or board computer that supports Linux-like OS and Python 3.9+.
- [Only Supported] Basic: The basic setup includes just the device. The device is plugged into the main electricity circuit/outlet along with a router that provides network connection for the device.
- UPS: TBU
Monitors
In theory, you can track any utilities your home has (e.g. electricity, network, gas, water, etc.). However, in practice it's the easiest to track:
- network connection [Only Supported]
- electricity supply
How does it work?
TBU
Notifications
Telegram
The primary way to notify you about outages is via Telegram bot. You need to create a new bot and add it to a group or a channel.
References
Similar Projects
- https://github.com/fabytm/Outage-Detector
- https://github.com/nestukh/rpi-powerfail
- https://www.kc4rcr.com/power-outage-notification/
- https://homediyelectronics.com/projects/raspberrypi/poweroffdelay/powerfail
- https://projects-raspberry.com/power-outage-sensor/
- https://raspberrypi.stackexchange.com/questions/13538/raspberry-pi-to-email-when-power-outage-occurs
Python + RPi
AsyncIO and RPi
- https://github.com/PierreRust/apigpio
- https://beenje.github.io/blog/posts/experimenting-with-asyncio-on-a-raspberry-pi/
- https://www.digikey.bg/en/maker/projects/getting-started-with-asyncio-in-micropython-raspberry-pi-pico/110b4243a2f544b6af60411a85f0437c
- https://docs.micropython.org/en/latest/library/uasyncio.html
Deployment
Metadata
Release files for hirsh 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hirsh-0.0.2.tar.gz | 19.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hirsh-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.3 kB
Release files / hirsh-0.0.2.tar.gz
| Download URL | hirsh-0.0.2.tar.gz |
|---|---|
| Size | 19.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
13399b9b717d86754cfb056e20f04c85db8fa33d6517e29254a85249dccb14d5
|
|
BLAKE2b-256 checksum How to use checksums |
373e16a32b642ec4681c312d83691265201eda779b4c8506f7d97fa4b57c54fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.1 CPython/3.9.7 Darwin/21.4.0
|
Release files / hirsh-0.0.2-py3-none-any.whl
| Download URL | hirsh-0.0.2-py3-none-any.whl |
|---|---|
| Size | 16.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bdb1dbcb2f0d3e8c5c807376fd27c332ddaf92836cb17f0d48b26dfdd9ee730f
|
|
BLAKE2b-256 checksum How to use checksums |
2dab784329454130db4bb26e6d760a1d59a9a9c2674c4208fd4681f037932e3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.1 CPython/3.9.7 Darwin/21.4.0
|