M6-T08: add energy_cost expose provider + post-billing state publish
- expose.py: _energy_cost_provider yields buy/sell_price_now + import_cost_total /export_revenue_total (total_increasing, monetary), value_getters read from energy_cost_period; 2-element identifiers so the existing HA Discovery builder (which indexes identifiers[1]) works. Other providers/mechanism untouched. - main.py: energy-cost job calls publish_states after computing periods (no-op when MQTT/Discovery off). Tests added. Note: energy-cost sensors lack an availability heartbeat (ha_discovery mechanism limitation, out of scope here).
This commit is contained in:
@@ -393,7 +393,7 @@ Phase D(API + 前端)
|
||||
- **Reviewer checklist**: Decimal 算钱;寄存器差为"末−初";进出口分开;周期边界 UTC 刻钟;快照不可变(重算才覆盖,且显式);版本选择按 `effective_from≤t0<effective_to`;job 不崩。
|
||||
|
||||
### M6-T08 — energy_cost expose provider + state 发布
|
||||
- **Status**: `todo` · **Depends**: M6-T07
|
||||
- **Status**: `done` · **Depends**: M6-T07
|
||||
- **Context**: 复用 M5 expose/Discovery,发当前买/卖价 + 累计成本/收入。
|
||||
- **Files**: `modify app/integrations/expose.py`(`_energy_cost_provider` + 注册);`modify app/services/energy_cost.py` 或 `app/main.py`(算完顺带 `publish_states`);`create tests/test_energy_expose.py`
|
||||
- **Steps**: provider 产出 §3.7 实体(`buy_price_now`/`sell_price_now`/`import_cost_total`/`export_revenue_total`),累计项 `total_increasing`+`monetary`+currency;`value_getter` 从 `energy_cost_period` 取;计费 job 后 `publish_states`。
|
||||
|
||||
Reference in New Issue
Block a user