FE cutoff vizsualize
Some checks failed
CI and deploy / deploy (push) Has been skipped
CI and deploy / migration-check (push) Failing after 11s

This commit is contained in:
Dusan Vojacek
2026-04-29 13:47:57 +02:00
parent b66b0109b9
commit f3a7b0c64f
3 changed files with 19 additions and 0 deletions

View File

@@ -366,6 +366,9 @@ class DeyeRegistersLiveResponse(BaseModel):
reg142_limit_control: int reg142_limit_control: int
reg143_export_limit_w: int reg143_export_limit_w: int
reg178_peak_shaving_switch: int reg178_peak_shaving_switch: int
reg178_control_board_special_1: int
reg178_mi_export_cutoff_bits: int
reg178_mi_export_cutoff_is_on: bool
reg191_peak_shaving_w: int reg191_peak_shaving_w: int
read_at: str read_at: str

View File

@@ -433,6 +433,9 @@ export type DeyeRegistersLive = {
reg142_limit_control: number reg142_limit_control: number
reg143_export_limit_w: number reg143_export_limit_w: number
reg178_peak_shaving_switch: number reg178_peak_shaving_switch: number
reg178_control_board_special_1: number
reg178_mi_export_cutoff_bits: number
reg178_mi_export_cutoff_is_on: boolean
reg191_peak_shaving_w: number reg191_peak_shaving_w: number
read_at: string read_at: string
} }

View File

@@ -90,6 +90,16 @@ const LiveRegistersSection = memo(
sub="Bit45: 10 = disable při exportu, 11 = enable při IDLE/CHARGE" sub="Bit45: 10 = disable při exportu, 11 = enable při IDLE/CHARGE"
valueText={live?.reg178_peak_shaving_switch != null ? String(live.reg178_peak_shaving_switch) : undefined} valueText={live?.reg178_peak_shaving_switch != null ? String(live.reg178_peak_shaving_switch) : undefined}
/> />
<Metric
label="MI export cutoff (GEN)"
reg={178}
sub="Bits01: 2 = disable (cutoff OFF), 3 = enable (cutoff ON)"
valueText={
live
? `${live.reg178_mi_export_cutoff_is_on ? 'ON (enable=3)' : 'OFF (disable=2)'} · bits01=${live.reg178_mi_export_cutoff_bits} · reg178=${live.reg178_control_board_special_1}`
: undefined
}
/>
<Metric <Metric
label="Grid peak shaving W" label="Grid peak shaving W"
reg={191} reg={191}
@@ -112,6 +122,9 @@ const LiveRegistersSection = memo(
a.live?.reg142_limit_control === b.live?.reg142_limit_control && a.live?.reg142_limit_control === b.live?.reg142_limit_control &&
a.live?.reg143_export_limit_w === b.live?.reg143_export_limit_w && a.live?.reg143_export_limit_w === b.live?.reg143_export_limit_w &&
a.live?.reg178_peak_shaving_switch === b.live?.reg178_peak_shaving_switch && a.live?.reg178_peak_shaving_switch === b.live?.reg178_peak_shaving_switch &&
a.live?.reg178_control_board_special_1 === b.live?.reg178_control_board_special_1 &&
a.live?.reg178_mi_export_cutoff_bits === b.live?.reg178_mi_export_cutoff_bits &&
a.live?.reg178_mi_export_cutoff_is_on === b.live?.reg178_mi_export_cutoff_is_on &&
a.live?.reg191_peak_shaving_w === b.live?.reg191_peak_shaving_w, a.live?.reg191_peak_shaving_w === b.live?.reg191_peak_shaving_w,
) )