Maxim Prokhorov
2f6d7ce3d3
system: light and deep sleep api
...
see #2578
* deep sleep api without ESP class dependency
* rf + cpu light sleep for cases when deep sleep cannot be used
* generic time-based light sleep; nonos does not halt cpu,
unlike the wakeup variant. timers also keep going, so
this has to be used with extra care
pending some 'deferred' variant and before and after sleep actions
2023-03-15 17:06:02 +03:00
Maxim Prokhorov
28f3b7da84
wifi: turned off on boot
2023-03-10 01:00:20 +03:00
Maxim Prokhorov
0ab8c855e2
wifi: revert to no fpm settings
2023-03-10 00:59:19 +03:00
Maxim Prokhorov
be9de1de14
gpio: pin mode getter
2023-03-10 00:55:53 +03:00
Maxim Prokhorov
7bf886541b
mhz219: fix response checks and implement range setting
...
if data size and crc are ok, make sure to notify the caller
rework parameter injection and make sure endianess is right
auto-calibration and range are both a setting and a build flag
2023-03-05 01:55:55 +03:00
Maxim Prokhorov
670b5d68d5
wifi: both light and modem sleep modes are used
2023-02-05 00:49:35 +03:00
Maxim Prokhorov
9789bba923
wifi: shorter keys for forced sleep
2023-02-05 00:44:04 +03:00
Maxim Prokhorov
bb4e74d03f
wifi: experiment with forced light sleep
...
see #2578
make TurnOff action select sleep mode from available settings
wifi.off and wifi.on commands in addition to existing AP & STA
overriding buttons is... problematic?
e.g. selecting LO trigger and existing hw pushbutton GPIO,
we are most likely to trigger long-click event
2023-02-04 21:57:44 +03:00
HamedTa
0db47f5ec9
ina219: fix shift value ( #2577 )
...
According to the datasheet, ADC gain bits are [11...12]
2023-01-28 22:45:27 +03:00
Maxim Prokhorov
f21ddba6f0
relay: mqtt handlers are constexpr
2023-01-18 06:14:57 +03:00
Maxim Prokhorov
78c9e6a218
relay: lock and unlock in api
2023-01-18 06:14:56 +03:00
Maxim Prokhorov
d3c113b73d
relay: preserve locks when syncing
...
instead of unlocking everything, remember current locks
also, allow to manually change locks in terminal
2023-01-18 06:14:34 +03:00
Maxim Prokhorov
9211dcd785
system: lock reent object in ctor
2023-01-18 06:14:34 +03:00
Maxim Prokhorov
30f3123cae
relay: sync should not unlock already locked relay
...
instead of flagging sync-in-progress, remember existing locks and
restore after it is done with processing
2023-01-18 06:14:31 +03:00
Maxim Prokhorov
11c897898d
relay: properly handle zero interlock time
...
schedule when >0, execute immediately otherwise
2023-01-17 06:25:53 +03:00
Maxim Prokhorov
e2c8dd7be1
pio: fix dependencies generator
...
`-mD` is not an option...
`-M -MF $file` can be used together with `-E` to generate a small
makefile-like generator (does not include any compiler flags!) for the
target file so we know which files it would use during compilation
2023-01-17 06:25:53 +03:00
Max Prokhorov
d141a3e5b3
pio: conditional for preprocess target
2023-01-13 06:28:22 +03:00
Maxim Prokhorov
579a5b239b
pio: helper to build single-source .E
2023-01-13 02:42:34 +03:00
Maxim Prokhorov
fbd4a9c1be
hw: disable uart for maxcio_wde004
2023-01-13 00:22:08 +03:00
Maxim Prokhorov
909949b5cc
light: hide extra toggle in webui
...
amend b5a03dac72
2023-01-12 03:16:07 +03:00
Maxim Prokhorov
faeedee57f
hw: missing light-state relays
...
amend b5a03dac72
2023-01-12 02:49:42 +03:00
Maxim Prokhorov
3513d0468e
btn: no newlines in description
2023-01-12 02:35:54 +03:00
Maxim Prokhorov
dca13574d9
lightfox: button provider experiments
...
another pin provider, similar to analogpin
instead of generating events, use last serial reading (with a timeout)
2023-01-12 02:32:01 +03:00
Maxim Prokhorov
f373e13719
btn: dummy provider and clean-up
...
events and actions are exportable, internals are not
some internal classes that do not need init through ctor
2023-01-12 01:24:07 +03:00
Maxim Prokhorov
d798052dae
ha: fix uninitialized sensor info
...
and double-check that we really have magnitudes available
fix #2572
2023-01-12 01:09:56 +03:00
Maxim Prokhorov
94fff47d4a
relay: missing provider strings
2023-01-11 06:44:37 +03:00
Maxim Prokhorov
fb21386de5
test: warning fixes
2023-01-11 06:08:53 +03:00
Maxim Prokhorov
f387b864da
relay: scheduling from system timer does not work
...
also queue fallback check instead of resolving it in the timer
resolve #2571
2023-01-11 05:47:17 +03:00
Maxim Prokhorov
f55b8f39f3
relay: fix dependencies when disabled
2023-01-11 05:47:17 +03:00
Maxim Prokhorov
ef086ac0fc
tuya: (best effort) relay provider
2023-01-11 05:47:17 +03:00
Maxim Prokhorov
9b28d640f7
lightfox: relay provider experiments
2023-01-11 05:47:17 +03:00
Maxim Prokhorov
7362068717
fan: experiment with relay provider
...
early init plus simple state switch w/ api
2023-01-11 05:47:17 +03:00
Maxim Prokhorov
b5a03dac72
light: experiment with relay state provider
...
* dynamic relays should not overlap with configuration
* prefer explicit relay configuration vs. dynamic addition
resolve #2568
2023-01-11 05:46:38 +03:00
Maxim Prokhorov
efaf15add3
sch: also fix flash strings
2023-01-10 00:47:35 +03:00
Maxim Prokhorov
7514dee5b0
relay: publish names to mqtt
2023-01-10 00:47:35 +03:00
m-kozlowski
657de76671
dcz: fix flash strings ( #2569 )
2023-01-02 23:15:16 +03:00
davebuk
68310b6d46
light: value adjustment only works with integers ( #2566 )
2022-12-19 20:55:56 +03:00
Maxim Prokhorov
312c3ef2ba
test: bump esp8266 version used for unit tests
2022-12-12 15:13:25 +03:00
Maxim Prokhorov
24c3ff8954
test: arduinojson header
2022-12-12 14:29:22 +03:00
Maxim Prokhorov
767cd72e36
lights: allow to recover from a fully black rgb
2022-12-12 14:28:25 +03:00
Maxim Prokhorov
997c4d0147
utils: test for overflow before addition
...
fix test case for 0b1... >32chars
2022-12-12 14:25:27 +03:00
Maxim Prokhorov
e53e25c8bb
test: utils
2022-12-12 14:25:01 +03:00
Maxim Prokhorov
69471b0a6f
relay: terminal pulse toggle instead of normal status
...
allow to schedule pulse timer for the current status by disabling 'toggle' (bool)
2022-12-08 15:12:37 +03:00
Maxim Prokhorov
bc2ce11555
relay: zero duration as pulse reset
2022-12-08 15:10:32 +03:00
Maxim Prokhorov
b9dcf3e048
gpio: always propogate source location
2022-12-08 13:08:22 +03:00
Maxim Prokhorov
53633cfc48
terminal: typo
...
amend 542188dd
2022-12-07 00:03:00 +03:00
Maxim Prokhorov
af6c8cc12e
relay: toggle action typo
...
resolve #2564
2022-12-06 22:25:00 +03:00
Maxim Prokhorov
542188dd03
telnet: buffer when eol is missing
...
resolve #2563
2022-12-06 22:24:45 +03:00
Maxim Prokhorov
988a972484
bh1750: configurable accuracy and sensitivity (mtreg)
...
amend b8921b9a89
* customize our multipliers. accuracy is a generic multiplier, mostly
depends on the environment temperature (see datasheet). sensitivity is
a ratio between the currently set mtreg value and the default
e.g. for mtreg 31, sensitivity is .45; for mtreg 69, sensitivity is 1.
* non-blocking pre(); since we have tick(), just wait until the reading
is available instead of stopping everything else in the sensor loop
* more specific error state when we are not ready to return a value
2022-12-05 14:53:39 +03:00
Maxim Prokhorov
52266684d8
sns: factor allowed values are 0...100
2022-12-05 14:53:39 +03:00