ขออภัย เบราว์เซอร์ของคุณไม่รองรับ JavaScript!
เข้าสู่ระบบ

ควบคุมรีเลย์ใน Home Assistant ด้วยกำลังไฟฟ้าแบบเรียลไทม์

ควบคุมรีเลย์ใน Home Assistant ด้วยข้อมูลกำลังไฟฟ้าแบบเรียลไทม์

Home Assistant สามารถใช้กำลังไฟฟ้าที่มิเตอร์พลังงานวัดได้แบบเรียลไทม์เพื่อควบคุมรีเลย์ ปลั๊กอัจฉริยะ หรือคอนแทคเตอร์ จึงเกิดเป็นระบบควบคุมแบบวงปิดอย่างง่าย โดยมิเตอร์ส่งข้อมูลป้อนกลับ Home Assistant ประมวลผลตามตรรกะควบคุม และอุปกรณ์สวิตช์ทำหน้าที่ควบคุมโหลด

ตัวอย่างนี้ใช้มิเตอร์พลังงาน IAMMETER ผ่าน Modbus TCP ร่วมกับปลั๊กอัจฉริยะ Sonoff S26 แต่สามารถนำตรรกะเดียวกันไปใช้กับอุปกรณ์ ESPHome รีเลย์ Tasmota หรือสวิตช์อื่นที่เชื่อมต่อกับ Home Assistant อยู่แล้วได้

ในตัวอย่าง รีเลย์จะเปิดเมื่อกำลังไฟฟ้าที่วัดได้สูงกว่า 1,000 W ต่อเนื่อง และจะปิดเมื่อกำลังไฟฟ้าต่ำกว่า 500 W ต่อเนื่อง ช่องว่างระหว่างสองค่าเกณฑ์ช่วยป้องกันการเปิดและปิดถี่ ๆ เมื่อค่าที่อ่านได้แกว่งอยู่ใกล้ค่าใดค่าหนึ่ง

บทความนี้เป็นตัวอย่างระบบอัตโนมัติ ไม่ใช่คู่มือติดตั้ง Modbus โปรดตั้งค่ามิเตอร์ก่อนโดยทำตามคู่มือตั้งค่ามิเตอร์พลังงาน Modbus TCP ใน Home Assistant

วงจรควบคุมตามกำลังไฟฟ้าทำงานอย่างไร

ระบบประกอบด้วยสามส่วน:

  1. เซนเซอร์: มิเตอร์พลังงานส่งข้อมูลกำลังไฟฟ้าจริงแบบเรียลไทม์
  2. ตัวควบคุม: Home Assistant เปรียบเทียบค่านั้นกับค่าเกณฑ์ที่กำหนดไว้
  3. อุปกรณ์ทำงาน: รีเลย์ ปลั๊กอัจฉริยะ หรือคอนแทคเตอร์ที่มีพิกัดเหมาะสมทำหน้าที่สวิตช์โหลดเป้าหมาย

การเดินสายควบคุมรีเลย์ตามกำลังไฟฟ้าใน Home Assistant

ในการทดสอบเดิม:

  • IAMMETER ส่งข้อมูลผ่านเอนทิตีกำลังไฟฟ้า Modbus;
  • Sonoff S26 ทำหน้าที่เป็นสวิตช์ที่ควบคุมได้;
  • ใช้กาต้มน้ำไฟฟ้าเพื่อทำให้การเปลี่ยนแปลงของโหลดเห็นได้ชัด;
  • Home Assistant ประเมินค่ากำลังไฟฟ้าและควบคุมสวิตช์

ชมวิดีโอสาธิตต้นฉบับ

ก่อนสร้างระบบอัตโนมัติ

ตรวจสอบว่ามีเอนทิตีต่อไปนี้ใน Home Assistant แล้ว:

  • เซนเซอร์กำลังไฟฟ้าจริง เช่น sensor.iammeter_active_power;
  • สวิตช์ที่ควบคุมได้ เช่น switch.sonoff_s26

