{"id":47595685,"url":"https://github.com/eremef/awaria-outage-notifier","last_synced_at":"2026-04-26T14:01:20.808Z","repository":{"id":337721633,"uuid":"1154425084","full_name":"eremef/awaria-outage-notifier","owner":"eremef","description":"Unofficial electricity, water and heating outages notifier","archived":false,"fork":false,"pushed_at":"2026-04-26T12:21:03.000Z","size":59912,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-26T13:21:44.748Z","etag":null,"topics":["ai-generated","enea","energa","heating","mpwik","notifier","outages","power","tauron","tauron-dystrybucja","water"],"latest_commit_sha":null,"homepage":"https://eremef.xyz/awaria","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eremef.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/funding.yml","license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"eremef","buy_me_a_coffee":"eremef.xyz","custom":["https://buycoffee.to/eremef.xyz"]}},"created_at":"2026-02-10T11:24:07.000Z","updated_at":"2026-04-26T12:21:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/eremef/awaria-outage-notifier","commit_stats":null,"previous_names":["eremef/tauron-notifier","eremef/awaria-outage-notifier"],"tags_count":55,"template":false,"template_full_name":null,"purl":"pkg:github/eremef/awaria-outage-notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eremef%2Fawaria-outage-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eremef%2Fawaria-outage-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eremef%2Fawaria-outage-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eremef%2Fawaria-outage-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eremef","download_url":"https://codeload.github.com/eremef/awaria-outage-notifier/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eremef%2Fawaria-outage-notifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32299644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T09:34:17.070Z","status":"ssl_error","status_checked_at":"2026-04-26T09:34:00.993Z","response_time":129,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["ai-generated","enea","energa","heating","mpwik","notifier","outages","power","tauron","tauron-dystrybucja","water"],"created_at":"2026-04-01T18:03:42.929Z","updated_at":"2026-04-26T14:01:20.802Z","avatar_url":"https://github.com/eremef.png","language":"Rust","funding_links":["https://github.com/sponsors/eremef","https://buymeacoffee.com/eremef.xyz","https://buycoffee.to/eremef.xyz"],"categories":[],"sub_categories":[],"readme":"[English](README.md) | [Polski](README.pl.md)\n\n# Application for Warning and Alerting of Repairs and Infrastructure Accidents\n\n\u003cp align=\"center\"\u003e\n   \u003cimg height=\"600\" alt=\"image\" src=\"https://github.com/user-attachments/assets/108932b2-0fe0-4a19-8769-61d4962835ac\" /\u003e\n\u003c/p\u003e\n\nA modern desktop (Tauri) and Android application providing real-time alerts for planned and emergency outages. **AWARIA** aggregates data from multiple utility providers into a centralized interface.\n\n## Downloads\n\n[https://eremef.xyz/awaria](https://eremef.xyz/awaria)\n\n## Supported Sources\n\n- **Power**\n    - **⚡ Tauron**: Planned maintenance and emergency power outages.\n    - **⚡ Energa**: Planned power outages (Northern Poland).\n    - **⚡ Enea**: Planned maintenance (Western Poland).\n    - **⚡ PGE**: Planned power outages (Eastern/Central Poland).\n    - **⚡ Stoen**: Planned power outages (Warsaw area).\n- **🔥 Heat - Fortum**: Planned and current heat/hot water outages.\n- **💧 Water - MPWiK**: Water failures and maintenance work (currently Wrocław area).\n\n## Android app\n\n\u003cp align=\"center\"\u003e\n  \u003cimg height=\"600\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2760977f-67a5-465d-9e59-0629b0b958b5\" /\u003e\n\u003c/p\u003e\n\n## Features\n\n- **Multi-Source Logic**: Aggregates alerts from different utility providers (Power, Water, etc.).\n- **Source Selection**: Customize which types of outages you want to see in the settings.\n- **Multi-Address Support**: Monitor up to 20 different locations simultaneously.\n- **Smart Address Matching**: Highlights alerts affecting your specific address (or addresses). **Note**: Currently, matching is performed at the city and street level; building-specific filtering by house number is not yet implemented.\n- **Real-time Push Notifications**: Receive instant alerts on your desktop or mobile device when a new outage is detected for your location.\n- **Background Monitoring**: Automatically checks for updates in the background, even when the app is minimized or closed.\n- **Throttled Parallelism**: Modern backend logic that fetches from all providers simultaneously with smart retries for maximum reliability.\n- **Premium Design**:\n  - **Modern Interface**: Indigo-based \"friendly\" UI with vibrant source indicators (Rose/Sky).\n  - **Collapsible categories**: Organized view of \"Your Location\" vs \"Other Outages\".\n  - **Responsive Dark/Light mode**: Native transition support.\n- **Android Widgets**:\n  - **Individual Source Widgets**: Separate widgets for all providers.\n  - **Optimized Layout**: Compact 1x1 design showing alert counts for your specific street.\n  - **One-tap refresh**: Tap the widget to trigger an immediate update.\n  - **Shared configuration**: Settings sync automatically from the main app.\n- **Privacy First**: No cloud accounts. Your location and settings stay on your device.\n\n## Prerequisites\n\n- Node.js (v18+)\n- Rust (stable)\n- Android Studio \u0026 SDK (for Android builds)\n- Global Tauri CLI: `npm install -g @tauri-apps/cli`\n\n## Setup\n\n1. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n## Development\n\n### Desktop\n\nRun the desktop app in development mode:\n\n```bash\nnpm run dev\n```\n\n### Android\n\nRun on a connected Android device or emulator:\n\n```bash\nnpm run android\n```\n\n## Building\n\n### Desktop app\n\nBuild the release bundle:\n\n```bash\nnpm run build\n```\n\n### Android APK\n\nBuild the Android APK (unsigned/debug):\n\n```bash\nnpm run android:build\n```\n\nThe APK will be located at:\n`src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk`\n\n## Architecture\n\n- **Frontend**: Vanilla HTML/JS/CSS in `public/`. Indigo design system with custom HSL tokens.\n- **Backend (Rust)**: `src-tauri/src/lib.rs` orchestrates asynchronous fetching from multiple APIs and converts them to a `UnifiedAlert` format.\n- **Android Widgets**: Native implementation utilizing a `BaseWidgetProvider` with specific providers for each utility (e.g. `TauronWidgetProvider`, `StoenWidgetProvider`). Includes a `WorkManager` background worker for periodic updates.\n\n## Settings\n\nSettings are stored in `settings.json` in the app's data directory:\n\n- **Desktop**: `%APPDATA%\\xyz.eremef.awaria\\` (Windows)\n- **Android**: `/data/user/0/xyz.eremef.awaria/files/`\n\n## Troubleshooting\n\n- **Widget shows \"?\"**: The settings haven't been configured yet. Open the main app and set your location.\n- **EOF Errors**: Most likely a temporary race condition during settings sync. The app includes resilient logic to retry or fall back to defaults.\n- **Missing Alerts**: Check if you have the specific outage category enabled in the settings. **Note**: For new users, all sources are disabled by default.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feremef%2Fawaria-outage-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feremef%2Fawaria-outage-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feremef%2Fawaria-outage-notifier/lists"}