การผสานรวมมิเตอร์พลังงาน IAMMETER เข้ากับ Victron Venus OS
การผสานรวมมิเตอร์พลังงาน IAMMETER เข้ากับ Victron Venus OS
Victron Energy's Venus OS คือระบบปฏิบัติการกลางสำหรับการตรวจสอบและจัดการพลังงานในระบบ Victron โดยทำงานบนอุปกรณ์ GX เช่น Cerbo GX และยังสามารถติดตั้งบน Raspberry Pi ผ่านเวอร์ชันโอเพนซอร์ส Venus OS เชื่อมต่ออินเวอร์เตอร์ แบตเตอรี่ ตัวควบคุมการชาร์จ และส่วนประกอบอื่นๆ เข้าด้วยกันเป็นระบบอัจฉริยะเดียว ช่วยให้สามารถตรวจสอบแบบเรียลไทม์ ควบคุมพลังงานอัตโนมัติ และเข้าถึงระยะไกลผ่านพอร์ทัล Victron Remote Management (VRM) ด้วยการรองรับ MQTT และ Modbus-TCP จึงสามารถผสานรวมกับแพลตฟอร์มของบุคคลที่สามเช่น Home Assistant ได้อย่างง่ายดาย ทำให้เหมาะสำหรับการติดตั้งโซลาร์เซลล์ขั้นสูงและระบบนอกกริด
เกี่ยวกับผู้มีส่วนร่วม
การผสานรวม IAMMETER เข้ากับ Victron Energy's Venus OS ได้รับการพัฒนาโดย MiWyf
ขอขอบคุณ MiWyf เป็นพิเศษสำหรับการมีส่วนร่วมในการเขียนโค้ด
เนื้อหาต่อไปนี้ส่วนใหญ่มาจาก README ของโครงการผสานรวม (https://github.com/lewei50/dbus-iammeter)
dbus-iammeter
หน้าโครงการ: https://github.com/lewei50/dbus-iammeter
ผสานรวมมิเตอร์อัจฉริยะ IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T เข้ากับ Victron Energy's Venus OS
วัตถุประสงค์
สคริปต์ในพื้นที่เก็บข้อมูลนี้มีวิธีการติดตั้ง ถอนการติดตั้ง และจัดการบริการที่เชื่อมต่อมิเตอร์อัจฉริยะ IAMMETER (WEM3080/WEM3080T/WEM3050T/WEM3046T) เข้ากับ Venus OS และอุปกรณ์ GX จาก Victron แนวคิดนี้มีพื้นฐานมาจากผลงานของ @fabian-lauer และ @vikt0rm
แรงบันดาลใจ
นี่คือโปรเจกต์แรกของผมบน GitHub และกับ Victron Venus OS ผมได้รับแรงบันดาลใจจากโปรเจกต์ที่ยอดเยี่ยมเหล่านี้:
- https://github.com/RalfZim/venus.dbus-fronius-smartmeter
- https://github.com/victronenergy/dbus-smappee
- https://github.com/Louisvdw/dbus-serialbattery
- https://github.com/victronenergy/venus/wiki/dbus#grid-and-genset-meter
- IAMMETER Local API (API ท้องถิ่นของ IAMMETER)
วิธีการทำงาน
การตั้งค่าของผม
- IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T
- การติดตั้งแบบ 1 เฟส/3 เฟส
- เชื่อมต่อกับเครือข่าย Wi-Fi "A"
- IP: 192.168.1.6
- Venus OS บน Raspberry Pi 4 (RAM 4GB, เวอร์ชัน 1.1, เฟิร์มแวร์ v2.84)
- ไม่มีอุปกรณ์ Victron อื่นเชื่อมต่อ
- เชื่อมต่อกับเครือข่าย Wi-Fi "A"
- IP: 192.168.1.10
รายละเอียด / กระบวนการ
ดังที่กล่าวไว้ข้างต้น สคริปต์ได้รับแรงบันดาลใจจากการใช้งานมิเตอร์ Fronius ของ @RalfZim นี่คือสิ่งที่สคริปต์ทำ:
- ทำงานเป็นบริการ
- เชื่อมต่อกับ DBus บน Venus OS ที่
com.victronenergy.grid.http_40หรือcom.victronenergy.pvinverter.http_40 - ใช้ REST-API เพื่อเรียก
/statusบนอุปกรณ์ IAMMETER และรับข้อมูล JSON - Serial/MAC ถูกดึงมาจากการตอบสนองและใช้เป็นหมายเลขซีเรียลของอุปกรณ์
- เส้นทาง DBus ถูกกำหนดค่าเริ่มต้นด้วยค่าเริ่มต้น (0) และการตั้งค่าบางอย่างเช่นชื่อ
- เริ่มวนรอบการทำงาน ดึงข้อมูลจาก IAMMETER ทุก 3000ms และอัปเดต DBus ตามนั้น
การติดตั้งและการกำหนดค่า
ดาวน์โหลดโค้ด
ดาวน์โหลด branch main และคัดลอกไปยัง /data/dbus-iammeter จากนั้นรันสคริปต์ install.sh:
wget https://github.com/lewei50/dbus-iammeter/archive/refs/heads/main.zip
unzip main.zip "dbus-iammeter-main/*" -d /data
mv /data/dbus-iammeter-main /data/dbus-iammeter
chmod a+x /data/dbus-iammeter/install.sh
/data/dbus-iammeter/install.sh
rm main.zip
⚠️ หลังจากการติดตั้ง ให้ตรวจสอบการกำหนดค่า บริการจะเริ่มทำงานทันที และข้อมูลการเชื่อมต่อที่ไม่ถูกต้อง (host, username, password) จะทำให้ไฟล์ล็อกมีข้อความเต็ม
แก้ไข config.ini
ไฟล์กำหนดค่าอยู่ที่ /data/dbus-iammeter/config.ini แก้ไขค่าตามต้องการ โดยเฉพาะ host, username และ password ในส่วน "ONPREMISE"
| ส่วน | ค่ากำหนด | คำอธิบาย |
|---|---|---|
| DEFAULT | AccessType | ค่าคงที่: 'OnPremise' |
| DEFAULT | SignOfLifeLog | ช่วงเวลา (นาที) สำหรับบันทึกสถานะบริการด้วยระดับ INFO |
| DEFAULT | CustomName | ชื่ออุปกรณ์ (มีประโยชน์สำหรับสคริปต์หลายอินสแตนซ์) |
| DEFAULT | DeviceInstance | หมายเลขอินสแตนซ์ของอุปกรณ์ เช่น 40 |
| DEFAULT | Role | 'grid' หรือ 'pvinverter' เพื่อกำหนดบทบาทของ IAMMETER |
| DEFAULT | Position | 0 = AC input 1; 1 = AC output; 2 = AC input 2 |
| DEFAULT | LogLevel | ระดับการบันทึก (ดู: https://docs.python.org/3/library/logging.html#levels) |
| ONPREMISE | Host | IP หรือชื่อโฮสต์ของเว็บอินเทอร์เฟซท้องถิ่นของ IAMMETER |
| ONPREMISE | Username | ชื่อผู้ใช้สำหรับการเข้าถึง HTTP (ปล่อยว่างหากไม่ต้องการ) |
| ONPREMISE | Password | รหัสผ่านสำหรับการเข้าถึง HTTP (ปล่อยว่างหากไม่ต้องการ) |
| ONPREMISE | L1Position | เฟสอินพุตของ IAMMETER ที่ใช้สำหรับ L1 (ดูส่วนการแมปใหม่) |
การแมป L1 ใหม่
ในระบบ 3 เฟสที่มี Multi ตัวเดียว Venus OS คาดว่า L1 จะจ่ายไฟให้ Multi ซึ่งไม่เป็นเช่นนั้นเสมอไป ตัวอย่างเช่น หาก Multi ของคุณได้รับไฟจาก L3 (อินพุต C บน IAMMETER) อุปกรณ์ GX จะแสดงโหลด AC ทั้งบน L1 และ L3
โดยการตั้งค่า L1Position คุณสามารถแมปเฟสใหม่เพื่อให้แน่ใจว่า GX แสดงข้อมูลที่ถูกต้อง:
- หาก Multi ของคุณเชื่อมต่อกับอินพุต
Aไม่จำเป็นต้องเปลี่ยนแปลง L1Position = 2จะสลับBและAL1Position = 3จะสลับCและA
เอกสารอ้างอิง
- https://github.com/victronenergy/venus/wiki/dbus#grid
- https://github.com/victronenergy/venus/wiki/dbus#pv-inverters
- https://github.com/victronenergy/venus/wiki/dbus-api
- https://www.victronenergy.com/live/ccgx:root_access
- IAMMETER Local API (API ท้องถิ่นของ IAMMETER)
เกี่ยวกับ IAMMETER
IAMMETER คือบริษัทที่มุ่งเน้นผลิตภัณฑ์และบริการการจัดการพลังงาน โดยนำเสนอมิเตอร์พลังงานอัจฉริยะ แอปพลิเคชันจัดการ และแพลตฟอร์มคลาวด์
เป้าหมายของเราคือการช่วยให้ลูกค้าจัดการ ใช้ประโยชน์ และประหยัดพลังงานอย่างมีประสิทธิภาพ ลดค่าไฟฟ้าผ่านการตรวจสอบและวิเคราะห์อัจฉริยะ
โซลูชัน
ผลิตภัณฑ์
- ภาพรวมมิเตอร์พลังงาน IAMMETER
- WEM3080T – มิเตอร์พลังงาน Wi-Fi แบบสามเฟส/แยกเฟส
- WEM3080 – มิเตอร์พลังงาน Wi-Fi แบบเฟสเดียว
- WEM3050T – มิเตอร์พลังงานแบบสามเฟส
- WEM3046T – มิเตอร์พลังงาน Wi-Fi แบบสามเฟสพร้อมอินพุต CT มาตรฐาน 5A