I'm going to preface this post with "This probably isn't a good idea anyway" but I'm not above trying it.
Blynk is this neat Android and iOS app that lets you hook up to Arduinos. Yes, you can control physical pins, but it does virtual pins, which are far less dangerous and way more useful. I figured at the very least it would be a nice way to monitor the charger from afar, being a little more turn-key than emoncms and opening up a port on your router. Also, I really want to be able to terminate a charge when some chump in a plug-in-hybrid starts abusing my plugshared charger while I'm not home.
I kinda got something working, but what I'm bumping up against are some big delays happening in the main loop that take a good while, but not consistently, since sometimes it works, and sometimes the Blynk server can't quite keep a stable connection and it drops. But it's not crashing, since millis() keeps counting up for days on end.
I also tried servicing the blynk.run() with a hardware-ish OS timer that the ESP has, but that ended in rapid watchdog timeouts.
My gut is that this is happening when the ESP does a big RAPI read. I've timed out a few of the other loops, and they take less time than the serial.println's, but I haven't found a clean way to do this. I will probably end up using that weird secondary uart TX pin to get this info, but I figured I'd put it out there.
ON THE OTHER HAND, I don't know if it's even a great idea to have a closed source app (with the Soviets :-P having full access to your charger), and one that "sort of can cost money" even involved, but I just can't help my urge to tinker.