I designed and built a PIC18FQ84 interface to the FM80 charge controller MATE port using their weird and odd-ball serial interface. Data is shared over a CAN-FD network to remote display and to a USB to CANFD adapter on a Linux server. The Linux server runs a program that merges several data sources (IAMMETER for utility data, the FM80 interface for solar and primary battery bank data and a PIC18FK42 MQTT connected interface for power shifting operations on a second battery bank) into MQTT data in/out streams to the Home Assistant MQTT integration for processing and display on that platform.
Hardware project thread here: https://forum.allaboutcircuits.com/threads/fm80-solar-charge-controller-datalogger.194146/#post-1826013
FM80 interface: GitHub - nsaspook/Q84vtouch
Home Assistant ha_energy Linux C programs source here: ha_energy/bmc at fsm_main · nsaspook/ha_energy · GitHub
I’m basically retired so this is a keep busy doing something fun project.