I have reached a point where I can no longer make changes to Inputs or Outputs and have not received any helpful ideas. Is it possible to do a “factory reset” of IoTaWatt to clear all possible intractable conditions and start over as if I had just received a new unit from the factory. Not a very pleasant idea, but may be the only practical choice outside of just buying a new unit.
There is no “factory reset”, however if you format a new SDcard with only the files in SD library of the Git, you will effectively have done a factory reset. Follow these instructions but do not attempt to recover your old config.txt file.
Thanks for the “Building a new SDcard” instructions. One bit mystifies me a bit. In the last steps, you suggest retrieving (if possible) a residual copy of the contents of your old config.sys file from ESP8266 esp_spiffs/config.txt, and placing it on your PC in a file there named config+1.txt. Then upload the config+1.txt to the new CD card, overwriting the config.sys file there from the github SD download. Does the config+1.txt file from your PC somehow get automatically renamed when it is uploaded?
Will my units purchased in early 2022 handle the newest SDs 8GB level 10 or should I look inside and find the original SD spec. to replace?
After you upload, it is inslalled. If it succeeds, the current config.txt is renamed to config-1.txt and the config+1.txt is renamed to config.txt. If installation fails, the old config.txt is reinstalled.
Not a problem.
When I upload a config+1.txt file, it appears to wind up in esp_spiffs/config.txt, the previous esp_spiffs/config.txt appears to wind up in config-1.txt, and the previous config.txt is unchanged. config.txt appears to be protected from any change and your procedure to change it does not wind up changing it. It almost looks like config.txt cannot be changed either by changing an Input name or by uploading a config+1.txt file. Could it be extraordinarily locked somehow? (Since I found that all my current SD files are identical to the current online masters - except for config.sys - I decided to try and update that one file but cannot seem to change it any way I try. Is it possible that there is an “SD system problem” with this file on my SD? I may just have to try a new SD after all?)
Sounds like its write protected.
I thought you had.
No, when it became evident that it was somehow a problem with config.txt on the SD being “locked”, I thought that the process for replacing it by uploading a config+1.txt would lead to to the system being able to override whatever history had led to the extraordinary locking. If it was Windows 10, I would either restart Windows to remove any pending mujlti-tasking file locks or go in with admin privileges and twiddle the privileges to allow access and get over the faulty condition. I guess if I remove the SD and bring it up as FAT-32 under Windows I might be able to do something similar but then I might as well reformat and start all over. My impression is that all or most of the IoTaWatt historical sampling data is on the SD and “hidden” to the IoTaWall user interface and that reformating clears the historical data.
The datalogs are in the /iotawatt directory. They are not hidden but the data is primarily in double precision floating point little-endian format as used by the ESP8266, so not easily interpreted with a big-endian windows machine. All of the data is available through the query API.
I would recommend you stop overthinking this, get a new SDcard and follow the directions without any variation.
I got a new SDcard, loaded it with the 10 master SD files posted, replaced config.txt there with a slightly modifed version of the last old one I had been using (modified to change one of the Input names so I could make sure where it had come from), and used the new SDcard it to replace the old SDcard in my IoTaWatt. The IoTaWatt powered up just fine and the slightly modified version of config.txt was in place as would be expected and the user interface was showing the changed Input name. Of course all the old data files were gone along with the old iotawatt directory on the SD, etc., so the new data was now starting from scratch, apparently just fine. Then I once again tried changing another Input name and that failed just like before, reporting “config file not current, operation aborted; … restarting app”. Somehow it had now also reverted to the old config.txt that had been frozen in the old SD before, and the new slightly modified config.txt that had been there more recently was now in esp_spiffs. Evidently something is wrong besides the SD card itself.
Send me the unit:
IoTaWatt, Inc.
92 Sewall Rd
Wolfeboro, NH 03894
I found a workaround for the problem and was able to continue using my original SD, retaining all the old data. I needed to replace my old config.txt file with the config.txt from the Master SD. Then I replaced the SD and restarted the unit with the default Device name “IoTaWatt”. Next I repeated uploading the Master SD config.txt as config+1.txt several time so the running unit showed the new config.txt in three places: esp_spiffs/config.txt, config.txt, and config-1.txt. Then I successfully added several new Input names and successfully changed the Device name to “EnrgyMn1” instead of the old Device name “EngyMon1”. From there on there were none of the old failures involving config.txt and I restored all of the old Input names and Output definitions successfully. (Every possible involvement of the old config.txt file or the old Device name had to be avoided until everything was on track with the new configuration.) Thanks very much for your help.