11c. Vzdálená analýza AI (api.easun.eu)

Kapitola 11c · https://api.easun.eu/ · lokální kopie: C:\inetpub\wwwroot\Easun-Analyza · odesílání z /system-modes

Easun Analyza Logu je webová služba (veřejně api.easun.eu, nebo vlastní instalace Analýzy), která přijímá provozní data z EaSun Aplikace, skládá denní archivy, kreslí grafy, dává doporučení a umožňuje vzdálenou správu (živý stav, Off / Standby / On / Restart, změna parametrů).

Oficiální návod přímo na serveru: guide.php · AI režimy: 11a, 11 · AI doc: AI_Rezimy_Dokumentace.html

Mapa webu api.easun.eu

StránkaURLÚčel
Domů index.php Úvod: Analýza, Účet / Přihlášení, odkazy easun.eu / powmr.eu
Analýza analyze.php Kalendář denních archivů, grafy, kontroly, doporučení, řádky logu
AI push api_ai_run_log.php Veřejný ingest endpoint (ESP POST); GET = nápověda / sonda
Základní návod guide.php Kompletní návod služby (účet, admin, soukromí, typické chyby)
Přihlášení / Registrace login.php · register.php Účet majitele zařízení
Účet account.php Karty „Moje zařízení“ → odkaz Nastavení; přidání přes ID API
Přidat zařízení account_add_device.php Přiřazení jen přes ID API klíč (+ volitelný popisek)
Nastavení zařízení device_admin.php Off / Standby / On / Restart, živé stavy, Stav provozu (= /diag), historie událostí
Parametry a soukromí device_admin_settings.php Limity jako v aplikaci ESP + veřejná/soukromá analýza

Jazyky UI: CZ / EN / DE / PL (přepínač v horní liště).

Celkový provoz — diagram

flowchart TB subgraph ESP["EaSun Aplikace (ESP32)"] SM["/system-modes
AI režim + host serveru"] AI["SHADOW / ASSIST / AUTO"] LOG["AI20 / AIERR / EVT + cfg"] SYNC["Settings snapshot
+ pull příkazů"] EVT["Eventy: WDT, start, TSSR…"] HOME["Home: box POHOTOVOST"] end subgraph API["api.easun.eu / Easun-Analyza"] ING["api_ai_run_log.php"] DSS["api_device_settings_sync.php"] DEV["api_device_events.php"] DB[(MySQL easun)] AN["analyze.php
kalendář + grafy"] ADM["device_admin.php"] ACC["account.php"] end SM --> AI AI --> LOG LOG -->|POST lines| ING ING --> DB DB --> AN SYNC -->|POST snapshot / pull / cmd_ack| DSS DSS --> DB DB --> ADM EVT -->|POST| DEV DEV --> DB ACC --> ADM ADM -->|fronta Off/Standby/On/Restart| DSS DSS -->|ESP stáhne příkaz| SYNC SYNC --> HOME

Bez zapnutého odesílání AI provozu na server ESP administraci „neosloví“ (neposílá heartbeat / nestahuje příkazy).

1) AI push — jak data vznikají

  1. Na ESP: Režimy/system-modes.
  2. Zapněte Odesílat AI provoz na server.
  3. Host: jen IP nebo doména (např. api.easun.eu) — ne celá URL. Firmware skládá http://{host}/api_ai_run_log.php (SPIFFS /aiRunLogRemoteUrl.ea, /aiRunLogRemoteEnabled.ea).
  4. Aktivujte SHADOW / ASSIST / AUTO (bez AI režimu nemá push smysl).
  5. Otestujte spojení (probe) — odpověď obsahuje EASUN_AI_RUN_INGEST_OK / verzi ingestu.
AI logy se neukládají do SPIFFS na ESP — jen POST na server. Při chybě spojení FW může server dočasně označit jako nedostupný; znovu otestujte na Režimech.

Co ESP posílá na api_ai_run_log.php

Pole POSTVýznam
device_ip, session_dateIP + den archivu (YYYYMMDD)
linesDávka řádků AI20 / AIERR / EVT / # meta
WiFiMac, mode, fwIdentita a FW
api_keyID API (vazba na účet)
cfgSnapshot nastavení (# cfg řádky) pro „Kontrola nastavení“

AI20 (strukturovaný provozní řádek) typicky nese mimo jiné:

  • řízení: mode, src, navrh, final (PWM), fallbackPwm, action
  • čerstvost: mqttFresh, luxFresh, lux
  • výkony: solar, solarRaw, load, grid
  • baterie: soc, batV, případně batW/A/kWh…
  • teploty: t1, t2, t3, tempMax
  • Spot: spot, gate, band
  • TSSR / SSR: tssr, tssrPeer, tssrRelay, ssr1/2/3
sequenceDiagram participant ESP as EaSun ESP participant ING as api_ai_run_log.php participant DB as MySQL participant AN as analyze.php ESP->>ING: GET ?probe=1 ING-->>ESP: EASUN_AI_RUN_INGEST_OK loop Při AI provozu (dávky) ESP->>ING: POST lines + cfg + MAC + api_key ING->>DB: merge archiv (zařízení + den) ING-->>ESP: OK added=… skipped=… end Note over AN,DB: Uživatel otevře den v kalendáři AN->>DB: upload_id + entries DB-->>AN: souhrn, grafy, doporučení

2) Denní archivy a Analýza (analyze.php)

  • Jeden archiv = jedno zařízení + jeden den.
  • Během dne se řádky slučují; duplicity se přeskočí.
  • Kalendář měsíců → výběr dne / IP → detail.
  • Grafy se mohou obnovovat bez reloadu přes api_analyze_charts.php?upload_id=….

Sekce detailu archivu

BlokCo uvidíte
SouhrnØ PWM, Ø solar / load, max grid, počet řádků…
Vizuální analýzaLaické hodnocení + barevné stavy
GrafyVýkony, PWM, teploty, LUX; výběr úseku OD–DO myší
Kontroly stavuAI, síť, lux, PWM, teploty, provozní události (AUTO_FALLBACK…)
Aktivní AI režimSHADOW / ASSIST / AUTO — řídí, míchá, nebo jen navrhuje
Kontrola nastaveníZ cfg: limity FVE, baterie, Distr, Spot…
Teploměryt1–t3, tempMax, chyby (-999…)
DoporučeníCo změnit a kde v aplikaci (/batt, Spot, MQTT…)
TSSR OD–DOÚseky, kdy priorita SSR blokovala topení
Řádky loguTabulka čas / PWM / solar / load / grid / lux / TSSR / akce

Barevné čtení: zelená = OK · oranžová = zkontrolovat · červená = chyba / silně podezřelý provoz.

3) Účet a přiřazení zařízení

  1. Registrace → přihlášení.
  2. Přidat zařízení: povinný ID API klíč (stejný jako v EaSun při prvním nastavení) + volitelný název (např. „Sklep“).
  3. Server ověří klíč a vazbu na MAC. Zařízení už musí alespoň jednou poslat data.
  4. IP ani MAC do formuláře nezadávejte. Jedno zařízení = jeden účet.
Bez přiřazení vidíte jen veřejné archivy. Po přiřazení je analýza výchozí soukromá — majitel ji vidí vždy; veřejnost zapnete v Parametrech.
flowchart LR A[Registrace / login] --> B[account_add_device.php] B --> C{ID API + data už na serveru?} C -->|ano| D[Zařízení na Účtu] C -->|ne| E[Hláška: klíč / ještě neposlalo data] D --> F[Nastavení → device_admin] D --> G[analyze.php — i soukromé dny]

4) Vzdálená správa (device_admin.php)

Vždy: Účet → Moje zařízení → Nastavení u konkrétní karty (ne „naslepo“ z obecného odkazu — dříve šlo omylem restartovat jiné zařízení).

