LISTEK 2.10.0

LISTEK 2.10.0

Co się zmienia w panelu

Krótki opis zmian w LISTEK — po polsku, dla osoby korzystającej z mapy i alertów. Szczegóły techniczne są w dokumentacji dla wdrożeń.

[2.10.0] - 2026-06-09

Dodane

  • Powiadomienia w panelu admina — konfiguracja SMTP (host, port, użytkownik, hasło, nadawca, STARTTLS) z przyciskiem „Wyślij test na mój e-mail”; globalny webhook i próg powiadomień (tylko krytyczne / wysokie i krytyczne).
  • Dziennik działań — nowa zakładka panelu admina: logowania (też nieudane), potwierdzenia alertów, zmiany ról i ustawień, kopie zapasowe, czyszczenie danych, rotacje tokenów. Wpisy trzymane min. 90 dni.
  • Eksport CSV — przyciski na stronie „Urządzenia”: odczyty (7 dni) i alerty (30 dni) w formacie zgodnym z Excelem i QGIS (średnik, BOM UTF-8); zakres można zmienić parametrem ?range=24h|7d|30d|90d.
  • Rotacja tokenu czujnika — przycisk „Rotuj token” przy urządzeniu (tylko właściciel); stary token natychmiast przestaje działać.
  • Retencja z panelu — domyślną liczbę dni auto-czyszczenia ustawisz w panelu admina (nadpisuje LISTEK_DATA_RETENTION_DAYS).

Zmienione

  • Powiadomienia e-mail/webhook obejmują też poziom high (jeśli ustawisz próg „wysokie i krytyczne”).
  • Baza danych może wskazywać na inny silnik przez zmienną DATABASE_URL.

Naprawione

  • POST /api/device/register bez treści JSON zwraca czytelny błąd zamiast wyjątku 500.
  • Kod działa też na Pythonie 3.9 (adnotacje typów w app.py i analysis.py).

[2.9.0] - 2026-05-20

Dodane

  • Raport operacyjny monitoringu — z menu „Raport operacyjny” (cały las: czujniki, alerty, opis AI) obok raportu symulacji pożaru.
  • Legenda w raporcie — skróty (ryzyko, ha, p50, 112/998) na początku dokumentu.

Zmienione

  • Treść raportów odchudzona: mniej powtórzeń, sekcja 112/998 tylko przy ryzyku ≥ 45 w symulacji; anomalie i zdarzenia ograniczone do skrótu.
  • Powierzchnia w ha formatowana po polsku (np. 1,24 ha); prompty AI i prompt asystenta dopasowane do LISTEK 2.9.
  • Wydruk wielostronicowy: @page z marginesami, sekcje od „Szacunku powierzchni” / tabeli na nowej stronie; długi tekst nie wychodzi poza marginesy.

[2.8.0] - 2026-05-20

Dodane

  • Bezpieczeństwo (OWASP) — token CSRF na żądaniach zmieniających stan, nagłówki CSP/HSTS, limit żądań (logowanie, LoRa, AI), polityka haseł (min. 8 znaków, litera + cyfra), blokada SSRF na webhookach HTTPS, weryfikacja roli admin w bazie.
  • Kopia zapasowa w panelu admina — eksport .json.gz i import z potwierdzeniem przywróć backup (zastępuje bazę; klucze API w eksporcie zamaskowane).

Zmienione

  • Produkcja: LoRa uplink wymaga LORA_GATEWAY_SECRET (chyba że jawnie LISTEK_ALLOW_OPEN_LORA=1 w dev).
  • Rejestracja kont domyślnie wyłączona w FLASK_ENV=production — włącz LISTEK_ALLOW_REGISTRATION=1 jeśli potrzebna.
  • Token czujnika tylko w nagłówku X-Device-Token (nie w URL).
  • /api/version nie ujawnia ścieżki .env ani stanu kluczy — szczegóły AI tylko dla admina.

Naprawione

  • Dostęp do analizy AI sektora dla lasów udostępnionych zespołowi (_device_accessible).
  • Model ForestAccess — usunięte błędne kolumny z migracji.

[2.7.1] - 2026-05-20

Dodane

  • Panel admina — rozmiar danych — baza SQLite, katalog data/, cache raportów, liczba rekordów (odczyty, zdarzenia, alerty).
  • Retencja 7 dni — automatyczne usuwanie starych odczytów, zdarzeń i alertów (zmienna LISTEK_DATA_RETENTION_DAYS, domyślnie 7); ręczne czyszczenie z potwierdzeniem frazą usuń stare dane.
  • Wyczyść mapę (demo) — usuwa też historię zdarzeń czujników powiązanych z demo.

[2.7.0] - 2026-05-20

