본문 바로가기
ESP32

ESP32와 Home Assistant를 이용한 DIY 스마트 에너지 미터

by 모빌리티키즈 2024. 10. 18.
728x90
반응형

안녕하세요! 이번 여름에 전기를 절약하고 전기 요금을 아끼기 위해 스마트 에너지 미터를 만들었습니다.  미터는 집이나 아파트 전체의 전기 소비량을 정확하게 측정하고, 스마트폰 앱을 통해 실시간으로 확인할  있습니다.  시스템을 통해 정확한 순간에 얼마나 많은 에너지를 소비하고 있는지, 지난 달이나 지난 24시간 동안의 소비 추세를 파악할  있습니다.

프로젝트의 필요성

전기 절약을 시작하고 싶다면, 자신의 소비 패턴을 이해하는 것이 필수적입니다. 제가 만든 스마트 에너지 미터는 간단한 전류 클램프와 변압기를 사용하여 와트시 단위로 소비되는 에너지와 전압, 전류, 주파수  역률을 정확하게 측정합니다.

구성 요소

  • ESP32: 메인 마이크로컨트롤러
  • 전류 클램프: 전류 측정용
  • 변압기: 전압 측정용
  • I2C LCD 디스플레이: 측정된 값과 WiFi 연결 상태 시각화
  • WiFi 모듈: 데이터를 Home Assistant 앱으로 전송

구현 방법

  1. 센서 연결: 전류 클램프와 변압기를 ESP32에 연결합니다.
  2. ESP32 설정: ESP32를 프로그래밍하여 센서 데이터를 읽습니다.
  3. Home Assistant 통합: Home Assistant를 사용하여 데이터를 시각화하고, 대화형 차트를 통해 에너지 소비 추세를 확인할  있습니다.
  4. 디스플레이 추가: I2C LCD 디스플레이를 추가하여 실시간으로 데이터를 확인할  있습니다.

예제 코드

ESP32를 사용하여 데이터를 읽고 Home Assistant로 전송하는 간단한 코드 예제를 제공합니다.

cpp
#include <WiFi.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include "EmonLib.h" 

LiquidCrystal_I2C lcd(0x27, 16, 2);
EnergyMonitor emon1;

const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";

void setup() {
  lcd.begin(16, 2);
  lcd.backlight();
  Serial.begin(9600);
  
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("WiFi connected");

  emon1.current(1, 111.1); // Current calibration
}

void loop() {
  double Irms = emon1.calcIrms(1480); // Calculate Irms
  lcd.setCursor(0, 0);
  lcd.print("Current: ");
  lcd.print(Irms);
  lcd.print(" A");

  // Send data to Home Assistant
  WiFiClient client;
  if (client.connect("your_home_assistant_ip", 8123)) {
    String postData = "current=" + String(Irms);
    client.print("POST /api/states/sensor.current HTTP/1.1\r\n");
    client.print("Host: your_home_assistant_ip\r\n");
    client.print("Content-Type: application/x-www-form-urlencoded\r\n");
    client.print("Content-Length: ");
    client.print(postData.length());
    client.print("\r\n\r\n");
    client.print(postData);
    client.stop();
  }
  
  delay(2000);
}

 

공급

이 프로젝트를 만들기 위해 나는 다음을 사용했다.

  1. JSY-MK-194G 에너지 미터 모듈(여기 링크)
  2. ESP32 Wemos D1 미니 보드(여기 링크))
  3. Meanwell APV-8-5 5V 8W 전원 공급 장치(여기 링크)
  4. SSD1306 i2c 0.96인치 OLED 디스플레이(여기 링크))
  5. perfboard 조각 (여기 링크)
  6. 실리콘 스피팅 기능이 있는 26AWG 와이어
  7. 단단한 구리 철사
  8. PCB 암수 점퍼 2.54mm 커넥터(여기 링크))
  9. 4핀 JST XH 2.54mm PCB 커넥터(암 커넥터 포함)(여기 링크)
  10. 2핀 5.08mm 나사 단자대
  11. 열수축 튜브
  12. 플러그가 있는 전원 케이블(오래된 가전제품에서 재활용 가능)
  13. 12 M3 황동 나사산 인서트(여기 링크))
  14. 12 M3 10mm 길이 볼트(여기 링크))

