HA에 Seoul Bus Sensor(서울버스) 추가하기

HA 자체가 오픈 소스 기반 이기 때문에 여러 개발자 분들이 만들어 주신 기능들을

센서 형태로 추가가 가능 합니다

 

이건 그 중에 서울 버스 API를 이용한 기능 인데요 

 

 miumida/seoul_bus: Seoul Bus Sensor for Home Assistant #HA (github.com)

우선 출처는 위의 링크 입니다

 

HA에 적용 하기 전에

  • 우선 HAOS 기준 입니다 애드온이나 HACS를 사용하기 위해서 HAOS 설치를 권장 합니다
  • 서울 버스 API를 사용하기 때문에 API 사용 신청을 해야 합니다 적용 되는데 몇 시간 걸립니다
  • 당연하겠지만 서울 버스만 가능 합니다

우선 서울 버스 API부터 신청을 하겠습니다

 위의 링크로 가서 가입이나 로그인 하시고 API 활용 신청을 하시면 됩니다

자동 승인이기 때문에 바로 승인은 되는데 API키가 적용 되는데 시간이 조금 걸리더라고요

저 같은 경우 그냥 네이버 로그인으로 진행 했는데 문제 없었습니다

 

image.png.jpg

 승인이 되면 이런 식으로 마이페이지 – API신청 에 표시가 됩니다

클릭 해보시면

image.png.jpg

 

이런 화면이 뜹니다 인증키가 두 종류인데 다른 곳에서 사용할 때 둘 중 하나를 쓰면 됩니다

HA에 등록 할 때는 인코딩 인증키를 사용 합니다

아래에 보시면 사용 가능한 기능들이 보이는데요 우측에 보시면 일일 트래픽이 있습니다

 

네… 개인용으로 하루 1000번 만 조회 가능하니 적절히 사용하시면 됩니다

 

위에서도 이야기 했지만 승인은 자동인데 적용이 느립니다

내 API키가 활성화 됐냐 아니냐를 확인 하는 방법은 아래 기능 목록 우측 확인을 눌러 줍니다

image.png.jpg

 

 저는 2번으로 확인을 합니다만 그냥 1번 정류소 명칭 검색으로 하셔도 됩니다

 

정류소 번호 확인은 여러 지도앱에서도 가능하고 

버스정보 | 서울 버스정보시스템(BIS) (bus.go.kr)

에서도 검색이 가능하니 편한대로 사용 하시면 됩니다

  • 이 정류소 번호는 HA에 설정할 때도 필요합니다

저는 강남역을 검색 해보겠습니다

강남역 12번 출구 정류장 번호는 23814 네요

입력 후 미리보기 하시면

 

image.png.jpg

 정상 처리 메시지와 함께 이런 화면이 보이면 API키가 활성화 됐다는 뜻입니다

활성화가 아직이면 에러 메시지가 보입니다

 

위 화면에 보시면 이 정류장을 경유하는 버스 노선 번호와 아이디가 보이실 겁니다

  • 버스 노선 아이디는 HA에 등록 할 때 사용 하기도 합니다

어쨌든 이제 API키 발급은 끝났고 기다리는 일만 남았습니다

 

이제 HA에 커스텀 컴포넌트를 설치해야 하는데요

 

방법은 두 가지 입니다 

  • 수동으로 깃허브에서 컴포넌트 파일을 다운 받아서 HA 커스텀 컴포넌트 폴더에 업로드 하거나
  • HACS를 이용해 커스텀 리포지토리를 등록해서 자동으로 설치 하거나 입니다

우선 수동 설치는 miumida/seoul_bus: Seoul Bus Sensor for Home Assistant #HA (github.com)

링크로 가셔서

image.png.jpg

 zip파일로 다운 받으시고 보시면 custom_components 폴더에 파일들이 있습니다

 

image.png.jpg

그 파일들을 HA의 config – custom_components –  seoul_bus 폴더에 업로드 하시면 됩니다

애드온 중에 파일 에디터 설치하시면 바로 보일 겁니다

 

두 번째는 HACS를 이용한 방법입니다 

HACS 설치가 됐다면

image.png.jpg

 

 image.png.jpg

커스텀 리포지토리 등록을 해줍니다

 

