4365 Commits

Author SHA1 Message Date
Maxim Prokhorov
f7e2977c45 sns: external driver for onewire devices 2024-03-19 19:51:53 +03:00
Maxim Prokhorov
89fd41d6c8 sns: notify hook
either timed or instant callbacks, intended to be called from within the
sensor itself or by any other module needing to 'ping' sensor instance
2024-03-19 19:51:53 +03:00
Maxim Prokhorov
569da85713 types: helper class for contiguous ranges of T 2024-03-19 19:51:53 +03:00
Maxim Prokhorov
573caf014d sys: json data corruption when using sv 2024-03-19 19:51:53 +03:00
Maxim Prokhorov
84a4640567 light: typo 2024-03-19 19:51:53 +03:00
Maxim Prokhorov
8e1554556a ha: fix weird scoping error w/ gcc4.8 2024-03-19 19:51:53 +03:00
Maxim Prokhorov
452cd78c41 ha: handle homeassistant/status
birth message should trigger discovery, enabled by default
ref. #1637

clean-up discovery code to properly re-init when something goes wrong
also restore manual discovery trigger from WebUI
2024-03-19 19:51:35 +03:00
Maxim Prokhorov
e9ab0a8240 bmx280: separate funcs for readings
instead of one giant read func, use magnitude-specific ones
ref. datasheet, adc read failure should have a different constant,
and does not warrant re-init
2024-03-17 22:42:25 +03:00
Maxim Prokhorov
37d2837937 dallas: fix device struct initialization 2024-02-08 22:27:41 +03:00
Maxim Prokhorov
2ea47de36e dallas: do not wait until value() to report errors
sensor loop assumes value(index) value is ok
ref. #2543

