/hirsh

πŸ“Ÿ Resilient monitoring system that detects utility outages in unreliable environments (e.g. IoT, RaspberryPi, etc)

Primary LanguagePythonApache License 2.0Apache-2.0

Hirsh

πŸ“Ÿ Resilient monitoring system that detects home utility outages in unreliable environments (e.g. IoT, RaspberryPi, etc).

Hirsh is designed and optimized for:

  • πŸ’ͺ resiliency, robustness and self-healing
  • πŸ“Ÿ running in resource-constrained IoT-like unstable environments
  • ✨ easy installation, configuration and self-service

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

Notifications

Hirsh is notification agnostic application. It's designed to support rich variety of mediums.

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.

Will Add Soon

This is the list of notification sources that will be added next.

How does it work?

Technically, Hirhs is an asyncio Python3 daemon. It uses SQLite to persist gathered information, process and keep you notified.

References

Similar Projects

Python + RPi

AsyncIO and RPi

Deployment