* Use text formatting for default factory values to produce dynamic names.
Header files contains duplicates of factory values defined in factory_settings.ini Removed them to simplify the code.
* Use text formatting for default factory values to produce dynamic names.
Header files contains duplicates of factory values defined in factory_settings.ini Removed them to simplify the code.
* Configured the WiFi host name to contain the device id by default
* Removed possibility to use placeholders for FACTORY_WIFI_SSID factory setting.
* Update README.md
Updated documentation
* Use text formatting for default factory values to produce dynamic names.
Header files contains duplicates of factory values defined in factory_settings.ini Removed them to simplify the code.
* Configured the WiFi host name to contain the device id by default
* Removed possibility to use placeholders for FACTORY_WIFI_SSID factory setting.
* Added a space to the end of the file to comply project code style
* fix typos
clang formatting
use 2 spaces in ini files
use ${platform}-${chip_id} for hostname
put chip id in brackets in AP SSID
* restore (and update) factory setting ifndefs
- this is so src can be built without an exaustive set build-time defines
- standardize ordering of defines: factory settings, paths, config
* format and modify comment
* escape spaces in pio defines
experiment with removing $'s from our format strings (they are being substituted with empty values by pio)
* fix formatting in readme
rename FactoryValue to SettingValue, put in own header
give example of direct usage of FactorySetting::format in README.md
* auto format
* use hash to delimit placeholders
* fix factory_settings.ini
* remove flash string helpers
* format ini file
* use MAC address instead of chip id for properly unique identifier
* use lower case hex encoding for unique id
use chip id and unique id for more secure secret
* fix comment
* Use random values for JWT secret
Arduino uses the ESP random number generator for "true random" numbers on both esp32 and esp8266
This makes a better JWT secret and may be useful for other factory defaults too
In addition a modification has been made to force the FSPersistance to save the file if applying defaults
* Don't use spaces in default AP SSID
* restore helpful comment in factory_settings.ini
fix default defines
Co-authored-by: kasedy <kasedy@gmail.com>
Previously the demo code was relying on the transitive include via HttpEndpoint.h
This change allows WebSocketTxRx.h to be used when no HttpEndpoint is in use
Make ESP8266 use LittleFS instead of deprecated SPIFFS
Make framework use the correct filesystem automatically and handle the call the FS.begin()
Change default MQTT keepalive to 60 seconds
Fix lodash security issue
* Add framework for built-time feature selection
* Allow MQTT, NTP, OTA features to be disabled at build time
* Allow Project screens to be disabled at build time
* Allow security features to be disabled at build time
* Switch to std::function for StatefulService function aliases for greater flexibility
* Bump various UI lib versions
* Update docs
* Rename "serialize" and "deserialize" functions to "read" and "update" to reflect API in StatefulService
* Move new definitions to StatefulService.h so it is obvious it is not general purpose
* Update README
Introduce DEFAULT_BUFFER_SIZE for StatefulService related classes
Add configurable buffer sizes for StatefulService related classes
Remove redundant function from HttpEndpoint
Implemented factory-reset feature
Extract factory settings into separate ini file
Hide reset/factory reset from guest user
Co-authored-by: kasedy <kasedy@gmail.com>
* Update back end to add MQTT and WebSocket support
* Update demo project to demonstrate MQTT and WebSockets
* Update documentation to describe newly added and modified functionallity
* Introduce separate MQTT pub/sub, HTTP get/post and WebSocket rx/tx classes
* Significant reanaming - more accurate class names
* Use PROGMEM_WWW as default
* Update README documenting PROGMEM_WWW as default
* Update README with API changes
* quick and dirty WIP to investigate timezones, currently only building under esp8266 platform
much of the status stuff has been stripped for now, to test the concepts
* support set of common features across ESP32/ESP8266 WRT timezone and sntp
return dates as ISO format strings
* remove time library, and timelib fix which is no longer required
* fix the icons
* remove temporary changes to demo project
Adds a webpack plugin to package interface as PROGMEM into a header file in the framework.
Adds a build flag to optionally enable serving from PROGMEM or SPIFFS as required
Adds documentation changes to describe changes