Implement telemetry enhancements: add reading of Deye registers 145 and 179 in telemetry collector to derive is_export_limited and pv_derating_flags. Update fn_telemetry_inverter_sample to store these flags, and adjust related documentation and API endpoints accordingly.
Some checks failed
CI and deploy / migration-check (push) Failing after 19s
CI and deploy / deploy (push) Has been skipped

This commit is contained in:
Dusan Vojacek
2026-04-22 23:02:14 +02:00
parent 1dfab8c7a1
commit c928e2234d
6 changed files with 74 additions and 15 deletions

View File

@@ -0,0 +1,28 @@
"""Logika is_export_limited / pv_derating_flags z Deye reg 145 a 179."""
from services.telemetry_collector import _export_limit_flags_from_deye_regs
def test_both_none_unknown() -> None:
lim, flags = _export_limit_flags_from_deye_regs(None, None)
assert lim is None and flags is None
def test_solar_sell_disabled() -> None:
lim, flags = _export_limit_flags_from_deye_regs(0, None)
assert lim is True and flags == 1
def test_solar_sell_enabled_only() -> None:
lim, flags = _export_limit_flags_from_deye_regs(1, None)
assert lim is False and flags == 0
def test_gen_mi_cutoff_bits() -> None:
lim, flags = _export_limit_flags_from_deye_regs(None, 2)
assert lim is True and flags == 2
def test_combined_flags() -> None:
lim, flags = _export_limit_flags_from_deye_regs(0, 2)
assert lim is True and flags == 3