FunkcePopis
OffNouzové vypnutí topení (PWM/SSR) + pohotovost
StandbyPohotovost přes restart; topení vypnuto do On
OnObnoví provoz (zruší pohotovost)
RestartVzdálený soft restart ESP
Živé stavy (~4 s)Topení + TSSR, solár/zátěž, teploty Min>akt<Max, AIERR tipy
Stav provozuStejný přehled jako /diag na ESP (WiFi, MQTT, PWM, AI, Spot, heap…)
Historie událostíWDT, start, TSSR… v DB serveru (ne SPIFFS), po dnech
sequenceDiagram participant U as Majitel (prohlížeč) participant ADM as device_admin.php participant DSS as settings_sync.php participant ESP as EaSun ESP U->>ADM: Off / Standby / On / Restart ADM->>DSS: fronta příkazu (pending) Note over ESP: periodicky ~20–30 s
nebo při kontaktu ESP->>DSS: action=cmd_pull DSS-->>ESP: pending cmd ESP->>ESP: provede příkaz ESP->>DSS: action=cmd_ack + status JSON DSS-->>ADM: „Zařízení příkaz přijalo“ Note over ESP: Home: box POHOTOVOST
+ Obnovit provoz / Odeslat stav

Veřejný web nemůže přímo volat LAN IP ESP — vše jde přes stejný server, ze kterého si ESP stahuje příkazy a nastavení (api_device_settings_sync.php).

Parametry a soukromí (device_admin_settings.php)

  • Záložky jako v aplikaci: Teploty/SSR, Baterie, Web/TSSR, MQTT, PWM, Spot, Režimy, FVE·AI…
  • Po Uložit do zařízení: změna čeká na serveru → ESP si ji vyzvedne (obvykle 20–30 s).
  • Veřejná analýza — volitelně zpřístupní archivy nepřihlášeným.

5) Ostatní API endpointy (technicky)

EndpointSměrÚčel
/api_ai_run_log.php ESP → server AI provozní log + cfg; GET ?probe=1
/api_device_settings_sync.php obousměrně Snapshot nastavení; action=pull; cmd_pull / cmd_ack / status
/api_device_events.php ESP → server Historie událostí (sev, type, msg…)
/api_analyze_charts.php prohlížeč → server JSON grafů pro analyze.php (auth / soukromí)

Cesty ve FW jsou napevno (AI_RUN_LOG_REMOTE_PATH, DEVICE_SETTINGS_SYNC_PATH, DEVICE_EVENTS_PATH) — měníte jen host.

6) Vztah k SHADOW / ASSIST / AUTO

  • SHADOW — ideální start: AI nerídí, logy jdou na server → srovnání návrhu vs. realita.
  • ASSIST / AUTO — analýza ukáže mix/boost, Spot Gate, pády do fallbacku.
  • Lokálně vždy /ai-live; server dává denní kontext a trendy.

7) Typické výsledky a chyby

Symptom na analýze / adminuCo zkontrolovat
Lux data nejsou čerstváTX LUX, PMK, ESP-NOW — AI hůře reaguje na mraky
Vyšší odběr ze sítěDistr, cezMin/Max, agresivita AI, PWM limity
Teplota -999Nezapojené čidlo (v živých stavech se často skryje)
PWM často 0Max teplota, Spot Gate, TSSR priorita, Min FVE…
TSSR / „Netopí · TSSR…“Primár topí — viz 13c / 6a
AIERR / AUTO_FALLBACKMQTT stale, bez LUX, limity — 11a
Admin „nebere“ příkazZapnutý AI log server, WiFi, počkat 20–30 s
Nejde přidat zařízeníŠpatný ID API, klíč nespárovaný, ještě neposlalo data

8) Doporučený postup nasazení

  1. ESP: odesílání AI provozu na api.easun.eu (nebo vlastní Analýzu) + AI režim.
  2. Ověřit ID API klíč v aplikaci.
  3. Účet na api.easun.eu → přidat zařízení klíčem.
  4. Účet → Nastavení: živé stavy + Stav provozu; limity v Parametrech.
  5. Analýza: denní archivy (přihlášení = i soukromé).
  6. Veřejnost analýzy povolte jen pokud ji chcete sdílet.
Vlastní instalace: zdroj v C:\inetpub\wwwroot\Easun-Analyza (PHP + MySQL dle config.php). Stejné endpointy jako na api.easun.eu — do ESP stačí zadat IP/host vašeho PC nebo VPS.
Poznámka k api.easun.eu: endpoint http://api.easun.eu/api/ v průvodci slouží k autorizaci ID API (licence), zatímco Analýza Logu běží jako samostatná webová aplikace na kořeni (index / analyze / api_ai_run_log.php…). Do hostu AI logu zadávejte api.easun.eu bez cesty /api/.

Související kapitoly