* scripts: memanalyzer fixes
- cleanup duplication
- cleanup external dependencies
- properly use subprocess when calling pio, add debug mode
- cleanup argparse usage, use store_true actions instead of counters
- use python3 syntax and python3 shebang by default
- fix some issues with module dependencies
* move to scripts
* use simple return
* quick fix for rfm
* codacy unused import
* formatting
* show defaults
* while at it, rewrite to make pylint happy
* fix unused
* add windows support + note
- mask is defined as (relay# status << number)
- transparently handle base-2 and base-10 numbers
- if the relay mode requires us to save the mask, it will be saved as base-2
- add experimental `relayDummy` to configure dummy relays at runtime
- add tuya-generic-dimmer #1729
- cleanup broker interface to allow Tuya module to properly receive events, modify broker methods to allow different function signatures
- add basic tests for Tuya frame and data protocol
* Use generic typechecks, OTA add followRedirects
* revamp using is_detected
* relative include
* mention ts draft instead, fix c++17 includes (still not buildable)
* typo
* Always create WiFiClient pointer
* Remove old CREATE_CHECK macro
* do not create wificlient obj when running old Core
* relay: respect relay delay time when using NONE_OR_ONE sync
* fixup! relay: respect relay delay time when using NONE_OR_ONE sync
* calculate delay from flood window + existing delay
* configure flood max changes too
* oops, s -> ms
* count other way around
* interpret delay differently with sync_one/none_or_one
* instead of accumulation, ensure that max delay time is selected (if it is there at all)
* global interlock delay setting, allow to set change_delay before relayStatus(id, status) changes it
* fixup! global interlock delay setting, allow to set change_delay before relayStatus(id, status) changes it
* (finally) use lock attr to avoid user changing state while target != current state
* fix building with 2.3.0
* postpone wspost after all relays are processed, remove change_start refresh, snapshot relaySync value in configure
* fix warning
* add another timer for ONE
Operating specifications / Communication and signal
"Data-bus's free status is high voltage level. When communication
between MCU and DHT22 begin, program of MCU will transform data-bus's
voltage level from high to low level and this process must beyond at least
**1ms** to ensure DHT22 could detect MCU's signal, then MCU will wait 20-40us for
DHT22's response."
* gpio: detect esp8285 chip to allow the use of GPIO9 and GPIO10
* add another reference to the current rtos headers (but not used anywhere in the sdk code)
* fix typo in register order
* fixup! fix typo in register order
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Added T6613
* Updated copyright string
* Buffer from 6 bytes to 8 bytes
Current gcc-4 does not mark this as warning, but gcc-9 notices the 3 char size requirement. Buffer should be 8
* Use 5000ppm max
* Added restore last schedule support
* Merged RestoreLastScheduleState function into the _schCheck function
* handle lights in restore action
* hide webui chbox when not using scheduler
* use settings instead of struct member, hide under ifdef scheduler_support
* relayLastSchedule uses SCHEDULER_RESTORE_LAST_SCHEDULE as default
* Changed all the variable names to be the same so there would be no confusions
* Fixed client side to create an array from relayLastschedule
* Fixed cosmetic issue with the toggle display in webui
* Fixed variable name and disabled comparison at the end
* Added another check if the switch type is light provider
* Changed variables naming
* Naming mistake
- stack-like discovery struct to store pending mqtt topic and
message
- use separate json objects for sensor and switch data (different solution for the #1957)