เซนเซอร์กำลังไฟฟ้าควร:

  • รายงานกำลังไฟฟ้าจริงเป็นวัตต์;
  • อัปเดตผ่านเครือข่ายภายในได้อย่างเชื่อถือได้;
  • ใช้หลักการกำหนดเครื่องหมายบวก/ลบที่คุณเข้าใจ;
  • เปลี่ยนเป็นสถานะ unavailable เมื่ออ่านค่าจากมิเตอร์ไม่ได้ แทนที่จะค้างค่าเก่าไว้อย่างเงียบ ๆ โดยไม่มีกำหนด

สำหรับการเชื่อมต่อ IAMMETER HACS Modbus สามารถกำหนดช่วงเวลาสแกนได้ และค่าเริ่มต้นคือ 3 วินาที ช่วงเวลา 3–5 วินาทีมักเร็วเพียงพอสำหรับระบบอัตโนมัติประเภทนี้ สามารถใช้ช่วงเวลาหนึ่งวินาทีเมื่อจำเป็นจริง ๆ แต่ไม่ใช่ข้อกำหนดของการควบคุมที่เชื่อถือได้

มิเตอร์พลังงาน IAMMETER รุ่นปัจจุบันทั้งหมดรองรับ Modbus TCP รุ่นที่เหมาะสมขึ้นอยู่กับระบบไฟฟ้าและจำนวนช่องวัด:

รุ่น การใช้งานทั่วไป
WEM3080 วงจรเฟสเดียวหรือการตรวจสอบกริด
WEM2067 การตรวจสอบบ้านหรือระบบโซลาร์เฟสเดียวแบบสองช่อง
WEM3080T การตรวจสอบระบบสามเฟส
WEM3050T การตรวจสอบบ้านแบบสามเฟสหรือ split-phase
WEM3046T / WEM3046TE งานติดตั้งที่ใช้ CT ภายนอก 5 A

เหตุใดสองค่าเกณฑ์จึงดีกว่าค่าเดียว

อย่าใช้ค่าเกณฑ์เดียวกันสำหรับทั้งการเปิดและปิดรีเลย์ หากค่าที่อ่านได้เคลื่อนขึ้นและลงผ่านค่านั้นซ้ำ ๆ สวิตช์อาจเปิดปิดถี่เกินไป

ให้ใช้ฮิสเทอรีซิสแทน:

  • เปิดเมื่อสูงกว่า 1,000 W;
  • ปิดเมื่อต่ำกว่า 500 W

เมื่อค่าอยู่ระหว่าง 500 W ถึง 1,000 W Home Assistant จะคงสถานะเดิมของสวิตช์ไว้ ช่วงตาย 500 W นี้ช่วยให้ระบบมีเสถียรภาพ

ค่าเกณฑ์ในตัวอย่างมีไว้เพื่อประกอบการอธิบาย ควรเลือกค่าโดยพิจารณาจาก:

  • ความหมายและเครื่องหมายของกำลังไฟฟ้าที่วัดได้;
  • กำลังพิกัดของโหลด;
  • พลังงานโซลาร์ส่วนเกินที่มี หากเกี่ยวข้อง;
  • ความถี่ในการสวิตช์ที่ยอมรับได้;
  • ข้อกำหนดด้านความปลอดภัยทางไฟฟ้าและอุปกรณ์

ระบบอัตโนมัติ 1: เปิดรีเลย์เมื่อสูงกว่าค่าเกณฑ์บน

ระบบอัตโนมัติต่อไปนี้จะเปิดสวิตช์เมื่อกำลังไฟฟ้าสูงกว่า 1,000 W ต่อเนื่องเป็นเวลา 10 วินาทีเท่านั้น:

alias: Power control - turn relay on
description: Turn on the relay after measured power stays above 1000 W
triggers:
  - trigger: numeric_state
    entity_id: sensor.iammeter_active_power
    above: 1000
    for: "00:00:10"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "off"
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.sonoff_s26
mode: single

แทนที่ ID ของเอนทิตีทั้งสองด้วยเอนทิตีในระบบ Home Assistant ของคุณ

ช่วงเวลา for 10 วินาทีช่วยกรองค่าสูงชั่วขณะ โดยปกติควรยาวกว่าช่วงเวลาสแกนของมิเตอร์ เพื่อให้การตัดสินใจอ้างอิงจากการอัปเดตมากกว่าหนึ่งครั้ง

ระบบอัตโนมัติ 2: ปิดรีเลย์เมื่อต่ำกว่าค่าเกณฑ์ล่าง

ระบบอัตโนมัติที่สองใช้ค่าเกณฑ์ล่าง 500 W:

alias: Power control - turn relay off
description: Turn off the relay after measured power stays below 500 W
triggers:
  - trigger: numeric_state
    entity_id: sensor.iammeter_active_power
    below: 500
    for: "00:00:10"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "on"
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.sonoff_s26
mode: single

ระบบอัตโนมัติทั้งสองทำงานร่วมกันเป็นตัวควบคุมสถานะแบบง่าย:

กำลังไฟฟ้าที่วัดได้ ผลลัพธ์
สูงกว่า 1,000 W เป็นเวลา 10 วินาที เปิดรีเลย์
ระหว่าง 500 W ถึง 1,000 W คงสถานะปัจจุบัน
ต่ำกว่า 500 W เป็นเวลา 10 วินาที ปิดรีเลย์

ระบบอัตโนมัติ 3: ปิดอย่างปลอดภัยเมื่อไม่มีข้อมูลจากมิเตอร์

วงจรควบคุมต้องมีสถานะเมื่อเกิดความขัดข้องที่ชัดเจน หากมิเตอร์หรือเครือข่ายไม่พร้อมใช้งานขณะที่โหลดเปิดอยู่ Home Assistant ไม่ควรถือว่าค่าล่าสุดยังถูกต้อง

สำหรับโหลดที่ควรปิดเมื่อเกิดความขัดข้อง ให้เพิ่มระบบอัตโนมัตินี้:

alias: Power control - fail safe off
description: Turn off the relay if the power sensor becomes unavailable
triggers:
  - trigger: state
    entity_id: sensor.iammeter_active_power
    to: "unavailable"
    for: "00:00:30"
  - trigger: state
    entity_id: sensor.iammeter_active_power
    to: "unknown"
    for: "00:00:30"
conditions:
  - condition: state
    entity_id: switch.sonoff_s26
    state: "on"
actions:
  - action: switch.turn_off
    target:
      entity_id: switch.sonoff_s26
mode: single

สถานะ “ปิด” จะเป็นสถานะปลอดภัยที่ถูกต้องหรือไม่ขึ้นอยู่กับการใช้งาน กำหนดพฤติกรรมเมื่อเกิดความขัดข้องก่อนนำรูปแบบนี้ไปใช้กับระบบทำความร้อน ปั๊ม การชาร์จ ระบบทำความเย็น หรือโหลดสำคัญอื่น ๆ

กำหนดค่าตรรกะเดียวกันใน UI ของ Home Assistant

หากต้องการใช้เครื่องมือแก้ไขระบบอัตโนมัติ:

  1. ไปที่ Settings → Automations & scenes
  2. สร้างระบบอัตโนมัติใหม่
  3. เลือก Numeric state เป็นทริกเกอร์
  4. เลือกเอนทิตีกำลังไฟฟ้าจริงของ IAMMETER
  5. ตั้งค่า Above 1000 และระยะเวลา 10 วินาที
  6. เพิ่มสถานะปัจจุบัน off ของสวิตช์เป็นเงื่อนไข
  7. เพิ่ม Switch: Turn on เป็นการทำงาน
  8. บันทึกและเปิดใช้งานระบบอัตโนมัติ
  9. สร้างระบบอัตโนมัติสำหรับปิดที่ตรงกันโดยใช้ Below 500

เลือกเอนทิตีกำลังไฟฟ้า Modbus เป็นทริกเกอร์ของระบบอัตโนมัติใน Home Assistant

กำหนดค่าเกณฑ์กำลังไฟฟ้าด้านบน

กำหนดค่าเกณฑ์กำลังไฟฟ้าด้านล่าง

ชื่อเมนูที่แสดงอาจแตกต่างกันตามเวอร์ชันของ Home Assistant แต่ตรรกะเหมือนกับตัวอย่าง YAML

ทดสอบระบบอัตโนมัติอย่างปลอดภัย

ทดสอบแต่ละส่วนแยกกันก่อนอนุญาตให้สวิตช์โดยอัตโนมัติ:

  1. ยืนยันว่าเอนทิตีกำลังไฟฟ้าเปลี่ยนค่าใน Developer tools → States
  2. เปิดและปิดรีเลย์ด้วยตนเองจาก Home Assistant
  3. ใช้ค่าเกณฑ์ทดสอบที่สามารถทำให้ถึงได้อย่างคาดการณ์ได้เป็นการชั่วคราว
  4. ตรวจสอบค่าเกณฑ์และระยะหน่วงสำหรับการเปิด
  5. ตรวจสอบค่าเกณฑ์และระยะหน่วงสำหรับการปิด
  6. ตัดการเชื่อมต่อหรือบล็อกมิเตอร์ชั่วคราว แล้วตรวจสอบพฤติกรรมความปลอดภัยที่ต้องการ
  7. ตรวจสอบ trace ของระบบอัตโนมัติเพื่อหาการทริกเกอร์ที่ไม่คาดคิด

แดชบอร์ด Home Assistant ที่ใช้ในการทดลองควบคุมรีเลย์ครั้งแรก

ในการทดสอบเดิม การเปิดกาต้มน้ำทำให้กำลังไฟฟ้าที่วัดได้เพิ่มขึ้นเป็นประมาณ 1,596 W ซึ่งสูงกว่าค่าเกณฑ์บน เมื่อปิดกาต้มน้ำ ค่าลดลงเหลือประมาณ 64 W ซึ่งต่ำกว่าค่าเกณฑ์ล่าง ค่าเกณฑ์ทั้งสองทำให้สังเกตสถานะรีเลย์ที่เกิดขึ้นได้ง่าย

ปรับตัวอย่างสำหรับการควบคุมพลังงานโซลาร์ส่วนเกิน

รูปแบบเดียวกันนี้สามารถควบคุมโหลดที่ยืดหยุ่นได้เมื่อมีพลังงานโซลาร์ส่วนเกิน แต่ต้องตรวจสอบหลักการกำหนดเครื่องหมายของกำลังไฟฟ้าที่กริดก่อน

ตัวอย่างเช่น ระบบหนึ่งอาจรายงาน:

  • ค่าบวกสำหรับการนำเข้าพลังงานจากกริด;
  • ค่าลบสำหรับการส่งออกพลังงานไปยังกริด

เอนทิตีหรือ template อื่นอาจแสดงการส่งออกเป็นค่าบวก ค่าเกณฑ์ของระบบอัตโนมัติต้องสอดคล้องกับพฤติกรรมจริงของเอนทิตี

ระบบสำหรับพลังงานโซลาร์ส่วนเกินโดยทั่วไปต้องมี:

  • ค่าเกณฑ์การส่งออกขั้นต่ำก่อนเปิด;
  • ค่าเกณฑ์การส่งออกที่ต่ำลง หรือค่าเกณฑ์การนำเข้าจากกริดสำหรับปิด;
  • ระยะหน่วงที่นานขึ้นเพื่อไม่สนใจความผันผวนสั้น ๆ จากเมฆ;
  • ระยะเวลาเปิด/ปิดขั้นต่ำที่เหมาะกับเครื่องใช้ซึ่งถูกควบคุม;
  • การทำงานเพื่อความปลอดภัยเมื่อไม่มีข้อมูลจากมิเตอร์