도구:

  1. 납땜
  2. 뜨거운 접착제
  3. 스크루드라이버, 펜치 및 기타 기본 도구

전자 장치용 인클로저의 경우:

  1. 적절한 크기의 전기 접속 배선함

또는

  1. 3D 프린터
  2. 원하는 PLA의 두 가지 색상 (저는 녹색과 회색을 사용했습니다)

1단계: AC 전원 측정

이 프로젝트에 대한 아이디어가 떠올랐을 때, 모든 것이 매우 쉬워 보였습니다: 전류 클램프를 ESP32에 연결하면 에너지 소비 데이터를 Home Assistant에 직접 넣을 수 있습니다. 현실은... 그런 식으로 작동하지 않는다는 것입니다. 사실, 약간의 연구 끝에 AC에서 에너지를 측정하는 것이 DC에서 측정하는 것보다 훨씬 더 복잡하다는 것을 깨달았습니다. 간단히 말해서 DC에서 와트 단위의 에너지 소비를 얻으려면 전류에 전압을 곱하기만 하면 되지만 교류에서는 부하 유형에 따라 달라지는 역률을 고려해야 합니다. 여기서 상황은 상당히 복잡해지고, 이 단계에서 저는 프로젝트를 포기하려고 했다는 것을 인정해야 합니다. 몇 며칠 동안 약간의 연구를 한 후 에너지 미터 모듈을 사용하여 해결책을 찾았습니다. 제 프로젝트에서는 중국 회사 Jian Si Yan Meters의 JSY-MK-194G 모듈을 사용했습니다.

상자에는 모듈과 전류 클램프가 있어 전선에 흐르는 AC 전류를 측정할 수 있습니다. CT 클램프에는 커넥터로 모듈에 연결할 수 있는 상당히 긴 와이어가 있습니다. 보드에는 주전원 전압을 안전하게 측정할 수 있는 작은 절연 변압기와 두 번째 회로의 전류를 측정하기 위한 또 다른 CT 클램프가 있지만 이 프로젝트에는 사용하지 않을 것입니다. 다른 쪽에는 전류 클램프와 변압기로 측정된 값에서 시작하여 전압, 전류, 주파수 및 역률과 함께 끌어온 전력을 정확하게 계산하는 집적 회로가 있습니다. 이렇게 하면 계산을 처리할 필요가 없으며 TX 및 RX 핀을 사용하여 Modbus 프로토콜을 통해 보드와 통신하기 위해 Arduino 또는 ESP32에서 데이터를 읽을 준비가 됩니다.

두 개의 분리된 전류 클램프가 있는 이 모듈 버전도 있으며, 이는 두 개의 서로 다른 채널(예: 전기 패널의 두 회로)에서 에너지 소비를 측정하는 데 유용할 수 있습니다. 두 버전 모두 동일한 전자 장치를 가지고 있으므로 이 프로젝트의 다른 것을 수정하지 않고 사용할 전자 장치를 선택할 수 있습니다.

2단계: 전자 장치 연결

이 프로젝트에서는 에너지 미터 모듈 외에도 ESP32 Wemos D1 미니 보드와 OLED 디스플레이를 사용했습니다. ESP32는 에너지 미터 모듈에서 데이터를 읽고 통합 WiFi 연결을 사용하여 Home Assistant로 보내는 데 사용되기 때문에 이 프로젝트의 핵심 부분입니다. OLED 디스플레이는 에너지 미터로 측정되는 값과 WiFi 연결 상태를 시각화하는 데 사용됩니다. 마지막으로 ESP5와 에너지 미터 모듈에 전원을 공급하기 위해 32V 전원 공급 장치가 필요합니다.

