Commit Graph

155 Commits

Author SHA1 Message Date
Theo Arends 26361bd8c3 Add driver USE_SDM630_2
Add driver USE_SDM630_2 as future replacement for USE_SDM630 - Pls test and report
2019-09-15 17:06:23 +02:00
Theo Arends 657dbff570 Add support for Hiking DDS238-2 Modbus energy meter
Add support for Hiking DDS238-2 Modbus energy meter by Matteo Campanella (#6384)
2019-09-10 15:14:51 +02:00
Laurent Dong 96098e4e09 Support If in Rules
The major features of IF statement are:
 - Support IF, ELSEIF, ELSE
 - Support not only comparison but also using logical expression as condition
 - Support run multiple commands
 - Support nested IF statement
 - All the commands run by IF statement will go to the BACKLOG!
 - No limit for logical operators, parenthesis and nested IF statement. Depends on your RAM!

Extended Backus-Naur Form of IF statement:
<if-statement> ::=
IF "(" <logical-expression> ")" <statement-list> {ELSEIF "(" <logical-expression> ")" <statement-list>} [ELSE <statement-list>] ENDIF
<logical-expression> :=
<comparison-expression> |
(<comparison-expression> | <logical-expression>) {(AND | OR) <logical-expression>} |
"(" <logical-expression ")" {(AND | OR) <logical expression>}
<comparison-expression> ::=
<math-expression> ("=" | "<" | ">" | "|" | "==" | "<=" | ">=" | "!=") <math-expression>
<statement-list> ::=
<statement> {";" <statement>}
<statement> ::=
<Sonoff-Tasmota-command> | <if-statement>

In English:
If statement support 3 format:
1. IF (<condition>) <statement-list> ENDIF
2. IF (<condition>) <statement-list> ELSE <statement-list> ENDIF
3. IF (<condition>) <statement-list> [ELSEIF (<condition>) <statement-list> ]* ELSE <statement-list> ENDIF

<condition> is a logical expression which can be:
1. A comparison expression for example:
   VAR1 >= 10
2. Multiple comparison expression with logical operator "AND" or "OR" between them. "AND" has higher priority than "OR". Fox example:
   UPTIME > 100 AND MEM1 == 1 OR MEM2 == 1
3. Parenthesis can be used to change the priority of logical expression. For example:
   UPTIME > 100 AND (MEM1 == 1 OR MEM2 == 1)

<statement-list> can be:
1. A Sonoff-Tasmota command. For example:
   ledpower on
2. A IF statement ("IF .... ENDIF")
3. Multiple Sonoff-Tasmota command or IF statement split with ";". For example:
   Power1 off; Ledpower on; if (mem1 == 0) Var1 Var1+1; mem1==1 endif; Delay 10; POWER1 on
4. Do not need to lead with "BACKLOG" for multiple commands.
2019-09-09 11:24:27 -04:00
Tim Leuschner fafb837120 removed my changes to platformio&my_user_config, removed the unnessesary digitalwrites in adjustMicrosteps() 2019-09-08 17:30:17 +02:00
Tim Leuschner 4533039c9f removed my user-settings 2019-09-08 04:02:47 +02:00
Tim Leuschner 4e1480d0f0 works fine... 2019-09-08 03:28:19 +02:00
Tim Leuschner e516262904 ..to be tested 2019-09-07 21:37:01 +02:00
Tim Leuschner 5eac2dd939 Support Stepper-motors connected to A4988-stepper-driver-circuit 2019-09-07 14:03:07 +02:00
Shantur Rathore 982f0b9573 TuyaMCU: Rename Tuya Dimmer to Tuya MCU to make it more clear. 2019-09-04 17:29:45 +01:00
Theo Arends f4b5e565ef Add driver USE_SDM120_2 with Domoticz P1 Smart Meter functionality as future replacement for USE_SDM120 - Pls test and report
Add driver USE_SDM120_2 with Domoticz P1 Smart Meter functionality as future replacement for USE_SDM120 - Pls test and report (#6282)
2019-09-01 17:51:25 +02:00
Stephan Hadinger 42d3f1f677 Add Zigbee parameters 2019-08-31 21:52:51 +02:00
Stephan Hadinger fce3de82c5 Move '#include user_config_override.h' in 'my_user_config.h'.
Allow user_config_override.h to change parameters like USE_MQTT_TLS.
2019-08-31 14:44:49 +02:00
Stephan Hadinger 2d673d78ef Add 'sonoff-ir' pre-packaged IR-dedicated firmware and 'sonoff-ircustom' to customize firmware with IR Full protocol support 2019-08-30 20:41:01 +02:00
Theo Arends b363bb55a9 Add compile time define USE_WS2812_HARDWARE to select hardware type WS2812, WS2812X, WS2813, SK6812, LC8812 or APA106 (DMA mode only)
Add compile time define USE_WS2812_HARDWARE to select hardware type WS2812, WS2812X, WS2813, SK6812, LC8812 or APA106 (DMA mode only)
2019-08-30 14:35:08 +02:00
Theo Arends 48783a4772 Add define USE_WS2812_BTYPE to select different bitbang timing
Add define USE_WS2812_BTYPE to select different bitbang timing (#6292)
2019-08-29 18:03:30 +02:00
Stephan Hadinger ab5af7bf47 Add Full support of all protocols in IRremoteESP8266, to be used on dedicated-IR Tasmota version. Warning: +81k Flash when compiling with USE_IR_REMOTE_FULL 2019-08-28 22:01:01 +02:00
Theo Arends 28eb6d7661 Integrate ibeacon 2019-08-25 12:29:48 +02:00
gemu2015 3b30ba8810 ibeacon added 2019-08-24 13:20:00 +02:00
Theo Arends b6e95e818c Add new display driver defines
Add new display driver defines
2019-08-19 16:58:24 +02:00
Theo Arends 33aa430f64 Add support for RDM6300 125kHz RFID Reader by Gerhard Mutz
Add support for RDM6300 125kHz RFID Reader by Gerhard Mutz
2019-08-19 11:47:59 +02:00
Theo Arends bfad4f815f Add define USE_WEBSEND_RESPONSE
Add define USE_WEBSEND_RESPONSE
2019-08-19 10:36:42 +02:00
gemu2015 f6d22a6e4d scripter update 2019-08-19 08:20:51 +02:00
Theo Arends a85588aa3d Add support for PAJ7620 gesture sensor by Christian Baars
Add support for PAJ7620 gesture sensor by Christian Baars
2019-08-15 11:34:35 +02:00
Theo Arends 23ec00a452 Add command Buzzer
Add command Buzzer with optional parameters <number of beeps>,<duration of beep in 100mS steps>,<duration of silence in 100mS steps> enabled when a buzzer is configured (#5988)
2019-08-12 17:18:08 +02:00
Theo Arends 52a2da28ac Add function ToHex to support.ino
Add function ToHex to support.ino
2019-08-10 13:31:05 +02:00
Stephan Hadinger c9139514d0 Add ZigBee support phase 1 - low level MQTT ZNP messages for CC2530 devices 2019-08-09 22:52:33 +02:00
Theo Arends e0f08ec764 Add support for Solax X1 inverter by Pablo Zerón
Add support for Solax X1 inverter by Pablo Zerón
2019-08-09 16:42:16 +02:00
Theo Arends 27efc08d2c Add define DEBUG_TASMOTA_CORE
Add define DEBUG_TASMOTA_CORE
2019-08-08 16:24:11 +02:00
Theo Arends 7336b2807f Add debug compile features using defines DEBUG_TASMOTA_DRIVER and DEBUG_TASMOTA_SENSOR. See example in xdrv_09_timers.ino
Add debug compile features using defines DEBUG_TASMOTA_DRIVER and DEBUG_TASMOTA_SENSOR. See example in xdrv_09_timers.ino (#6186)
2019-08-08 15:17:39 +02:00
Theo Arends afb39aa680 Add support for CHIRP soil moisture sensor by Christian Baars
Add support for CHIRP soil moisture sensor by Christian Baars
2019-08-07 12:08:13 +02:00
Stephan Hadinger a50a6eff61 Change Store AWS IoT Private Key and Certificate in SPI Flash avoiding device-specific compilations 2019-08-04 19:42:21 +02:00
Theo Arends 714f938c05 Refactor energy commands
* Refactor energy commands
 * Add define USE_ENERGY_MARGIN_DETECTION to disable Energy Margin and Power Limit detection
 * Add define USE_ENERGY_POWER_LIMIT to disable Energy Power Limit detection while Energy Margin detection is active
2019-08-01 15:46:12 +02:00
Theo Arends 781cf69933 Add disable option to Width
Add option 0 to Width1 (Marker), Width2 (Second), Width3 (Minute) and Width4 (Hour) disabling display (#6152)
2019-07-31 16:59:12 +02:00
Alberto Lopez 6b4f0fd8ec Added check for USE_SPI enabled
Reset MAX31865_PTD_BIAS to 0 by default
2019-07-30 20:20:17 -03:00
Alberto Lopez bc95f11c99 Added missing #define MAX31865_PTD_BIAS lost in branch switching 2019-07-30 15:38:40 -03:00
Alberto Lopez 509b9c6dea Commented USE_SPI and USE_MAX31865 by default. Fixed bad struct member usage. 2019-07-30 12:57:08 -03:00
Alberto Lopez 60198127ba Added Adafruit MX31865 Library to Repo
Added a #define to compensate for low quality PTD probes
2019-07-29 17:54:28 -03:00
Alberto Lopez 2b4d2f5bba Added configuration variables as #defines in my_user_config.h
Code in driver changed to se new config vars.
2019-07-29 12:44:49 -03:00
Alberto Lopez 475f208cdc All code moved to new file (xsnx_47_max31865.ino)
Code streamlined. Unused code deleted.

New "Resistance" string added to i18n to report PTD reported resistance

USE_SPI enabled in my_user_config.h
2019-07-28 19:36:22 -03:00
Alberto Lopez c2ad3d8264 Initial commit
Working fine with MAX3165 and a PT100 probe.

Using a modified version of Adafruit MAX31865 library. Added a default
constructor in order to allow lazy initialization once GPIO definitions
were loaded.

Tested on a Sonoff TH PCB Board 2.1 2018-06-15 using the following GPIO
mapping:

GPIO	Orig Func	SSPI	I/O	HEADER	HEADER2	S-JACK
 15	BOOT MODE 	CLK	   O	           1
 14	            MISO	 I		         2	   TIP
  4		          MOSI   O		         3	   RING1
VCC				                1 VCC	     4	   RING3
  2	DBG BOOT 	  ~CS	   O	5 EXP-LOG
GND				                4 GND		         RING2

HEADER2 is a 4-pin .1 header glued in the middle of the PCB to connect
to several GPIO locations on the Sonoff TH PCB.

TODO: Merge with MAX31855 code.
2019-07-27 19:58:17 -03:00
Bohdan Kmit 223a9ee283 Ukrainian translation fixes 2019-07-23 23:36:28 +03:00
Theo Arends af4dd080c5 Fix possible IRSend input corruption
Fix possible IRSend input corruption
2019-07-23 10:22:14 +02:00
Stephan Hadinger 6ec634c695 Fix send IRSend for Pioneer devices (#6100) 2019-07-22 19:27:03 +02:00
Theo Arends ce13c0cf8f Add support for optional IRHVAC Midea/Komeco protocol
Add support for optional IRHVAC Midea/Komeco protocol (#3227)
2019-07-21 18:06:13 +02:00
Theo Arends 0e7cef7426 Make IRsend and IRhvac protocols optional
Make IRsend and IRhvac protocols optional
2019-07-21 16:03:20 +02:00
gajotnt 8d7ce366c9
Update my_user_config.h
Corrected the defined baudrate of the SDM120 to the correct one (2400)
2019-07-18 12:09:50 +00:00
Theo Arends d77017fd74 Add option to disable support for module Sonoff iFan at compile time
Add option to disable support for module Sonoff iFan at compile time (#6093)
2019-07-14 22:08:19 +02:00
Stephan Hadinger 51740acd8b Fix Force Elliptic Curve for Letsencrypt TLS #6042 2019-07-12 08:11:40 +02:00
Jason2866 74afa790cf
Disable TX20 wind sensor
Just disabling RC switch is NOT enough for successfull compiling with stage/core!!
2019-07-10 18:34:08 +02:00
Adrian Scillato 64123a5cd8
Disable USE_RC_SWITCH by default ...
in order to compile with latest Stage Core.

The USE_RC_SWITCH driver uses too much iram for the latest core.
2019-07-10 12:46:46 -03:00