저장소:IAMMETER 시뮬레이터
여기에 귀하의 생각을 알려 주셔서 감사합니다.가상 3상 에너지 미터(오픈 소스)를 HA에 통합하고 이를 사용하여 태양광 발전 시스템을 최적화하십시오.
이 시뮬레이터 개발을 시작하게 하는 아이디어는 이 게시물에서 나옵니다.https://meter.club/topic/320
고객 중 한 명이 가정 도우미가 태양열 초과 출력을 최적화하려고 합니다. IAMMETER의 에너지 미터를 사용하여 태양열 초과 출력을 모니터링하고 Home Assistant로 Tesla 충전을 제어합니다(가능한 한 초과 태양광 사용).
우리는 또한 제어 로직을 함께 최적화하기 위해 이 프로젝트에 참여하고 싶습니다. 그러나 지금 우리 사무실에는 Tesla와 인버터가 없습니다. 그래서 우리는 이러한 작업을 수행하기 위해 시뮬레이터를 개발하는 아이디어를 냈습니다.
이 시뮬레이터를 통해 시뮬레이션된 WEM3080T를 얻을 수 있습니다.
위상 A는 태양광 인버터 출력의 측정 결과입니다(이 결과는 시뮬레이터로 완전히 시뮬레이션하거나 실제 에너지 미터에서 얻을 수 있음).
부하 프로파일은 시뮬레이터에서 구성되며 다양한 부하 모델(고정, 타이머, 구성 가능)이 있습니다.
그러면 시뮬레이터는 태양열 측정 결과(모의 또는 실제)와 부하(모의) 프로파일에 따라 그리드 소비를 자동으로 계산하고 결과를 B상으로 출력합니다.
이 시뮬레이터로 흥미로운 작업을 수행할 수 있습니다.
시뮬레이션된 3상 에너지 미터는 실제 하드웨어처럼 홈 어시스턴트 또는 IAMMETER에 추가할 수도 있습니다.
시뮬레이터는 "ASP.NET Core"에 의해 개발되었으며 오픈 소스입니다.
이 코드를 실행한 후 이러한 방식으로 3상 에너지 미터(WEM3080T)를 설치했다고 가정합니다.
시뮬레이터는 "monitorjson"의 API도 지원합니다. 실제 3상 에너지 미터처럼.
시뮬레이터의 A상 데이터는 전체 시뮬레이션 데이터(시뮬레이트된 인버터의 최대 전력을 설정할 수 있음), 실제 에너지 미터(WEM3080T) 또는 일부 플랫폼(예: PVoutput)의 API 반환 값에서 가져올 수 있습니다.
부하 모델은 실제 전력 소비를 시뮬레이션하는 데 사용되며 현재 지원되는 세 가지 부하 모델이 있습니다.
이러한 부하 모델을 제어하기 위해 이 시뮬레이터에 고유한 제어 로직을 도입할 수 있습니다. 한가한 요금제 시간에 일부 큰 부하를 작동시키는 것과 같이 태양열 초과 출력을 가능한 한 많이 사용합니다.
물론 실제 상황을 시뮬레이션할 수 있는 하중 모델을 제공하는 것은 쉬운 일이 아닙니다. 이 코드를 공개한 후 이 프로젝트에 관심이 있는 모든 사람들이 부하 모델을 함께 개선하여 실제 상황에 더 가깝게 만들 수 있기를 바랍니다.
이 사용에서 모든 데이터는 이 시뮬레이터에 의해 시뮬레이션됩니다. 태양광 PV 출력과 부하 프로필 모두 설정과 관련하여 시뮬레이션됩니다.
시뮬레이터는 PV 출력을 시뮬레이션하고 위상 A에서 데이터를 출력합니다. 시뮬레이션된 부하 프로필을 출력합니다. A 단계의 시뮬레이션된 PV 데이터와 시뮬레이션된 부하 프로파일로 계통 출력을 계산하고 B 단계에서 출력합니다.
실제 에너지 미터가 지원하는 것과 동일한 API("monitorjson")로 시뮬레이터에서 데이터를 가져올 수 있습니다.
시뮬레이션된 에너지 미터를 홈 어시스턴트에 통합하는 것은 의미가 없어 보이지만 이 시뮬레이터를 잘 이해하는 데 도움이 될 것입니다. 그러면 사용 2 및 사용 3에서 시뮬레이터를 더 잘 사용할 것입니다.
이제 실제 WEM3080T에서 읽거나 IAMMETER의 API에서 읽는 두 가지 인터페이스만 지원합니다.
실제로 태양열 출력 데이터를 포함하는 모든 인터페이스(실제 계량기에서 읽거나 온라인 API에서 가져옴)를 데이터 소스로 간주하여 여기에 추가할 수 있습니다.
다른 인터페이스에 익숙하다면 당사에 PR을 제출하는 것을 환영합니다.저장소.
실제 상황에 최대한 가깝게 시뮬레이터에서 부하 프로파일을 구성하십시오.
그런 다음 시뮬레이터는 이 공식과 관련하여 그리드 소비를 계산합니다. 그리드 전력 = 태양광 출력 전력 - 부하 전력 또한 그에 따라 그리드 kWh 데이터(수입 에너지 및 수출 에너지 모두)를 계산합니다.
시뮬레이터는 B 단계에서 그리드 데이터 결과(실제 태양열 및 시뮬레이션된 부하로 계산)를 출력합니다.
로컬 API "monitorjson"으로 이 시뮬레이션된 그리드 결과를 읽고 익숙한 플랫폼에 통합할 수 있습니다.
부하 모델이 실제 상황에 충분히 가깝다면 최상의 제어 로직(알고리즘)을 찾는 데 도움이 될 수 있습니다. 이 제어 논리는 다음과 같은 작업에 도움이 될 수 있습니다.
잉여 태양광으로 부하에 가능한 한 많은 전력을 공급하십시오.
부하가 태양열로 전력을 공급할 수 없는 경우(야간), 가능한 한 피크가 아닌 시간에 전력을 공급하도록 노력하십시오.
참조하십시오
소스 코드 또는 Docker로 이 시뮬레이터를 실행하십시오.