Dlaczego monitoring smart home potrzebuje Uptime Kuma • Sposoby integracji — REST API, MQTT, custom component • Dodanie Uptime Kuma jako sensora REST w HA • Dashboard — karty Lovelace z danymi monitoringu • Automatyzacje — reakcje na alerty • Co warto monitorować w homelabie • Push Monitor — heartbeat dla automatyzacji HA • Powiadomienia — HA + Telegram/Discord • Podsumowanie • Najczęściej zadawane pytania
Jeśli prowadzisz homelab lub smart home z Home Assistant, prawdopodobnie masz dziesiątki usług self-hosted — Nextcloud, Plex, Pi-hole, Vaultwarden, Gitea, Jellyfin i wiele innych. Każda z nich może przestać działać — po aktualizacji, awarii dysku, przepełnieniu pamięci czy restarcie serwera.
Home Assistant świetnie zarządza urządzeniami IoT i automatyzacjami domowymi, ale nie jest narzędziem do monitoringu usług sieciowych. Uptime Kuma wypełnia tę lukę — monitoruje dostępność usług, baz danych, kontenerów Docker i portów, a Home Assistant integruje te dane w jeden spójny dashboard.
Razem tworzą potężny tandem: Uptime Kuma monitoruje, HA wizualizuje i automatyzuje reakcje.
Istnieją trzy główne metody integracji Uptime Kuma z Home Assistant:
| Metoda | Złożoność | Zalety | Wady |
|---|---|---|---|
| REST sensor | Niska | Standardowy HA, brak dodatkowych zależności | Polling (co 30-60s), wymaga konfiguracji YAML |
| MQTT | Średnia | Real-time, push-based, lekki | Wymaga brokera MQTT |
| Custom component | Niska | Pełna integracja, auto-discovery | Zależność od społeczności |
Najprostsza metoda — REST sensor odpytuje API Uptime Kuma o status monitorów.
# configuration.yaml
rest:
- resource: "https://uptime.twoja-domena.pl/api/status-page/heartbeat/main"
scan_interval: 30
sensor:
- name: "Uptime Kuma — Strona WWW"
value_template: >
{% set monitor = value_json.heartbeatList['1'][-1] %}
{{ 'Online' if monitor.status == 1 else 'Offline' }}
json_attributes_path: "$.heartbeatList.1[-1:]"
json_attributes:
- ping
- status
- msg
- name: "Uptime Kuma — API"
value_template: >
{% set monitor = value_json.heartbeatList['2'][-1] %}
{{ 'Online' if monitor.status == 1 else 'Offline' }}
- name: "Uptime Kuma — Baza MySQL"
value_template: >
{% set monitor = value_json.heartbeatList['3'][-1] %}
{{ 'Online' if monitor.status == 1 else 'Offline' }}
Po dodaniu sensorów REST możesz tworzyć karty Lovelace wizualizujące stan monitoringu:
type: entities
title: "Status usług"
entities:
- entity: sensor.uptime_kuma_strona_www
name: "Strona WWW"
icon: mdi:web
- entity: sensor.uptime_kuma_api
name: "API"
icon: mdi:api
- entity: sensor.uptime_kuma_baza_mysql
name: "Baza MySQL"
icon: mdi:database
type: conditional
conditions:
- condition: state
entity: sensor.uptime_kuma_strona_www
state: "Offline"
card:
type: markdown
content: "⚠️ **ALERT:** Strona WWW jest niedostępna!"
style: |
ha-card { background: #ff5252; color: white; }
Home Assistant może automatycznie reagować na zmiany statusu monitorów Uptime Kuma:
automation:
- alias: "Alert — usługa down"
trigger:
- platform: state
entity_id: sensor.uptime_kuma_strona_www
to: "Offline"
for:
minutes: 2
action:
- service: notify.mobile_app_telefon
data:
title: "🔴 Strona WWW DOWN"
message: "Strona firmowa jest niedostępna od 2 minut!"
data:
priority: high
channel: monitoring
automation:
- alias: "Auto-restart Nextcloud"
trigger:
- platform: state
entity_id: sensor.uptime_kuma_nextcloud
to: "Offline"
for:
minutes: 5
condition:
- condition: time
after: "06:00:00"
before: "23:00:00"
action:
- service: shell_command.restart_nextcloud
- service: notify.telegram_admin
data:
message: "⚠️ Nextcloud down — automatyczny restart wykonany"
| Usługa | Typ monitora w UK | Co sprawdzamy |
|---|---|---|
| Nextcloud | HTTP(s) | Dostępność, czas odpowiedzi |
| Plex / Jellyfin | HTTP(s) lub TCP | Port 32400/8096, web UI |
| Pi-hole | HTTP(s) + DNS | Admin panel + rozwiązywanie DNS |
| Vaultwarden | HTTP(s) | Dostępność vault |
| Home Assistant | HTTP(s) | Web UI na porcie 8123 |
| Router | Ping | Dostępność bramy domyślnej |
| NAS (Synology/QNAP) | Ping + TCP | Host + porty SMB/NFS |
| Backupy Borg/Restic | Push/Heartbeat | Czy backup się wykonał |
| Certyfikaty SSL | HTTP(s) | Dni do wygaśnięcia |
| MQTT Broker | MQTT | Dostępność Mosquitto |
Push Monitor w Uptime Kuma to idealny sposób na monitorowanie automatyzacji Home Assistant. Twoja automatyzacja HA wysyła heartbeat do Uptime Kuma po zakończeniu — brak sygnału oznacza, że automatyzacja się nie wykonała.
automation:
- alias: "Heartbeat — backup nocny"
trigger:
- platform: time
at: "03:00:00"
action:
- service: shell_command.run_backup
- service: rest_command.uptime_kuma_heartbeat
data:
monitor_id: "backup-nocny"
status: "up"
msg: "Backup completed"
rest_command:
uptime_kuma_heartbeat:
url: "https://uptime.twoja-domena.pl/api/push/{{ monitor_id }}?status={{ status }}&msg={{ msg }}"
method: GET
Uptime Kuma może wysyłać powiadomienia bezpośrednio do Home Assistant (natywny kanał „Home Assistant"), a HA może je przetwarzać i dystrybuować — np. na Telegram w dzień, ciche push nocą, lampka LED przy biurku gdy coś jest down.
Możesz też pominąć HA i skonfigurować powiadomienia bezpośrednio w Uptime Kuma — na Telegram, Discord, Email lub dowolny z 91 kanałów. Oba podejścia działają równolegle.
Integracja Uptime Kuma + Home Assistant to idealne połączenie dla homelabowców i entuzjastów smart home. Uptime Kuma monitoruje dostępność usług, a Home Assistant wizualizuje dane i automatyzuje reakcje na awarie.
Kluczowe elementy integracji:
Najprostszą metodą jest REST sensor w HA odpytujący API Uptime Kuma. Alternatywnie: MQTT (Uptime Kuma publikuje na broker) lub custom_component społeczności.
Tak. Po dodaniu sensorów REST tworzysz karty Lovelace — entity cards, gauge cards, history graphs i conditional cards dla alertów.
Tak. HA może reagować na zmianę statusu sensora UK — wysłać push, włączyć lampkę, zrestartować usługę przez SSH lub uruchomić dowolny skrypt.
Nextcloud, Plex, Jellyfin, Pi-hole, Vaultwarden, Gitea, router, NAS, backupy (Push Monitor), certyfikaty SSL, MQTT broker i wszystkie self-hosted usługi.
Tak. Uptime Kuma ma natywny kanał „Home Assistant" — wysyła alerty bezpośrednio do HA przez REST API, które możesz przetwarzać automatyzacjami.
Nie. REST sensor odpytuje UK co 30-60 sekund jednym żądaniem HTTP — obciążenie minimalne. MQTT jest jeszcze lżejszy — dane push-based.