시놀로지 나스

[HA]PIR 센서 시간을 리턴하는 웹서버에서 감지시간 가져오기

do121 2023. 7. 22. 07:38

ESP01와 PIR센서로 만든 인체감지 센서가 리턴하는 값을 홈어시스턴트로 가져오는 방법임

웹 서버가 반환하는 데이터 형식이 "PIR 2023-07-22 06:55:59"와 같을 때 홈어시스턴트에서 RESTful Sensor를 사용하여 데이터를 가져오려면

  1. 홈어시스턴트 설정 파일 편집: configuration.yaml 파일을 열어 RESTful Sensor를 추가, 아래는 10분 단위로 가져온다.
sensor:
  - platform: rest
    resource: http://your-web-url.com/data  # 웹 서버의 URL을 입력합니다.
    method: GET
    name: Remote Time
    value_template: "{{ value.split(' ')[1] }} {{ value.split(' ')[2] }}"  # 시간과 날짜를 추출합니다.
    scan_interval: 600  # 초 단위 간격으로 데이터를 업데이트할 수 있도록 설정합니다.

2. 홈어시스턴트 센서 업데이트하기

 (1) 구성내용확인 클릭

 (2) 재시작 클릭하면 홈어시스턴트가 재시작한다.

* 구성내용 확인시 

Error loading /config/configuration.yaml: 'utf-8' codec can't decode byte 0xc0 in position 2787: invalid start byte와 같이 에러가 발생하는 것은 주석에 한글이 포함되어서 이다. 따라서 한글 주석은 삭제한다.

 

3. 설정 / 구성요소에 보면 아래와 같이 센서가 인식되어 있음

4. 대쉬보드에 추가

 (1) 오른쪽위 모서리의 점 세개 클릭하여 편집하기

 

 (2) 카드추가 클릭

 (3) 구성요소로 추가하기에서 PIR Time 선택

 (4) 대시보드에 추가 클릭

 

그러면 아래와 같이 대시보드에 추가된다.

그리고 클릭하면 기록그래프에서 시간대 별로 가져온 값이 표시된다.

만약 웹서버 리턴값이 true나 false로 반환하면 기록그래프가 더 보기 좋을 것이다.