https://github.com/eremef/awaria-outage-notifier
Unofficial electricity, water and heating outages notifier
https://github.com/eremef/awaria-outage-notifier
ai-generated enea energa heating mpwik notifier outages power tauron tauron-dystrybucja water
Last synced: about 2 months ago
JSON representation
Unofficial electricity, water and heating outages notifier
- Host: GitHub
- URL: https://github.com/eremef/awaria-outage-notifier
- Owner: eremef
- Created: 2026-02-10T11:24:07.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-04-26T12:21:03.000Z (about 2 months ago)
- Last Synced: 2026-04-26T13:21:44.748Z (about 2 months ago)
- Topics: ai-generated, enea, energa, heating, mpwik, notifier, outages, power, tauron, tauron-dystrybucja, water
- Language: Rust
- Homepage: https://eremef.xyz/awaria
- Size: 57.1 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/funding.yml
Awesome Lists containing this project
README
[English](README.md) | [Polski](README.pl.md)
# Application for Warning and Alerting of Repairs and Infrastructure Accidents
A 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.
## Downloads
[https://eremef.xyz/awaria](https://eremef.xyz/awaria)
## Supported Sources
- **Power**
- **⚡ Tauron**: Planned maintenance and emergency power outages.
- **⚡ Energa**: Planned power outages (Northern Poland).
- **⚡ Enea**: Planned maintenance (Western Poland).
- **⚡ PGE**: Planned power outages (Eastern/Central Poland).
- **⚡ Stoen**: Planned power outages (Warsaw area).
- **🔥 Heat - Fortum**: Planned and current heat/hot water outages.
- **💧 Water - MPWiK**: Water failures and maintenance work (currently Wrocław area).
## Android app
## Features
- **Multi-Source Logic**: Aggregates alerts from different utility providers (Power, Water, etc.).
- **Source Selection**: Customize which types of outages you want to see in the settings.
- **Multi-Address Support**: Monitor up to 20 different locations simultaneously.
- **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.
- **Real-time Push Notifications**: Receive instant alerts on your desktop or mobile device when a new outage is detected for your location.
- **Background Monitoring**: Automatically checks for updates in the background, even when the app is minimized or closed.
- **Throttled Parallelism**: Modern backend logic that fetches from all providers simultaneously with smart retries for maximum reliability.
- **Premium Design**:
- **Modern Interface**: Indigo-based "friendly" UI with vibrant source indicators (Rose/Sky).
- **Collapsible categories**: Organized view of "Your Location" vs "Other Outages".
- **Responsive Dark/Light mode**: Native transition support.
- **Android Widgets**:
- **Individual Source Widgets**: Separate widgets for all providers.
- **Optimized Layout**: Compact 1x1 design showing alert counts for your specific street.
- **One-tap refresh**: Tap the widget to trigger an immediate update.
- **Shared configuration**: Settings sync automatically from the main app.
- **Privacy First**: No cloud accounts. Your location and settings stay on your device.
## Prerequisites
- Node.js (v18+)
- Rust (stable)
- Android Studio & SDK (for Android builds)
- Global Tauri CLI: `npm install -g @tauri-apps/cli`
## Setup
1. Install dependencies:
```bash
npm install
```
## Development
### Desktop
Run the desktop app in development mode:
```bash
npm run dev
```
### Android
Run on a connected Android device or emulator:
```bash
npm run android
```
## Building
### Desktop app
Build the release bundle:
```bash
npm run build
```
### Android APK
Build the Android APK (unsigned/debug):
```bash
npm run android:build
```
The APK will be located at:
`src-tauri/gen/android/app/build/outputs/apk/universal/release/app-universal-release-unsigned.apk`
## Architecture
- **Frontend**: Vanilla HTML/JS/CSS in `public/`. Indigo design system with custom HSL tokens.
- **Backend (Rust)**: `src-tauri/src/lib.rs` orchestrates asynchronous fetching from multiple APIs and converts them to a `UnifiedAlert` format.
- **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.
## Settings
Settings are stored in `settings.json` in the app's data directory:
- **Desktop**: `%APPDATA%\xyz.eremef.awaria\` (Windows)
- **Android**: `/data/user/0/xyz.eremef.awaria/files/`
## Troubleshooting
- **Widget shows "?"**: The settings haven't been configured yet. Open the main app and set your location.
- **EOF Errors**: Most likely a temporary race condition during settings sync. The app includes resilient logic to retry or fall back to defaults.
- **Missing Alerts**: Check if you have the specific outage category enabled in the settings. **Note**: For new users, all sources are disabled by default.