듀크 에너지는 2023 년 6 월 말 게이트웨이 파일럿 프로그램을 종료했습니다.이 통합은 기능이 중단되었으며 더 이상 사용되지 않습니다.
듀크 에너지 게이트웨이이것은 홈 어시스턴트를위한 맞춤형 통합입니다. Duke Energy Gateway 파일럿 프로그램을 통해 Duke Energy에서 실시간 에너지 사용을 가져옵니다.
이 통합은 나에게 작성된 pyduke-energy 라이브러리를 활용하여 데이터를 가져옵니다. 이 API는 매우 비공식적이며 언제든지 작동을 중단 할 수 있습니다 (면책 조항 참조).
이 작업이 작동하려면 Duke Energy Gateway를 스마트 메이트에 연결해야합니다. 이것은 스마트 미터와 별도의 장치이며 현재 초대장 전용 프로그램에 의해 제공됩니다. 이것이 무엇인지 모른다면 아마 당신은 아마 그것을 가지고 있지 않을 것입니다. 이 통합은 데이터 검색 방법을 지원하지 않습니다 (게이트웨이 요구 사항 참조).
이 구성 요소는 다음 엔티티를 설정합니다.
sensor.duke_energy_current_usage_wsensor.duke_energy_usage_today_kwh 센서를 사용할 수 있거나 Riemann 합계 통합을 통해이 실시간 센서를 공급해야합니다.sensor.duke_energy_usage_today_kwhpyduke-energy Repo의 한계 참조).mjmeli/ha-duke-energy-gateway 설정에서 사용자 정의 저장소로 추가하고 범주로 Integration 선택하십시오.configuration.yaml 의 디렉토리 (폴더)를 엽니 다.custom_components 디렉토리 (폴더)가 없으면 작성해야합니다.custom_components 디렉토리 (폴더)에서 duke_energy_gateway 라는 새 폴더를 만듭니다.custom_components/duke_energy_gateway/ directory (폴더)의 모든 파일을 다운로드하십시오.구성은 UI에서 수행됩니다. 처음에는 다음 데이터를 제공해야합니다.
| 데이터 | 설명 |
|---|---|
email | Duke Energy에 로그인 이메일. |
password | Duke Energy에 로그인 비밀번호. |
통합이 설정되면 통합 페이지에서 "구성"을 클릭하여 추가 구성을 수행 할 수 있습니다. 이렇게하면 다음 옵션을 수정할 수 있습니다.
| 데이터 | 설명 |
|---|---|
Real-time Usage Update Interval (sec) | 기본적으로, 실시간 사용 센서는 읽기가 시작될 때마다 업데이트됩니다.이 데이터가 너무 빈번한 경우이 값을 구성하여 데이터를 스로틀로 구성 할 수 있습니다. 양의 정수 X 로 설정하면 센서는 X 초마다 한 번만 업데이트됩니다. 다시 말해, 30으로 설정하면 ~ 30 초마다 새로운 실시간 사용량을 얻게됩니다. |
구성 흐름은 게이트웨이와 스마트 메트를 자동으로 식별하려고 시도합니다. 현재 계정 당 하나만 지원됩니다. 식별 된 첫 번째 것이 사용됩니다. 찾을 수없는 경우 구성 프로세스가 실패해야합니다.
미터 선택이 실패하면 첫 번째 단계는 구성 요소에 로깅을 활성화하는 것입니다 (로깅 참조). 이것이 문제에 대한 통찰력을 제공하지 않으면 Github 문제를 열어주십시오.
문제가 발생하고 로그를 살펴보고 싶다면이 통합은 디버그 레벨에서 장황한 로깅을 제공합니다. configuration.yaml 파일에 다음을 추가하여 활성화 할 수 있습니다.
logger :
default : info
logs :
custom_components.duke_energy_gateway : debug
pyduke_energy.client : debug
pyduke_energy.realtime : debug code . Dev 컨테이너로 다시 열 수있는 옵션을 클릭합니다. VS 코드에서 "포트 9123에서 홈 어시스턴트를 실행"한 다음 http : // localhost : 9123을 통해 액세스 할 수 있습니다.
수동으로 설치하려면 pip install -r requirements_dev.txt 사용하여 DEV 종속성을 설치할 수 있습니다.
저작을하기 전에 pre-commit run --all-files .
pyduke-energy 버전과 함께 작업 pyduke-energy 에서 새로운 변경 사항을 구현하려고하지만 해당 라이브러리의 버전을 해제하지 않으려는 경우 원격 작업 지점에서 설치하도록 개발 환경을 설정할 수 있습니다.
git+https://github.com/mjmeli/pyduke-energy@main 에서 main 대체하여 작업 브랜치를 사용하고 Fork (eg git+https://github.com/notmjmeli/pyduke-energy@new-feature-dev-branch )의 메인을 대체하고 사용자 이름 requirements_dev.txt 업데이트합니다.pyduke-energy 의 로컬 캐싱 버전을 제거하지 못함 : pip uninstall -y pyduke-energypip install -r requirements_dev.txt 이에 기여하려면 기여 가이드 라인을 읽으십시오.
이 프로젝트는 @OncleBen31의 홈 어시스턴트 사용자 정의 구성 요소 CookieCutter 템플릿에서 생성되었습니다.
코드 템플릿은 주로 @ludeeus의 integration_blueprint 템플릿에서 가져 왔습니다