RS232 serial
Read inverters that talk over a serial cable in their own protocol.
Waveshare RS232/485 to WiFi/ETH
Connect an RS-485 inverter or battery to Epilykos with a Waveshare serial server.
Battery BMS
Read battery packs over Bluetooth or a cable, and combine them into banks.
Some inverters don't speak Modbus. They talk over a serial cable in a protocol of their own, either plain text commands or a binary format. The RS232 serial source handles these: connect the inverter to the computer running Epilykos with a USB-to-serial adapter, pick your inverter's profile, and Epilykos takes care of the rest.
What you need
- A USB-to-serial adapter with a working driver (CH340, FTDI and CP2102 chips are the common ones), or the cable that came with your inverter.
- Permission to use the serial port:
- On Docker, pass the adapter into the container and add the
dialoutgroup. See Install with Docker. - Without Docker, add your user to
dialoutwithsudo usermod -a -G dialout $USER, then log out and back in.
- On Docker, pass the adapter into the container and add the
Protocols
| Protocol | Inverters | Profile | Serial settings |
|---|---|---|---|
| Voltronic QPIGS | Voltronic, Axpert, Infinisolar, MUST, Sako | Voltronic / Axpert (QPIGS ASCII), Infinisolar (Voltronic QPIGS) | 2400 8N1 |
| Phocos | Phocos Any-Grid PSW-H, firmware 06.11 or later | Phocos Any-Grid PSW-H (RS-232 / RS-485) | 2400 8N1 |
| Victron VE.Direct | SmartSolar, BMV and MultiPlus, with a VE.Direct cable | Victron VE.Direct | 19200 8N1, streaming |
| SolaX AA55 (binary) | SolaX X1 and X3 series, with a USB-to-TTL adapter | SolaX Pocket USB (AA55 Binary) | 9600 8N1 |
| Modbus-RTU | For example the Anern EVO4200L over RS-485 | Anern EVO4200L (24V Hybrid, Modbus RTU) | 2400 8N1 |
"2400 8N1" means 2400 baud, 8 data bits, no parity and 1 stop bit.
Set up an RS232 device
In Settings → Sources, add an RS232 device and give it a name you'll recognise.
Pick the serial port. Epilykos lists the ports it finds, so you usually just choose yours from the list. Then set the baud rate and the other serial settings to match the profile (see the table above).
Pick the profile and press 📥 Load Profile Fields. Each row is one reading; keep the suggested metric name or type your own. If you want every field the profile knows about, use 📋 Fetch Profile Entities, and + Add Mapping adds a single row by hand.
Press Test RS232 to check that the inverter answers, then Save changes.
Read all RS232 devices every … seconds controls how often Epilykos asks. The default is every 30 seconds.
Phocos Any-Grid
Epilykos speaks Phocos's own serial protocol, so it can read a Phocos Any-Grid PSW-H directly (firmware 06.11 or newer). It only reads: nothing on the inverter is ever changed from here.
On every read you get what's happening right now: the live readings and PV power, the operating mode, any fault code (with its name, so you don't have to look it up), and status flags that tell you whether the MPPT is tracking, the battery is charging, and AC power is coming in or going out. You also get the running totals and the charging currents the inverter is set to.
Less often, Epilykos also picks up the things that rarely change: the ratings and settings (such as the charger priority, shown as CSO, SNU or OSO, and the battery type), the factory defaults, the charging currents you can choose from, the inverter's date and time, its serial number, and the firmware versions of its main board, display and Bluetooth module.
Several inverters in parallel
If you run up to nine inverters in parallel, each one's readings get their own prefix, from
unit1_… to unit9_…. Epilykos only asks a unit for data once you've mapped at least one of its
fields, and if a unit doesn't answer, it stops asking for a while before trying again.
The inverters number themselves, and those numbers can change after a restart. To be sure which physical inverter you're looking at, go by its serial number rather than its unit number.
Use the cable that came with the inverter. Other cables can damage it.
To read the same inverter over Bluetooth instead, see Inverter dongles.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Permission denied | Epilykos isn't allowed to use the serial port | Add the dialout group, as described above. |
| No ports found | The adapter is unplugged, or not passed into the container | Check ls /dev/ttyUSB* and reseat the cable. On Docker, check the devices: lines. |
| Read timeout | The baud rate doesn't match | Use the profile's speed: 2400 for Voltronic, 9600 for SolaX, 19200 for VE.Direct. |
Last updated on