We have created a few dozens of devices, released as open-source hardware and
published the schematics to GitHub. We're planning to organize some small
(10-15 people) workshops on how to assemble, flash and configure these board.
https://github.com/eHomeDIY
* web: revert changed from secure_client patch
* ota/httpupdate: use SecureClient
* ota/httpupdate: use scheduled function on mqtt event
* config: finish up 590282e changes + add warnings
* typo fix
* use bind instead of c++14 magic, use debug text from secureclient
* bump
* actually use the locking
- fix hardware.h weird encoding (todo: is there a git-attribute for
this to be peristent?)
- sort and add missing support and hw entries to the arduino.h
- force thermostat to depend on sensors to avoid confusing linker error
* add support for Hykker Smart Plug with power meter
Type: Power Plugs
Board: Hykker Power Plug
Build flag: HYKKER_POWER_PLUG
Description: Power plug w/ power metering
* Update arduino.h
hykker power plug
* Update platformio.ini
hykker power plug
* Type: Power Plugs
Board: Hykker Smart Home Power Plug
Build flag: HYKKER_SMART_HOME_POWER_PLUG
Description: Power plug w/ power metering
* voltage ratio calibration for correct results
* 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
* 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)
* travis: move build flags tests outside of hardware header
* mqtt: fix typo
* travis: use files instead of bundling test cases into script
* fixup! travis: use files instead of bundling test cases into script
* fix variable expansion, remove custom h at the end
* add ade7953 to sensors list
* custom.h path as variable
* shellcheck
* fix printf syntax, silent again
* fix bash 4.3 treating empty array as unset variable
* telnet: buffered output for async server
* telnet: make async buffer an option
* just use the queue containers directly
* try with simpler list
* exhaust buffers as much as possible in a single try
* don't forget to destroy the client object
* naming
* kill the connection earlier
* fix merge issues
- customize relay TOGGLE payload
- match payload string when receiving mqtt status message
- reference enum values instead of raw integers, spell out intended status
- remove dead code
amend #1885, capitalize `relayPayload...` suffix instead of using uppercase
add `relayPayloadToggle`
- 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