หากต้องการควบคุมการทำน้ำร้อนแบบแปรผันแทนการเปิด/ปิดอย่างง่าย โปรดดูโซลูชันระบบอัตโนมัติพลังงานโซลาร์ของ IAMMETER

ความปลอดภัยด้านไฟฟ้าและการใช้งาน

ระบบอัตโนมัติของ Home Assistant ไม่ได้เปลี่ยนพิกัดทางไฟฟ้าของปลั๊กอัจฉริยะหรือรีเลย์

  • อย่าสวิตช์โหลดที่เกินพิกัดแรงดันไฟฟ้า กระแสไฟฟ้า หรือกำลังไฟฟ้าของอุปกรณ์
  • คำนึงถึงกระแสกระชากของมอเตอร์ ปั๊ม คอมเพรสเซอร์ และแหล่งจ่ายไฟบางประเภท
  • ใช้คอนแทคเตอร์ที่มีพิกัดเหมาะสม เมื่อให้รีเลย์อัจฉริยะควบคุมวงจรกำลังสูงทางอ้อม
  • ปฏิบัติตามข้อบังคับด้านไฟฟ้าในพื้นที่ และใช้ช่างไฟฟ้าที่มีคุณสมบัติเหมาะสมเมื่อจำเป็น
  • หลีกเลี่ยงการเปิดปิดฮีตเตอร์ คอมเพรสเซอร์ เครื่องชาร์จ EV และอุปกรณ์อื่นที่มีข้อกำหนดระยะเวลาทำงานขั้นต่ำอย่างรวดเร็ว
  • มีการควบคุมด้วยตนเองไว้เสมอ และกำหนดสิ่งที่จะเกิดขึ้นหลัง Home Assistant รีสตาร์ต

การแก้ไขปัญหา

ค่ากำลังไฟฟ้าอัปเดต แต่ระบบอัตโนมัติไม่ทำงาน

  • ตรวจสอบ ID เอนทิตีในระบบอัตโนมัติ
  • ตรวจสอบว่าค่าเป็นตัวเลขและมีหน่วยเป็นวัตต์
  • โปรดจำว่าทริกเกอร์สถานะตัวเลขจะทำงานเมื่อค่าข้ามค่าเกณฑ์และครบระยะเวลาที่กำหนด ไม่ได้ทำงานซ้ำขณะที่ค่าอยู่เหนือหรือต่ำกว่าค่าเกณฑ์แล้ว
  • ตรวจสอบ trace ของระบบอัตโนมัติ

รีเลย์สวิตช์บ่อยเกินไป

  • เพิ่มช่องว่างระหว่างค่าเกณฑ์เปิดและปิด
  • เพิ่มระยะเวลา for
  • ใช้ช่วงเวลาสแกน Modbus ที่นานขึ้น หากไม่จำเป็นต้องตอบสนองในระดับวินาที
  • เพิ่มเวลาขั้นต่ำในการเปิด/ปิดสำหรับเครื่องใช้

รีเลย์ตอบสนองผิดทิศทาง

  • ตรวจสอบว่าเอนทิตีแสดงกำลังไฟฟ้าของโหลด การนำเข้าจากกริด หรือการส่งออกไปยังกริด
  • ตรวจสอบหลักการกำหนดกำลังไฟฟ้าค่าบวก/ลบ
  • ยืนยันว่าใช้เฟสหรือช่องวัดที่ถูกต้อง

เอนทิตี Modbus ไม่พร้อมใช้งาน

คู่มือ Home Assistant ที่เกี่ยวข้อง

อัปเดต: 19 กรกฎาคม 2026

ด้านบน