fix(builder): AnalogPoint 보조 QV(AuxiliaryNameA*) 레지스터 생성 — FIQ 적산 누락 근본해결 #5

Merged
windpacer merged 1 commits from fix/builder-analogpoint-aux-qv into main 2026-06-18 21:52:57 +09:00
Owner

근본 원인

FIQ 류 적산기는 QV가 FlexibleParameter가 아니라 AnalogPoint 보조슬롯(AuxiliaryNameA1=QVSourceAddressA1)에 노출된다. 빌더가 FlexibleParameter에서만 .QV를 생성해 FICQ-*.QV는 잡았지만 FIQ-*.QV(스팀 적산 등)를 전부 놓쳤다 → 리포트가 의존하는 태그가 register-map/map_master에서 누락 → archive 기준 삭제대상 오분류 + 라이브 폴링 불가.

(앞선 PR #4의 수동 SQL report_keep_qv_tags.sql은 응급 보정이었고, 이 PR이 빌더 차원의 근본 해결.)

변경

AnalogPoint 처리 else 분기에 보조 A1~A4 처리 추가 — 이름 있는 보조슬롯을 실제 SourceAddress로 해석해 {item}.{AuxName} 엔트리 생성. QV=연속 누적값→archive=TRUE, realtime=False(기존 .QV/FlexibleParameter와 동일 정책).

검증 (dry build)

  • C3: FIQ-6115/6215/8115.QV 등 실제 주소(8390 등)·archive=true 생성
  • C4: FIQ-9115/9215/10115/10215.QV
  • 커밋맵 대비 순수 추가(제거 0) → map 재빌드 시 keep 분류 자동 유지 + 라이브 적산 폴링 가능

후속(이 PR 범위 아님)

docs/register-map-c{3,4}.json 재생성 + 게이트웨이 재시작 시 라이브 폴링 활성화(운영 타이밍 결정 필요). 재생성 시 무관한 빌더 드리프트(FIQ-*.RST, LI-9101 한계값)도 함께 반영됨.

🤖 Generated with Claude Code

## 근본 원인 FIQ 류 적산기는 QV가 **FlexibleParameter가 아니라 AnalogPoint 보조슬롯**(`AuxiliaryNameA1=QV` ↔ `SourceAddressA1`)에 노출된다. 빌더가 FlexibleParameter에서만 `.QV`를 생성해 `FICQ-*.QV`는 잡았지만 `FIQ-*.QV`(스팀 적산 등)를 전부 놓쳤다 → 리포트가 의존하는 태그가 register-map/map_master에서 누락 → archive 기준 삭제대상 오분류 + 라이브 폴링 불가. (앞선 PR #4의 수동 SQL `report_keep_qv_tags.sql`은 응급 보정이었고, 이 PR이 빌더 차원의 근본 해결.) ## 변경 AnalogPoint 처리 else 분기에 보조 A1~A4 처리 추가 — 이름 있는 보조슬롯을 실제 `SourceAddress`로 해석해 `{item}.{AuxName}` 엔트리 생성. `QV`=연속 누적값→`archive=TRUE`, `realtime=False`(기존 .QV/FlexibleParameter와 동일 정책). ## 검증 (dry build) - C3: `FIQ-6115/6215/8115.QV` 등 실제 주소(8390 등)·`archive=true` 생성 - C4: `FIQ-9115/9215/10115/10215.QV` 등 - 커밋맵 대비 **순수 추가(제거 0)** → map 재빌드 시 keep 분류 자동 유지 + 라이브 적산 폴링 가능 ## 후속(이 PR 범위 아님) `docs/register-map-c{3,4}.json` 재생성 + 게이트웨이 재시작 시 라이브 폴링 활성화(운영 타이밍 결정 필요). 재생성 시 무관한 빌더 드리프트(FIQ-*.RST, LI-9101 한계값)도 함께 반영됨. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
windpacer added 1 commit 2026-06-18 20:56:06 +09:00
FIQ 류 적산기는 QV(적산)가 FlexibleParameter가 아니라 AnalogPoint 보조슬롯
(AuxiliaryNameA{n}=QV ↔ SourceAddressA{n})에 노출된다. 빌더는 FlexibleParameter
에서만 .QV를 만들어 FICQ-*.QV는 잡았지만 FIQ-*.QV(스팀 적산 등)를 전부 놓쳤다.
→ 리포트(energy_intensity_qv 등)가 의존하는 태그가 register-map/map_master에서
누락되어 archive 기준 '삭제대상'으로 오분류, 라이브 폴링도 안 됐음.

AnalogPoint else 분기에 보조 A1~A4 처리 추가: 이름 있는 보조슬롯을 실제
SourceAddress로 해석해 {item}.{AuxName} 엔트리 생성, QV=연속 누적값→archive=TRUE.
realtime=False(기존 .QV/FlexibleParameter와 동일 정책).

검증(dry build): C3 FIQ-6115/6215/8115.QV, C4 FIQ-9115/9215/10115/10215.QV 등이
실제 주소(8390 등)·archive=true로 생성. 커밋맵 대비 순수 추가(제거 0).
→ map 재빌드 시 keep 분류 자동 유지 + 라이브 적산 폴링 가능.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
windpacer merged commit ea6c4625e8 into main 2026-06-18 21:52:57 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: windpacer/HC900-Crawler#5