image.png.jpg

 

리포지토리 주소 넣으시고 인터그레이션 선택 하신 후 추가 누르시면 서울버스 컴포넌트가 보일 겁니다

다운로드 하시면 자동 설치 됩니다

 

이제 커스텀 컴포넌트는 추가가 끝났습니다

 

image.png.jpg

 

HAOS를 재시작 해주세요

재시작 버튼은 개발자 도구에 있습니다

 

재시작 하셨으면 이제 컴포넌트를 기반으로 센서 형태로 추가해 줘야 HA에서 사용이 가능합니다

 

센서 형태로 추가가 되기 때문에 여러 자동화 트리거라든지 러브레이스에 추가라던지 사용이 가능 하겠죠

 

출처의 깃허브에도 잘 설명이 되어있지만 

sensor:
  – platform: seoul_bus
    api_key: ‘input your api key’
    api_issued_date: ‘input your api issued date’
    view_type: ‘M’
    stations:
      – station_id: ‘03198’
        name: ‘서울역’
        update_time:
          – start_time: ’07:40′
            end_time: ’08:30′
      – station_id: ‘24131’
        name: ‘잠실중학교’
        update_time:
          – start_time: ’21:40′
            end_time: ’22:00′
        include_buses:
          – bus_id: ‘100100237’
        exclude_buses:
          – bus_id: ‘100100237’

이 코드가 베이스 입니다

이 코드를  configuration.yaml에 추가 해주시면 됩니다

이 것 역시 파일 에디터를 이용하면 간단 합니다

 

코드 설명을 좀 드리자면

sensor:
  – platform: seoul_bus
    api_key: ‘input your api key’ #’안에 인코딩 API키를 넣어주시면 됩니다
    api_issued_date: ‘input your api issued date’ #이건 API기간이 얼마 남았나 를 확인할 수 있는 API센서 입니다 2023-07-12 형식으로 본인이 API 발급 받은 날짜를 넣어주시면 됩니다
    view_type: ‘M’ # 이건 출처 깃허브 설명을 확인 해주세요
    stations:
      – station_id: ‘03198’ #테스트 할 때 확인 했던 버스 정류장 번호입니다 
        name: ‘서울역’ #버스 정류장 이름 입니다
        update_time: #하루 1000회라는 제한이 있기 때문에 시간을 지정 해서 그 시간에만 조회를 합니다. 아래는 시작 시간과 종료 시간이겠죠 대략 출퇴근 시간 정해져 있으니 그 쯤으로 설정한 예시 입니다.
          – start_time: ’07:40′
            end_time: ’08:30′
      – station_id: ‘24131’
        name: ‘잠실중학교’
        update_time:
          – start_time: ’21:40′
            end_time: ’22:00′
        include_buses: #깃허브에 설명된 대로 아래 등록 된 버스 노선 아이디만 보여줍니다
          – bus_id: ‘100100237’
        exclude_buses: #아래 등록 된 버스 노선 아이디 만 제외하고 보여줍니다
          – bus_id: ‘100100237’

 

뭐 대략 이런 식이네요 

 

원하는 대로 수정을 하시고 configuration.yaml 맨 아래에 추가하시고

개발자 도구 가셔서 문법 문제 없나 확인 후 재시작 하시면 끝입니다

 

그런데 API 활성화가 아직 안 되셨으면 HA에서 에러로 표시되니 활성화 후 HA재시작 다시 해주셔야 합니다

 

image.png.jpg

 완료가 되면 깃허브에 있는 위 화면 처럼 러브 레이스에서 카드 추가나

기타 자동화에서 트리거나 이런저런 설정에 센서로 사용가능 하니 

여기저기 활용하시면 될 거 같습니다

 

참고로 서울 버스가 아니지만 서울 버스 정류장을 경유하는 버스는 검색이나 사용이 됩니다

 

기존에 다른 게시판에 적었던 글은 옮길 수가 없네요

https://svrforum.com/iot/862240

Loading

위 링크 글은 HA로 PC 컨트롤 하는 내용의 글입니다

서버포럼 글 주소 붙여넣기 하면 URL을 분석 중입니다라고 뜨고 붙여넣기가 안되네요

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다