{"id":16110903,"url":"https://github.com/roma-glushko/hirsh","last_synced_at":"2025-03-18T09:30:59.116Z","repository":{"id":63513002,"uuid":"568359472","full_name":"roma-glushko/hirsh","owner":"roma-glushko","description":"📟 Resilient monitoring system that detects utility outages in unreliable environments (e.g. IoT, RaspberryPi, etc)","archived":false,"fork":false,"pushed_at":"2023-05-10T18:55:13.000Z","size":102,"stargazers_count":4,"open_issues_count":7,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-28T08:33:53.434Z","etag":null,"topics":["iot","outage-bot","outage-log","outage-monitor","python","raspberry-pi","smart-home"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/hirsh/","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/roma-glushko.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":"2022-11-20T09:34:01.000Z","updated_at":"2024-02-12T23:26:40.000Z","dependencies_parsed_at":"2024-10-27T17:29:12.404Z","dependency_job_id":"b9b9b287-31fe-4802-b027-b68d7c357649","html_url":"https://github.com/roma-glushko/hirsh","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fhirsh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fhirsh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fhirsh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roma-glushko%2Fhirsh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roma-glushko","download_url":"https://codeload.github.com/roma-glushko/hirsh/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243911136,"owners_count":20367634,"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":["iot","outage-bot","outage-log","outage-monitor","python","raspberry-pi","smart-home"],"created_at":"2024-10-09T19:39:45.396Z","updated_at":"2025-03-18T09:30:58.390Z","avatar_url":"https://github.com/roma-glushko.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hirsh\n\n📟 Resilient monitoring system that detects home utility outages in unreliable environments (e.g. IoT, RaspberryPi, etc).\n\nHirsh is designed and optimized for:\n\n- 💪 resiliency, robustness and self-healing \n- 📟 running in resource-constrained IoT-like unstable environments\n- ✨ easy installation, configuration and self-service\n\n## Maturity\n\nThe project is in early MVP state. \n\nIt's being actively tested using my [RaspberryPi Zero 2W](https://www.raspberrypi.com/products/raspberry-pi-zero-2-w/) under [the current unstable 🇺🇦 Ukrainian infrastructure conditions](https://www.ft.com/content/2be7ac39-530f-4c80-8363-f05ec37234eb).\n\n## Setups\n\nHirsh can be executed in any IoT device or board computer that supports Linux-like OS and Python 3.9+.\n\n- [Only Supported] Basic: The basic setup includes just the device.\n    The device is plugged into the main electricity circuit/outlet along with a router that provides network connection for the device.\n- UPS: TBU\n\n## Monitors\n\nIn theory, you can track any utilities your home has (e.g. electricity, network, gas, water, etc.). \nHowever, in practice it's the easiest to track:\n\n- network connection [Only Supported]\n- electricity supply\n\n## Notifications\n\nHirsh is notification agnostic application. It's designed to support rich variety of mediums.\n\n### Telegram\n\nThe primary way to notify you about outages is via [Telegram bot](https://core.telegram.org/bots).\nYou need to create [a new bot](https://t.me/BotFather) and add it to a group or a channel.\n\n### Will Add Soon\n\nThis is the list of notification sources that will be [added next](https://github.com/roma-glushko/hirsh/issues?q=is%3Aissue+is%3Aopen+label%3Anotifiers).\n\n## How does it work?\n\nTechnically, Hirhs is an [asyncio](https://docs.python.org/3/library/asyncio.html) Python3 daemon. \nIt uses SQLite to persist gathered information, process and keep you notified.\n\n\n## References\n\n### Similar Projects\n\n- https://github.com/fabytm/Outage-Detector\n- https://github.com/nestukh/rpi-powerfail\n- https://www.kc4rcr.com/power-outage-notification/\n- https://homediyelectronics.com/projects/raspberrypi/poweroffdelay/powerfail\n- https://projects-raspberry.com/power-outage-sensor/\n- https://raspberrypi.stackexchange.com/questions/13538/raspberry-pi-to-email-when-power-outage-occurs\n\n### Python + RPi\n\n- https://medium.com/geekculture/gpio-programming-on-the-raspberry-pi-python-libraries-e12af7e0a812\n\n### AsyncIO and RPi\n\n- https://github.com/PierreRust/apigpio\n- https://beenje.github.io/blog/posts/experimenting-with-asyncio-on-a-raspberry-pi/\n- https://www.digikey.bg/en/maker/projects/getting-started-with-asyncio-in-micropython-raspberry-pi-pico/110b4243a2f544b6af60411a85f0437c\n- https://docs.micropython.org/en/latest/library/uasyncio.html\n\n### Deployment\n\n- https://github.com/beenje/legomac","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froma-glushko%2Fhirsh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froma-glushko%2Fhirsh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froma-glushko%2Fhirsh/lists"}