จากบทความก่อนหน้านี้ หลังจากได้ลองใช้งานเมนู Energy ในส่วนของ Solar Panels ก็อยากจะต่อยอดไอเดียเพิ่มเติมอีกหน่อย ให้ระบบสามารถคำนวณค่าไฟฟ้าที่ micro grid tie ผลิตได้แต่ละเดือน แม้จะน้อยนิด

ลองใช้งานเมนู Energy Home Assistant

ก่อนอื่นเราต้องทำความเข้าใจ อัตราค่าไฟฟ้าของการไฟฟ้านครหลวง (MEA) แล้วเราต้องรู้ว่าบ้านเราใช้ไฟประเภทไหน (** สามารถดูได้จากบิลค่าไฟฟ้า)* บ้านผมเป็นแบบ “บ้านอยู่อาศัยอัตรา 1.2 (อัตราปกติ แบบก้าวหน้า)” ( อ่านเพิ่มเติม ) อัตราปกติปริมาณการใช้พลังงานไฟฟ้าเกินกว่า 150 หน่วยต่อเดือน สิ่งที่เราต้องทำความเข้าใจอีกอย่างคือ ไฟฟ้า 1 กิโลวัตต์ (1kWh) = 1000 วัตต์ (1000Wh) = 1 หน่วย นั้นหมายความว่า ถ้าเราผลิตไฟฟ้าได้ 250W เป็นเวลา 4 ชั่วโมง เราก็จะผลิตไฟฟ้าได้ 1 หน่วย นั่นเอง

เริ่มต้น Configuration

  1. ทำการแก้ไขไฟล์ configuration.yaml

    sensor:

    • platform: integration source: sensor.sonoff_10012eed24_power name: Omnik SMP600 unit_prefix: k round: 2 method: left

จาก configuration ของเก่า unit_of_measurement: Wh ผมทำการปรับเพิ่มให้เป็น kWh เพื่อจะได้ง่ายต่อการคำนวณ ส่วน method: left จะค่อนข้างเก็บข้อมูลได้แม่นยำกว่า trapezoidal ซึ่งเป็นค่า default ( อ่านเพิ่มเติม )

  1. Validate Configuration จากนั้น restart HA

  2. ทำการแก้ไขไฟล์ configuration.yaml อีกครั้ง!

    utility_meter: daily_energy: source: sensor.omnik_smp600 cycle: daily monthly_energy: source: sensor.omnik_smp600 cycle: monthly offset: days: 2 hours: 0 minutes: 0

Utility Meter เป็น function สำหรับทำ consumption ข้อมูล เราก็ทำการสร้าง sensor ขึ้นมา 2 ตัว daily_energy, monthly_energy ส่วนของ source ก็นำข้อมูลจาก sensor บ้างบน ซึ่งตอนนี้เราได้ปรับให้เป็นหน่วย kWh แล้ว

cycle คือรอบของการ consumption ข้อมูล daily, monthly ส่วนของ monthly จะมีการกำหนด offset ด้วยนะ เพราะว่าเราต้องการให้ระบบมันเคลียร์ค่าของ consumption ( อ่านเพิ่มเติม )

    • ตัวอย่างคือเคลียร์ค่าข้อมูลทุกๆ วันที่ 2 ของเดือน* *** เราสามารถใช้งาน Service -> Utility Meter: Calibrate เพื่อทดลองเปลี่ยนค่าของ consumption ได้เช่นกัน*
  1. Validate Configuration จากนั้น restart HA อีกครั้ง!

  2. ทำการแก้ไขไฟล์ configuration.yaml รอบนี้มาเขียนสูตรคำนวณค่าไฟฟ้า

    sensor:

    • platform: template sensors: monthly_cost: friendly_name: “Monthly Cost” unit_of_measurement: ‘฿’ value_template: > {% set unit = states(‘sensor.monthly_energy’) | float %} {% set price_150 = 3.2484 %} {% set price_250 = 4.2218 %} {% set price_400 = 4.4217 %} {% if unit <= 150 %} {% set cost = unit * price_150 %} {% elif unit >= 150 and unit <= 400 %} {% set cost = (150 * price_150) + ((unit - 150) * price_250) %} {% elif unit > 400 %} {% set cost = (150 * price_150) + (250 * price_250) + ((unit - 400) * price_400) %} {% endif %} {{ cost | round(2) }} icon_template: > mdi:transmission-tower
  • platform: template ( อ่านเพิ่มเติม )
  • monthly_cost คือชื่อ sensor คำนวณค่าไฟฟ้า
  • value_template เป็นส่วนของการเขียน template คำนวณค่าไฟฟ้า โดยเราสามารถลองเขียน template ก่อนจะใช้งานจริงผ่านทาง developer-tools -> template
  • set unit = states(‘sensor.monthly_energy’) ดึงข้อมูลจาก monthly_energy ที่เราสร้างไว้ข้างบน
  • set price_150 = 3.2484 กำหนดอัตราค่าไฟฟ้า 150 หน่วย (1 - 150)
  • set price_250 = 4.2218 กำหนดอัตราค่าไฟฟ้า 250 หน่วยต่อไป (251 - 400)
  • set price_400 = 4.4217 กำหนดอัตราค่าไฟฟ้าเกินกว่า 400 หน่วย (401 เป็นต้นไป)
  • cost | round(2) ผลลัพธ์ค่าไฟฟ้า ทศนิยม 2 ตำแหน่ง
  • mdi:transmission-tower icon ของ sensor
  1. Validate Configuration จากนั้น restart HA อีกครั้ง!!

  2. เช็คความถูกต้องของสูตรคำนวณค่าไฟฟ้า การคิดค่าไฟฟ้าประเภทต่างๆ