Bazén: sezóna (schedulable), filtrace dle teploty vody, Loxone čidla
- V092: ems.loxone_sensor + telemetry_loxone_sensor (hypertable) — generické čtení Loxone hodnot (poslouží i ohřevu/akumulačce); pool sloupce teplotní funkce (ref/base/per_c/min/max) + water_temp_sensor_id - R__098 fn_pool_daily_runtime_min: clamp(base+per_c×(t−ref)) z poslední teploty <24 h, fallback daily_runtime_min; JSON detail pro UI/solver - collector poll_loxone_sensors: /jdev/sps/io/<name>/state, LL.value parse, no-op bez čidel - sezóna = schedulable přepínač (dokumentováno vč. SQL); hranice filtrace × ohřev TČ (oddělené logiky, sdílí jen čidlo) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -119,3 +119,35 @@ V `solver_v2.py` je TČ spojitá proměnná `hp[t] ∈ [0, rated_w]` vstupujíc
|
||||
- Dashboard: `PoolCard` (frontend/src/components/PoolCard.tsx) pod StatePanel —
|
||||
stav (běží/stojí/stale), aktuální W, dnešní kWh a hodiny běhu, mini sloupce
|
||||
7 dní. Poll 60 s.
|
||||
|
||||
## Sezóna a teplotní funkce (2026-06-12, dev)
|
||||
|
||||
**Sezóna = jeden přepínač** (`asset_pool_pump.schedulable`):
|
||||
```sql
|
||||
update ems.asset_pool_pump set schedulable = false where code = 'pool-pump-1'; -- konec sezóny
|
||||
update ems.asset_pool_pump set schedulable = true where code = 'pool-pump-1'; -- začátek
|
||||
```
|
||||
Off-season: telemetrie běží dál (zimování čerpadla vidíš), plánovač a signály ne.
|
||||
(Později tlačítko v Konfiguraci.)
|
||||
|
||||
**Délka filtrace dle teploty vody** (`fn_pool_daily_runtime_min`, V092):
|
||||
`runtime = clamp(base + per_°C × (t − ref), min, max)`; defaulty pro 30 m³ /
|
||||
8 m³/h (obrátka 3.75 h, slaná voda — chlorinátor potřebuje průtok):
|
||||
20 °C→4.5 h, 24 °C→6.5 h, 28 °C→8.5 h, strop 10 h. Bez čidla / měření
|
||||
staršího 24 h → fallback `daily_runtime_min`. Vše sloupce na čerpadle.
|
||||
|
||||
**Čidlo teploty**: až přidáš do Loxonu, jeden INSERT:
|
||||
```sql
|
||||
insert into ems.loxone_sensor (site_id, code, loxone_name, unit)
|
||||
values ((select id from ems.site where code='home-01'), 'pool-water-temp', '<JmenoVLoxonu>', '°C');
|
||||
update ems.asset_pool_pump set water_temp_sensor_id =
|
||||
(select id from ems.loxone_sensor where code='pool-water-temp') where code='pool-pump-1';
|
||||
```
|
||||
Collector čte každou minutu (`poll_loxone_sensors` — generické, poslouží i
|
||||
akumulační nádrži pro ohřev).
|
||||
|
||||
**Hranice s ohřevem přes TČ (žádný šelmostroj):** filtrace = denní rozpočet
|
||||
minut pro solver; ohřev = samostatný explicitní program (docs z 12. 6.:
|
||||
sekvence Shelly pump → HEX pump → TČ), který si čerpadlo prostě zapne
|
||||
(interlock) — minuty běhu se započtou samy přes telemetrii. Jediná vazba je
|
||||
teplotní čidlo, které sdílí obě logiky.
|
||||
|
||||
Reference in New Issue
Block a user