Commit Graph

2721 Commits

Author SHA1 Message Date
DmitryBlinov
6017ad9474 Fix for long click (#2172)
With uint8_t length function _buttonMapReleased never returned BUTTON_EVENT_LNGCLICK. BUTTON_EVENT_CLICK returned instesd. I verified that with uint16_t length it returns BUTTON_EVENT_LNGCLICK when correspondent delay passed.
2020-03-08 02:31:16 +03:00
julianwb
8f7d77b2a1 Config for Teckin SP23 & Maxcio W-UK007S (#2157) 2020-02-18 22:23:52 +03:00
Max Prokhorov
8f4f1beb54 mqtt+api: move action handler (#2158) 2020-02-18 22:23:08 +03:00
Max Prokhorov
980b736fc8 ir: move button structs outside of config headers (#2155) 2020-02-18 12:19:32 +03:00
Max Prokhorov
be7ca13d76 influxdb: fix http response parsing, refactor module scope (#2153) 2020-02-18 12:16:13 +03:00
Max Prokhorov
3747d2ef46 Merge pull request #2154 from mcspr/mqtt/bump
mqtt: bump arduino-mqtt version, tweak keepalive
2020-02-18 12:15:44 +03:00
Max Prokhorov
f403ea06cf wifi: respect hardcoded settings when checking for deletion (#2151) 2020-02-18 12:15:12 +03:00
Max Prokhorov
79e45324ca Bump RFM69 version (#2148)
* Check patched RFM69 with relative includes

* merged upstream, point to the commit
2020-02-18 12:14:52 +03:00
Max Prokhorov
0d5129db4d Fix latched pulse always being HIGH (#2145)
see https://gitter.im/tinkerman-cat/espurna?at=5e44563355b6b04bf6aac94b
2020-02-18 12:14:35 +03:00
Max Prokhorov
fd50e95e9e Thingspeak: tweak SecureClient connection (#2144)
- continue #2140 , use the correct implementation for http requests not confuse code readers with our parsing
- fix data sender data duplication, run build test
- add note that this is actually really RAM heavy, some connection failures are not easily distinguishable from any code errors and are simply OOM.

also
- fix arduinoota prototype error when building without it (... ino2cpp, again)
- add comment about 160mhz into the platformio.ini
2020-02-18 12:14:07 +03:00
Maxim Prokhorov
d0c9b6d5eb mqtt: keepalive less than hb interval 2020-02-18 11:57:52 +03:00
Maxim Prokhorov
098de0cb0b mqtt: pin arduino mqtt version 2020-02-18 09:46:39 +03:00
Max Prokhorov
7862b52060 Fix "Fix AsyncTCP dependency" (#2149)
* Revert "Fix AsyncTCP dependency (#2147)"

This reverts commit d5093b4d18.

* Ignore AsyncTCP
2020-02-14 14:40:51 +03:00
Max Prokhorov
d5093b4d18 Fix AsyncTCP dependency (#2147)
PIO 4.2.1a default soft does not work
2020-02-14 13:27:18 +03:00
Max Prokhorov
cacc7584d3 hlw8012: gpio cfg (#2142) 2020-02-09 04:54:33 +03:00
Max Prokhorov
d9482b917b rfm69: fix types of settings (#2141)
* rfm69: fix types of settings

* down
2020-02-09 04:41:31 +03:00
Max Prokhorov
80bff31d8a Thingspeak: cleanup (#2140)
* Thingspeak: cleanup

* fix sync client config, refactoring

* revert changes in tspk config

* inheritance

* fix empty wificlient
2020-02-09 04:41:18 +03:00
foxman69
bc1fb0ba38 WebUI: alert when WS closes (#2131)
* Added alert when websocket closes and trying to trigger it faster

* Added window before function...

* Changed from setTimeout to SetInterval

* Fixed position of if statement

* formatting

* images

Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
2020-02-09 01:41:14 +03:00
Sammy BAUER
f73917decc Configure Thingspeak URL at runtime (#2124)
* Permit thingspeak urn edit

* Update thinkspeak.ino

* Update index.html

* Replace Host, Port, and URL with Address in Thingspeak

* Create AsyncThingspeak object

Create AsyncThingspeak object to contain the url of the component.

* replace pointer by class member

Thingspeak class improvement to answer Max's question:
why use a pointer when it can be a class member?
So now address parameter isn't a pointer anymore.

* Update Thingspeak address on post
2020-02-09 01:15:27 +03:00
Max Prokhorov
460083c28f Show pretty uptime with NTP_SUPPORT (#2137)
Fallback to basic N seconds display when disabled
2020-02-04 19:56:43 +03:00
Max Prokhorov
1a6b709a8f Fix ADE7953 typo (#2136) 2020-02-04 19:21:31 +03:00
Max Prokhorov
cda3dab0a1 Fix rpnSticky inverse condition (#2135) 2020-02-04 19:20:15 +03:00
Max Prokhorov
f7f41980b6 Headers cleanup (#2134)
* Config: remove prototypes.h

* fixup order

* word

* add missing

* fix warning while still using .ino

* bad at c/p;
2020-02-04 10:02:01 +03:00
Max Prokhorov
ba3ec47ed0 NTP: use sntp app from lwip on latest Cores, replace ntpclientlib (#2132)
* ntp: try using sntp app from lwip, drop ntpclientlib

* fix display

* thermostat: fix day and month getters

* test build sizes with scheduler

* use system timers for once-a-minute scheduling, no polling

* tick

* avoid timestamps, use tm

* drop utc rpn operator, add utc_hour and utc_dow

* try to build with old implementation too

* dep

* notify ws

* progmem

* cleanup types

* offset tm values by 1 to match existing schedules

* avoid using ntpclientlib with rpn

* test. show debug strings in sch

* fix secureclient

* consts, fix unsyncing when changing tz (and not triggering sntp after reinit for some reason)

* startup time in seconds

* same delay as lwip

* header

* assume build timestamp is unixtime

* cache server value

* fmt

* typo

* handle dhcp request

* rename

* web

* TZ.h

* add notice about what alias means

* fix disabling NTP_SUPPORT

* scheduled ticker

* same behaviour as old module

* rollback rpn dependency check, utc_ prefixes

* ...

* comments, refactor naming
2020-02-04 06:17:40 +03:00
Max Prokhorov
37f6247772 Light: configure dimmer pins from settings (#2129)
- add ltDimmerGPIO<index> & ltDimmerInv<index> to override / add to hardware configuration. Add pin defaults, mapped as GPIO_NONE. pwm_init() receives resulting GPIO mapping based on settings loader.
- remove bogus _light_channels variable, use this name for channel array instead (...which is vector and has size(). functions always use that value anyway)
2020-02-04 02:51:44 +03:00
Max Prokhorov
833978d75f Merge pull request #2130 from mcspr/ci/pio-test
Fix UnixHostDuino dependency
2020-02-04 02:15:01 +03:00
Max Prokhorov
0d40d2275a Load sensor classes later (#2128)
* Sensors: refactor configuration

- move sensor implementaion to the .ino,
  remove dependency undef / define from sensor files
- update test/build/sensor.h from SENSOR_SUPPORT
- allow to change sensor config variables externally
- `#include <...>` for global headers and libraries,
  fix relative path for math library

* add missing sns <-> i2c dependency

* ledrelay should return relay_none as default

* rollback to original test header

* include debug header when requested (relative)
2020-02-04 02:14:31 +03:00
Max Prokhorov
a41819a28a ci: run pio test directory 2020-01-29 23:59:39 +03:00
Maxim Prokhorov
712bd8a5e1 Buttons: small optimization for vector 2020-01-22 01:56:59 +03:00
Maxim Prokhorov
d1df9d5587 Add timelib header in utils 2020-01-22 01:44:50 +03:00
Maxim Prokhorov
2e891e3129 Debug: use lowercase enum for mode (following isocpp guidelines) 2020-01-22 01:44:50 +03:00
Maxim Prokhorov
2ff50169b9 Static configuration for LED and Buttons
- use similar to relay & wifi, configuration through helper methods that
  use indexed defines
- clock cycles for led delay polling
- button mode defaults
2020-01-22 01:44:50 +03:00
Max Prokhorov
495fa18a27 Debug: log mode, allow to skip boot messages (#2116)
* debug: log mode, allow to skip boot messages

* typo, fix warning about unhandled switch

* mention telnet wifiserver & reverse changes
2020-01-21 01:48:52 +03:00
Max Prokhorov
a4d4231ae0 PIO: remove -ota envs, handle OTA condition in extra script (#2099)
* PIO: remove -ota envs, handle OTA condition in extra script
* Tweak ESPURNA_BOARD variable
* Support git and latest in ota script
* Handle ESPURNA_FLAGS too
* Try to handle env and projenv in pylint
* Add deprecation comment about -ota envs
* regen arduino.h
2020-01-20 17:41:10 +03:00
Max Prokhorov
298ce8cac2 Refactor get/set/del/hasSetting (#2048)
* experimental: refactor get/set/del/hasSetting

* sensors

* lights

* cleaup

* r

* tuya

* fixup! sensors

* fixup! tuya

* header defaults types

* fix lights

* setup already checks for max

* helper for flashstring

* fix overload

* oops

* refactor includes

* warnings

* test with migrate

* add ids in a separate file

* cleanup

rev: crash

rev: domoticz

rev: encoder

rev: loopdelay

rev: hass

rev: i2c

rev2: hass

rev: mqtt

rev: rfm69

rev: relay

rev: rpn

rev: settings setup

rev: hb settings

rev: telnet preprocessor fix

rev: settings wrap

rev: tspk bool style

rev: wifi types

rev: util hb

rev: settings

fixup! rev: settings

* rev: cleanup wifi injections based on new getters

* hasSetting now can return true for empty key

* show hardcoded network in web

* oops

* fix ws referencing wrong index

* ensure empty strings are written

* c/p

* use experimental schema style for payload, mark network as not deletable

* allow to customize converter

* shorter syntax, try using with wifi

* use proper #if syntax to handle definitions that are missing

* fixup ota sc checks getter, cast schEnabled to bool

* add utils header to sensors
2020-01-20 16:39:35 +03:00
Tomas Bara
c196fa2542 Set MQTT will topic after /get suffix initialization #2106 (#2115) 2020-01-20 15:44:11 +03:00
Anders Blockmar
55a73b1c6e Added hardware config for Avatto NAS-WR01W (#2113)
Not a match to same model from Neo Coolcam
2020-01-20 15:42:16 +03:00
foxman69
ac2f9c2c57 Fixed update of led bug and GPIO16 support (#2110)
* Fixed ignorance from the 16th PIN on ESP8266

* Added update to led every change of relay

* per https://github.com/xoseperez/espurna/pull/2110#discussion_r367551042

* gpio16 comment

Co-authored-by: Max Prokhorov <prokhorov.max@outlook.com>
2020-01-20 15:41:11 +03:00
Max Prokhorov
cb28cac301 Debug: store boot log (#2109)
* debug: store boot log

* order

* roll single header

* hide when not implemented

* fix capacity check

* dependencies

* refactor names, can just use malloc

* settings formatting

* dbgBuf prefix

* show size

* release memory after buffer is displayed

* fix uptime unused warning, combine printer

* comments

* use arg flag instead of static to handle boot

* ci test fix

* Hide whole info() without debug

* typo

* cleanup setDebugOutput condition
2020-01-20 15:40:43 +03:00
foxman69
e3887da8a0 WebUI: Fix scheduler panel tabindex= values (#2096)
* added data-settings-max value to html

* fixed: use the value and not the defenition of the function

* the schedules variable already starts from 0 not need to increment

* another misuse of function as variable
2020-01-13 14:33:28 +03:00
orrpan
57a441a811 Deltaco smart home (#2103)
* add support for DELTACO SH-P01

* renaming deltaco_sh_le14w to deltaco_sh_lexxw

* add support Deltaco SH-P03USB and SH-LEXXRGB
2020-01-13 14:31:17 +03:00
Wil Wilsman
c25d6509bf Add MagicHome ZJ_LB_RGBWW_L support (#2100) 2020-01-13 14:29:25 +03:00
Marcus Winkler
4d978a46ac Add support for Teckin SB53 smart bulb (#2090) 2020-01-13 14:06:13 +03:00
Aurélien Requiem
a170716e90 Add support for Kogan Smarter Home Plug With Energy Meter (#2086)
* Add support for Kogan Smarter Home Plug With Energy Meter

Type: Power Plug
Board: Kogan Smarter Home Plug with Energy Meter
Build flag: KOGAN_SMARTER_HOME_PLUG_W_POW
Description: Power Plug with integrated Energy Meter
Baseboard: Tuya TYWE3S
Baseboard Data sheet: https://docs.tuya.com/docDetail?code=K8uhkbb1ihp8u

* Include Kogan Smarter Home plug with energy meter (KOGAN_SMARTER_HOME_PLUG_W_POW) into arduino.h

* Update platformio.ini to support Kogan Smarter Home plug with energy meter (KOGAN_SMARTER_HOME_PLUG_W_POW)

* Add Kogan Smarter Home plug with energy meter product image

* fix platformio.ini that was missing a '-ota' for the environment

* comment out device definition

* Make device name consistent with #define and platformio.ini
2020-01-13 14:05:32 +03:00
Max Prokhorov
cfd2bccb4a Version 1.14.2-dev (#2098) 2020-01-13 10:27:43 +03:00
Max Prokhorov
62ad7da332 Version 1.14.1 (#2093)
* Version 1.14.1

* fix autoreplace

* formatting
2019-12-31 05:55:49 +03:00
Max Prokhorov
37763f1ad4 Test: check core feature build (#2080)
* Test: check core feature build

* order

* add missing
2019-12-21 16:13:29 +03:00
Max Prokhorov
9edccd1c21 Scripts: ota.py version 0.4 (#2020)
* use basic sleep instead of busyloop
* print immediately when no sort option is specified, disable default hostname sort
* restructure
* update requirements.txt
* cli timeout arg, increase default timeout to ensure that all devices are found
* use black for formatting
* shorter ifs
2019-12-21 00:43:53 +03:00
Max Prokhorov
4f5e9fa1b7 OTA: verify data stream and properly handle errors (#2067)
* webui: improve updater error message

* ota: properly check updater state and finalize on errors

* finish up ota handling refactor

* fail web upgrade when cannot find magic byte

* send updater status with no payload arg and always send payload with

* mention magic byte and flash mode in webui

* gzip magic

* make async ota at least usable. timeouts, show errors, try harder to find data after headers

* simplify setup and destruction

* cleanup class instantiations for ota and url

* handle default case of magicflashchipsize

* shorter

* blobs
2019-12-21 00:19:15 +03:00
Max Prokhorov
43cf926468 ha: try to avoid conflict with useCSS (#2075) 2019-12-21 00:07:10 +03:00