서로 다른 구성 요소 간의 연결은 정말 간단합니다 : ESP32 3v3 및 GND 핀을 에너지 미터 모듈의 VCC 및 GND 나사 단자에 각각 연결해야합니다. Modbus 통신의 경우 TX 단자를 핀 16에 연결하고 RX 단자를 핀 17에 연결해야 합니다. OLED 디스플레이는 전원(3v3 및 GND는 디스플레이의 VCC 및 GND에 연결)과 i2c 통신이 필요하며, 이를 위해 핀 22는 SCL로, 핀 21은 SDA로 연결됩니다. 마지막으로 5V 전원 공급 장치의 +와 -는 각각 ESP32 보드의 +5V VCC 및 GND로 이동합니다.

주전원 전압 연결의 경우 전원 케이블에서 나오는 라인과 중성선은 전원 공급 장치의 두 입력 와이어와 에너지 미터 모듈의 L 및 N 나사 단자에 연결됩니다.

위의 그림에서 연결에 대한 회로도를 볼 수 있습니다.

첨부 파일

3 단계 : 회로 기판

서로 다른 구성 요소를 영구적으로 연결하기 위해 회로 기판에 장착하기로 결정했습니다. 먼저 54x74 크기의 퍼프보드 조각을 자릅니다. 그런 다음 ESP32 보드에 일부 수 점퍼 커넥터를 납땜했습니다. 여성 점퍼 커넥터를 사용하여 보드를 perfboard에 놓습니다. ESP32 옆에 Oled 디스플레이를 설치하는 데 사용한 4핀 암 점퍼 커넥터를 perfboard에 납땜했습니다. 마지막으로 전원 공급 장치를 연결하기 위해 두 개의 나사 단자 블록과 에너지 미터 모듈을 보드에 연결하는 데 사용할 4핀 수 JST XH 커넥터를 보드에 납땜했습니다.

모든 부품이 보드에 납땜되면 배선도에 따라 보드 아래에 연결을 만들었습니다. 연결을 위해 뻣뻣한 구리선을 사용하여 흔적을 만들고 교차하는 흔적을 위해 실리콘 피복이 있는 전선을 사용했습니다.

위의 그림에서 보드 아래의 연결 레이아웃을 볼 수 있습니다(각 구성 요소의 핀에는 레이블이 지정되어 있음). 사진을 확대해야 하는 경우 아래에 전체 해상도 파일을 첨부했습니다.

원하는 경우 회로 기판을 직접 만드는 대신 이 프로젝트를 위한 간단한 PCB를 설계하고 제조할 수 있습니다.

4단계: 3D 프린팅 인클로저

이제 회로 기판이 준비되었으므로 Fusion 360에서 이 프로젝트의 모든 전자 장치에 맞는 상자를 설계했습니다. 항상 그렇듯이 프로젝트의 미학을 돌보기 위해 상자 디자인에 시간을 할애했습니다. 그런 다음 상자와 뚜껑을 3D 인쇄했습니다(3D 파일은 아래에 있음). 3D 프린팅의 경우 상자에 녹색 PLA를 선택하고 뚜껑에 회색 PLA를 선택했습니다. 인쇄한 지 하루 정도 지나자 부품이 아주 잘 나왔습니다.

상자의 한쪽에는 두 개의 구멍이 있습니다: 하나는 에너지 미터 모듈로 가는 CT 클램프 케이블용이고 다른 하나는 주전원 전압 전원 케이블을 통과시키는 데 사용할 수 있습니다. 이 마지막 구멍에는 몇 가지 옵션이 있습니다 : 제 경우와 같이 사용하는 전원 케이블에 그로밋이있는 경우 슬롯으로 파일을 인쇄하여 삽입 할 수 있습니다. 대부분의 경우와 같이 케이블에 구멍이 없는 경우 구멍을 직접 삽입할 수 있는 구멍이 있는 파일을 인쇄할 수 있습니다.

뚜껑에는 Oled 디스플레이를 설치할 수 있는 공간이 있으며, 주로 미학을 위해 만들어졌지만 통기에도 유용한 웨이브 패턴을 따르는 일부 개구부가 있습니다.

원하는 경우 3D 프린팅 부분을 건너뛰고 대신 전기 접속 배선함을 사용하여 전자 장치를 설치할 수 있습니다.

5 단계 : 전자 장치 설치

이제 3D 프린팅된 상자와 뚜껑이 있으므로 전체 프로젝트를 조립할 수 있습니다. 내가 가장 먼저 한 일은 약 3°C로 설정된 납땜 인두를 사용하여 인클로저의 모든 구멍에 M230 황동 나사산 인서트를 배치하는 것이었습니다. 베이스의 나사산 인서트는 전자 장치를 장착하는 데 사용되며 네 모서리에 있는 인서트는 덮개를 고정하는 데 사용됩니다.

그런 다음 ESP32가 있는 회로 기판을 상자에 넣고 케이블에 부딪히지 않도록 주의하면서 두 개의 구멍을 뚫기 위해 기판 아래에 있는 두 개의 나사산 인서트의 위치를 표시했습니다. 이렇게 하면 두 개의 M3x10mm 나사를 사용하여 보드를 나사산 인서트에 고정할 수 있습니다. 4개의 나사를 더 사용하여 에너지 미터 PCB를 인클로저에 장착하고 저전압 단자대는 ESP32 보드를 향하게 두었습니다. 마지막으로 두 개의 나사로 5V 전원 공급 장치를 장착하고 두 개의 5V 출력 케이블을 ESP32 보드를 향하도록 유지했습니다.

6단계: 최종 연결

전기 연결로 이동하여 전원 공급 장치의 양극과 음극을 ESP5를 사용하여 회로 기판의 32V 단자에 연결했습니다. 그런 다음 전선이 연결된 암 4핀 JST 커넥터를 사용하여 에너지 미터의 GND, VCC, TX 및 RX를 ESP32 보드에 연결했습니다(TX는 핀 16, RX는 핀 17, VCC는 3v3, GND는 GND).

이제 주전원 전압 연결이 남았으며, 이에 대해 주전원 전압은 매우 위험할 수 있으므로 항상 매우 조심하고 모든 위험을 감수해야 함을 상기시키고 싶습니다. 에너지 미터를 전기 콘센트에 연결하기 위해 이 전원 코드를 2핀 플러그로 구했는데, 이 플러그에는 3D 프린팅 부품에 완벽하게 맞는 그로밋이 있습니다. 다른 전원 케이블을 사용하는 경우 인클로저에 적합한 파일을 3D 인쇄한 후(5단계 참조) 케이블 글랜드를 설치하여 케이블을 상자에 고정할 수 있습니다. 그런 다음 전원 케이블의 라인과 중성선을 전원 공급 장치의 두 개의 입력 와이어로 연결하고 에너지 미터의 L 및 N 단자에 연결했습니다.

연결이 완료되었으며 이러한 전선이 매우 깔끔하게 정리되어 있는 것을 볼 때마다 항상 큰 만족감을 느낍니다.

7단계: 뚜껑 닫기

이제 인클로저에 뚜껑을 설치해야 합니다. 뚜껑에는 뜨거운 접착제로 Oled 화면을 고정하는 구멍이 있습니다. 회로 기판의 점퍼 커넥터에 연결하기 위해 2개의 4핀 점퍼 암 커넥터와 4개의 와이어가 있는 작은 연장 케이블을 만들었습니다. 납땜 조인트를 보호하기 위해 열수축 튜브를 사용했습니다.

마지막으로 인클로저 위에 뚜껑을 덮고 4 개의 M3 나사로 고정했습니다.

8단계: ESP32를 홈어시스턴트에 연결하기

휴대폰에서 에너지 미터로 측정한 데이터를 보려면 ESPHome 애드온을 사용하여 ESP32를 Home Assistant에 연결해야 합니다. 이렇게 하면 Home Assistant 앱에서 에너지 미터의 실시간 데이터와 다양한 기간의 에너지 소비를 보여주는 차트를 볼 수 있습니다.

