Skip to content

docs: comprehensive README rewrite for first-time users#15

Merged
redchupa merged 3 commits into
mainfrom
improve-readme/hacs-button-why-cta
May 13, 2026
Merged

docs: comprehensive README rewrite for first-time users#15
redchupa merged 3 commits into
mainfrom
improve-readme/hacs-button-why-cta

Conversation

@redchupa
Copy link
Copy Markdown
Owner

Summary

신규 사용자가 README만 보고 설치·설정·문제 해결까지 자력으로 가능한 가이드로 전면 재작성.

  • 👋 처음이세요? 섹션 + 🚀 5분 만에 시작하기 (API 키 없이 안전알림으로 첫 체험)
  • 🔑 API 키 발급 가이드 — 포털 매트릭스 + 약국·재난문자 단계별 + 자주 발생하는 실수 박스
  • 각 서비스 박스 강화 — 실제 코드(sensor.py, translations/ko.json)에서 검증한 친화 이름·attribute 목록 + 입력값 추출 방법 (가스앱 토큰, 카카오맵 정류장 ID 등)
  • ❓ FAQ 12개 — 유료/무료, 다중 등록, 핸드폰 알림, 음성 질문, 재설정, 삭제, 업데이트
  • 🐛 문제 해결 + "어디에 물어보나요?" GitHub Issues 가이드

정확성 교정 (코드 검증 기반)

  • 재난문자 발급 포털: data.go.krsafetydata.go.kr (별도 포털, 식별번호 DSSP-IF-00247)
  • 아리수 필드명: "고객번호" → "수용가번호" (translations/ko.json 기준)
  • HA 통합 검색명: "KR Component Kit" → "한국 컴포넌트 키트" (manifest name; HACS 검색만 영문)
  • KEPCO sensor 목록 — 누진단계 sensor 없음, 실제 5개로 교체
  • 가스앱 sensor 이름: "이번달 사용량/요금" → 실제 "청구 제목/총 요금"
  • 유가 attribute: low_price_stations[] → 실제 ranking[]
  • 가스앱 갱신 주기: FAQ에서 "1015분"이라 잘못 적힌 부분 → **2030분** (표와 일치)
  • entity_id는 한글→로마자 슬러그 형태임을 명시 + 친화 이름 → entity_id 변환법 안내
  • 안전알림/재난문자 region list가 하드코딩이므로 "지역 목록 로드 실패 폴백 화면" 잘못된 안내 제거
  • 요구사항: curl_cffi 외에 beautifulsoup4>=4.12.0 도 자동 설치됨을 명시

Test plan

  • markdown anchor 링크 검증 (#-면책조항 variation selector 이슈는 일반 텍스트로 회피)
  • 영문 요약(English summary)도 한국어 본문과 일관성 확인
  • 자동화 YAML 예시는 unknown/unavailable 가드 포함된 안정 패턴
  • 머지 후 GitHub 메인 페이지에서 렌더링 확인 (anchor·이미지·테이블)

🤖 Generated with Claude Code

ng410808-max and others added 3 commits May 14, 2026 01:54
- Add 👋 onboarding section with situation-based reading order
- Add 🚀 5-minute quickstart using API-key-free safety alert path
- Enrich every service box with "what entities get created" examples grounded in actual code (sensor.py / translations/ko.json)
- Add 🔑 API key issuance guide with portal map, common-mistake callouts, and pharmacy/disaster step-by-step
- Add ❓ FAQ section (12 items) covering free/paid, multi-region, mobile push, voice queries, reconfigure, delete, updates
- Clarify entity_id slug behavior (Korean → romanized) and friendly-name lookup workflow
- Document gasapp token extraction caveat, KakaoMap busstopid extraction, NEIS auto school search, earthquake default coordinates
- Fix inaccuracies: disaster portal (safetydata.go.kr ≠ data.go.kr), Arisu field name (수용가번호), HA search name (한국 컴포넌트 키트), KEPCO sensor list (no 누진단계), fuel attribute (ranking[] not low_price_stations), gasapp update interval (20m)
- Add stable automation YAML examples with unknown/unavailable guards
- Note HACS Default registration is in progress (currently Custom Repository)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…+ endpoints

Previously, README listed several data.go.kr dataset names that were inferred
from endpoint URL paths rather than verified against the actual portal listings.
Cross-referencing with a real user's data.go.kr 활용신청 list revealed mismatches:

- Pharmacy: "응급의료기관/약국 정보 조회 서비스" (inferred from URL) was
  presented as the primary search keyword, but the actual registered dataset name
  is "국립중앙의료원_전국 약국 정보 조회 서비스". Search keyword 응급의료 leads
  users astray when 전국 약국 / 약국 정보 is the correct hit.
- Weather warning: "통보문" was an added word not in actual registered name
  ("기상청_기상특보 조회서비스").
- Short-term forecast: "((구)_동네예보)" parenthetical was unverified
  (actual name is just "기상청_단기예보 조회서비스").
- AirKorea: README mentioned only 대기오염정보 as required, but the integration
  also calls MsrstnInfoInqireSvc, so 측정소정보 is a separate required
  활용신청 — missed in original guide.
- Living index: "기상청_생활기상지수 조회서비스 V4" — V4 dataset does not
  appear to be separately registered on the portal; the dataset shown as "(3.0)"
  actually serves a V5 endpoint, while our code still calls V4. Documented this
  as a known compatibility issue rather than a clean activation path.
- Disaster alert: "재난문자방송 정보 조회 서비스" — name not independently
  verified; switched guidance to endpoint URL (DSSP-IF-00247) which is verified
  from the source code.

Restructured the master table to clearly separate:
  - ✅ Verified facts (endpoint URLs from source code, operator codes)
  - 🔎 Search keywords (what to type into portal search)
  - dataset registration names (mutable, no longer treated as authoritative)

Added explicit note that 활용신청 must be done per-dataset (same key, different
datasets each need separate 신청).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…badge

Per-service ⚠️ lines added so users know fragility before registering:
- KEPCO: login marker hardcoded, no 2FA support
- Arisu: HTML scraping, 9-digit customer number regex assumed
- Safety Alert: HTML scraping + TLS profile fragility; old-schema orphan
  entity pattern documented (17-sensor pattern seen in real HA — entry
  recreation recommended if seen)
- School (NEIS): INFO-200 (no-data) currently treated as error — log noise
  expected on empty days

Bus transit guide split into 3 scenarios (subway-only / bus-only no key /
+transfer-search) reflecting actual code behavior:
  - Bus arrivals use KakaoMap unofficial endpoint (no API key)
  - bus_api_key is ONLY for transfer path search (transfer_api.py)

Pharmacy box marked ✅ "작동 검증 완료" — verified via live HA query
showing sensor.yaggug_siheungsi_unyeong_yaggug_su state=20 with full
pharmacies[] attribute populated.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@redchupa redchupa merged commit 67a8594 into main May 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants