Перейти до вмісту
    Без категорії / DIY Моніторинг Електроенергії: PZEM-004T, ESPHome, Home Assistant

    DIY Моніторинг Електроенергії: PZEM-004T, ESPHome, Home Assistant

    Оцініть цю публікацію!
    [Усього: 0 Середнє значення: 0]

    Встановлення PZEM-004T з ESPHome та Home Assistant дозволяє отримати дані про споживання електроенергії з точністю до 0.1 Вт, що значно перевершує можливості звичайних лічильників.

    Контекст і проблема

    Більшість власників будинків та розумних систем не мають детальної інформації про споживання енергії окремими приладами або навіть фазами електромережі. Без цього важко виявити “вампірів енергії” – прилади, що споживають електроенергію в режимі очікування, або неефективні прилади, які використовують більше електроенергії, ніж необхідно. Наприклад, звичайний зарядний пристрій для телефону може споживати 0.5 Вт в режимі очікування, що за рік становить близько 4.4 кВт·год.

    Практична реалізація

    Для моніторингу споживання електроенергії використовуємо модуль PZEM-004T (з інтерфейсом Modbus RTU), ESP32 (для збору даних) та Home Assistant (для візуалізації та автоматизації). Підключення PZEM-004T до ESP32 відбувається через послідовний порт UART, використовуючи рівень 3.3В.

    # esphome.yaml
    esphome:
      name: pzem-004t_monitor
      platform: ESP32
      board: esp32dev
    
    wifi:
      ssid: "YOUR_WIFI_SSID"
      password: "YOUR_WIFI_PASSWORD"
    
    api:
      password: "YOUR_API_PASSWORD"
    
    logger:
    
    uart:
      rx: 34
      tx: 35
      baud_rate: 9600
    
    modbus:
      slave_address: 1
      version: RTU
      pin_rx: 35
      pin_tx: 34
    
    sensor:
      - platform: modbus
        address: 0
        data_type: uint16
        name: "Current"
        registers: [0]
        scale: 0.01
      - platform: modbus
        address: 2
        data_type: uint16
        name: "Voltage"
        registers: [2]
        scale: 0.1
      - platform: modbus
        address: 4
        data_type: uint32
        name: "Power"
        registers: [4]
        scale: 0.01
    
    switch:
      - platform: template
        name: "Power Switch"
        id: power_switch
        optimistic: true
        initial_state: true
        restore_state: true
    

    Налаштування в YAML файлі `esphome.yaml` визначає підключення до Wi-Fi, пароль API (для доступу з Home Assistant), налаштування UART для зв’язку з PZEM-004T, адреса Modbus slave, та визначення сенсорів для струму, напруги та потужності. `scale` параметр перетворює значення, отримані з PZEM-004T, у зрозумілі одиниці вимірювання (А, В, Вт).

    Типові помилки

    • Неправильна адреса Modbus Slave: Якщо пристрій не з’являється в Home Assistant, перевірте адресу Modbus slave (за замовчуванням 1). Адреса може бути змінена на самому модулі PZEM-004T.
    • Неправильна конфігурація UART: Переконайтеся, що ви правильно визначили піни RX та TX для UART на ESP32. Неправильне підключення призведе до відсутності зв’язку з PZEM-004T.
    • Неправильна швидкість UART: PZEM-004T зазвичай використовує швидкість 9600 бод. Переконайтеся, що швидкість в esphome.yaml збігається зі швидкістю модуля.

    Результат

    Після налаштування, дані про споживання електроенергії з’являються в Home Assistant у вигляді окремих датчиків. Це дозволяє створювати графіки споживання, визначати пікові навантаження, автоматично вимикати прилади в режимі очікування та оптимізувати енергоефективність будинку. Наприклад, я зміг виявити, що мій старий холодильник споживає на 30% більше електроенергії, ніж новий, що спонукало мене до його заміни.

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *