เหมาะกับใคร
เหมาะสำหรับผู้ที่ใช้อุปกรณ์รุ่น DEYE / Sunsynk Inverter — ESP32 ตามที่ระบุไว้ในชื่อไฟล์
ไฟล์สำหรับ DEYE / Sunsynk Inverter — ESP32 เพื่อเชื่อมต่อและติดตามข้อมูลพลังงานบน bmsgo.life โปรดตรวจสอบรุ่นอุปกรณ์กับผู้ติดตั้งก่อนดาวน์โหลด
เหมาะสำหรับผู้ที่ใช้อุปกรณ์รุ่น DEYE / Sunsynk Inverter — ESP32 ตามที่ระบุไว้ในชื่อไฟล์
ตรวจชื่ออุปกรณ์ให้ตรงก่อนเริ่มติดตั้ง
✅ ทดสอบกับ Deye ตัวจริงแล้ว ขึ้น bmsgo.life ได้ค่าจริง. แก้บั๊กที่เจอบน HW: ค่าเพี้ยนเป็นพักๆแล้วกลับปกติเอง (หลายฟิลด์พร้อมกัน — PV กระโดดเป็นหมื่นวัตต์, ความถี่กริดกลายเป็น 600+ Hz, EPS แรงดัน/กระแสเพี้ยน, อุณหภูมิติดลบ, ค่าแบตขัดกันเอง). รูทสาเหตุ: recvMbTcp()/recvV5() ไม่เคยเช็คว่า transaction id (Modbus TCP) / sequence (Solarman V5) ของคำตอบตรงกับคำขอที่เพิ่งส่งไปหรือไม่ — เช็คแค่ length/CRC/function code ซึ่งผ่านได้แม้เป็นคำตอบของคำขอรอบอื่น พอมี reply ล่าช้า/ซ้ำจาก gateway หลุดเข้ามาแทนคำตอบจริงระหว่างที่ยังรอ (state machine มีคำขอค้างได้ทีละ 1 คำขอ) ตัวมันจะถูกยัดใส่ register cache ที่ offset ของรอบปัจจุบันทั้งที่เป็นข้อมูลคนละ register range → ค่าที่ decode ออกมาพังหลายฟิลด์พร้อมกัน แล้วกลับปกติเองตอน reply รอบถัดไปตอบตรงคิว. แก้โดยเก็บ id/seq ที่ส่งไปแล้วปฏิเสธ reply ที่ไม่ตรง (RS485 ไม่กระทบ ไม่มี transaction id ให้เช็คอยู่แล้ว) ⚠️ ฝั่ง Solarman V5 การเช็ค sequence echo อิงจากพฤติกรรมที่สังเกตได้ ไม่ใช่สเปกทางการเหมือน Modbus/TCP — ถ้า dongle บางรุ่นไม่ echo กลับตรง อาจต้องผ่อนเช็คนี้ลง
โปรดเลือกไฟล์ให้ตรงกับรุ่นอุปกรณ์ และอย่าปิดอุปกรณ์ระหว่างติดตั้ง
รุ่นแรกของสาย Deye — เขียนใหม่ทั้งไฟล์ ไม่ใช่ตัว stub เดิม (ตัวเก่าอ่าน load power ผิดที่ register 175 และคิดแรงดันแบตด้วยสเกล 0.1 แทน 0.01). ตรวจแล้ว 2 ชั้นก่อนปล่อย: (ก) encoder/decoder ของ Solarman V5 ตรงกับ pysolarmanv5 ทีละไบต์ และผ่านเคส keep-alive แทรกหน้าเฟรมจริง, เฟรมมาไม่ครบ, CRC เพี้ยน และ Modbus exception (ข) เลข register กับสเกลทุกตัวเทียบกับ home_assistant_solarman และ kbialek/deye-inverter-mqtt ผ่าน 96 ข้อไม่มีพลาด พร้อมเช็คว่าทุก register ที่ถอดค่าอยู่ในช่วงที่ poll จริง — รันซ้ำเองได้ที่ ESP32_DEYE_MQTT_Config/verify/. การตรวจนี้จับบั๊กจริงได้ 1 ตัว: profile LP3 ไม่ได้อ่าน register 500 (running status) เพราะบล็อกเริ่มที่ 514. คอมไพล์ผ่าน flash 59% RAM 16% ⚠️ ยังไม่ผ่านการทดสอบกับอินเวอร์เตอร์ Deye ตัวจริง ตรวจได้แค่ระดับโปรโตคอลกับ register map เท่านั้น
โปรดเลือกไฟล์ให้ตรงกับรุ่นอุปกรณ์ และอย่าปิดอุปกรณ์ระหว่างติดตั้ง
ใช้ปุ่มดาวน์โหลดหลักเมื่อติดตั้งอุปกรณ์ใหม่ และใช้ไฟล์อัปเดตเมื่อได้รับคำแนะนำจากผู้ดูแลระบบ