The ‘platform’ for the FEIT ones at costco are really well built. They make the Insteon units look like they were a one off hobby project. That’s the part that has the power circuitry, screw terminals, etc. The wifi module used to be ESP based but they switched about a year ago to a newer BK723 chip, these can be reflashed with a ‘OpenBeken’, which is a newer project that has similar functionality to Tasmota but for these newer chips.
The only downside I’ve seen with these is OpenBeken is not as mature and the units ‘hang’ now and then requiring a power cycle (like 2-4 weeks). I have some of the older ESP based units that are otherwise identical and they never hang, this has been getting better with upgrades so likely will eventually be fixed.
If you are OK with soldering you can buy the ESP controller modules on Amazon for about $1 each and just replace them and run stock Tasmota (you have to unsolder the module to reflash it either way, so its not a big deal to just put a different one on). The module pinout and electrical interface are identical.
I can recommend BrulTech. I put in a system (3 GEM’s and a Dashbox logger) to cover 3 full panels (plus water, gas, and temps) about 2 years ago and I’ve been very happy with it.
Quick review: It’s all local and is well documented and open at the integration level - with HA there’s already an integration built in for it out of the box (I recommend getting the latest from github as they are actively developing it). Firmware is proprietary but low level (read sensors, send via serial->ethernet convertor, sleep 5 secs, repeat; configuration UI). Support is technical and high quality, install/setup docs are excellent and give good examples setting up and and configuring the CT’s.
My setup: I have the dashbox set up to proxy the raw GEM data to HA’s Brultech integration which then feeds all the HA power/water/gas/temp features. The GEM’s I have read 32 CT channels each, plus have 8 ‘counter’ inputs (gas, water) and several 1wire bus I/O’s to talk to temperature sensors. They send a data snapshot of all readings every 5 seconds to the logger and to HA (greatly filtered).
The dashbox and 3 GEM’s are on wired ethernet, they also have integrated WIFI as an option. They talk on my local net between each other and the dashbox pushes messages to HA - nothing talks to anything on the internet or needs any connectivity to set up.
The HA integration reads GEM-packets, the dashbox repeats the packets received from the 3 GEM’s to the HA integration in my setup - but you can also skip the dashbox and just point the GEM straight at HA.
Some examples from the data logger dashboards: