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