Max Prokhorov
298ce8cac2
Refactor get/set/del/hasSetting ( #2048 )
* experimental: refactor get/set/del/hasSetting
* sensors
* lights
* cleaup
* r
* tuya
* fixup! sensors
* fixup! tuya
* header defaults types
* fix lights
* setup already checks for max
* helper for flashstring
* fix overload
* oops
* refactor includes
* warnings
* test with migrate
* add ids in a separate file
* cleanup
rev: crash
rev: domoticz
rev: encoder
rev: loopdelay
rev: hass
rev: i2c
rev2: hass
rev: mqtt
rev: rfm69
rev: relay
rev: rpn
rev: settings setup
rev: hb settings
rev: telnet preprocessor fix
rev: settings wrap
rev: tspk bool style
rev: wifi types
rev: util hb
rev: settings
fixup! rev: settings
* rev: cleanup wifi injections based on new getters
* hasSetting now can return true for empty key
* show hardcoded network in web
* oops
* fix ws referencing wrong index
* ensure empty strings are written
* c/p
* use experimental schema style for payload, mark network as not deletable
* allow to customize converter
* shorter syntax, try using with wifi
* use proper #if syntax to handle definitions that are missing
* fixup ota sc checks getter, cast schEnabled to bool
* add utils header to sensors
4 years ago
Max Prokhorov
13c1a19328
Home Assistant updates ( #1885 )
- remove "platform" key, see #1440 . this implicitly sets schema to "basic". pending some other clean-up regarding json and mqtt queueing, other schema can be added down the line
- updated ws module queue elem to capture callbacks list, allows to pass more than one callback (for example, when they are generated on the fly as lambdas, see ha wsPost usage)
- modified method to send ha config to use global ws queue, fix #1762 problem with empty topics and ensure json allocation is consistent.
- use existing defines to set mqtt payload options. amend #1085 , #1188 , #1883 to use the set payload value. drop HOMEASSISTANT_PAYLOAD... defines.
- update MQTT_STATUS_ONLINE/OFFLINE and RELAY_MQTT_ON/OFF with runtime configuration
- filter payload strings so that the resulting yaml value is not interpreted as bool (python True, False)
- helper method for settings to streamline string values manipulation
5 years ago
Max Prokhorov
21423431ce
Fixed size json payload & other WS bugfixes ( #1843 )
- update every dynamicjsonbuffer with fixed size constructor argument
- change to ws callback registration to use a class builder (just cosmetic)
- test multiple ws data callbacks for each module
- remove some of the static strings in favour of ws data callback
- improve sensor ws callback data size, remove duplicated strings
- use static buffer in wsDebugSend
- postpone wsSend until loop, implement wsPost to allow other modules to queue message callbacks. remove Ticker based ws callbacks for data
- update WebUI files
5 years ago
Max Prokhorov
820d8c4be8
Initial implementation of RTCMEM storage ( #1420 )
- store system crash counter and reset reason in rtcmem instead of eeprom
- store relay state mask in rtc in addition to the eeprom
- store relay state in eeprom only when boot mode requires it
- simplify relay state mask calculation / reading using std::bitset
- light state save and restore
- energy total save and restore
5 years ago
Max Prokhorov
62a2b9e882
PZEM004T: settings & dev board ( #1712 )
* PZEM004T: runtime port and address settings
* Add nodemcu-pzem004t test env
* pzEneTotal -> pzemEneTotal
5 years ago
Xose Pérez
27e7b9ae89
Move terminal methods to own module
5 years ago
Xose Pérez
6a30360f01
Move crash code to it's own module
6 years ago
Max Prokhorov
98d2abad67
RELOAD cmd without WEB_SUPPORT ( #1383 )
6 years ago
Max Prokhorov
004a485e6f
Defer restart until next loop
6 years ago
Max Prokhorov
7c85225764
Trigger commit in eeprom module
6 years ago
Xose Pérez
84af178c3f
Command to save settings when SETTINGS_AUTOSAVE is off
6 years ago
Xose Pérez
ba4d4be810
Remove duplicate call to EEPROMr.begin ( #1214 )
6 years ago
Xose Pérez
5b62978d09
Added config command that outputs the configuration in JSON
6 years ago
Xose Pérez
88e2ecccce
Improve memory info
6 years ago
Xose Pérez
390d39d05e
Remove wifi info from File: dir, Node: Top, This is the top of the INFO tree.
This is the Info main menu (aka directory node).
A few useful Info commands:
'q' quits;
'?' lists all Info commands;
'h' starts the Info tutorial;
'mTexinfo RET' visits the Texinfo manual, etc.
* Menu:
Basics
* Common options: (coreutils)Common options.
* Coreutils: (coreutils). Core GNU (file, text, shell) utilities.
* Date input formats: (coreutils)Date input formats.
* Ed: (ed). The GNU line editor
* File permissions: (coreutils)File permissions.
Access modes.
* Finding files: (find). Operating on files matching certain criteria.
C++ libraries
* autosprintf: (autosprintf). Support for printf format strings in C++.
Compression
* Gzip: (gzip). General (de)compression of files (lzw).
Development
* SSIP: (ssip). Speech Synthesis Interface Protocol.
* Speech Dispatcher: (speech-dispatcher).
Speech Dispatcher.
* libffi: (libffi). Portable foreign-function interface library.
DOS
* Mtools: (mtools). Mtools: utilities to access DOS disks in Unix.
Editors
* nano: (nano). Small and friendly text editor.
General Commands
* Screen: (screen). Full-screen window manager.
GNU Gettext Utilities
* autopoint: (gettext)autopoint Invocation.
Copy gettext infrastructure.
* envsubst: (gettext)envsubst Invocation.
Expand environment variables.
* gettextize: (gettext)gettextize Invocation.
Prepare a package for gettext.
* gettext: (gettext). GNU gettext utilities.
* ISO3166: (gettext)Country Codes.
ISO 3166 country codes.
* ISO639: (gettext)Language Codes.
ISO 639 language codes.
* msgattrib: (gettext)msgattrib Invocation.
Select part of a PO file.
* msgcat: (gettext)msgcat Invocation.
Combine several PO files.
* msgcmp: (gettext)msgcmp Invocation.
Compare a PO file and template.
* msgcomm: (gettext)msgcomm Invocation.
Match two PO files.
* msgconv: (gettext)msgconv Invocation.
Convert PO file to encoding.
* msgen: (gettext)msgen Invocation.
Create an English PO file.
* msgexec: (gettext)msgexec Invocation.
Process a PO file.
* msgfilter: (gettext)msgfilter Invocation.
Pipe a PO file through a filter.
* msgfmt: (gettext)msgfmt Invocation.
Make MO files out of PO files.
* msggrep: (gettext)msggrep Invocation.
Select part of a PO file.
* msginit: (gettext)msginit Invocation.
Create a fresh PO file.
* msgmerge: (gettext)msgmerge Invocation.
Update a PO file from template.
* msgunfmt: (gettext)msgunfmt Invocation.
Uncompile MO file into PO file.
* msguniq: (gettext)msguniq Invocation.
Unify duplicates for PO file.
* ngettext: (gettext)ngettext Invocation.
Translate a message with plural.
* xgettext: (gettext)xgettext Invocation.
Extract strings into a PO file.
GNU organization
* Maintaining Findutils: (find-maint).
Maintaining GNU findutils
GNU Utilities
* dirmngr-client: (gnupg). X.509 CRL and OCSP client.
* dirmngr: (gnupg). X.509 CRL and OCSP server.
* gpg: (gnupg1). OpenPGP encryption and signing tool (v1).
* gpg-agent: (gnupg). The secret key daemon.
* gpg2: (gnupg). OpenPGP encryption and signing tool.
* gpgsm: (gnupg). S/MIME encryption and signing tool.
Individual utilities
* aclocal-invocation: (automake-1.15)aclocal Invocation.
Generating aclocal.m4.
* arch: (coreutils)arch invocation. Print machine hardware name.
* automake-invocation: (automake-1.15)automake Invocation.
Generating Makefile.in.
* base32: (coreutils)base32 invocation. Base32 encode/decode data.
* base64: (coreutils)base64 invocation. Base64 encode/decode data.
* basename: (coreutils)basename invocation. Strip directory and suffix.
* bibtex: (web2c)bibtex invocation. Maintaining bibliographies.
* cat: (coreutils)cat invocation. Concatenate and write files.
* chcon: (coreutils)chcon invocation. Change SELinux CTX of files.
* chgrp: (coreutils)chgrp invocation. Change file groups.
* chmod: (coreutils)chmod invocation. Change access permissions.
* chown: (coreutils)chown invocation. Change file owners and groups.
* chroot: (coreutils)chroot invocation. Specify the root directory.
* cksum: (coreutils)cksum invocation. Print POSIX CRC checksum.
* cmp: (diffutils)Invoking cmp. Compare 2 files byte by byte.
* comm: (coreutils)comm invocation. Compare sorted files by line.
* cp: (coreutils)cp invocation. Copy files.
* csplit: (coreutils)csplit invocation. Split by context.
* cut: (coreutils)cut invocation. Print selected parts of lines.
* date: (coreutils)date invocation. Print/set system date and time.
* dd: (coreutils)dd invocation. Copy and convert a file.
* df: (coreutils)df invocation. Report file system disk usage.
* diff: (diffutils)Invoking diff. Compare 2 files line by line.
* diff3: (diffutils)Invoking diff3. Compare 3 files line by line.
* dir: (coreutils)dir invocation. List directories briefly.
* dircolors: (coreutils)dircolors invocation. Color setup for ls.
* dirname: (coreutils)dirname invocation. Strip last file name component.
* du: (coreutils)du invocation. Report on disk usage.
* dvicopy: (web2c)dvicopy invocation. Virtual font expansion
* dvitomp: (web2c)dvitomp invocation. DVI to MPX (MetaPost pictures).
* dvitype: (web2c)dvitype invocation. DVI to human-readable text.
* echo: (coreutils)echo invocation. Print a line of text.
* env: (coreutils)env invocation. Modify the environment.
* expand: (coreutils)expand invocation. Convert tabs to spaces.
* expr: (coreutils)expr invocation. Evaluate expressions.
* factor: (coreutils)factor invocation. Print prime factors
* false: (coreutils)false invocation. Do nothing, unsuccessfully.
* find: (find)Invoking find. Finding and acting on files.
* fmt: (coreutils)fmt invocation. Reformat paragraph text.
* fold: (coreutils)fold invocation. Wrap long input lines.
* gftodvi: (web2c)gftodvi invocation. Generic font proofsheets.
* gftopk: (web2c)gftopk invocation. Generic to packed fonts.
* gftype: (web2c)gftype invocation. GF to human-readable text.
* groups: (coreutils)groups invocation. Print group names a user is in.
* gunzip: (gzip)Overview. Decompression.
* gzexe: (gzip)Overview. Compress executables.
* head: (coreutils)head invocation. Output the first part of files.
* hostid: (coreutils)hostid invocation. Print numeric host identifier.
* hostname: (coreutils)hostname invocation. Print or set system name.
* id: (coreutils)id invocation. Print user identity.
* install: (coreutils)install invocation. Copy files and set attributes.
* join: (coreutils)join invocation. Join lines on a common field.
* kill: (coreutils)kill invocation. Send a signal to processes.
* link: (coreutils)link invocation. Make hard links between files.
* ln: (coreutils)ln invocation. Make links between files.
* locate: (find)Invoking locate. Finding files in a database.
* logname: (coreutils)logname invocation. Print current login name.
* ls: (coreutils)ls invocation. List directory contents.
* md5sum: (coreutils)md5sum invocation. Print or check MD5 digests.
* mf: (web2c)mf invocation. Creating typeface families.
* mft: (web2c)mft invocation. Prettyprinting Metafont source.
* mkdir: (coreutils)mkdir invocation. Create directories.
* mkfifo: (coreutils)mkfifo invocation. Create FIFOs (named pipes).
* mknod: (coreutils)mknod invocation. Create special files.
* mktemp: (coreutils)mktemp invocation. Create temporary files.
* mltex: (web2c)MLTeX. Multi-lingual TeX.
* mpost: (web2c)mpost invocation. Creating technical diagrams.
* mv: (coreutils)mv invocation. Rename files.
* nice: (coreutils)nice invocation. Modify niceness.
* nl: (coreutils)nl invocation. Number lines and write files.
* nohup: (coreutils)nohup invocation. Immunize to hangups.
* nproc: (coreutils)nproc invocation. Print the number of processors.
* numfmt: (coreutils)numfmt invocation. Reformat numbers.
* od: (coreutils)od invocation. Dump files in octal, etc.
* paste: (coreutils)paste invocation. Merge lines of files.
* patch: (diffutils)Invoking patch. Apply a patch to a file.
* patgen: (web2c)patgen invocation. Creating hyphenation patterns.
* pathchk: (coreutils)pathchk invocation. Check file name portability.
* pktogf: (web2c)pktogf invocation. Packed to generic fonts.
* pktype: (web2c)pktype invocation. PK to human-readable text.
* pltotf: (web2c)pltotf invocation. Property list to TFM.
* pooltype: (web2c)pooltype invocation. Display WEB pool files.
* pr: (coreutils)pr invocation. Paginate or columnate files.
* printenv: (coreutils)printenv invocation. Print environment variables.
* printf: (coreutils)printf invocation. Format and print data.
* ptx: (coreutils)ptx invocation. Produce permuted indexes.
* pwd: (coreutils)pwd invocation. Print working directory.
* readlink: (coreutils)readlink invocation. Print referent of a symlink.
* realpath: (coreutils)realpath invocation. Print resolved file names.
* rm: (coreutils)rm invocation. Remove files.
* rmdir: (coreutils)rmdir invocation. Remove empty directories.
* runcon: (coreutils)runcon invocation. Run in specified SELinux CTX.
* sdiff: (diffutils)Invoking sdiff. Merge 2 files side-by-side.
* seq: (coreutils)seq invocation. Print numeric sequences
* sha1sum: (coreutils)sha1sum invocation. Print or check SHA-1 digests.
* sha2: (coreutils)sha2 utilities. Print or check SHA-2 digests.
* shred: (coreutils)shred invocation. Remove files more securely.
* shuf: (coreutils)shuf invocation. Shuffling text files.
* sleep: (coreutils)sleep invocation. Delay for a specified time.
* sort: (coreutils)sort invocation. Sort text files.
* split: (coreutils)split invocation. Split into pieces.
* stat: (coreutils)stat invocation. Report file(system) status.
* stdbuf: (coreutils)stdbuf invocation. Modify stdio buffering.
* stty: (coreutils)stty invocation. Print/change terminal settings.
* sum: (coreutils)sum invocation. Print traditional checksum.
* sync: (coreutils)sync invocation. Synchronize memory to disk.
* tac: (coreutils)tac invocation. Reverse files.
* tail: (coreutils)tail invocation. Output the last part of files.
* tangle: (web2c)tangle invocation. WEB to Pascal.
* tee: (coreutils)tee invocation. Redirect to multiple files.
* test: (coreutils)test invocation. File/string tests.
* tex: (web2c)tex invocation. Typesetting.
* tftopl: (web2c)tftopl invocation. TFM -> property list.
* time: (time). Run programs and summarize
system resource usage.
* timeout: (coreutils)timeout invocation. Run with time limit.
* touch: (coreutils)touch invocation. Change file timestamps.
* tr: (coreutils)tr invocation. Translate characters.
* true: (coreutils)true invocation. Do nothing, successfully.
* truncate: (coreutils)truncate invocation. Shrink/extend size of a file.
* tsort: (coreutils)tsort invocation. Topological sort.
* tty: (coreutils)tty invocation. Print terminal name.
* uname: (coreutils)uname invocation. Print system information.
* unexpand: (coreutils)unexpand invocation. Convert spaces to tabs.
* uniq: (coreutils)uniq invocation. Uniquify files.
* unlink: (coreutils)unlink invocation. Removal via unlink(2).
* updatedb: (find)Invoking updatedb. Building the locate database.
* uptime: (coreutils)uptime invocation. Print uptime and load.
* users: (coreutils)users invocation. Print current user names.
* vdir: (coreutils)vdir invocation. List directories verbosely.
* vftovp: (web2c)vftovp invocation. Virtual font -> virtual pl.
* vptovf: (web2c)vptovf invocation. Virtual pl -> virtual font.
* wc: (coreutils)wc invocation. Line, word, and byte counts.
* weave: (web2c)weave invocation. WEB to TeX.
* who: (coreutils)who invocation. Print who is logged in.
* whoami: (coreutils)whoami invocation. Print effective user ID.
* xargs: (find)Invoking xargs. Operating on many files.
* yes: (coreutils)yes invocation. Print a string indefinitely.
* zcat: (gzip)Overview. Decompression to stdout.
* zdiff: (gzip)Overview. Compare compressed files.
* zforce: (gzip)Overview. Force .gz extension on files.
* zgrep: (gzip)Overview. Search compressed files.
* zmore: (gzip)Overview. Decompression output by pages.
Kernel
* GRUB: (grub). The GRand Unified Bootloader
* grub-dev: (grub-dev). The GRand Unified Bootloader Dev
* grub-install: (grub)Invoking grub-install.
Install GRUB on your drive
* grub-mkconfig: (grub)Invoking grub-mkconfig.
Generate GRUB configuration
* grub-mkpasswd-pbkdf2: (grub)Invoking grub-mkpasswd-pbkdf2.
* grub-mkrelpath: (grub)Invoking grub-mkrelpath.
* grub-mkrescue: (grub)Invoking grub-mkrescue.
Make a GRUB rescue image
* grub-mount: (grub)Invoking grub-mount.
Mount a file system using GRUB
* grub-probe: (grub)Invoking grub-probe.
Probe device information
* grub-script-check: (grub)Invoking grub-script-check.
Libraries
* RLuserman: (rluserman). The GNU readline library User's Manual.
Man-pages
* Latex2man: (latex2man). Its Man-Page
Math
* bc: (bc). An arbitrary precision calculator language.
* dc: (dc). Arbitrary precision RPN "Desktop Calculator".
Network applications
* Wget: (wget). Non-interactive network downloader.
Programming
* flex: (flex). Fast lexical analyzer generator (lex
replacement).
* gnucash: (gnucash-design). Design of the GnuCash program
Programming Tools
* Gperf: (gperf). Perfect Hash Function Generator.
Software development
* Autoconf Archive: (autoconf-archive).
A collection of re-usable Autoconf macros.
* Automake: (automake-1.15). Making GNU standards-compliant Makefiles.
Sound
* SSIP: (ssip). Speech Synthesis Interface Protocol.
* Say for Speech Dispatcher: (spd-say).
Say.
* Speech Dispatcher: (speech-dispatcher).
Speech Dispatcher.
TeX
* DVI-to-PNG: (dvipng). Translating TeX DVI files to Portable Network
Graphics (PNG).
* DVI-to-Postscript: (dvips). Translating TeX DVI files to PostScript.
* Eplain: (eplain). Expanding on plain Tex.
* EpsPDF: (epspdf). Portable GUI- and command-line EPS/PS/PDF
conversion
* Kpathsea: (kpathsea). File lookup along search paths.
* LaTeX2e: (latex2e). Unofficial LaTeX reference manual.
* LaTeX2e-es: (latex2e-es). Manual de extraoficial de LaTeX.
* Naming TeX fonts: (fontname). Filenames for TeX fonts.
* TL-build: (tlbuild). TeX Live configuration and development.
* TeX Directories: (tds). A directory structure for TeX files.
* TeXdraw: (texdraw). A system for producing PostScript drawings
from TeX.
* Web2c: (web2c). TeX, Metafont, and companion programs.
* afm2tfm: (dvips)Invoking afm2tfm.
Making Type 1 fonts available to TeX.
* dvipng: (dvipng). A DVI-to-PNG translator.
* dvips: (dvips)Invoking Dvips. DVI-to-PostScript translator.
* kpsewhich: (kpathsea)Invoking kpsewhich.
TeX file searching.
* mf2pt1: (mf2pt1). PostScript Type 1 fonts from Metafont source.
* mktexfmt: (kpathsea)mktex scripts.
Format (fmt/base/mem) generation.
* mktexlsr: (kpathsea)Filename database.
Update ls-R.
* mktexmf: (kpathsea)mktex scripts.
MF source generation.
* mktexpk: (kpathsea)mktex scripts.
PK bitmap generation.
* mktextex: (kpathsea)mktex scripts.
TeX source generation.
* mktextfm: (kpathsea)mktex scripts.
TeX font metric generation.
Text creation and manipulation
* Diffutils: (diffutils). Comparing and merging files.
* M4: (m4). A powerful macro processor.
* grep: (grep). Print lines matching a pattern.
* sed: (sed). Stream EDitor. command. Use * SSID MODE CHAN RATE SIGNAL BARS SECURITY to get current connections
6 years ago
Xose Pérez
7d09f59952
Handle configure callbacks outside the ws module
6 years ago
Xose Pérez
f4513d2fe3
Fix settings report after factory reset
6 years ago
Xose Pérez
bce6774c17
Fix crash on loading malformed settings, option to load partial configuration
6 years ago
Xose Pérez
5da801bffc
Dump settings line by line to prevent memory issues ( #896 )
6 years ago
Xose Pérez
b4a05f9269
Fix build when WEB_SUPPORT==0 ( #923 )
6 years ago
Maxim Prokhorov
0281cb26e8
Empty string for no value, quote existing values
6 years ago
Maxim Prokhorov
fa40633996
Customize GET terminal command
6 years ago
Xose Pérez
3518d1013e
RELOAD terminal command forces modules to reload settings from config ( #816 )
6 years ago
Xose Pérez
a83115cb1b
Update API, backup EEPROM to last sector before OTA upgrades
6 years ago
Xose Pérez
bc30b9e2f6
Specific EEPROM module
6 years ago
Xose Pérez
4548cc724c
Using EEPROM_Rotate library
6 years ago
Xose Pérez
e6570fe1bb
Triple click to enter WPS mode, fast LED blinking
6 years ago
Xose Pérez
104caa93fa
Fix warnings
6 years ago
Xose Pérez
91e25ea8ae
Decouple Serial object from SerialInjector ( #787 )
6 years ago
Xose Pérez
adff1a728d
RESET.SAFE command to reboot into safe mode
6 years ago
Xose Pérez
17be19e55c
Fix bug due to auto-replace
6 years ago
Maxim Prokhorov
9433e5cc78
Not yet implemented settings i2c scan
6 years ago
Xose Pérez
70f82aa2c4
Clear srash info after displaying it. Change copy
6 years ago
Xose Pérez
475d1627ff
Fix several compiling issues
6 years ago
Xose Pérez
11773c5515
Added I2C scan and clear commands to terminal
6 years ago
Xose Pérez
efa88c962f
Pretty print config backup json
6 years ago
Xose Pérez
4029ee73da
Trying to fix some issues reported by codacy
6 years ago
Xose Pérez
cba621dd40
Remove unneeded reference
6 years ago
Xose Pérez
857aa09c3d
Fix left out reference to SERIAL_RX_BUFFER_SIZE
6 years ago
Xose Pérez
9e8e667578
Use same buffer size across all terminal-realted classes/methods. Set to 128 chars ( #477 )
6 years ago
Xose Pérez
0a6271a80a
Moved settings setup debug messages to info
6 years ago
Xose Pérez
b082d14c59
Loop hooks
6 years ago
Xose Pérez
6af8f78253
Moved welcome method to utils.ino, renamed as info
6 years ago
Xose Pérez
aa512f0b26
Secondary Serial RX port for H801 and H802 boards (thanks to Pablo Pousada Rial)
6 years ago
Xose Pérez
a5df00b569
Option to disable network scanning ( #392 , #399 ). Scan networks from web UI
6 years ago
Xose Pérez
ce9e2a6482
Refactor settings module, added settingsCommandRegister
6 years ago
Xose Pérez
8a7b0a2021
Rename terminal commands: reset.wifi to wifi.reset, reset.mqtt to mqtt.reset. Added wiki.scan
6 years ago
Xose Pérez
eb00a4db11
Terminal command to set and get a GPIO value
6 years ago
Xose Pérez
af805ab045
Update copyright notices
6 years ago
Xose Pérez
e11dc5558f
Restore settings & reset via HTTP
7 years ago