4365 Commits

Author SHA1 Message Date
Maxim Prokhorov
29787143bf webui: expected emon app keys leaking into settings
disable on-change listener for webui-only inputs
also assuming input[readonly]s never needs to be commited
2024-08-09 14:25:19 +03:00
Maxim Prokhorov
c4c31fc5f0 sns: numeric settings are using fixed ids
Fixing inconsistent handling of group and non-group settings after rewrite.
Assuming most of the time template would be for group, manually reset
dataset field controlling automatic key${id} generation
2024-08-09 13:46:04 +03:00
Maxim Prokhorov
018db60fbc sns: zero threshold check does not trigger report 2024-08-09 13:45:02 +03:00
Maxim Prokhorov
fc8ef5a298 sns: min & max threshold, revert zero threshold changes
- same as min & max delta, check the value itself before reporting
- refactor more of the report func, revert zero threshold to force the
  value to be zero. move condition check to the top, causing every other
  filter to check against zero.
- force zero threshold to be >= 0 in ui
2024-08-09 12:47:31 +03:00
Maxim Prokhorov
404a0ea17d webui: rebuild blobs 2024-08-09 12:47:31 +03:00
Maxim Prokhorov
68892a0066 all: remove extra whitespace 2024-08-09 12:47:31 +03:00
Maxim Prokhorov
658286f7b7 sns: no brackets for read and report values info 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
66842bd3e7 sns: fix struct init
gcc4.8 is uncertain whether it is a double or a struct
2024-08-09 12:46:10 +03:00
Maxim Prokhorov
2d3bba9e01 utils: more duration types and shorter uptime string 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
9acc95e952 sns: update tests 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
5ad894b915 tspk: naming, required fields 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
ba067f726e rules: inline units 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
80d5007cea mqtt: config required fields 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
cbef053f69 light: inline units 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
14b05e67eb idb: config required fields 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
ca2f6ff083 ha: clarify prefix config, mention components 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
458b3b9b6e ha: swap publish and clear colors 2024-08-09 12:46:10 +03:00
Maxim Prokhorov
1ca0dcc76b ntp: more settings in webui
sntp startup and update delays & dhcp toggle
2024-08-09 12:45:37 +03:00
Maxim Prokhorov
70f214e2be sns: update filter api, actually calculate median
- sync with base class, implement required override methods
- make sure last, max, min and sum filters reset() and restart() are the same
- find a real median over the specified reading 'window' vs. averaged medians
  of every 3 elements that it was previously
- preserve list of inputs for average and median filters, handle updates
  like a circular buffer and return value based on previous readings
  (todo might be to have a more efficient storage instead of vector)

resolve #2543
2024-08-09 12:41:11 +03:00
Maxim Prokhorov
5ab317a9a0 sns: rework'ed report conditions, filter restart()
- preserve units for cached values, remove extra process() call for webui data
- reset magnitude filter state when value units change
- min & max delta checks only for report value, remove separate checks for read and report
- zero threshold only affects reports, amend ac993c7b4b
- pending BaseFilter::available() and BaseFilter::ready(), replacing BaseFilter::status()
  distinguish readiness between having *some* values and *enough* values
- pending BaseFilter::restart(), separate from BaseFilter::reset(), which
  should allow filter to drop existing value when it is not possible otherwise
  w/ just continuing normal BaseFilter::update()
