Morningstar PS-30M(gen3) and MSC.
Upgraded the solar controller to the new Morningstar PS-30M (gen3) one. It lets you set charging parameters, collects statistics, and the display provides more information than the earlier generation. Looks better, too.
It's new, and they've got a few bugs to work out, including a couple of critical ones. If you turn off the High Voltage Disconnect feature for the battery, it will act like it's charging, but won't. Unbelievable - a charge controller has one purpose in its life - to make sure batteries get charged. Yet it has a serious bug which can prevent that! You can't program it from the keypad to properly support the very popular Trojan deep cycle batteries. The MSView app used to program it is clunky and tries to program things the controller doesn't support.
While I expect they'll eventually fix things, they've known about these issues for a while and seem in no hurry to address them. That hardly lives up to their reputation.
It also support their proprietary Meterbus interface, which lets you read status, gather historical statistics, and program the thing. There's very little info on the web about the interface. I bought a cheap China/ebay RS-485 interface which uses a common Modbus phy (differential signaling), thinking it might communicate. It didn't.
So I bought the real deal, a Morningstar MSC RS-232 PC Meterbus Adapter. It's all sorts of goodness, including opto isolation, hardware turnaround delay, and stupidity protections. Great if you need a bunch of electrical protection for on-grid or industrial control applications. Overkill if you just want to use a laptop running on battery to read/control/program the controller.
Unless someone figures out otherwise, I'll believe that Meterbus is simply Modbus serial protocol with a proprietary one wire, open collector, TTL level interface.
This is a reverse engineered schematic, which is way more info than I've been able to find anywhere on the web. No guarantees, but as correct as a few hours of time allows. The part numbers aren't exact, but close enough.