●HA작업) 한국 Workday 바이너리 센서
이전
다음
링크
본문
●HA작업) 한국 Workday 바이너리 센서
https://github.com/GrecHouse/korean_workday
한국 Workday 바이너리 센서
현재 과거가 작업일인지 여부를 나타냅니다.
조회의 휴일 모듈을 사용하는 HA의 근무일 센서가 한국 휴일을 지원하지하고그랬었기 때문에
공공 데이터포털의 휴일 API를 사용하여 사용자 지정 구성 요소를 만들었습니다.
2020년 중반 이후 HA 기본 Workday 센서에서 KR을 지원합니다.
기본 백업 센서 이 Custom 구성 요소의 장점은 임시공휴일지원하는 것입니다.
스크린샷
버전 기록
버전 | 날짜 | |
---|---|---|
v1.0 | 2019.04.15 | 이전 버전 |
v2.0 | 2020.04.14 | 기능 개선, lovelace 카드 추가 |
v2.1 | 2020.05.28 | API 호출 대화 |
v2.2 | 2020.05.28 | deprecated warning 관련 수정 |
v2.2.1 | 2021.05.29 | manifest.json에 버전 추가 |
v2.2.2 | 2021.11.04 | xmltodict 요구 사항으로 처리 - HA Core 2021.11 |
v2.3 | 2021.11.08 | async_track_point_in_time, KST 로 변경 |
v2.4 | 2022.12.19 | remove_holidays 옵션 추가 |
설치
직접 설치
- HA 설치 경로 아래에 custom_component에 파일을 만들도록 합니다.
<config directory>/custom_components/korean_workday/binary_sensor.py
<config directory>/custom_components/korean_workday/__init__.py
<config directory>/custom_components/korean_workday/manifest.json - configuration.yaml 파일에 설정을 추가합니다.
- 홈 어시스턴트를 시작합니다.
HACS로 설치
- HACS > 통합 메뉴 선택
- 오른쪽 상단 메뉴 버튼 클릭 후 Custom repositories 선택
- Add Custom Repository URL 에 https://github.com/GrecHouse/korean_workday입력,
카테고리에 Integration선택 후 ADD - HACS > 통합 메뉴에서 오른쪽 하단 + 버튼 그림 [KR] Korean Workday Sensor검색으로 설치
Lovelace 카드 설치
용법
2.0 수정사항
- 공공 데이터포털 API 없이 매일 휴무 목록을 업데이트합니다.
API 키 발급이 필요하지 않습니다. - 1.0 버전의 장보기 목록(Shopping List) 대신 사용할 수 있는 맞춤 카드를 만들었습니다.
홀리데이 러브레이스 카드를 이용하세요. - 휴일인 경우 속성값으로 holiday name이 추가됩니다.
(옵션) 공공데이터포털 OPEN API 이용하기
- 아니었군요. 직접 API를 이용하고 싶은 분만 설정하시면 됩니다.
- 하루에 한 번 API 요청을 휴일 동안 목록을 가져왔습니다.
- 임시 데이터포털에서 서비스키를 발급받아야 합니다.
특일정보 활용신청
(옵션) 장보기목록(Shopping List) 이용하기
- 이 옵션보다는 홀리데이 러브레이스 카드 사용을 권장합니다.
- shopping_list 옵션을 true로 정지했을 경우에만 처리됩니다.
- 장보기 목록에 #YYYYMMDD형식으로 날짜를 단축할 수 있도록 추가됩니다.
- 장보기 목록에서 최종 처리(확인)하면 휴무가 해제됩니다.
- 하루 휴무일 등록 또는 완료(체크)시 센서값 변경까지 최대 30분 정도 소요될 수 있습니다.
- (주의) 휴무일 변경 삭제는 장보기 목록에서 확인한 상태에서 센서값이 된 것을 수정하고 다음 삭제하세요.
참고사항
- 5월 1일은 공휴일이 아닙니다. add_holidays에 추가하거나 lovelace 카드에 추가하세요.
- lovelace 카드를 사용하지 않으면, add_holidays 항목에 휴가 목록을 수작업으로 모두 주셔야 합니다.
구성
- 기본 설정은 HA의 근무일 센서 설정과 동일합니다.
https://www.home-assistant.io/components/workday/ - 국가, 지방은 접근고 service_key가 추가되었습니다.
- add_holidays의 형식은 YYYYMMDD형식으로 변경되었습니다.
- lovelace 카드를 함께 사용하려면 input_text 확대도 하나 추가해주세요.
예 configuration.yaml:
binary_sensor:
- platform: korean_workday
service_key: 'data.go.kr api key'
add_holidays:
- 20190501
remove_holidays:
- 20221218
input_text:
holiday:
name: Holiday
max: 255
구성 변수:
옵션 | 값 |
---|---|
플랫폼 | (필수) korean_workday |
이름 | (옵션) 센서 이름. 미설정시 리스트는 'korean_workday' |
서비스_키 | (옵션) data.go.kr 서비스키 |
add_holidays | (옵션) 휴일로 추가할 날짜 목록 'YYYMMDD' 형식 주의! YYYY-MM-DD가 가로 |
remove_holidays | (옵션) 휴일에서 제거할 날짜 목록 'YYYMMDD' 형식 주의! YYYY-MM-DD가 가로 |
평일 | (옵션) 작업일리스트. 미설정시 블릿은 [mon, tue, wed, thu, fri] |
제외하다 | (옵션) 여행리스트. 미설정시 리튬은 [토, 일, 공휴일] |
days_offset | (옵션) 요일 오프셋 설정(예: 어제는 -1, 내일은 1) |
쇼핑리스트 | (옵션) 장보기 목록 사용 여부. 거짓말은 거짓 |
전체 예
기본 설정으로 사용하기 (주말과 공휴일만 나갈 경우)
# Example configuration.yaml entry
binary_sensor:
- platform: korean_workday
월화수목 주4일 근무(부럽..)하고 맞춤 휴가를 추가한 예
# Example configuration.yaml entry
binary_sensor:
- platform: korean_workday
service_key: 'i1FinzgGkT7FPB...'
workdays: [mon, tue, wed, thu]
excludes: [fri, sat, sun, holiday]
add_holidays:
- '20190501'
- '20190607'
- '20190610'
자동화 예
그 예시
automation:
alias: Turn on heater on workdays
trigger:
platform: time
at: '08:00:00'
condition:
condition: state
entity_id: 'binary_sensor.korean_workday'
state: 'on'
action:
service: switch.tur
관련자료
-
링크
-
이전
-
다음
댓글 0
등록된 댓글이 없습니다.