i use the iCarsoft i909 (Mitsubishi and Mazda) to monitor CAN datastream items and read and reset trouble codes. Here is a link to the factory description of it. https://www.icarsoft.com/Product/s-338- ... _i909.html
i found a low price on ebay of about $120 and bought it there. It has a bug in that data items numbered above 256 are not available, e.g. for the BMU the balancer state for some of the cells in higher numbered modules doesn't show, but i haven't found that to be an issue. i suspect that it is using 8-bits for the data address and that causes the limit.
i took it apart and found that it uses the LAUNCH patented chipset (DPU431 and JV700) , so i bought a generic LAUNCH 431 OBDII reader and tried it, but it caused the trouble lights on the dash and wouldn't connect, so the firmware is not present for the imiev although the device looks identical. i may try to copy firmware over but it does work in ICE vehicles. It was only $22 from Uobdii.com with free shipping.
User Lic found an X431 scanner that works for the imiev but i don't have any specifics for model, vendor or price, etc., but from his posts it appears to read the CAN datastream, and read/reset DTCs.