move all checks to pre(), value() returns pre-read value
- tick() and pre() are allowed to fail specific device
- pre() would fail the sensor if any of devices fail
- value(index) is never reached unless tick() and pre() succeed
2024-02-08 22:17:38 +03:00
Maxim Prokhorov
7152cc67a8 sns: BaseFilter::status()
no real reason to expose internal state, just report filter readiness
2024-02-08 22:17:38 +03:00
Maxim Prokhorov
a33c71b62b sns: special cases for median-average filter 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
97921403d0 sns: filter resize should reset internal state 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
872f9b6534 sns: always reset readings on cfg reload 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
aa74de8843 sns: moving average should be an average
ref. #2543
2024-02-08 22:17:38 +03:00
Maxim Prokhorov
b44c293fca test: expected sensor filter values 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
0d4cf9a7c1 sns: simple filters with capacity of 1 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
0f5fc5acc3 test: allow double comparison in tests 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
686728a329 rfb: ,<REPEATS> parser fix 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
70e8f91205 debug: fix webui headers included without WEB_SUPPORT=1 2024-02-08 22:17:38 +03:00
Maxim Prokhorov
f13df63f38 compat: fix -std=gnu++20 2024-02-08 22:17:38 +03:00
Dmitry
238dc130af garland: fixes and updates (#2600)
* garland: fix issue with division by zero in first scene setup

* garland: update setters code

* garland: fix web UI

* garland: update scene default settings

* garland: update palettes, add random run animation

* garland: enable and update anim_glow

* garland: update anim_spread

* garland: add anim_crossing

* garland: get rid of redundant variables in main class

* garland: provide anims with all palettes

* garland: unify anim_waves and anim_run to use ColorWave class

* garland: update format for color_wave.h and garland.cpp

* graland: update anim code with clear rands and auto counters

* garland: implement pixel caching for color waves to reduce redundant calculations

* garland: fix anim dolphins out of range issue

* garland: tune anim comets

* garland: combine all wave-based anims; add wave comet anim

* garland: fixes for PR notes
2024-01-20 22:23:05 +03:00
Dmitry
1e765d7e68 thermostat: clean-up and build fixes (#2601)
- update library esp8266-oled-ssd1306 to the latest version
- fix thermostat build issues
- simplify and clarify thermostat control logic
- add logs to thermostat control logic
2023-12-20 19:39:45 +03:00
Maxim Prokhorov
f3c3efca4a dcz: typo in relay settings key
resolve #2596
2023-11-05 00:37:45 +03:00
Maxim Prokhorov
be74757710 scripts: no need for pytz to generate tz list 2023-10-17 03:43:30 +03:00
Maxim Prokhorov
5531b93269 terminal: fix linkage, printing cmd-not-found and add tests 2023-10-17 01:57:40 +03:00
Maxim Prokhorov
00973160a2 uart: typo 2023-10-17 01:32:03 +03:00
Maxim Prokhorov
eb17675c2a btn: terminal command action
allow to use api helpers to execute something when button event happens
2023-10-17 01:32:03 +03:00
Maxim Prokhorov
557db51ffd terminal: error output 2023-10-17 01:32:03 +03:00
Maxim Prokhorov
ecbaabe461 sns: comment typo 2023-10-17 01:31:44 +03:00
Maxim Prokhorov
06e49ccf9b uart: swserial workaround for recent Core version
fix #2592 (for real this time)
2023-10-17 00:26:53 +03:00
Maxim Prokhorov
480c72dc07 sns: broken mqtt address publishing
cannot declare constexpr objects like that with old compiler
fix #2594
2023-10-16 23:25:39 +03:00
Maxim Prokhorov
afce3dcbb3 relay: missing header 2023-10-16 23:25:39 +03:00
Maxim Prokhorov
a0bf8f2673 idb: use magnitude type not its index
ref. #2585 and 3be53055
2023-10-13 13:23:29 +03:00
Maxim Prokhorov
e8c9377865 uart: fix swserial pin order
fix #2592
2023-09-22 19:55:30 +03:00
Max Prokhorov
4f22960a90 mqtt: missing buffer offset
re-apply fix from #2181
resolve #2586
2023-04-25 02:55:40 +03:00
Maxim Prokhorov
7703d9ba2b api: reference settings keys 2023-04-13 19:39:17 +03:00
Maxim Prokhorov
b64e7f91c1 web: revert to per-file include checks
minimal & single-source builds should coexist yet again
2023-04-13 19:22:49 +03:00
Maxim Prokhorov
7c5e8e3f8b relay: minimal build warnings 2023-04-13 19:09:03 +03:00
Maxim Prokhorov
ea6eb52deb web: only include web printer when needed 2023-04-13 18:00:57 +03:00
Maxim Prokhorov
ffd23d095b web: print api in namespace
also fixing leftover API dependency issues
2023-04-13 17:34:01 +03:00
Maxim Prokhorov
9ec61ac36f api: namespace, fixed types 2023-04-08 22:03:03 +03:00
Maxim Prokhorov
643f03252f wifi: should not assume after-move state is well defined 2023-04-08 17:55:49 +03:00
Maxim Prokhorov
f94735759a wifi: small static overhead 2023-04-08 17:55:49 +03:00
Maxim Prokhorov
dbd7e9f424 wifi: can't scan while establishing connection
sdk would silently cancel both
2023-04-08 17:55:49 +03:00
Maxim Prokhorov
aa2476e4a7 wifi: system check just after booting
helper would block 2nd action, wifi is not enabled yet
fixing behaviour introduced in 28f3b7da8

also make boot action optional
2023-04-08 17:55:48 +03:00
Maxim Prokhorov
add82d3941 wifi: no ns prefix when already inside of ns 2023-04-08 17:55:31 +03:00
Maxim Prokhorov
45384d70f8 wifi: sleep type and tx power from sdk 2023-04-08 17:55:30 +03:00
Maxim Prokhorov
c091bc01dd utils: return blocking delay condition result 2023-04-07 14:43:54 +03:00
Maxim Prokhorov
b409dc2787 relay: unused file 2023-03-30 14:14:56 +03:00