Supposedly discourse supports mermaid.js rendering, which means you can make diagrams from simple text markup - so I am going to test it.
All the chat ai apps (like ChatGPT and Claude) know mermaid, so you can describe your system and they will try their best to draw it, and then you can quickly clean it up.
Just need to wrap in the three tildes mermaid at the start, and three tildes at the end to close
graph TD;
subgraph Shared_AC_Input
AC_INPUT["Shared AC Input"] --> System1
AC_INPUT --> System2
end
subgraph System1["System 1"]
M1["Multiplus-II Inverter Charger 1"]
M2["Multiplus-II Inverter Charger 2"]
C1["Cerbo GX"]
MPPT_RS1["MPPT RS"]
MPPT_RS2["MPPT RS"]
MPPT_150_70["MPPT 150/70"]
B1["PYLONTECH Battery Bank"]
L1["Lynx DC Distributor"]
EM1["AC Energy Meter"]
AC_INPUT --> M1
AC_INPUT --> M2
MPPT_RS1 --> L1
MPPT_RS2 --> L1
MPPT_150_70 --> L1
M1 --> L1
M2 --> L1
L1 --> B1
C1 --> M1
C1 --> M2
C1 --> MPPT_RS1
C1 --> MPPT_RS2
C1 --> MPPT_150_70
C1 --> EM1
EM1 --> AC_INPUT
end
subgraph System2["System 2"]
M3["Multi RS Inverter Charger"]
B2["BYD Battery Bank"]
C2["Cerbo GX"]
Load["AC Loads"]
AC_INPUT --> M3
M3 --> Load
M3 --> B2
C2 --> M3
end
Without the Tildas to make it render:
graph TD;
subgraph Shared_AC_Input
AC_INPUT["Shared AC Input"] --> System1
AC_INPUT --> System2
end
subgraph System1["System 1"]
M1["Multiplus-II Inverter Charger 1"]
M2["Multiplus-II Inverter Charger 2"]
C1["Cerbo GX"]
MPPT_RS1["MPPT RS"]
MPPT_RS2["MPPT RS"]
MPPT_150_70["MPPT 150/70"]
B1["PYLONTECH Battery Bank"]
L1["Lynx DC Distributor"]
EM1["AC Energy Meter"]
AC_INPUT --> M1
AC_INPUT --> M2
MPPT_RS1 --> L1
MPPT_RS2 --> L1
MPPT_150_70 --> L1
M1 --> L1
M2 --> L1
L1 --> B1
C1 --> M1
C1 --> M2
C1 --> MPPT_RS1
C1 --> MPPT_RS2
C1 --> MPPT_150_70
C1 --> EM1
EM1 --> AC_INPUT
end
subgraph System2["System 2"]
M3["Multi RS Inverter Charger"]
B2["BYD Battery Bank"]
C2["Cerbo GX"]
Load["AC Loads"]
AC_INPUT --> M3
M3 --> Load
M3 --> B2
C2 --> M3
end