Commit Graph

515 Commits

Author SHA1 Message Date
Theo Arends ffc1505872 Fix exception caused by wrong baudrate selection
Fix exception caused by wrong baudrate selection
2019-03-12 10:21:33 +01:00
Theo Arends baa5825569 Free some flash
Free some flash
2019-03-11 10:38:41 +01:00
Theo Arends 37e1b31937 Add support for sensor SCD30
* Add support for sensor SCD30 (#5434)
 * Add support for commands in sensor drivers
2019-03-10 13:33:32 +01:00
Theo Arends aec3842bee
Merge pull request #5420 from laurentdong/Code-review
Code review: Copy string with strlcpy() instead of snprintf()
2019-03-09 12:22:07 +01:00
Laurent Dong b87afc3bcb Code review: Copy string with strlcpy() instead of snprintf()
Copying string with snprintf() is unsafy and slow because it check and replace plcaehold (%?)
2019-03-08 13:24:02 -05:00
Theo Arends 0d8545f658 Add command Template 255
Add command Template 255 to copy module configuration over to current active template and store as user template named Merged (#5371)
2019-03-08 17:42:21 +01:00
Theo Arends 4ba3331bc7
Merge pull request #5417 from emontnemery/fix_bad_snprintf
Fix bad snprintf in format()
2019-03-08 16:45:07 +01:00
Erik 168b1332e0 Fix bad snprintf in format() 2019-03-08 16:28:46 +01:00
Theo Arends 06a9fbd792 Changed logging message handling
Changed logging message handling
2019-03-08 15:15:42 +01:00
netpok 01ce2a31d3 Implement RGB CT linking 2019-02-25 22:29:39 +01:00
Theo Arends 9f00978a79 Fix Domoticz Color regression
Fix Domoticz Color regression (#5310 )
2019-02-25 19:47:45 +01:00
Gabor Simon 48f6b09987 Initialisation and updating of color mapping added 2019-02-24 23:48:03 +00:00
Theo Arends 68c60c321e Handle too many command data
Handle too many command data
2019-02-23 19:19:31 +01:00
Theo Arends 49f0b514eb Fix some exceptions and watchdogs
* Fix some exceptions and watchdogs due to lack of stack space - part 2
 * Add command SetOption62 0/1 to disable retain on Button or Swith hold messages (#5299)
 * Add option WifiConfig 7 to allow reset of device in AP mode without admin password (#5297)
2019-02-22 12:04:05 +01:00
netpok 6cbfb0308a Check no hold retain flag on hold action sending 2019-02-21 21:30:30 +01:00
netpok 3c58f5b7b9 Add password validation to password command 2019-02-21 15:57:45 +01:00
Theo Arends 05b0280019 6.4.1.18 - Fix some exceptions and watchdogs
6.4.1.18 20191221
 * Fix some exceptions and watchdogs due to lack of stack space - part 1 (#5215)
2019-02-21 14:31:31 +01:00
Theo Arends 32c1e2d13c Tuning uptime and add utctime
Tuning uptime and add utctime
2019-02-19 10:48:19 +01:00
andrethomas 1da8f94a05 Introduce Reset 6 2019-02-18 21:52:22 +02:00
Theo Arends 3c3b5bb8ca Add property Downtime
Add property Downtime to state and status 11 message representing the duration of wifi connection loss
2019-02-18 18:02:22 +01:00
Theo Arends 4884a94b6d Add LinkCount and MqttCount
* Add property LinkCount to state and status 11 message representing number of Wifi Link re-connections
 * Add property MqttCount to status 6 message representing number of Mqtt re-connections
2019-02-18 17:05:25 +01:00
Theo Arends e898dc03e7 Add Wifi Link Connection Count
Add Wifi Link Connection (Retry) count to state message. Always starts with 1 being the initial connection.
2019-02-18 15:41:41 +01:00
Theo Arends 4d0ab9448d Fix unsupported sensor ids
Fix unsupported sensor ids popping up after a config restore
2019-02-17 16:43:52 +01:00
Theo Arends a201dd1222 Remove command SetOption62
Remove command SetOption62 as it's functionality is replaced by user changing the device template (#5255)
2019-02-17 16:05:53 +01:00
Theo Arends e2540f0afe Update sonoff.ino
Prep for template menu
2019-02-17 10:42:55 +01:00
Theo Arends 14d5f7fb54 Fix GUI password and Add rule expression
* Fix GUI wifi password acception starting with asteriks (*) (#5231, #5242)
 * Add rule expression enabled  by define USE_EXPRESSION in my_user_config.h (#5210)
2019-02-16 16:17:17 +01:00
Theo Arends 7c9720de9d
Merge pull request #5210 from laurentdong/development
Introduce Expression in Rules - Updated
2019-02-16 15:49:46 +01:00
Theo Arends 77db7ba0ff 6.4.1.17 Change template stability
6.4.1.17 20190214
 * Change template update by removing possibility to add user module config keeping template as defined (#5222)
2019-02-14 16:48:28 +01:00
Theo Arends b9f6bf402a Add CFG_HOLDER to status 1
Add parameter CFG_HOLDER to status 1 message (#5206)
2019-02-13 10:50:02 +01:00
Laurent 4b4b3709ad Introduce Expression in Rules
Support use an expression as paramter in some rule commands, include Var<x>, Mem<x> and Ruletimer<x>.
Expression is constructed by constants (float number), variables (var<x>, mem<x>, Time, Uptime, Sunrise, Sunset),  operators and round brackets.
Currently support 6 operators, order by priority from high to low:
^  (power)
% (modulo)
*, /
+, -
Commands examples:
Var1 3.14 * (MEM1 * (10 + VAR2 ^2) - 100) % 10 + uptime / (2 + MEM2)
Ruletimer4 Time - Sunrise + MEM2/2
2019-02-12 21:46:42 -05:00
Theo Arends 567bc93623 Add Template GUI update
Initial support for online template change using command Template or GUI Configure Other (#5177)
2019-02-12 11:55:47 +01:00
Theo Arends 98ae3eaf54 6.4.1.16 Online template change
6.4.1.16 20190211
 * Initial support for online template change using command Template (#5177)
2019-02-11 19:21:49 +01:00
Theo Arends 3a59084377 Enable group status messages
Add status message to former declined group commands (#5145)
2019-02-09 13:37:27 +01:00
Theo Arends ab11096f3a Add command SerialDelimiter 128
Add command SerialDelimiter 128 to filter reception of only characters between ASCII 32 and 127 (#5131)
2019-02-09 13:25:15 +01:00
Gabor Simon 7b93df4978
Merge branch 'development' into sm16716 2019-02-08 20:00:53 +04:00
Theo Arends ae277f59cf Change image defines
6.4.1.15 20190208
 * Change image name BE_MINIMAL to FIRMWARE_MINIMAL (#5106)
 * Change image names USE_xyz to FIRMWARE_xyz (#5106)
2019-02-08 14:55:45 +01:00
Gabor Simon e23d4201c1
Merge branch 'development' into sm16716 2019-02-04 16:48:49 +04:00
Theo Arends 6ee3d1abc6 Fix IR local echo
Fix IR local echo
2019-02-03 18:45:20 +01:00
Theo Arends 54aaaf50c9 6.4.1.14 Add diag info to status 3
6.4.1.14 20190203
 * Add SetOption32 until SetOption49 diagnostic information to Status 3 report as replacement for second property value in SetOption property name
 * Add Resolution property to Status 3 report providing previous SetOption second value property
2019-02-03 12:38:41 +01:00
Colin Kuebler d7b8a6453d Added preprocessor constant for LT_SM16716 for improved code readability
Note that this differs from other LT_* in that it's not an enum
Ensure the SM16716 codepath is only taken when the top half of light_type is LT_SM16716
2019-02-01 19:41:12 -05:00
Gabor Simon bbce19a74e
Merge branch 'development' into sm16716 2019-02-01 08:27:35 +04:00
Colin Kuebler 3a43050d93 Integrated Gabor's SM16716 code into the light driver code
Removed redundant processing and variables
Added new light type to distinguish SM16716 devices
2019-01-30 17:19:40 -05:00
Theo Arends 2c164a8b4b 6.4.1.13 Add boot loop offset
6.4.1.13 20190130
 * Add command SetOption36 to control boot loop default restoration (#4645, #5063)
2019-01-30 14:34:31 +01:00
Theo Arends 304ac6fe44 6.4.1.12 code changes (byte/boolean)
6.4.1.12 20190128
 * Change code use of boolean to bool and byte to uint8_t
 * Change code uint8_t flags to bool flags
2019-01-28 14:08:33 +01:00
Theo Arends dc75b473cf Add support for inverted buttons
* Add core version conditional compile options to provided PWM files (#4917)
 * Add support for inverted buttons and inverted buttons without pullup (#4914)
2019-01-27 14:54:28 +01:00
Theo Arends 1fb7eb646f Add 50 mSec delay
Add 50 mSec delay between interlocked relay switch
2019-01-25 18:30:10 +01:00
Theo Arends 505c4794d1 6.4.1.11 Rewrite interlock
6.4.1.11 20190124
 * Remove command SetOption14 as it has been superseded by command Interlock
 * Remove command SetOption63 as it has been superseded by command Interlock
 * Add command Interlock 0 / 1 / 1,2 3,4 .. to control interlock ON/OFF and add up to 8 relays in 1 to 4 interlock groups (#5014)
2019-01-25 17:46:27 +01:00
Theo Arends 7745e1e779 Fix Hass Software Watchdog
Fix Hass Software Watchdog exception during discovery (#4988)
2019-01-22 12:46:55 +01:00
Theo Arends b5824fc361 Housekeeping 2019-01-18 10:52:18 +01:00
Theo Arends e7e378f463 Add (S)SerialSend features
* Fix mDNS addService (#4938, #4951)
 * Add (S)SerialSend3 escape sequence \x to allow hexadecimal byte value (#3560, #4947)
 * Add SerialBridge command SSerialSend5 <hexdata>
2019-01-17 17:48:34 +01:00
Theo Arends e5fd45c9c8 6.4.1.9 Fix mDNS addService
6.4.1.9 20190115
 * Add support for Mi LED Desk Lamp with rotary switch (#4887)
 * Fix mDNS addService (#4938)
2019-01-15 16:11:42 +01:00
dh.harald 2aac0683be Add support for Mi Desk Lamp 2019-01-14 22:53:15 +00:00
lobocobra 15e4918238 As requested in issue 824# by ascillato2, implement split interlock.
=> Split interlock of SONOFF with more than 2 channel into 2 groups
=> This is needed for shutter and similar utilization
2019-01-13 11:00:02 +01:00
Theo Arends 23fa3c624a Clarify Link/Power LED selection
Clarify Link/Power LED selection
2019-01-08 11:44:45 +01:00
Theo Arends 148fe4aec0 Only restart if module supports it 2019-01-07 16:58:44 +01:00
Theo Arends a23f01080b 6.4.1.8 Add template flags
6.4.1.8 20190107
 * Change sonoff_template.h layout regarding optional module flags like ADC0
 * Add command SetOption62 1 to force no Button/Switch pullup on dedicated modules. Currently only supported on Shelly2 (#4841)
2019-01-07 16:33:18 +01:00
Theo Arends 95f39be2ef Change button driver making it modular
Change button driver making it modular
2019-01-07 12:38:47 +01:00
Theo Arends 3d31dd1457 Disable Button/Switch 4 seconds
Disable both Buttons and Switches 4 seconds after power on to workaround Wemos and Obi startup issues.
2019-01-07 10:15:00 +01:00
Theo Arends e1d903eab3 Add no pull-up control to Shelly 2
Add no pull-up control to Shelly 2 module (default is pull-up, change GPIO2 to Switch3n for no pull-up) (#4841)
2019-01-06 18:50:56 +01:00
Theo Arends 0195cabbd6 Add relay status functionality to LED2
Add relay status functionality to LED2 when configured leaving LED1 for (wifi/mqtt) status indication
2019-01-06 18:02:21 +01:00
Theo Arends 67cf1dbbcf 6.4.1.5 Add mDns user control
6.4.1.5 20190103
 * Remove command SetOption35 0-255 for mDNS start-up delay (#4793)
 * Add command SetOption55 0/1 to disable/enable mDNS (#4793)
2019-01-03 17:30:54 +01:00
Theo Arends 447ec6256e 6.4.1.4 Update Copyright (C) 2019
6.4.1.4 20190101
 * Update Copyright (C) 2019
2019-01-01 13:55:01 +01:00
Theo Arends 7ebb7a6067 6.4.1.3 Change sonoff_template.h
6.4.1.3 20181229
 * Change sonoff_template.h module lay-out by removing non-configurable GPIOs
2018-12-29 19:46:28 +01:00
Theo Arends afe83a3460 Prep for template tuning 2018-12-29 17:19:13 +01:00
Theo Arends 5a44b12870 6.4.1.2 Rewrite Switch driver
6.4.1.2 20181228
 * Change switch driver making it modular and introduce input filter (#4665, #4724)
 * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (#4738)
 * Add variable %timestamp% to rules (#4749)
2018-12-28 16:35:19 +01:00
Theo Arends 9640931345 Change switch debounce
Change switch input detection by optimizing switch debounce (#4724)
2018-12-26 14:21:00 +01:00
Theo Arends 0b10f48e41 6.4.1.1 Fix most compiler warnings
6.4.1.1 20181224
 * Fix most compiler warnings
2018-12-24 18:14:25 +01:00
Theo Arends 77c07a2e00 Change FallbackTopic
Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (#1528)
2018-12-23 14:48:57 +01:00
Theo Arends e2cd656286 6.4.0.3 Hass and Alexa fixes
6.4.0.3 20181222
 * Change Hass discovery to short MQTT messages as used by Hass 0.81 and up (#4711)
 * Change FallbackTopic detection (#4706)
 * Add define WIFI_SOFT_AP_CHANNEL in my_user_config.h to set Soft Access Point Channel number between 1 and 13 as used by Wifi Manager web GUI (#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (#3159, #4712)
2018-12-22 16:13:07 +01:00
Adrian Scillato dcbf5a8c94
Fix ArduinoOTA for Core 2.5.0 (fix is backwards compatible)
https://github.com/arendst/Sonoff-Tasmota/issues/4619
2018-12-13 23:04:48 +00:00
Theo Arends 67ec0678a3 6.3.0.17 Add features
6.3.0.17 20181211
 * Add support for TheoV2 sensors as documented on https://sidweb.nl
 * Add support for SDM220 (#3610)
 * Enhance support for MPU6050 using DMP (#4581)
2018-12-11 14:24:52 +01:00
Erik a65041fee5 Enabled forced local operation when button- or switchtopic is set 2018-12-08 08:44:59 +01:00
Theo Arends 9a3c3895fb Fix Domoticz Fanspeed
Fix Domoticz Fanspeed
2018-12-06 15:03:42 +01:00
Theo Arends 61aa428646 6.3.0.16 - Bump version
6.3.0.16 20181201
 * Add support for iFan02 Fanspeed in Domoticz using a selector (#4517)
 * Add Announce Switches to MQTT Discovery (#4531)
2018-12-06 11:17:25 +01:00
Theo Arends 9471163d86
Merge pull request #4531 from emontnemery/hass_announce_switch
MQTT Discovery - Announce switches
2018-12-06 11:02:40 +01:00
Theo Arends e64c8d61c9
Update sonoff.ino 2018-12-06 11:01:57 +01:00
Theo Arends dfa0d2ef11 Add Domoticz Selector for Fanspeed
Add support for iFan02 Fanspeed in Domoticz using a selector (#4517)
2018-12-06 10:49:49 +01:00
Theo Arends 4b287ab4cb Final fix compile error (#4509)
Final fix soft_spi_flg compile error (#4509)
2018-12-05 12:23:42 +01:00
Erik be19af15e2 Announce switches 2018-12-04 21:32:02 +01:00
andrethomas2 a2e865bb44
Add dummy soft_spi_flg to satisfy compiler
@arendst Just adding this, for now, to satisfy the compiler until you get time to merge the rest of the Software SPI support.
2018-12-02 18:53:49 +02:00
Erik 74172f14d3 Further improve Hass auto discovery 2018-12-02 16:39:59 +01:00
Theo Arends eb3c1a327d 6.3.0.15 Update dynamic sleep
6.3.0.15 20181201
 * Removed command SetOption36 (#4497)
 * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (#4497)
2018-12-01 18:53:42 +01:00
andrethomas 6050cd40f3 Merge sleep command 2018-12-01 18:47:25 +02:00
andrethomas 5f402c8f34 Fix sleep->SetOption36 transition 2018-12-01 00:18:08 +02:00
andrethomas 3613946f18
Prevent sleep and SetOption36 being used concurrently
Prevent sleep and SetOption36 being used concurrently
2018-11-30 20:00:20 +02:00
Theo Arends eb851a9a90
Merge pull request #4450 from emontnemery/hass_send_tele
WIP - Support sending tele/STATUS as state/RESULT
2018-11-26 12:49:43 +01:00
andrethomas acdbd39124
Fix math in LoadAvg
Fix the math in LoadAvg calculation. To keep average we take away one Nth of loops and add one Nth of current cycle ration to the average.

Now the math makes more sense... maximum load average on setoption36 0/1 = 999 (as it should be)
2018-11-26 11:37:15 +02:00
Erik eda60b6124 Support sending tele/STATUS as state/RESULT 2018-11-25 21:27:19 +01:00
Theo Arends 243ec16d80 Fix another calcuation error
Fix another calcuation error
2018-11-25 17:31:53 +01:00
andrethomas 0b14a95082
Remove assumption of 100% to report correctly
Remove the assumption of 100% loop duty cycle as we want an accurate loop load average and not a percentage as such - so if it overshoots the value stored for setoption36 this should be known by looking at the load average and not be distorted by reducing it to 100 basis points on the assumption that my_acitivity took as long as setoption36.
2018-11-25 17:52:07 +02:00
Theo Arends 05be1ee21c Fix exception due to divide by 0
Fix exception due to divide by 0
2018-11-25 16:41:29 +01:00
andrethomas 7c84f892fc Add target loop delay to telemetry 2018-11-25 14:29:53 +02:00
andrethomas c22fcc2a3a
Update CPU average load function
Remove unnecessary manipulations :)
2018-11-24 19:00:42 +02:00
Theo Arends 52eeef95f0 Add CPU average load
Add CPU average load to state message (#4431)
2018-11-24 17:43:18 +01:00
Theo Arends 4700e49d70
Update sonoff.ino 2018-11-24 17:16:27 +01:00
andrethomas 0e56044eb5
Add main loop load average
Add main loop avarage duty cycle measured against setoption36 value to telemetry data as LoadAvg
2018-11-24 18:12:49 +02:00
andrethomas c436ed5d3d
Update boot delay code
Since the driver boot delay has been removed, this is a better strategy for getting a smoother boot cpu cycle vs loop delay.
2018-11-22 17:13:55 +02:00
Theo Arends d71ae77900 6.3.0.12 Change boot delays
6.3.0.12 20181122
 * Remove delays introduced in 6.3.0.11 (#4233)
 * Add additional start-up delay during initial wifi connection
 * Add support for I2C MGC3130 Electric Field Effect sensor by Christian Baars (#3774, #4404)
 * Add initial support for Hass sensor discovery (#4380)
2018-11-22 12:25:18 +01:00
Theo Arends 23c16e58a9 Housekeeping
Housekeeping
2018-11-20 15:00:24 +01:00
Theo Arends e34a1f0719 Add wifi network scan
* Add command SetOption56 0/1 to enable wifi network scan and select highest RSSI (#3173)
2018-11-19 18:07:25 +01:00