Home Assistant는 단일 인터페이스에서 모든 스마트 장치를 관리할 수 있는 매우 강력한 오픈 소스 플랫폼입니다. Home Assistant는 로컬 네트워크에서 작동하므로 실행하려면 장치가 필요합니다 : Raspberry Pi 또는 저처럼 가상 머신에서 실행되는 Home Assistant가있는 오래된 Windows PC를 사용할 수 있습니다. 인터페이스에 액세스하려면 컴퓨터에서 웹 페이지에 로그인하거나 스마트폰에 Home Assistant 앱을 다운로드할 수 있습니다. 로컬 네트워크 외부에서 Home Assistant에 연결하기 위해 가장 간단하고 안전한 솔루션인 Nabu Casa Cloud를 사용하고 있지만 무료는 아닙니다. 다른 해결책이 있지만 완전히 안전하지는 않으므로 자신이하는 일을 정말 잘 알고있는 경우에만 사용할 것입니다.

ESP32를 Home Assistant에 연결하기 위해 ESPHome을 사용합니다. ESPHome은 WiFi를 통해 ESP32 및 ESP8266 보드를 Home Assistant에 연결할 수 있는 정말 잘 만들어진 애드온입니다. ESP8266 ESPHome에 연결하려면 다음 단계를 따르세요.

  1. 홈어시스턴트에 ESPHome 플러그인 설치
  2. ESPHome의 대시보드에서 +NEW DEVICE를 클릭합니다.
  3. 장치에 이름을 지정하십시오 (제 경우에는 "에너지 미터"였습니다).
  4. 장치에 펌웨어를 설치하라는 메시지가 표시되면 SKIP THIS STEP을 선택합니다. 나중에 펌웨어를 설치하겠습니다.
  5. ESP32를 선택하고 다음을 클릭합니다.
  6. 제공된 암호화 키를 복사하면 나중에 필요합니다.
  7. 다시 한 번, ESP32에 펌웨어 설치를 건너뜁니다.
  8. 장치가 ESPHome 대시보드에 나타나면 편집을 클릭하여 장치 코드를 확인합니다
  9. Wi-Fi에서 Wi-Fi ssid와 비밀번호를 입력합니다.