2024-08-08 20:14:55 +03:00
Maxim Prokhorov
2cdc456a36 sns: min and max filters
also force status() to report value presence instead of ability to update()
2024-08-08 20:14:55 +03:00
Maxim Prokhorov
b11071cb9e sns: really reset readings on cfg reload
counter should start from scratch
amend 872f9b6534
2024-08-07 13:29:06 +03:00
Maxim Prokhorov
bc6af422ae sch: clarify location units 2024-08-06 15:30:42 +03:00
Maxim Prokhorov
e9497912e1 webui: duplicated error text 2024-08-06 13:28:09 +03:00
Maxim Prokhorov
fef05f9820 pio: sync decoder.py w/ esp8266/Arduino version 2024-08-03 03:19:40 +03:00
Maxim Prokhorov
08c4cdd3c0 webui: missing type="number" required
amend de2f96a7eb
2024-08-03 01:46:07 +03:00
Maxim Prokhorov
492b6e32df webui: rebuild blobs 2024-08-03 01:32:18 +03:00
Maxim Prokhorov
a0ed9b0e82 test: sync webui data 2024-08-03 01:31:45 +03:00
Maxim Prokhorov
af3f83841f emon: side-by-side current and expected values 2024-08-03 01:31:45 +03:00
Maxim Prokhorov
2c8470c11c sns: poll the remote until sensors are ready 2024-08-03 01:31:45 +03:00
Maxim Prokhorov
5f830c28ce sns: redundant code in units and energy ui
also fix template anonymous types warnings
2024-08-03 01:31:45 +03:00
Maxim Prokhorov
ac993c7b4b sns: zero threshold skips value instead of forcing it to be 0 2024-08-03 01:31:45 +03:00
Maxim Prokhorov
de2f96a7eb webui: disallow empty type[number]
...unless necessary, like with magnitude zero threshold
2024-08-03 01:31:45 +03:00
Maxim Prokhorov
8d8d60fb81 sns: nicer inputs and reworked units ws payload
send tuples per unit type, not per magnitude
fix label and span init order for magnitude settings
2024-08-03 01:31:45 +03:00
Maxim Prokhorov
4fda84082a setup: missing panel switch trigger
password panel should not show up on initial page load in normal mode
2024-08-03 01:30:53 +03:00
Maxim Prokhorov
8fcf4a842d webui: custom enumerable callback 2024-07-30 01:18:18 +03:00
Maxim Prokhorov
2e6389002f webui: numeric inputs and NaNs
allow empty numeric input
fix element setters sometimes forgetting to set the value
fix NaN equality comparison for element value getters
2024-07-30 00:37:29 +03:00
Maxim Prokhorov
4807a95627 test: extra condition check for #2613 2024-07-25 22:38:47 +03:00
Maxim Prokhorov
79a088e18b webui: rebuild blobs 2024-07-25 22:01:58 +03:00
Maxim Prokhorov
a2cd6857b1 webui: password pair validation fixes
move isChanged check to validator, always return both inputs for the given form
add assumeChanged?: boolean to opts, allowes forced check (similar to getData option)
small layout test for password and general forms, resolve #2613

attempt to make 'original' === undefined return consistent value
2024-07-25 22:01:58 +03:00
Maxim Prokhorov
d292f32a99 pio: dep and preprocess helper target
drop sideeffect dependency in favour of a direct one
build both .d and .E, for .o and preprocessor deps respectively
2024-07-25 21:31:59 +03:00
Maxim Prokhorov
3fa69164eb webui: rebuild blobs 2024-07-17 21:47:06 +03:00
Maxim Prokhorov
6716780f1f rfb: no spellcheck for hex codes 2024-07-17 21:46:49 +03:00
Maxim Prokhorov
a12e734ee7 webui: show panel and elem when failing validation
expect regexp to validate length too
simplify hostname checks

more module shuffling, move ui ids into a separate one

amend 72fbdc2425
amend ed26dbda8b
2024-07-17 21:42:29 +03:00
Maxim Prokhorov
71d96ed316 webui: fix "listen to" naming, proper array usage 2024-07-15 15:56:43 +03:00
Maxim Prokhorov
18ce6690bf webui: typo 2024-07-13 11:22:53 +03:00
Maxim Prokhorov
c125bc24a0 webui: esm output for script 2024-07-13 11:06:45 +03:00
Maxim Prokhorov
d72c653483 webui: bump to pure-css 3.0.0
missed 2.0.5 release media queries for hi-res screens
mention side-menu layout css origin
2024-07-13 11:02:30 +03:00
Maxim Prokhorov
351ca62184 webui: dispatch event with urls payload
and just store as a dataset item on the button
2024-07-13 10:48:46 +03:00
Maxim Prokhorov
72fbdc2425 webui: password webmode as a panel 2024-07-12 20:55:09 +03:00