IAMMETER มิเตอร์พลังงาน Wi-Fi: API ท้องถิ่นและอินเทอร์เฟซแบบเปิด
IAMMETER มิเตอร์พลังงาน Wi-Fi: API ท้องถิ่นและอินเทอร์เฟซแบบเปิด
IAMMETER มิเตอร์พลังงาน Wi-Fi รองรับ IAMMETER-Cloud รวมถึงการทำงานร่วมกันในเครื่องและกับระบบของบริษัทอื่น
อินเทอร์เฟซที่มีให้เลือก ได้แก่:
- HTTP API ท้องถิ่นผ่าน LAN
- การเผยแพร่ MQTT และ MQTTS
- Modbus TCP
- อัปโหลด TCP/TLS
- อัปโหลด HTTP/HTTPS
- การทำงานในเครื่องแบบสแตนด์อโลน
อินเทอร์เฟซเหล่านี้ช่วยให้มิเตอร์ IAMMETER ทำหน้าที่เป็นแหล่งข้อมูลเปิดสำหรับ:
- Home Assistant และแพลตฟอร์มสมาร์ทโฮมอื่นๆ
- การทำงานอัตโนมัติ Node-RED
- แดชบอร์ดที่โฮสต์เอง
- ระบบ PLC และ SCADA
- ระบบจัดการพลังงานแบบกำหนดเอง (EMS)
- ระบบจัดการอาคารแบบกำหนดเอง (BMS)
- เซิร์ฟเวอร์ข้อมูลของบริษัทอื่น
คู่มือนี้อธิบาย เฟิร์มแวร์ปัจจุบันและ WebUI ก่อน ภาพหน้าจอและวิธีการกำหนดค่าสำหรับเฟิร์มแวร์รุ่นเก่าจะถูกเก็บไว้ในส่วน Legacy ท้ายสุด
สำหรับแอปพลิเคชันพร้อมใช้งานที่สร้างจากความสามารถเหล่านี้ ดู การตรวจสอบพลังงานภายในบ้าน, การตรวจสอบพลังงานแสงอาทิตย์ หรือ การตรวจสอบในเครื่องโดยไม่ต้องใช้อินเทอร์เน็ต
1) อัปเดตเป็นเฟิร์มแวร์ล่าสุด
เฟิร์มแวร์ IAMMETER ได้รับการอัปเดตอย่างต่อเนื่อง ก่อนกำหนดค่าการรวมระบบ ให้ตรวจสอบรุ่นเผยแพร่ปัจจุบันและความเข้ากันได้ของรุ่น:
WebUI ของเฟิร์มแวร์ล่าสุดแสดงตัวเลือกการกำหนดค่าที่ใช้งานทั่วไปโดยตรง การเรียก API การกำหนดค่าด้วยตนเองที่เก็บไว้ในบทความนี้จะมีประโยชน์หลักเมื่อดูแลรักษาระบบติดตั้งรุ่นเก่า
2) เลือกโหมดการทำงานใน WebUI ปัจจุบัน
เลือกโหมดการทำงานตามว่ามิเตอร์ควรส่งข้อมูลไปที่ใดหรือควรทำงานในเครื่องอย่างไร
| โหมด | ลักษณะการทำงาน | การใช้งานทั่วไป |
|---|---|---|
| Cloud | อัปโหลดไปยัง IAMMETER-Cloud | แดชบอร์ดและรายงานพร้อมใช้งาน |
| TCP | อัปโหลดไปยังปลายทางของบริษัทอื่นด้วย TCP, TLS หรือการกำหนดค่าโหมด TCP ที่รองรับ | การรับข้อมูลเซิร์ฟเวอร์แบบกำหนดเอง |
| HTTP | ส่งข้อมูลไปยังปลายทาง HTTP/HTTPS ของบริษัทอื่น | REST หรือเว็บแบ็กเอนด์ |
| MQTT | เผยแพร่โดยตรงไปยัง broker MQTT หรือ MQTTS | ระบบอัตโนมัติภายในบ้านและการส่งข้อความ IoT ที่ปลอดภัย |
| Stand-Alone | ไม่อัปโหลด; ตอบคำขอ Local API หรือ Modbus TCP | การตรวจสอบเฉพาะ LAN หรือโฮสต์เอง |

โหมดการทำงานควบคุมพฤติกรรมการอัปโหลดข้อมูล ควรตรวจสอบความพร้อมใช้งานของ Local API และ Modbus TCP สำหรับรุ่นมิเตอร์ เฟิร์มแวร์ และการรวมระบบที่เลือก
3) เหตุใดอินเทอร์เฟซแบบเปิดจึงสำคัญ
อินเทอร์เฟซแบบเปิดช่วยให้ผู้ใช้ตัดสินใจได้ว่าข้อมูลไฟฟ้าจะถูกประมวลผลและเก็บไว้ที่ใด
เหตุผลทั่วไปได้แก่:
- เก็บข้อมูลการวัดภายในเครือข่ายท้องถิ่น
- ส่งข้อมูล telemetry ไปยังเซิร์ฟเวอร์ที่มีอยู่
- เชื่อมต่อข้อมูลพลังงานกับ Home Assistant หรือ Node-RED
- สร้างแดชบอร์ดและการแจ้งเตือนแบบกำหนดเอง
- รวมข้อมูลพลังงานเข้ากับอัตราค่าไฟฟ้า พลังงานแสงอาทิตย์ หรือตรรกะควบคุมโหลด
- ทำงานในสถานที่ที่มีอินเทอร์เน็ตจำกัดหรือไม่เสถียร
การเข้าถึง Cloud และในเครื่องไม่จำเป็นต้องแยกจากกันโดยสิ้นเชิง สถาปัตยกรรมที่เหมาะสมขึ้นอยู่กับว่าโครงการต้องการรายงาน IAMMETER-Cloud แพลตฟอร์มในเครื่อง เซิร์ฟเวอร์ของบริษัทอื่น หรือการรวมกัน
4) ส่งข้อมูลไปยังเซิร์ฟเวอร์ของบริษัทอื่น
4.1 TCP และ TLS
IAMMETER สามารถส่งข้อมูลมิเตอร์ไปยังปลายทาง TCP หรือ TLS
ใน WebUI ปัจจุบัน:
- เลือกโหมดการทำงาน TCP
- ป้อนที่อยู่ปลายทาง
- กำหนดช่วงเวลาอัปโหลด
- บันทึกการตั้งค่าและตรวจสอบข้อมูลที่เซิร์ฟเวอร์รับ
สำหรับเซิร์ฟเวอร์ TCP ให้ใช้:
{domain-or-ip}:{port}
ตัวอย่าง:
abc.com:12345

สำหรับเซิร์ฟเวอร์ TLS ให้ใช้:
tls://{domain-or-ip}:{port}
ตัวอย่าง:
tls://abc.com:12345

ภาพรวมเฟิร์มแวร์ปัจจุบันระบุช่วงเวลาอัปโหลดขั้นต่ำ 2 วินาที ยืนยันความจุของเฟิร์มแวร์ปัจจุบันและเซิร์ฟเวอร์รับก่อนเลือกช่วงเวลาสั้น
4.2 MQTT และ MQTTS
IAMMETER สามารถเผยแพร่ telemetry โดยตรงไปยัง broker MQTT ทั่วไปหรือใช้ MQTTS สำหรับการส่งข้อมูลแบบเข้ารหัสบนเฟิร์มแวร์ที่รองรับ
ใน WebUI ปัจจุบัน:
- เลือกโหมดการทำงาน MQTT
- ป้อนที่อยู่ IP หรือโดเมนและพอร์ตของ broker โดยใช้รูปแบบ MQTT หรือ MQTTS ที่เหมาะสม
- ป้อนชื่อผู้ใช้และรหัสผ่านของ broker เมื่อต้องมีการตรวจสอบสิทธิ์
- กำหนดช่วงเวลาอัปโหลด
- บันทึกและตรวจสอบว่าข้อความถึง broker
สำหรับ MQTT ทั่วไป ให้ป้อนที่อยู่และพอร์ตของ broker โดยไม่มีคำนำหน้า mqtt://:
192.168.11.163:1883

สำหรับ MQTTS ให้ใส่คำนำหน้า mqtts://:
mqtts://{mqtt-broker-address}:{port}
ตัวอย่าง:
mqtts://broker.example.com:8883

การรองรับ MQTTS ที่ระบุไว้ใน อัปเดตเฟิร์มแวร์พฤศจิกายน 2025 มีข้อจำกัดปัจจุบันดังนี้:
- รองรับ TLS 1.2 และต่ำกว่า
- ไม่รองรับการอัปโหลดใบรับรอง CA ที่กำหนดเอง
- ไม่รองรับการตรวจสอบชื่อโฮสต์
- ไม่รองรับใบรับรองฝั่งไคลเอ็นต์สำหรับการตรวจสอบสิทธิ์ TLS ร่วมกัน
ข้อจำกัดเหล่านี้มีความสำคัญเมื่อเลือก broker และประเมินข้อกำหนดด้านความปลอดภัยของการติดตั้ง
ภาพรวมเฟิร์มแวร์ปัจจุบันระบุช่วงเวลาอัปโหลดขั้นต่ำ 2 วินาที
Home Assistant MQTT Discovery เป็นฟังก์ชันค้นหาของ Home Assistant เพิ่มเติม ไม่จำเป็นสำหรับทุกการรวม MQTT ดู:
เปลี่ยน uploadInterval จากระยะไกลผ่าน MQTT/MQTTS
ด้วยเฟิร์มแวร์ที่อธิบายไว้ใน อัปเดตพฤศจิกายน 2025 มิเตอร์ที่ทำงานในโหมด MQTT จะสมัครสมาชิกโดยอัตโนมัติที่:
device/{sn}/config
เผยแพร่ JSON ต่อไปนี้จากไคลเอ็นต์ MQTT อื่นเพื่อเปลี่ยนช่วงเวลาอัปโหลดจากระยะไกล:
{"uploadInterval": 10}
แทนที่ 10 ด้วยช่วงเวลาที่ต้องการเป็นวินาที และ {sn} ด้วยหมายเลขซีเรียลของมิเตอร์ในหัวข้อ

การกำหนดค่า MQTT ระยะไกลนี้แตกต่างจากวิธี /api/uploadinterval ท้องถิ่นรุ่นเก่าที่เก็บไว้ในส่วน Legacy
4.3 HTTP และ HTTPS
IAMMETER สามารถส่งข้อมูลไปยังเซิร์ฟเวอร์ HTTP/HTTPS ที่กำหนดเอง
ใน WebUI ปัจจุบัน:
- เลือกโหมดการทำงาน HTTP
- ป้อนที่อยู่เซิร์ฟเวอร์และพอร์ต
- กำหนดช่วงเวลาอัปโหลด
- บันทึกและตรวจสอบคำขอที่เซิร์ฟเวอร์
เฟิร์มแวร์ปัจจุบันรองรับทั้งพอร์ต HTTPS เริ่มต้นและพอร์ต HTTPS ที่กำหนดเอง
ใช้หนึ่งในรูปแบบเหล่านี้:
- HTTP ทั่วไปโดยไม่ระบุพอร์ต:
{address}— ค่าเริ่มต้นเป็นพอร์ต 80 - HTTP ทั่วไปพร้อมพอร์ตที่กำหนดเอง:
{address}:{port} - HTTPS โดยไม่ระบุพอร์ต:
https://{address}— ค่าเริ่มต้นเป็นพอร์ต 443 - HTTPS พร้อมพอร์ตที่กำหนดเอง:
https://{address}:{port}— ใช้พอร์ตที่ระบุ
คำนำหน้า https:// เลือก HTTPS พอร์ต 443 ไม่ใช่พอร์ตเดียวที่ใช้สำหรับ HTTPS อีกต่อไป
ตัวอย่าง:
api.example.com
api.example.com:8080
https://api.example.com
https://api.example.com:8443


ดู เฟิร์มแวร์ใหม่เพิ่ม MQTTS, การกำหนดค่าระยะไกล และพอร์ต HTTPS ที่กำหนดเอง สำหรับบันทึกเผยแพร่เฟิร์มแวร์
สำหรับการจัดการ payload ฝั่งเซิร์ฟเวอร์ ดู รวม IAMMETER กับเซิร์ฟเวอร์ของบริษัทอื่น
5) อ่านข้อมูลในเครื่องผ่าน HTTP
เชื่อมต่อมิเตอร์กับ LAN และขอข้อมูลจากที่อยู่ IP ท้องถิ่น คำขอเหล่านี้ไม่จำเป็นต้องใช้ IAMMETER-Cloud
ทดสอบ API แบบโต้ตอบ: เปิด IAMMETER Local API Explorer ป้อนที่อยู่ IP ท้องถิ่นของมิเตอร์และเลือกหน้า WEM API test ตัวสำรวจสไตล์ Swagger แสดง Local API ที่มีให้และให้คุณส่งคำขอทดสอบโดยตรงจากเบราว์เซอร์ เบราว์เซอร์ของคุณและมิเตอร์ IAMMETER ต้องอยู่ใน LAN เดียวกัน
5.1 GET /api/monitorjson
ส่งคืนค่าการวัดทางไฟฟ้าแบบเรียลไทม์
ข้อมูลมาตรฐานรวมถึงค่าเช่น:
- แรงดันไฟฟ้า (Voltage)
- กระแสไฟฟ้า (Current)
- กำลังงาน active (Active power)
- kWh ขาเข้า/นำเข้า (Forward/import kWh)
- kWh ขาออก/ส่งออก (Reverse/export kWh)
- ความถี่ (Frequency)
- ตัวประกอบกำลัง (Power factor)
ตัวอย่างการตอบกลับ:
{
"method": "uploadsn",
"mac": "B0F8933C4F94",
"version": "i.75.97.9",
"server": "em",
"SN": "3E0BAF87",
"Datas": [
[220.0, 9.99, 2198, 11.337, 11.201, 49.99, 1.00],
[222.5, 9.99, 1100, 11.039, 10.908, 49.99, 0.50],
[263.5, 9.99, 1213, 10.975, 10.846, 49.99, 0.55]
]
}
จำนวนอาร์เรย์การวัดขึ้นอยู่กับรุ่นมิเตอร์และจำนวนช่องสัญญาณ
หากเปิดใช้งานการวัดกำลังงาน reactive บนรุ่น/เฟิร์มแวร์ที่รองรับ รูปแบบการตอบกลับอาจมีฟิลด์เพิ่มเติม ดู รูปแบบข้อมูลการวัดกำลังงาน Reactive
5.2 GET /api/monitor
ส่งคืนการตอบกลับแบบเรียลไทม์เพิ่มเติมที่รวมข้อมูล Wi-Fi เช่น:
ssid— ชื่อจุดเชื่อมต่อที่เชื่อมต่อsig— ความแรงสัญญาณ Wi-Fi
ใช้ปลายทางนี้เมื่อการรวมระบบต้องการทั้งค่าการวัดทางไฟฟ้าและสถานะ Wi-Fi พื้นฐาน
5.3 GET /api/wifidata
ส่งคืนข้อมูลการกำหนดค่าเฟิร์มแวร์ อุปกรณ์ และเครือข่าย
ตัวอย่าง:
{
"version": "i.75.97.9",
"SN": "3E0BAF87",
"mac": "B0F8933C4F94",
"type": "PM",
"ssid": "example-wifi",
"ip": "192.168.11.62",
"netmask": "255.255.255.0",
"gw": "192.168.11.1",
"dns": "192.168.11.1",
"dhcp": 1,
"runMode": "tcp",
"uploadinterval": 60
}
อย่าเผยแพร่การตอบกลับที่มีหมายเลขซีเรียลของอุปกรณ์ ที่อยู่ MAC ที่อยู่ภายใน หรือข้อมูล Wi-Fi เว้นแต่ค่าเหล่านั้นจะถูกล้างข้อมูลแล้ว
6) รูปแบบ JSON ในทุกโหมดการอัปโหลด
IAMMETER ใช้โครงสร้างการวัด JSON หลักที่สอดคล้องกันใน HTTP, TCP, MQTT และ Local API ซึ่งช่วยลดงานที่ต้องทำเมื่อระบบรับหนึ่งระบบรองรับวิธีการส่งข้อมูลหลายวิธี
วิธีการส่งและรูปแบบ envelop อาจยังส่งผลต่อวิธีที่ระบบรับเชื่อมต่อ ตรวจสอบสิทธิ์ หรือจัดรูปแบบข้อความ ใช้ระบบรับตามรูปแบบที่ระบุไว้สำหรับโหมดที่เลือก
7) Modbus TCP
มิเตอร์ IAMMETER รองรับ Modbus TCP สำหรับการรวมระบบ LAN โดยตรงกับไคลเอ็นต์ที่เข้ากันได้
ไคลเอ็นต์ทั่วไปได้แก่:
- Home Assistant
- PLC
- ระบบ SCADA
- เกตเวย์อุตสาหกรรม
- แอปพลิเคชัน Modbus แบบกำหนดเอง
เอกสารอ้างอิง:
ยืนยันรุ่นมิเตอร์ เฟิร์มแวร์ คำจำกัดความของรีจิสเตอร์ ช่วงเวลาการสอบถาม และพฤติกรรมของไคลเอ็นต์ก่อนการติดตั้ง
8) สถานการณ์การรวมระบบ
| ระบบ | โปรโตคอลทั่วไป | ตัวอย่างการใช้งาน | เอกสารอ้างอิง |
|---|---|---|---|
| Home Assistant | HTTP, Modbus TCP หรือ MQTT | แดชบอร์ดในเครื่องและการทำงานอัตโนมัติ | คู่มือ Home Assistant |
| Node-RED | HTTP, Modbus TCP หรือ MQTT | โฟลว์การทำงานอัตโนมัติ | คู่มือ Node-RED |
| openHAB / ioBroker | HTTP หรืออะแดปเตอร์ที่รองรับ | แดชบอร์ดในเครื่อง | การรวม ioBroker |
| Zabbix | HTTP | แดชบอร์ดตรวจสอบ | ตัวอย่าง Zabbix |
| ThingsBoard | HTTP หรือ MQTT | การแสดงภาพ IoT | ตัวอย่าง ThingsBoard |
| เซิร์ฟเวอร์แบบกำหนดเอง | HTTP, MQTT, TCP หรือ TLS | การรับข้อมูลในเครื่องหรือในองค์กร | สร้างระบบของคุณเอง |
9) สรุปอินเทอร์เฟซปัจจุบันและทรัพยากร
| ความต้องการ | อินเทอร์เฟซปัจจุบัน |
|---|---|
| อ่านค่าการวัดแบบเรียลไทม์ผ่าน LAN | /api/monitorjson หรือ /api/monitor |
| อ่านข้อมูลเครือข่าย/อุปกรณ์ | /api/wifidata |
| ส่งไปยัง broker | MQTT หรือ MQTTS ที่กำหนดค่าใน WebUI ปัจจุบัน |
| ส่งไปยังเซิร์ฟเวอร์ TCP/TLS ที่กำหนดเอง | TCP/TLS ที่กำหนดค่าใน WebUI ปัจจุบัน |
| ส่งไปยังปลายทางเว็บที่กำหนดเอง | HTTP/HTTPS ที่กำหนดค่าใน WebUI ปัจจุบัน |
| ดึงข้อมูลจากไคลเอ็นต์อุตสาหกรรมมาตรฐาน | Modbus TCP |
| ทำงานโดยไม่ต้องอัปโหลดข้อมูลต่อเนื่อง | โหมด Stand-Alone |
ทรัพยากรเพิ่มเติม:
- เฟิร์มแวร์ล่าสุด
- บันทึกเฟิร์มแวร์ MQTTS และพอร์ต HTTPS ที่กำหนดเอง
- วิดีโอสอน
- คำจำกัดความข้อมูล JSON
- ภาพรวม Modbus TCP
- พัฒนาระบบของคุณเอง
- ตรวจสอบโดยไม่ต้องใช้อินเทอร์เน็ต
API ท้องถิ่นและโปรโตคอลเปิดของ IAMMETER ทำให้สามารถเริ่มต้นด้วยการตรวจสอบแบบเรียลไทม์และเพิ่ม EMS แบบกำหนดเอง แดชบอร์ดที่โฮสต์เอง หรือโฟลว์การทำงานอัตโนมัติในภายหลัง
10) หน้าเฟิร์มแวร์รุ่นเก่าและวิธีการกำหนดค่า
เนื้อหาต่อไปนี้ถูกเก็บไว้สำหรับมิเตอร์ที่ยังคงใช้เฟิร์มแวร์รุ่นเก่าหรือสำหรับผู้ใช้ที่ดูแลระบบรวมที่มีอยู่ สำหรับการติดตั้งใหม่ ให้อัปเดตเป็น เฟิร์มแวร์ล่าสุด และใช้ WebUI ปัจจุบัน wherever ตัวเลือกที่ต้องการมีให้
10.1 หน้าโหมดการทำงานรุ่นเก่า
เฟิร์มแวร์รุ่นเก่าใช้หน้าเลือกโหมดการทำงานดังนี้:

