{
  "revision": "2026-10-16-user-flowchart-complete",
  "title": "Smart Sala-Hum Prototype",
  "source": "ผัง Mermaid ที่ผู้ใช้ส่ง 16 ตุลาคม 2569 (ฉบับเต็ม)",
  "status": "complete-flowchart",
  "cutoff": null,
  "nodes": [
    {
      "id": "source",
      "ref": "GRID",
      "label": "AC Adapter",
      "short": "AC ADAPTER",
      "group": "external",
      "x": 20,
      "y": 260,
      "w": 135,
      "h": 62,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Power",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "solar",
      "ref": "SOLAR",
      "label": "Mini Solar Cell",
      "short": "MINI SOLAR",
      "group": "P0",
      "x": 190,
      "y": 95,
      "w": 145,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Power",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "bus",
      "ref": "DCM",
      "label": "Multi-Source DC Input Manager",
      "short": "DC INPUT MANAGER",
      "group": "P0",
      "x": 370,
      "y": 190,
      "w": 160,
      "h": 66,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Power",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "battery",
      "ref": "BAT0A",
      "label": "18650 #1",
      "short": "18650 #1",
      "group": "P0",
      "x": 190,
      "y": 300,
      "w": 135,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "battery2",
      "ref": "BAT0B",
      "label": "18650 #2",
      "short": "18650 #2",
      "group": "P0",
      "x": 190,
      "y": 390,
      "w": 135,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "charger",
      "ref": "UPS0",
      "label": "Dual-Rail UPS Battery System",
      "short": "DUAL-RAIL UPS",
      "group": "P0",
      "x": 370,
      "y": 300,
      "w": 185,
      "h": 66,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "buck",
      "ref": "PM0",
      "label": "2-Way Power Manager",
      "short": "2-WAY POWER MGR",
      "group": "P0",
      "x": 560,
      "y": 190,
      "w": 165,
      "h": 66,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Power",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "esp32",
      "ref": "ESP0",
      "label": "ESP32-S3",
      "short": "P0 ESP32-S3",
      "group": "P0",
      "x": 560,
      "y": 310,
      "w": 165,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Control",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "sense",
      "ref": "MON0",
      "label": "Voltage / Current / Stability Monitor",
      "short": "V / I / STABILITY",
      "group": "P0",
      "x": 560,
      "y": 395,
      "w": 165,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "driver",
      "ref": "RELAY",
      "label": "Relay Power Distribution",
      "short": "RELAY DISTRIBUTION",
      "group": "P0",
      "x": 560,
      "y": 470,
      "w": 165,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Switching",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "p1battery",
      "ref": "BAT1",
      "label": "18650 Battery",
      "short": "P1 18650",
      "group": "P1",
      "x": 790,
      "y": 90,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "p1ups",
      "ref": "UPS1",
      "label": "Single-Rail UPS",
      "short": "SINGLE-RAIL UPS",
      "group": "P1",
      "x": 790,
      "y": 170,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "p1esp",
      "ref": "ESP1",
      "label": "ESP32",
      "short": "P1 ESP32",
      "group": "P1",
      "x": 790,
      "y": 250,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Control",
      "note": "ตามผังผู้ใช้; รุ่น/พิกัด/จุดต่อจริงยังต้องยืนยัน"
    },
    {
      "id": "salinity",
      "ref": "EC",
      "label": "EC Sensor",
      "short": "EC SENSOR",
      "group": "P1",
      "x": 790,
      "y": 330,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "หัววัด EC ตามผัง; รุ่น ช่วงวัด หน่วย และการสอบเทียบยังต้องยืนยัน"
    },
    {
      "id": "temp",
      "ref": "TEMP",
      "label": "Temperature Sensor",
      "short": "TEMP SENSOR",
      "group": "P1",
      "x": 790,
      "y": 410,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "หัววัดอุณหภูมิตามผัง; รุ่น/ช่วงวัดยังต้องยืนยัน"
    },
    {
      "id": "p1monitor",
      "ref": "MON1",
      "label": "Voltage / Current / Stability Monitor",
      "short": "P1 V / I / STABILITY",
      "group": "P1",
      "x": 790,
      "y": 490,
      "w": 180,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "มอนิเตอร์ไฟ P1 ตามผัง; รุ่น/พิกัดยังต้องยืนยัน"
    },
    {
      "id": "p2battery",
      "ref": "BAT2",
      "label": "18650 Battery",
      "short": "P2 18650",
      "group": "P2",
      "x": 1030,
      "y": 150,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "แบตเตอรี่ P2 ตามผัง; พิกัด/การต่อยังต้องยืนยัน"
    },
    {
      "id": "p2ups",
      "ref": "UPS2",
      "label": "Single-Rail UPS",
      "short": "P2 SINGLE-RAIL UPS",
      "group": "P2",
      "x": 1030,
      "y": 240,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "UPS แยกของ P2 ตามผัง; รุ่น/พิกัดยังต้องยืนยัน"
    },
    {
      "id": "p2esp",
      "ref": "ESP2",
      "label": "ESP32",
      "short": "P2 ESP32",
      "group": "P2",
      "x": 1030,
      "y": 330,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Control",
      "note": "ตัวควบคุม P2 ตามผัง; pin/firmware ยังไม่ระบุ"
    },
    {
      "id": "p2monitor",
      "ref": "MON2",
      "label": "Voltage / Current / Stability Monitor",
      "short": "P2 V / I / STABILITY",
      "group": "P2",
      "x": 1030,
      "y": 420,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "มอนิเตอร์ไฟ P2 ตามผัง; รุ่น/พิกัดยังต้องยืนยัน"
    },
    {
      "id": "p3battery",
      "ref": "BAT3",
      "label": "18650 Battery",
      "short": "P3 18650",
      "group": "P3",
      "x": 1270,
      "y": 150,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "แบตเตอรี่ P3 ตามผัง; พิกัด/การต่อยังต้องยืนยัน"
    },
    {
      "id": "p3ups",
      "ref": "UPS3",
      "label": "Single-Rail UPS",
      "short": "P3 SINGLE-RAIL UPS",
      "group": "P3",
      "x": 1270,
      "y": 240,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Storage",
      "note": "UPS แยกของ P3 ตามผัง; รุ่น/พิกัดยังต้องยืนยัน"
    },
    {
      "id": "p3esp",
      "ref": "ESP3",
      "label": "ESP32",
      "short": "P3 ESP32",
      "group": "P3",
      "x": 1270,
      "y": 330,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Control",
      "note": "ตัวควบคุม P3 ตามผัง; pin/firmware ยังไม่ระบุ"
    },
    {
      "id": "p3monitor",
      "ref": "MON3",
      "label": "Voltage / Current / Stability Monitor",
      "short": "P3 V / I / STABILITY",
      "group": "P3",
      "x": 1270,
      "y": 420,
      "w": 170,
      "h": 58,
      "pins": [
        "CONNECTION TBD"
      ],
      "lift": 1.3,
      "category": "Sensing",
      "note": "มอนิเตอร์ไฟ P3 ตามผัง; รุ่น/พิกัดยังต้องยืนยัน"
    }
  ],
  "edges": [
    {
      "id": "edge-01",
      "fromNode": "source",
      "toNode": "DCM",
      "from": [
        87.5,
        291.0
      ],
      "to": [
        450.0,
        223.0
      ],
      "net": "GRID > DCM",
      "kind": "power",
      "path": "grid"
    },
    {
      "id": "edge-02",
      "fromNode": "solar",
      "toNode": "DCM",
      "from": [
        262.5,
        124.0
      ],
      "to": [
        450.0,
        223.0
      ],
      "net": "SOLAR > DCM",
      "kind": "power",
      "path": "solar"
    },
    {
      "id": "edge-03",
      "fromNode": "battery",
      "toNode": "UPS0",
      "from": [
        257.5,
        329.0
      ],
      "to": [
        462.5,
        333.0
      ],
      "net": "BAT0A > UPS0",
      "kind": "power",
      "path": "backup"
    },
    {
      "id": "edge-04",
      "fromNode": "battery2",
      "toNode": "UPS0",
      "from": [
        257.5,
        419.0
      ],
      "to": [
        462.5,
        333.0
      ],
      "net": "BAT0B > UPS0",
      "kind": "power",
      "path": "backup"
    },
    {
      "id": "edge-05",
      "fromNode": "bus",
      "toNode": "PM0",
      "from": [
        450.0,
        223.0
      ],
      "to": [
        642.5,
        223.0
      ],
      "net": "DCM > PM0",
      "kind": "power",
      "path": "grid"
    },
    {
      "id": "edge-06",
      "fromNode": "charger",
      "toNode": "PM0",
      "from": [
        462.5,
        333.0
      ],
      "to": [
        642.5,
        223.0
      ],
      "net": "UPS0 > PM0",
      "kind": "power",
      "path": "backup"
    },
    {
      "id": "edge-07",
      "fromNode": "buck",
      "toNode": "ESP0",
      "from": [
        642.5,
        223.0
      ],
      "to": [
        642.5,
        339.0
      ],
      "net": "PM0 > ESP0",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-08",
      "fromNode": "buck",
      "toNode": "MON0",
      "from": [
        642.5,
        223.0
      ],
      "to": [
        642.5,
        424.0
      ],
      "net": "PM0 > MON0",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-09",
      "fromNode": "buck",
      "toNode": "RELAY",
      "from": [
        642.5,
        223.0
      ],
      "to": [
        642.5,
        499.0
      ],
      "net": "PM0 > RELAY",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-10",
      "fromNode": "p1battery",
      "toNode": "UPS1",
      "from": [
        880.0,
        119.0
      ],
      "to": [
        880.0,
        199.0
      ],
      "net": "BAT1 > UPS1",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-11",
      "fromNode": "p1ups",
      "toNode": "ESP1",
      "from": [
        880.0,
        199.0
      ],
      "to": [
        880.0,
        279.0
      ],
      "net": "UPS1 > ESP1",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-12",
      "fromNode": "salinity",
      "toNode": "ESP1",
      "from": [
        880.0,
        359.0
      ],
      "to": [
        880.0,
        279.0
      ],
      "net": "EC > ESP1",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-13",
      "fromNode": "temp",
      "toNode": "ESP1",
      "from": [
        880.0,
        439.0
      ],
      "to": [
        880.0,
        279.0
      ],
      "net": "TEMP > ESP1",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-14",
      "fromNode": "p1monitor",
      "toNode": "ESP1",
      "from": [
        880.0,
        519.0
      ],
      "to": [
        880.0,
        279.0
      ],
      "net": "MON1 > ESP1",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-15",
      "fromNode": "p2battery",
      "toNode": "UPS2",
      "from": [
        1115.0,
        179.0
      ],
      "to": [
        1115.0,
        269.0
      ],
      "net": "BAT2 > UPS2",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-16",
      "fromNode": "p2ups",
      "toNode": "ESP2",
      "from": [
        1115.0,
        269.0
      ],
      "to": [
        1115.0,
        359.0
      ],
      "net": "UPS2 > ESP2",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-17",
      "fromNode": "p2monitor",
      "toNode": "ESP2",
      "from": [
        1115.0,
        449.0
      ],
      "to": [
        1115.0,
        359.0
      ],
      "net": "MON2 > ESP2",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-18",
      "fromNode": "p3battery",
      "toNode": "UPS3",
      "from": [
        1355.0,
        179.0
      ],
      "to": [
        1355.0,
        269.0
      ],
      "net": "BAT3 > UPS3",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-19",
      "fromNode": "p3ups",
      "toNode": "ESP3",
      "from": [
        1355.0,
        269.0
      ],
      "to": [
        1355.0,
        359.0
      ],
      "net": "UPS3 > ESP3",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-20",
      "fromNode": "p3monitor",
      "toNode": "ESP3",
      "from": [
        1355.0,
        449.0
      ],
      "to": [
        1355.0,
        359.0
      ],
      "net": "MON3 > ESP3",
      "kind": "power",
      "path": "local"
    },
    {
      "id": "edge-21",
      "fromNode": "driver",
      "toNode": null,
      "from": [
        642.5,
        499.0
      ],
      "to": [
        1000,
        210
      ],
      "net": "5V Power",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-22",
      "fromNode": "driver",
      "toNode": null,
      "from": [
        642.5,
        499.0
      ],
      "to": [
        1240,
        240
      ],
      "net": "5V Power",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-23",
      "fromNode": "driver",
      "toNode": null,
      "from": [
        642.5,
        499.0
      ],
      "to": [
        1480,
        270
      ],
      "net": "5V Power",
      "kind": "power",
      "path": "bus"
    },
    {
      "id": "edge-24",
      "fromNode": "p1esp",
      "toNode": "ESP0",
      "from": [
        880.0,
        279.0
      ],
      "to": [
        642.5,
        339.0
      ],
      "net": "Data",
      "kind": "signal",
      "path": "data"
    },
    {
      "id": "edge-25",
      "fromNode": "p2esp",
      "toNode": "ESP0",
      "from": [
        1115.0,
        359.0
      ],
      "to": [
        642.5,
        339.0
      ],
      "net": "Data",
      "kind": "signal",
      "path": "data"
    },
    {
      "id": "edge-26",
      "fromNode": "p3esp",
      "toNode": "ESP0",
      "from": [
        1355.0,
        359.0
      ],
      "to": [
        642.5,
        339.0
      ],
      "net": "Data",
      "kind": "signal",
      "path": "data"
    }
  ],
  "boundaries": [
    "P0–P3 แยกกล่องกันน้ำตามแนวคิด ยังไม่ยืนยันระดับ IP",
    "P0 จำลองจุดเชื่อมไฟหมู่บ้านด้วย AC Adapter; Mini Solar และ UPS เข้าสู่ Power Manager ตามลูกศร",
    "P1 มีแบตเตอรี่, Single-Rail UPS, ESP32, EC Sensor, Temperature Sensor และ Voltage/Current/Stability Monitor ตามผัง",
    "P2 และ P3 มีแบตเตอรี่, Single-Rail UPS, ESP32 และ Voltage/Current/Stability Monitor ตามผัง",
    "RELAY จ่าย 5V ไป P1–P3 และ ESP1–ESP3 ส่ง Data ไป ESP0 ตามผังที่เสนอ; transport/protocol และการทดลองจริงยังไม่ยืนยัน",
    "12 V, 1.2 kWh และโหลด 30/120/80/260 W เป็นโมเดลสาธิตเดิม ไม่ใช่สเปกของแต่ละกล่องหรือผลทดลอง"
  ],
  "pending": [
    "รุ่นและพิกัด Mini Solar, DC Input Manager, Power Manager และ UPS ทุกโหนด",
    "ความจุเซลล์ การต่อแบตเตอรี่ วงจรชาร์จ/ป้องกัน และเวลาสำรองจริงของแต่ละกล่อง",
    "รุ่น/ช่วงวัด/การสอบเทียบของ EC, Temperature และ Voltage/Current/Stability Monitor",
    "พิกัดโหลดที่รับจาก 5V ของ P1–P3, การป้องกันและการคุม Relay",
    "transport/protocol, รูปแบบข้อความ, update rate, ความปลอดภัย และการจัดการ ESP1–ESP3 ถึง ESP0",
    "ผลทดสอบ bench ของไฟฟ้าและสื่อสาร รวมถึงจุดติดตั้งและระดับ IP"
  ]
}
