코딩게시판

haos )일별/월별 전력량 센서(오늘, 어제, 전전일, 금월, 전월, 전전월)

작성자 정보

  • 최고관리자 작성
  • 192.♡.0.1 아이피
  • 작성일

컨텐츠 정보


  • 링크

  • 첨부


  • 본문

    ⚡haos  전력미터 통합 구성 정리 (Zigbee + ESP32)

    1️⃣ 목표

    • Zigbee, ESP32 전력미터 각각의 전일, 전전일, 전월, 전전월 사용량 계산

    • Utility Meter 활용: 일별 / 월별 누적

    • Template Sensors 활용: 전전일/전전월 계산

    • 모든 센서에 unique_id 적용 → UI 편집 가능

    • YAML 파일을 분리/관리 용이하게 구성


    2️⃣ 파일 구조 제안

    /config/
    ├ configuration.yaml # 메인 구성 파일
    ├ sensor.yaml # integration 센서 정의
    ├ template.yaml # 전일/전전일/전월/전전월 템플릿 센서
    └ utilitymeter.yaml # daily / monthly utility_meter 정의

    3️⃣ configuration.yaml 예시

    # -------------------------------------------------
    # 1️⃣ Sensor 정의 (Integration)
    sensor: !include sensor.yaml # -------------------------------------------------
    # 2️⃣ Template Sensor 정의
    template: !include template.yaml # -------------------------------------------------
    # 3️⃣ Utility Meter 정의
    utility_meter: !include utilitymeter.yaml

    4️⃣ sensor.yaml (Integration 센서)

    ########################################################
    # Integration Sensors (실시간 전력 → kWh 변환)
    ######################################################## - platform: integration
    source: sensor.jeonryeogmiteo_power_a
    name: power_zigbee_energy
    unit_prefix: k
    round: 2
    unique_id: power_zigbee_energy_kwh - platform: integration
    source: sensor.ct_clamp_esp32_ip67_electricity_usage_power_wattage_ip67
    name: power_esp32_energy
    unit_prefix: k
    round: 2
    unique_id: power_esp32_energy_kwh

    설명

    • source: 실시간 전력 센서

    • unit_prefix: k → kWh 단위 변환

    • round: 2 → 소수점 2자리

    • unique_id → UI 편집 가능


    5️⃣ utilitymeter.yaml (일/월 누적)

    ########################################################
    # Utility Meter: Daily / Monthly
    ######################################################## # Zigbee
    power_zigbee_daily:
    source: sensor.power_zigbee_energy
    cycle: daily
    unique_id: power_zigbee_daily_kwh power_zigbee_monthly:
    source: sensor.power_zigbee_energy
    cycle: monthly
    offset:
    days: 24 # 매월 25일 기준
    unique_id: power_zigbee_monthly_kwh # ESP32
    power_esp32_daily:
    source: sensor.power_esp32_energy
    cycle: daily
    unique_id: power_esp32_daily_kwh power_esp32_monthly:
    source: sensor.power_esp32_energy
    cycle: monthly
    offset:
    days: 24 # 매월 25일 기준
    unique_id: power_esp32_monthly_kwh

    설명

    • cycle: daily / monthly → 누적 주기

    • offset: days:24 → 월별 기준일 25일

    • unique_id → UI 편집 가능


    6️⃣ template.yaml (전일/전전일/전월/전전월)

    ########################################################
    # Template Sensors
    # 전일, 전전일, 전월, 전전월 계산
    ########################################################
    - sensor:
    # Zigbee
    - name: "Power Zigbee Yesterday"
    unique_id: power_zigbee_yesterday
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_zigbee_daily', 'last_period') | float(0) }}"
    - name: "Power Zigbee Day Before Yesterday"
    unique_id: power_zigbee_day_before_yesterday
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_zigbee_yesterday', 'last_period') | float(0) }}"
    - name: "Power Zigbee Last Month"
    unique_id: power_zigbee_last_month
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_zigbee_monthly', 'last_period') | float(0) }}"
    - name: "Power Zigbee Month Before Last"
    unique_id: power_zigbee_month_before_last
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_zigbee_last_month', 'last_period') | float(0) }}"
    # ESP32
    - name: "Power ESP32 Yesterday"
    unique_id: power_esp32_yesterday
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_esp32_daily', 'last_period') | float(0) }}"
    - name: "Power ESP32 Day Before Yesterday"
    unique_id: power_esp32_day_before_yesterday
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_esp32_yesterday', 'last_period') | float(0) }}"
    - name: "Power ESP32 Last Month"
    unique_id: power_esp32_last_month
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_esp32_monthly', 'last_period') | float(0) }}"
    - name: "Power ESP32 Month Before Last"
    unique_id: power_esp32_month_before_last
    unit_of_measurement: "kWh"
    state: "{{ state_attr('sensor.power_esp32_last_month', 'last_period') | float(0) }}"

    설명

    • last_periodutility_meter에서 이전 주기 데이터

    • 전전일/전전월 → 바로 전 센서(last_period) 값 참조

    • 모든 센서에 unique_id 추가 → UI 편집 가능


    7️⃣ 전체 센서 리스트

    분류센서 ID기능
    Zigbee 어제sensor.power_zigbee_yesterday전일 사용량
    Zigbee 전전일sensor.power_zigbee_day_before_yesterday전전일 사용량
    Zigbee 전월sensor.power_zigbee_last_month전월 사용량
    Zigbee 전전월sensor.power_zigbee_month_before_last전전월 사용량
    ESP32 어제sensor.power_esp32_yesterday전일 사용량
    ESP32 전전일sensor.power_esp32_day_before_yesterday전전일 사용량
    ESP32 전월sensor.power_esp32_last_month전월 사용량
    ESP32 전전월sensor.power_esp32_month_before_last전전월 사용량

    8️⃣ 구성 요약

    • sensor.yaml → 실시간 센서 통합 (integration)

    • utilitymeter.yaml → daily / monthly 누적

    • template.yaml → 전일 / 전전일 / 전월 / 전전월 계산

    • 모든 센서 unique_id 적용 → UI에서 수정 가능

    • 구조 분리 → 관리 용이, YAML 오류 최소화


    ???? Tip:

    • 필요 시 template.yamlsensor.yaml을 합쳐서 한 파일로 관리 가능

    • 하지만 파일 분리 구조가 유지보수와 확장성에서 더 안전합니다


    • 센서 ID 참조 데이터 오늘 초기 설정 시 값 값 확인 가능 시점 비고
      sensor.power_zigbee_daily 실시간 전력량 누적 ❌ 0시 전까지는 값 누적 중 실시간 (오늘 데이터 누적) utility_meter daily
      sensor.power_zigbee_yesterday sensor.power_zigbee_daily.last_period 오늘 0시 이후 전일 사용량
      sensor.power_zigbee_day_before_yesterday sensor.power_zigbee_yesterday.last_period 오늘 0시 이후 전전일 사용량
      sensor.power_zigbee_monthly 실시간 전력량 누적 이번 달 25일 이후 utility_meter monthly
      sensor.power_zigbee_last_month sensor.power_zigbee_monthly.last_period 이번 달 25일 이후 전월 사용량
      sensor.power_zigbee_month_before_last sensor.power_zigbee_last_month.last_period 이번 달 25일 이후 전전월 사용량
      sensor.power_esp32_daily 실시간 전력량 누적 ❌ 0시 전까지는 값 누적 중 실시간 (오늘 데이터 누적) utility_meter daily
      sensor.power_esp32_yesterday sensor.power_esp32_daily.last_period 오늘 0시 이후 전일 사용량
      sensor.power_esp32_day_before_yesterday sensor.power_esp32_yesterday.last_period 오늘 0시 이후 전전일 사용량
      sensor.power_esp32_monthly 실시간 전력량 누적 이번 달 25일 이후 utility_meter monthly
      sensor.power_esp32_last_month sensor.power_esp32_monthly.last_period 이번 달 25일 이후 전월 사용량
      sensor.power_esp32_month_before_last sensor.power_esp32_last_month.last_period 이번 달 25일 이후 전전월 사용량


    • > 2025_1109_1129_59  end


    첨부 파일을 스킨보드에 구성 PDF보기( W:\g5\skin\board\BS4-Basic-Webzine_11q_pdf_php82\view.skin.php + view_pdf.php구성)



    관련자료

    댓글 0
    등록된 댓글이 없습니다.

    최근글


    새댓글