와이파이:
SSID: wifi_ssid
암호: wifi_password

 

  1. 연결을 보다 안정적으로 하려면 다음 코드를 사용하여 ESP32에 대한 고정 IP 주소를 설정하는 것이 좋습니다(코드를 복사하려면 다음 링크를 사용하십시오: https://pastebin.com/GHuJEAJk).
와이파이:
SSID: wifi_ssid
암호: wifi_password
manual_ip:
# 이것을 ESP의 IP로 설정합니다.
static_ip: 192.168.1.97
# 라우터의 IP 주소로 설정합니다.
게이트웨이: 192.168.1.1
# 네트워크의 서브넷입니다.
서브넷: 255.255.255.0

 

  1. ESPHome에서 제공하는 코드 끝에 다음 링크에서 찾을 수 있는 코드를 붙여넣습니다 https://pastebin.com/dcS1SQv8
  2. 결국 코드는 이 링크에서 찾을 수 있는 것과 같아야 합니다(그러나 이 코드를 ESPHome 구성에 직접 복사하지 마십시오).

이 코드는 Modbus 프로토콜을 사용하여 에너지 미터 모듈에서 값을 읽습니다. 각 값에는 고유한 Modbus 주소가 있습니다. 다음은 코드가 하나의 값을 읽는 방법의 예입니다.

센서:
# 첫 번째 채널 전압
- 플랫폼 : modbus_controller
modbus_controller_id: jsymk
아이디: 전압1
name: "전압"
아이콘: mdi:alpha-v-box
device_class: 에너지
주소: 0x0048
unit_of_measurement: "V"
register_type: 개최
value_type: U_DWORD
accuracy_decimals: 1
필터:
- 곱하기: 0.0001
register_count: 1
response_size: 4

 

  1. 모듈은 아마도 필요하지 않은 많은 다른 값을 읽을 수 있습니다. 코드는 모든 값을 읽을 수 있도록 작성되었지만 Home Assistant에서 un을 표시할 필요가 없거나 원하지 않는 경우 다음과 같이 이름을 주석으로 달면 됩니다.
...
name: "전압"
...
값 "Voltage"는 Home Assistant로 전송됩니다.

 

...
#name: "전압"
...
값 "voltage"는 Home Assistant로 전송되지 않습니다. 보시다시피 이름 줄 앞에 # 기호를 추가했습니다.

 

참고: 위에 작성된 검은색 사각형 코드를 올바른 들여쓰기가 없으므로 ESPHome 구성에 직접 붙여넣지 마십시오. 링크를 따라 올바른 형식의 복사 준비 코드를 여십시오.

9단계: 에너지 미터 설치

마지막으로 할 일은 집이나 아파트의 전기 배선에 에너지 미터를 설치하는 것입니다. 물론 이 부분은 국가 및 전기 표준에 따라 많이 다를 수 있습니다. 아파트 전체의 전력 소비를 측정하기 위해 먼저 유틸리티 계량기에서 아파트에 있는 전기 패널로 연결되는 전선을 찾아야 했습니다. 제 경우에는 패널 바로 아래에있는 벽의 정션 박스를 통과합니다. 저에게 이것은 에너지 미터의 전류 클램프를 설치하기에 완벽한 장소였습니다. 메인 라인 케이블을 찾으면 전류 클램프를 설치했습니다. 전류 클램프는 열 수 있기 때문에 설치할 때 케이블을 분리할 필요가 없다는 것이 좋습니다.

테스트를 하기 위해 에너지 미터를 연결하자마자 화면에서 전력 소비(와트), 전압 및 케이블에 흐르는 전류를 보기 시작했습니다. 보다 영구적인 설정을 위해 전류 클램프 케이블을 도관을 통해 약 3미터 동안 당겨 정션 박스에서 LAN 네트워크 스위치가 있는 캐비닛으로 가져왔습니다. 이 캐비닛에서는 벽 플러그를 사용하여 에너지 미터를 벽에 장착했습니다. 에너지 미터를 벽에 나사로 고정하기 위해 3D 프린팅 상자 뒷면에 구멍을 뚫었습니다. 마지막으로 전류 클램프 케이블을 에너지 미터 모듈에 연결하고 뚜껑을 닫은 다음 마지막으로 에너지 미터를 연결했습니다.

10단계: 홈 어시스턴트 대시보드

에너지 미터로 측정된 데이터를 보기 위해 즉각적인 전력 소비 외에도 다음과 같은 몇 가지 다른 차트를 볼 수 있는 Home Assistant용 대시보드를 만들었습니다.

  1. 지난 7일 동안의 일별 에너지 소비량(지난 7일 동안 소비된 에너지와 00:00부터 시작하여 근무하는 날 동안 소비된 에너지)
  2. 1년 동안 일별 에너지 소비량(지난 달 동안 소비된 에너지와 지난 365일 동안 소비된 에너지 포함)
  3. 지난 24시간 동안 시간별 에너지 소비(해당 날짜의 전력 소비량의 최소값 및 최대값도 포함)

괴짜를 위해 전압, 전류, 주파수 및 역률 값도 있습니다.

예를 들어 내 아파트에서 하루 평균 에너지 소비량은 약 6kWh인 반면, 모든 것이 꺼졌을 때 도달하는 최소 소비량은 약 60W입니다. 하루 24시간 연결된 모든 전자 장치로 인해 인터넷 라우터 및 TV와 같은.

내 대시보드에서 영감을 얻어 자신만의 대시보드를 만들고 싶다면 가장 먼저 해야 할 일은 하루 동안 소비된 에너지, 지난 7일 동안 소비된 에너지, 지난 달 동안 소비된 에너지 및 지난 365일 동안 소비된 에너지를 계산하는 도우미를 만드는 것입니다. 하루 동안 소비된 에너지를 계산하려면 시각적 구성을 사용할 수 있습니다.

  1. 도우미 페이지로 이동합니다
  2. + 도우미 만들기를 클릭합니다.
  3. 유틸리티 계량기를 선택합니다.
  4. 도우미에게 이름을 지정하십시오. 제 경우에는 에너지 소비 24H였습니다.
  5. 에너지 미터의 에너지 개체(kWh로 측정된 것)를 입력 센서로 선택합니다.
  6. 유틸리티 계량기의 재설정 주기로 Daily(매일)를 선택합니다.
  7. Periodically resetting(주기적으로 재설정) 및 Sensor always available(항상 사용 가능한 센서) 토글을 활성화합니다.
  8. 도우미를 저장합니다.

이 도우미는 일정 기간(일) 동안 소비된 에너지를 제공하고 고정된 시간에 이 값을 재설정해야 합니다. 따라서 표시되는 값은 지난 24시간 동안의 에너지가 아니라 00:00부터 소비된 에너지입니다.

지난 7 일 동안 소비 된 에너지, 지난 달 동안 소비 된 에너지 및 지난 365 일 동안 소비 된 에너지를 계산하기 위해 불행히도 비주얼 편집기에서 지원하지 않는 통계 플랫폼을 사용했습니다. 통계 플랫폼을 사용하여 지난 24시간 동안 소비된 전력의 최소값과 최대값도 계산했습니다. 이 부분을 구성하려면 다음을 수행합니다.

  1. 선택한 파일 편집기를 사용하여 configuration.yaml 파일을 엽니다
  2. sensor: 항목 아래에(또는 센서 파일을 만든 경우) 이 코드를 추가합니다(서식이 지정된 코드를 복사하려면 https://pastebin.com/vDvu66ph 링크 사용).
센서:
- 플랫폼 : 통계
이름: "에너지 소비 주간"
entity_id: sensor.energy_meter_energy_1
state_characteristic: sum_differences_nonnegative
max_age:
일: 7
- 플랫폼 : 통계
name: "에너지 소비의 달"
entity_id: sensor.energy_meter_energy_1
state_characteristic: sum_differences_nonnegative
max_age:
일: 28
- 플랫폼 : 통계
이름: "에너지 소비 연도"
entity_id: sensor.energy_meter_energy_1
state_characteristic: sum_differences_nonnegative
max_age:
일: 365
끌어온 전력의 최소 및 최대 값 #calculate
- 플랫폼 : 통계
이름: "에너지 소비 최대 24시간"
entity_id: sensor.energy_meter_power_1
state_characteristic: value_max
max_age:
시간 : 24
- 플랫폼 : 통계
이름: "에너지 소비 최소 24시간"
entity_id: sensor.energy_meter_power_1
state_characteristic: value_min
max_age:
시간 : 24
  1. 엔티티 ID는 에너지 미터의 엔티티 이름을 지정한 방법에 따라 변경해야 합니다. 이름을 변경하지 않았다면 아무 작업도 수행할 필요가 없습니다
  2. 또한 기본적으로 비활성화 한 경우 에너지 미터 개체 (제 경우에는 sensor.energy_meter_energy_1  sensor.energy_meter_power_1)를 Home Assistant 레코더에 추가해야합니다. 이는 통계 플랫폼이 레코더의 데이터를 사용하여 출력 값을 계산하기 때문에 필요합니다

코드의 처음 세 센서는 현재 시간으로 끝나는 특정 기간 동안 소비된 에너지 값을 제공합니다. 예를 들어 max_age 7일로 설정된 경우 지난 7일 동안 소비된 에너지 값을 얻게 됩니다. 마지막 두 항목은 지난 24시간 동안 끌어온 전력의 최소값과 최대값을 계산합니다.

마지막으로 대시보드를 만들어야 합니다. 직접 만들기 위해 Mushroom 카드, Stack In Card, card-mod 및 apexcharts-card HACS 통합을 사용했습니다. 내 대시보드에서 영감을 얻고 싶다면 완벽하지는 않고 아직 진행 중인 작업이지만 https://pastebin.com/NXtP9Lkq 링크에서 전체 YAML 코드를 찾을 수 있습니다.

11 단계 : 작동합니다!

전반적으로 저는 이 프로젝트의 결과에 매우 만족하고 있으며, 에너지 소비를 알면 에너지 소비를 낮출 수 있을 것이라고 확신하며, 이는 환경과 지갑 모두에 좋습니다. 이 가이드가 흥미롭고 유용하기를 바랍니다. 

728x90
반응형