9.5 KiB
Loxone Integration – dokumentace pro programátora
Účel tohoto dokumentu
Popis jak nakonfigurovat Loxone Miniserver pro spolupráci s EMS platformou. Implementaci provede Loxone programátor dle tohoto zadání.
Klíčový princip: Loxone je exekutor a bezpečnostní fallback. Veškerá optimalizační logika je v EMS. Loxone:
- vykonává setpointy od EMS (v režimu AUTO)
- funguje zcela autonomně bez EMS (v ostatních režimech)
- sám detekuje výpadek EMS a přepne do bezpečného stavu
1. Virtual Inputs (EMS → Loxone)
Vytvořit jako Virtual HTTP Input v Loxone Config.
EMS posílá hodnoty přes HTTP GET: /dev/sps/io/{název}/{hodnota}
| Název VI | Typ | Rozsah | Popis |
|---|---|---|---|
EMS_Heartbeat |
Digital pulse | 0/1 | Minutový pulz od EMS. Základ pro watchdog. |
EMS_Mode |
Analog | 0–4 | Aktivní provozní režim (viz tabulka režimů níže). |
EMS_Battery_Setpoint_W |
Analog | -20000 až +20000 | Setpoint baterie ve W. Kladné = nabíjení, záporné = vybíjení. Platí jen v AUTO. |
EMS_Grid_Setpoint_W |
Analog | -20000 až +20000 | Setpoint sítě ve W. Kladné = import, záporné = export. Platí jen v AUTO. |
EMS_EV1_Power_W |
Analog | 0–22000 | Povolený výkon nabíječky EV č. 1 ve W. 0 = zakázat nabíjení. |
EMS_EV2_Power_W |
Analog | 0–22000 | Povolený výkon nabíječky EV č. 2 ve W. 0 = zakázat nabíjení. |
EMS_HeatPump_Enable |
Digital | 0/1 | Povolení provozu tepelného čerpadla. 1 = povolen, 0 = zakázán. |
Poznámka k setpointům:
EMS_Battery_Setpoint_WaEMS_Grid_Setpoint_Wjsou informativní vstupy pro AUTO režim. Loxone je předá jako Modbus příkazy do střídače Deye. V ostatních režimech (SELF_SUSTAIN, PRESERVE, MANUAL) Loxone tyto hodnoty ignoruje a řídí se vlastní logikou.
2. Virtual Outputs (Loxone → EMS čtení)
Vytvořit jako Virtual HTTP Output nebo stav dostupný přes HTTP GET pro EMS backend.
| Název VO | Typ | Popis |
|---|---|---|
EMS_Mode_Active |
Analog | Aktuálně aktivní režim v Loxone. EMS čte při startu pro zjištění stavu. |
EMS_Watchdog_Triggered |
Digital | 1 pokud watchdog přepnul na SELF_SUSTAIN bez příkazu od EMS. Pro diagnostiku. |
3. Provozní režimy – kódování
| Kód EMS | Loxone hodnota EMS_Mode |
Název |
|---|---|---|
MANUAL |
0 | Manuální – žádná logika |
AUTO |
1 | Automatický – EMS řídí |
SELF_SUSTAIN |
2 | Soběstačný – Loxone autonomní |
CHARGE_CHEAP |
3 | Nabíjení levnou cenou |
PRESERVE |
4 | Ochrana baterie |
4. Watchdog – detekce výpadku EMS
Toto je nejdůležitější část Loxone implementace.
Watchdog musí fungovat čistě v Loxone, bez závislosti na DB nebo síti mimo lokální LAN.
Požadované chování
Pokud EMS_Heartbeat pulz nepřijde déle než 5 minut:
→ nastavit EMS_Mode = 2 (SELF_SUSTAIN)
→ nastavit EMS_Watchdog_Triggered = 1
→ logovat čas přepnutí (Loxone log)
Pokud EMS_Heartbeat znovu přijde po výpadku:
→ EMS_Watchdog_Triggered = 0
→ NEMĚNIT EMS_Mode zpět automaticky
(EMS si to přečte a rozhodne sám při restartu)
Doporučená implementace v Loxone Config
Varianta A – Timer / Watchdog blok:
- Použít blok
WatchdogneboTimerresetovaný příchozím pulzemEMS_Heartbeat - Timeout: 300 sekund (5 minut)
- Při vypršení timeoutu: výstup spustí přepnutí do SELF_SUSTAIN
Varianta B – Pulse Counter + Time Trigger:
- Počítat pulzy
EMS_Heartbeatv 5min okně - Pokud počet = 0 → přepnout režim
Výběr varianty závisí na dostupných blocích ve verzi Loxone Config. Programátor zvolí vhodnou implementaci.
Co Loxone watchdog NESMÍ dělat
- Číst DB nebo jiný HTTP endpoint pro rozhodnutí o watchdogu
- Automaticky přepínat zpět na AUTO při obnovení heartbeatu
- Zasahovat do Modbus komunikace EMS↔střídač (EMS píše Modbus přímo)
5. Stavový stroj režimů v Loxone
Pro každý EMS_Mode hodnotu definovat chování:
Režim 1 – AUTO
Střídač Deye:
- Battery charge limit = EMS_Battery_Setpoint_W (pokud kladné)
- Battery discharge limit = ABS(EMS_Battery_Setpoint_W) (pokud záporné)
- Grid export limit = ABS(EMS_Grid_Setpoint_W) (pokud záporné)
- Grid import limit = EMS_Grid_Setpoint_W (pokud kladné)
EV nabíječka 1:
- Max power / current = EMS_EV1_Power_W (přepočet W → A: W / (fáze × 230))
- Enable = 1 pokud EMS_EV1_Power_W > 1380, jinak 0
EV nabíječka 2:
- Stejná logika, EMS_EV2_Power_W
Tepelné čerpadlo:
- Enable = EMS_HeatPump_Enable
Režim 2 – SELF_SUSTAIN
Střídač Deye:
- Přepnout do Self-Consumption / Battery Priority modu
(konkrétní Modbus registr/hodnota dle Deye dokumentace)
- Export do sítě: zakázat (export limit = 0 W)
- Import ze sítě: povolen jen při SoC pod min_soc_percent (nouzový)
- Baterie: vybíjí do zátěže, nenabíjí ze sítě
EV nabíječky 1 + 2:
- Enable = 0 (zakázat nabíjení)
Tepelné čerpadlo:
- Enable = 0 (odstavit)
Režim 3 – CHARGE_CHEAP
Střídač Deye:
- Přepnout do Grid Charge modu
- Battery charge limit = EMS_Battery_Setpoint_W (EMS posílá max výkon)
- Export do sítě: zakázat
EV nabíječky:
- Enable = 0
Tepelné čerpadlo:
- Enable = 0
Režim 4 – PRESERVE
Střídač Deye:
- Přepnout do Self-Consumption s omezeným nabíjením/vybíjením
- Battery: drží aktuální SoC (charge limit = 0, discharge limit = 0)
- Pokrývá spotřebu z FVE, zbytek ze sítě
EV nabíječky:
- Enable = 0
Tepelné čerpadlo:
- Enable = 0
Režim 0 – MANUAL
Všechny výstupy: žádné automatické zásahy
Střídač: nechat v aktuálním stavu
EV, TČ: Enable = 0
Použít pouze pro servis a ladění
6. Komunikace Loxone → Deye (Modbus)
Loxone komunikuje s Deye střídačem přes Modbus TCP (Loxone Modbus Extension nebo přímý TCP).
Konkrétní Modbus registry Deye SUN-20K doplnit z Deye protokolu PDF. Výchozí reference: Loxone šablona pro Deye (pokud existuje).
Klíčové registry pro zápis (orientační, ověřit z dokumentace)
| Funkce | Registr | Typ | Poznámka |
|---|---|---|---|
| Battery charge power limit | 0x00F3 | Write Single | W |
| Battery discharge power limit | 0x00F4 | Write Single | W |
| Grid export power limit | 0x00F6 | Write Single | W |
| Work mode | 0x00F0 | Write Single | enum hodnoty dle Deye |
Klíčové registry pro čtení (telemetrie – pouze pokud Loxone čte, jinak EMS přes Waveshare)
Doporučení: Telemetrii čte EMS přímo přes Waveshare (Modbus TCP). Loxone čte jen to co potřebuje pro vlastní logiku (SoC pro SELF_SUSTAIN rozhodování).
7. Komunikace Loxone → EV nabíječky (Teltonika)
Loxone komunikuje s Teltonika TeltoCharge přes Modbus TCP (Waveshare převodník).
Konkrétní Modbus registry Teltonika TeltoCharge doplnit z dokumentace / Loxone šablony.
Minimální potřebné registry
| Funkce | Popis |
|---|---|
| Enable charging | Povolení/zakázání nabíjení (digital) |
| Max current limit | Maximální proud v A (6–32A) |
| Connector status | Stav připojení (read) |
8. Komunikace Loxone → Samsung TČ (Modbus)
Loxone komunikuje se Samsung tepelným čerpadlem přes Modbus TCP (Waveshare převodník).
Registry doplnit ze Samsung NASA Modbus dokumentace / Loxone šablony.
Minimální potřebné registry
| Funkce | Popis |
|---|---|
| Enable / Disable | Povolení provozu TČ (digital) |
| DHW target temp | Cílová teplota TUV zásobníku (write) |
| DHW tank temp | Aktuální teplota zásobníku (read) – pro watchdog nouzového ohřevu |
Loxone nouzový ohřev (nezávisle na EMS)
Loxone musí implementovat vlastní minimální ochranu TUV zásobníku:
Pokud teplota zásobníku < 40°C (absolutní minimum):
→ spustit TČ bez ohledu na EMS_HeatPump_Enable a aktivní režim
→ logovat jako nouzový ohřev
Tato logika chrání zásobník i při výpadku EMS nebo přepnutí na SELF_SUSTAIN.
9. Testovací scénáře pro programátora
Po implementaci ověřit tyto scénáře:
| # | Scénář | Očekávané chování |
|---|---|---|
| 1 | EMS odešle EMS_Mode=1, pak každou minutu EMS_Heartbeat=1 |
Loxone v AUTO, přeposílá setpointy do střídače |
| 2 | EMS přestane posílat heartbeat na 6 minut | Loxone přepne na SELF_SUSTAIN, EMS_Watchdog_Triggered=1 |
| 3 | EMS pošle heartbeat znovu po výpadku | Watchdog_Triggered=0, Mode zůstane SELF_SUSTAIN (EMS rozhodne) |
| 4 | EMS odešle EMS_Mode=4 (PRESERVE) |
Loxone drží baterii, žádné nabíjení/vybíjení |
| 5 | Teplota TUV klesne pod 40°C v SELF_SUSTAIN | Loxone spustí TČ nouzově |
| 6 | EMS odešle EMS_Battery_Setpoint_W=-5000 (vybíjení) |
Loxone nastaví discharge limit 5000W, charge limit 0W |
| 7 | EMS odešle EMS_EV1_Power_W=0 |
Loxone zakáže nabíjení nabíječky 1 |
10. Otevřené body pro programátora
- Ověřit dostupnost Watchdog / Timer bloku v instalované verzi Loxone Config
- Zjistit konkrétní Modbus work mode hodnoty pro Deye (Self-Consumption, Grid-Charge, Backup)
- Ověřit Modbus registry Teltonika z dodané šablony/dokumentace
- Ověřit Modbus registry Samsung TČ z dodané šablony/dokumentace
- Dohodnout jestli Loxone čte SoC ze střídače pro SELF_SUSTAIN logiku (nebo pevný threshold)
- Loxone log přepnutí watchdogu – jak přístupný pro EMS při restartu?