เค้าโครงและชื่อตัวเลือกอาจไม่ตรงกับ WebUI ปัจจุบันที่แสดงก่อนหน้าในคู่มือนี้
10.2 หน้า TCP/TLS รุ่นเก่า
การรวมระบบเฟิร์มแวร์รุ่นเก่าอาจอ้างถึงหน้าการกำหนดค่า TCP/TLS และคู่มือที่เกี่ยวข้องนี้:

10.3 หน้า MQTT รุ่นเก่า
เอกสาร MQTT รุ่นเก่าใช้อินเทอร์เฟซการกำหนดค่านี้:

สำหรับขั้นตอนปัจจุบัน ให้ใช้คำแนะนำ WebUI ปัจจุบันก่อนหน้าในบทความนี้และ คู่มือการรวม MQTT ที่อัปเดตแล้ว
10.4 หน้า HTTP/HTTPS รุ่นเก่า
เฟิร์มแวร์รุ่นเก่าใช้หน้ากำหนดค่าปลายทาง HTTP/HTTPS ดังนี้:

คู่มือการรวมรุ่นเก่าถูกเก็บไว้ที่ อัปโหลดผ่าน HTTP/HTTPS
ในขั้นตอนการทำงานแบบเก่านี้ HTTPS เชื่อมโยงกับพอร์ตเริ่มต้น 443 และไม่จำเป็นต้องมีคำนำหน้า https:// เฟิร์มแวร์ปัจจุบันใช้คำนำหน้า https:// เพื่อเลือก HTTPS และรองรับทั้งพอร์ตเริ่มต้น 443 หรือพอร์ตที่กำหนดเองที่ระบุอย่างชัดเจน
10.5 API การกำหนดค่ารุ่นเก่า
การเรียก API ท้องถิ่นต่อไปนี้ปรากฏในขั้นตอนการกำหนดค่ารุ่นก่อนหน้า ในเฟิร์มแวร์ปัจจุบัน การตั้งค่าที่เกี่ยวข้องควรกำหนดค่าผ่าน WebUI เมื่อมีตัวเลือก
/api/uploadinterval?x=<seconds>
วิธีการรุ่นเก่าสำหรับกำหนดช่วงเวลาอัปโหลดที่ไม่ใช่ Cloud
/api/mqtt
วิธีการรุ่นเก่าสำหรับกำหนดค่าข้อมูลประจำตัว MQTT
/api/netmetring
วิธีการรุ่นเก่าสำหรับเปิดหรือปิดโหมด Net Energy Metering
/api/ctcratio
วิธีการรุ่นเก่าสำหรับใช้ตัวคูณ Phase-C ที่ระบุในสถานการณ์ split-phase หรือ balanced เฉพาะ
/api/reactive
วิธีการรุ่นเก่าสำหรับเปิดหรือปิดการวัดกำลังงาน reactive และพลังงาน reactive บนเฟิร์มแวร์/รุ่นที่รองรับ
/api/ratio — เฉพาะ WEM3046T
WEM3046T ใช้ CT ภายนอกที่มีเอาต์พุตรอง 5 A คำแนะนำการกำหนดค่ารุ่นเก่ากำหนดอัตราส่วน CT ด้วย:
/api/ratio?x={ct_ratio}
ตัวอย่าง:
/api/ratio?x=400
ปลายทางนี้เฉพาะสำหรับ WEM3046T และไม่ถูกต้องสำหรับรุ่น IAMMETER อื่น สำหรับเฟิร์มแวร์ปัจจุบัน ให้ใช้การกำหนดค่า WebUI ปัจจุบันของรุ่นเมื่อมีให้
เนื้อหารุ่นเก่าเก็บไว้เพื่ออ้างอิงย้อนหลัง; การติดตั้งปัจจุบันควรปฏิบัติตาม WebUI เฟิร์มแวร์ล่าสุด