Dodane

  • Monitoring w tle — czujniki demo zapisują kolejne odczyty co ~5 min (pogoda Open-Meteo + dryf wartości), także przy zamkniętej przeglądarce; skrypt scripts/listek_monitor.py pod cron.
  • Historia czujnika — wykres dla każdego punktu (nie tylko przy alercie): zakres 1 h / 6 h / 24 h / 7 dni, uśrednianie w kubełkach; po „Dane demo” wsteczna historia 24 h.

Zmienione

  • Logowanie = podgląd z bazy (co się działo wcześniej), nie tylko bieżąca sesja przeglądarki.
  • API /api/device/…/history?range=… zwraca metadane zakresu i listę punktów.

[2.6.0] - 2026-05-20

Dodane

  • Pasek prognozy pogody (Open-Meteo) — kilka najbliższych dni w jednym rzędzie (ikona, min–max °C, opady/24 h); tyle dni, ile zmieści się na ekranie; zwijanie paska (zapamiętywane); kliknięcie dnia — godzinówka wiatru i temperatury.
  • Menu boczne zwinięte — wąska kolumna z ikonami (~60 px) i przyciskiem rozwiń/zwiń u góry kolumny; podpowiedź przy najechaniu na ikonę; na desktopie bez drugiej strzałki w pasku „Kampinos”.
  • Treść do 112 / 998 — przycisk w panelu symulacji, okno ze skryptami i kopiowaniem, postęp w %.
  • Raport rozbudowany (AI) — dokument do druku/PDF: logo LISTEK, autor, data, ref., sekcje operacyjne, skrypty alarmowe.

Zmienione

  • Raport i alarm — dane do nowej karty przez serwer (/report/print?id=…); przygotowanie raportu z paska postępu jak przy symulacji.
  • Mapa — po zwinięciu prognozy pogody siatka wiatru i warstwa pogody na całym widoku (automatyczne przeliczenie rozmiaru mapy).
  • Wygląd — prognoza i menu w kolorystyce reszty panelu; odstęp między nagłówkiem lasu a prognozą.
  • Firefox — lżejsza animacja wiatru i mniej obciążające rozmycia paneli.

Naprawione

  • Treść 112/998 — modal znów się pokazuje (poprawione klasy CSS).
  • Raport do druku — ten sam układ na ekranie i w PDF (bez „zwężenia” przy drukowaniu).
  • API raportu — naprawiona kolizja tras (POST …/build).

[2.5.0] - 2026-05-19

Dodane

  • Prostsze opisy symulacji — mniej skrótów technicznych; widać skąd bierze się wiatr w panelu.
  • Raport do wydruku / PDF — link w panelu symulacji pożaru (strona gotowa do druku).
  • Stan czujników — baner na mapie i pełny widok na stronie Urządzenia (brak sygnału, niska bateria, LoRa).
  • Powiadomienia — e-mail (gdy admin ustawi SMTP) i webhook przy nowym alercie krytycznym (Moje konto).
  • Prognoza wiatru i suszy — krótki podgląd w symulacji oraz baner pogodowy na mapie.
  • Historia zdarzeń — w oknie szczegółów czujnika na mapie.
  • Tryb tablet / telefon — przycisk w pasku mapy upraszcza układ.
  • Zespół — udostępnianie lasu (viewer / operator) w Moje konto.
  • Checklisty — gotowe listy kontrolne w Pomocy.
  • Case study — strona z przykładami kalibracji symulacji.
  • Granice lasu — import GeoJSON w koncie, obwódka na mapie.

Zmienione

  • Alerty i urządzenia uwzględniają lasy udostępnione przez właściciela konta.

[2.4.0] - 2026-05-21

Dodane

  • Kompas w symulacji pożaru — widać strony świata (N, E, S, W), skąd wieje wiatr i dokąd może iść ogień, z krótkim opisem obok.

Zmienione

  • Symulacja pożaru — wachlarz niepewności (p10–p90), zasięg skorygowany ryzykiem, płynna animacja 0–60 min, ocena szkód w panelu.
  • Panel symulacji — przeciąganie i zmiana rozmiaru; zapis pozycji w sesji.
  • Siatka 30×30 — linie na widocznym fragmencie mapy; przy innych krokach siatki kwadraty ryzyka demo bez zmiany rozmiaru komórki.
  • Przycisk siatki — chowa linie i kwadraty ryzyka, markery czujników zostają.
  • Warstwa wiatru — canvas ze strzałkami/cząsteczkami; opcjonalnie kafelki OpenWeatherMap.
  • Asystent — kontekst z mapy i symulacji; baza wiedzy RAG (admin).
  • Numer czujnika — widoczny na mapie i w alertach.
  • Historia zmian — strona i skrót w menu bocznym.
  • Dokumentacja — README i docs/DOKUMENTACJA_TECHNICZNA.md dla wdrożeń.

Naprawione

  • Poprawki stabilności mapy i paneli przy zmianie rozmiaru okna.

Autor projektu: mgr inż. Paweł Bujny