This release adds some new features to support upcoming hardware changes as well as fixes to address a couple of ongoing problems. At this point, the intent is to migrate this release to MINOR and then MAJOR as quickly as possible. All auto-update users already have most of the 02_03 functionality with 02_03_13 as the MAJOR release. That rolled out uneventfully, so confidence in this release grows.
No new functionality is planned until this, or a fix only derivative, is MAJOR.
What’s entirely new in this release is SPIFFS support. SPIFFS is the SPI Flash File System that is native to the ESP8266. Because IoTaWatt has an SD card with 8 GB capacity, the lowly 1-3MB SPIFFS capability was never of much interest. However it is something that is an attribute of the hardware as opposed to removable media. So it is an appropriate place to put information that is specific to a particular unit.
The next manufacturing batch of IoTaWatt will have 20 ohm burden resistors instead of 24 ohm. The firmware must have a way of knowing that value, so the manufacturing process will now initialize the SPIFFS area and place a file there with the burden values. The configuration app will maintain that file as changes are made. The firmware recognizes the burden value of the unit and will adjust the calibration to match the burden value on each input. So if you were to move an SDcard from an older 24ohm unit to a newer 20 ohm unit, there should be no need to do anything. The measured power should be the same.
Support for the SPIFFS has been extended to the File Manager. A pseudo directory called esp-spiffs appears along with the SDcard files and directories, and clicking on it will expose a similar hierarchical directory and file structure in the SPIFFS. Files can be created, deleted, uploaded, and edited in SPIFFS.
Another change was to revert to keeping the data logs open in write mode (current and history). A recent change to keep them in read mode except when writing was intended to reduce heap requirements, but resulted in poor performance when formatting gaps in the logs. This has manifested itself as some early reports of dysfunctional units when the recovery consumed the system for hours after restart. Other efforts to reduce heap use have yielded enough to make it reasonable to revert to keeping the files open in output mode.
Also available with this release are some new options for input configurations. Along with the option to allow negative power values, there are now options to virtually “Reverse” the CT, and to “Double” the voltage used to calculate power.
Reverse is the equivalent of reversing the polarity of a CT on the conductor. There are several applications for this:
The US IoTaWatt online store is selling solid core CTs. These CTs are inexpensive, are very accurate, and have consistently low phase shift, even at low current. As a result (probably of the low price) they have become one of the best sellers. Apparently folks are not intimidated by the need to disconnect the conductors to install. It does make it more difficult however to reverse it if installed contrary to the convention. By checking this box, you essentially reverse it without actually physically reversing it.
There has been an increasing number of three-phase installations, with the derived reference working better than expected in most cases. While the reversed CT problem is more or less self correcting in single or split-phase installations, it can be a nightmare in a three-phase environment. There are literally dozens of incorrect CT orientation/phase assignment combinations that are wrong, while there is only one combination that is correct. In particularly messy instances (Australia) it can be challenging to experiment with different combinations because of the difficulty of accessing and reversing CTs. With the Reverse feature, once the CTs are installed, a correct configuration can be set without the need to physically access the CTs.
Double is used in US split-phase installations (120/240) where a single CT is measuring the current of a 240 volt load such as a Water Heater or Well Pump. Ordinarily, the power is determined based on 120V. When Double is checked, power is determined as if the voltage were doubled. Amps will still be reported as the true rms Amps. This eliminated the need to do output multipliers when exporting data and causes the status display to show true Watts for those 240V loads.
Of course there are other physical methods of doubling, such as passing two conductors through the CT or using two CTs. This is just another way top do it if appropriate. Understand that for 240V loads that use the neutral, like a sub-panel, electric range and some clothes dryers, The alternate physical methods should be used to get accurate results.
Please report any problems with this release ASAP.