| name | ev-charger-nearby |
| description | Use when the user asks for Korean EV charging-station locations, charger types, or current charger status by region, station, or location text. |
| license | MIT |
| metadata | {"category":"transit","locale":"ko-KR","phase":"v1"} |
EV Charger Nearby
What this skill does
ํ๊ฒฝ๋ถ ์ ๊ธฐ์ฐจ ์ถฉ์ ์ API์ ์ถฉ์ ์ ์ ๋ณด์ ์ถฉ์ ๊ธฐ ์ํ๋ฅผ ์กฐํํ๋ค. ์กฐํ ์ ์ฉ์ด๋ฉฐ ์์ฝ, ๊ฒฐ์ , ํ์ ์ธ์ฆ, ์ถฉ์ ์์/์ค์ง๋ ์๋ํํ์ง ์๋๋ค.
๊ธฐ๋ณธ ํธ์ถ์ hosted k-skill-proxy๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ฌ์ฉ์๋ API ํค๊ฐ ํ์ ์๋ค. --direct๋ฅผ ๋ช
์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉ์์ KSKILL_EV_CHARGER_API_KEY, ์ดํ DATA_GO_KR_API_KEY๋ฅผ ์ฐพ๋๋ค.
Official access path
- ์ค์๊ฐ ์ถฉ์ ์ ์ ๋ณด: ๊ณต๊ณต๋ฐ์ดํฐํฌํธ ๋ฐ์ดํฐ์
15076352, getChargerInfo
- ์ค์๊ฐ ์ถฉ์ ๊ธฐ ์ํ: ๊ฐ์ ๋ฐ์ดํฐ์
์
getChargerStatus
- ์ ์ /์๋ fallback: ์ ๊ตญ์ ๊ธฐ์ฐจ์ถฉ์ ์ํ์ค๋ฐ์ดํฐ ๋ฐ์ดํฐ์
15013115์ ํฌํธ ์ ๊ณต ํ์ผ
15013115๋ ์ค์๊ฐ ์ํ API๊ฐ ์๋๋ค. ํฌํธ ๋ค์ด๋ก๋ ํ๋ฉด์์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ฐ์ ํ์ค CSV๋ฅผ ์ ์ ์ฐธ๊ณ ์๋ฃ๋ก๋ง ์ฌ์ฉํ๋ฉฐ, ๋ฌธ์ํ๋์ง ์์ CSV URL์ ์ถ์ธกํ์ง ์๋๋ค.
Inputs and commands
์ค์น๋ skill ๋๋ ํฐ๋ฆฌ์์ ์คํํ๋ค.
python3 scripts/ev_charger.py info --location '์์ธ ๊ฐ๋จ๊ตฌ' --num-of-rows 10
python3 scripts/ev_charger.py status --stat-id ME000001 --num-of-rows 10
python3 scripts/ev_charger.py status --zcode 11 --limit-yn Y --period 10 --json
๊ณตํต ํํฐ๋ zcode, zscode, statId, chgerId๋ค. hosted proxy์ info๋ ๊ณ ์ ํ๊ฒ ์๋ณ๋๋ location์ ํ์ ๊ตฌ์ญ ์ฝ๋๋ก ๋ณํํ๋ฉฐ, ๋ชจํธํ๊ฑฐ๋ ์ฐพ์ ์ ์๋ ์์น์ ์ถฉ๋ํ๋ ๋ช
์์ ์ฝ๋๋ ๊ฑฐ๋ถํ๋ค. status๋ limitYn๊ณผ period๋ฅผ ์ถ๊ฐ๋ก ํ์ฉํ๋ค. ํ์ด์ง ๊ธฐ๋ณธ๊ฐ์ pageNo=1, numOfRows=10์ด๋ฉฐ numOfRows ๋ฒ์๋ 10~9999๋ค.
์ง์ ํธ์ถ:
python3 scripts/ev_charger.py info --zcode 11 --zscode 11680 --direct
python3 scripts/ev_charger.py status --stat-id ME000001 --direct --dry-run
์ง์ ํธ์ถ์ ์์น ํ
์คํธ๋ฅผ ํ์ ๊ตฌ์ญ ์ฝ๋๋ก ๋ณํํ์ง ์์ผ๋ฏ๋ก --location ๋์ --zcode/--zscode๋ฅผ ์ฌ์ฉํ๋ค. --dry-run์ URL์ ๋ณด์ฌ์ฃผ๋ ํค๋ฅผ REDACTED๋ก ๊ฐ๋ฆฐ๋ค.
Credential rules
- hosted proxy: ์ฌ์ฉ์ ํค ๋ถํ์
- direct ํ๊ฒฝ๋ณ์ ์ฐ์ ์์:
KSKILL_EV_CHARGER_API_KEY -> DATA_GO_KR_API_KEY
- dotenv fallback:
~/.config/k-skill/secrets.env์์ ๊ฐ์ ์์
- ํค๋ฅผ ๋ก๊ทธ, ๋ต๋ณ, dry-run URL, ์ ์ฅ์ ํ์ผ์ ๋
ธ์ถํ์ง ์๋๋ค
๊ณต๊ณต๋ฐ์ดํฐํฌํธ ์ธ์ฆํค๋ฅผ ์ด๋ฏธ ๊ฐ๊ณ ์์ด๋ ๋ฐ์ดํฐ์
15076352 ์์ธ ํ์ด์ง์์ ๋ณ๋ ํ์ฉ์ ์ฒญ์ด ํ์ํ๋ค. ์ด API๋ ์๋์น์ธ ๋์์ด์ง๋ง ์น์ธ/ํ์ฑํ๊ฐ ์๋ฃ๋ ๋ค ํธ์ถํด์ผ ํ๋ค.
Workflow and fallback order
- ์์น/์ง์ญ ์์ฒญ์
info๋ก ์ถฉ์ ์ ์ฃผ์, ์ด์๊ธฐ๊ด, ์ถฉ์ ๊ธฐ ์ ํ๊ณผ ์๋ณ์๋ฅผ ์ฐพ๋๋ค.
- ์ฐพ์
statId/chgerId๋ก status๋ฅผ ํธ์ถํด ํ์ฌ ์ํ์ ๊ฐฑ์ ์๊ฐ์ ํ์ธํ๋ค.
- live info๊ฐ ์คํจํ๋ฉด ๋์ผ ์กฐ๊ฑด์ ์ขํ ํ ๋ฒ ์ฌ์๋ํ๋ค.
- live info๋ ์ฑ๊ณตํ์ง๋ง status๊ฐ ์คํจํ๋ฉด ์ ๋ณด ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ฉด์ ์ํ ํ์ธ ์คํจ๋ฅผ ๋ถ๋ฆฌํด ์๋ฆฐ๋ค.
- live API ์ ์ฒด๊ฐ ๋ถ๊ฐ๋ฅํ ๋๋ง ๋ฐ์ดํฐ์
15013115์ ์ฌ์ฉ์๊ฐ ์ง์ ๋ด๋ ค๋ฐ์ ํ์ค CSV๋ฅผ ์ ์ /์๋ fallback์ผ๋ก ์๋ดํ๋ค.
Output
๊ธฐ๋ณธ์ ํ๊ตญ์ด ์์ฝ, --json์ ํ๋ก์/์๋ฅ JSON์ ์ถ๋ ฅํ๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ค์ ํ๋๋ฅผ ํฌํจํ๋ค.
- ์ถฉ์ ์๋ช
, ์ฃผ์, ์์น ์ค๋ช
- ์ด์๊ธฐ๊ด
statId, chgerId
- ์ถฉ์ ๊ธฐ ์ ํ๊ณผ ํ์ฌ ์ํ
- ์ํ ๊ฐฑ์ ์๊ฐ
์ํ ์ฝ๋๋ ์๋ฌธ ๊ฐ์ ๋ณด์กดํ๋ค. ์ํ๊ฐ ์๊ฑฐ๋ ์ค๋๋ ๊ฒฝ์ฐ ์ถ์ ํ์ง ์๋๋ค.
Failure modes
upstream_not_configured: hosted/self-host ํ๋ก์์ DATA_GO_KR_API_KEY๊ฐ ์์
- key/auth rejection: ๋ฐ์ดํฐ์
15076352 ํ์ฉ์ ์ฒญ ์น์ธ ์ฌ๋ถ ํ์ธ
- proxy down: ํ๋ก์ ์ฅ์ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์ ์ ํ ์ฌ์๋
- empty result: ์กฐ๊ฑด์ ์ขํ๊ฑฐ๋
zcode/zscode/statId๋ฅผ ํ์ธ
- invalid/non-JSON/XML response: upstream ์๋ต ์ค๋ฅ๋ก ๋ถ๋ฆฌํ๊ณ ๊ฒฐ๊ณผ๋ก ์บ์ํ์ง ์์
- static CSV fallback: ์ค์๊ฐ ์ํ๋ก ํํํ์ง ์๊ณ ํ์ผ ๊ธฐ์ค์ผ์ ํจ๊ป ๋ช
์
Done when
- ์ถฉ์ ์ ์ ๋ณด์ ๊ฐ๋ฅํ ํ์ฌ ์ํ๋ฅผ ๊ฐ๊ฐ ํ์ธํ๋ค.
- ์ ๋ณด ์กฐํ์ ์ํ ์กฐํ์ ์์ /์คํจ๋ฅผ ๊ตฌ๋ถํ๋ค.
- ํค, ์์ฝ, ๊ฒฐ์ , ์ถฉ์ ์ ์ด๋ฅผ ๋
ธ์ถํ๊ฑฐ๋ ์๋ํํ์ง ์์๋ค.