TRX-DOCสำหรับนักพัฒนาอุปกรณ์

ส่งข้อมูลจาก broker เดิมผ่าน Node-RED

รับข้อมูลจาก MQTT broker ที่มีอยู่แล้ว แปลงชื่อ แล้วส่งต่อเข้า TRIX

ถ้าอุปกรณ์ส่งข้อมูลเข้า MQTT broker ของคุณอยู่แล้ว ไม่ต้องแก้ firmware ใช้ Node-RED รับข้อมูลจาก broker เดิม แปลงชื่อ topic และค่า แล้วส่งต่อเข้า TRIX

broker ของคุณ --> Node-RED --> mqtt.trix.technology --> TRIX Monitor --> dashboard
            (subscribe)  (แปลง topic/ค่า)   (publish trix/<site>/<device>/...)

ขอไฟล์ flow ตัวอย่าง trix-ingest-flow.json จากทีม TRIX แล้ว import (Menu > Import > วาง > Deploy)

1. node ใน flow

node หน้าที่
from YOUR broker (mqtt in) subscribe ข้อมูลจาก broker ของคุณ ตัวอย่างตั้งไว้ที่ inverter/data/+/status
map to trix (function) แตก JSON ของอินเวอร์เตอร์เป็นค่าแยกตามชื่อ แล้วตั้ง topic ตามกติกาของ TRIX
to TRIX broker (mqtt out) publish เข้า mqtt.trix.technology ผ่าน WSS
published (debug) แสดงสิ่งที่ส่งออก ไว้ตรวจความถูกต้อง

2. ตั้งค่าหลัง import

  1. broker ต้นทาง เปิด node from YOUR broker ตั้ง host, port, username/password และแคบ topic ให้เหลือเท่าที่ใช้
  2. broker ของ TRIX เปิด node to TRIX broker
    • Server wss://mqtt.trix.technology/mqtt พอร์ต 443
    • แท็บ Security ใส่ username และ password ของ site (จากทีม TRIX หรือแท็บ Integrations ของลิงก์ portal)
    • ไฟล์ flow ไม่มีรหัสผ่านติดมา ต้องกรอกเองทุกครั้ง
  3. ตัวแปลง เปิด node map to trix ตั้ง SITE เป็นชื่อย่อ site ของคุณ
    • ตัวแปลงแตกทุกค่าที่เป็นตัวเลขใน JSON เป็นค่าแยก ข้อความหนึ่งจากอินเวอร์เตอร์จึงได้ราว 50 ค่า เช่น pv_today_kwh, battery_soc, grid_freq, load_p_total
    • ชื่ออุปกรณ์มาจาก payload.device ค่าที่เป็นข้อความหรือว่างถูกทิ้ง
    • ต้องการส่งบางค่า ให้ลบหรือกรองชื่อก่อนเรียก emit()
  4. กด Deploy แล้วดู node published ภายในราว 1 วินาทีค่าจะขึ้นบน dashboard ที่ผูกกับอุปกรณ์นั้น

3. กติกาที่ TRIX ต้องการ

trix/<site>/<device-id>/<metric-key>      payload: "<ตัวเลข>"
  • <site> ถูกล็อกด้วย login ของคุณ ส่งได้เฉพาะ trix/<site>/#
  • <device-id> และ <metric-key> ตั้งอิสระ ชื่อใหม่ถูกสร้างให้อัตโนมัติ ทีม TRIX ตั้งชื่อแสดงผลและหน่วยให้ภายหลัง
  • payload ต้องเป็นตัวเลขล้วน ตัวแปลงในตัวอย่างทำ String(Number(value)) และทิ้งค่าที่ไม่ใช่ตัวเลขให้แล้ว
  • ถ้าเขียน flow เอง จะส่งแบบ JSON ที่ channel telemetry ตาม trix-node/1 ก็ได้ ข้อความน้อยกว่า
ติดปัญหาหรือต้องการข้อมูลเพิ่ม ติดต่อทีม TRIX
แชท LINEโทรหาเรา