Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add command to stop rules #4477

Closed
mkh595 opened this issue Nov 28, 2018 · 9 comments
Closed

Add command to stop rules #4477

mkh595 opened this issue Nov 28, 2018 · 9 comments
Assignees
Labels
enhancement Type - Enhancement that will be worked on fixed Result - The work on the issue has ended

Comments

@mkh595
Copy link

mkh595 commented Nov 28, 2018

Currently there is no support for IF..ELSE in the rules.

There is posibility to handle two states:
on tele-DS18B20#temperature do event temp=%value% endon on event#temp<81 do backlog power1 1; power2 1; power3 1 endon on event#temp>85 do backlog power1 0; power2 0; power3 0 endon

Can be added command e.g. STOP to stop rest of rules? This will allows to simulate IF..ELSEIF..ELSE..ENDIF and control each relay separatelly.
Example:

IF temp > 85 then
  POWER1 OFF; POWER2 OFF; POWER3 OFF;
ELSEIF temp > 83 then
  POWER1 ON; POWER2 OFF; POWER3 OFF;
ELSEIF temp > 81 then
  POWER1 ON; POWER2 ON; POWER3 OFF;
ELSE
  POWER1 ON; POWER2 ON; POWER3 ON;
ENDIF

Rule:
on tele-DS18B20#temperature do event temp=%value% endon on event#temp>85 do backlog power1 0; power2 0; power3 0; STOP endon on event#temp>83 do backlog power1 1; power2 0; power3 0; STOP endon on event#temp>81 do backlog power1 1; power2 1; power3 0; STOP endon on event#temp<81 do backlog power1 1; power2 1; power3 1 endon

Thank you

@ascillato
Copy link
Contributor

Hi,

You have 3 independent set of rules
Rule1, rule2 and rule3

You can turn on or off any set by command rule2 1 for on and rule2 0 for off

@ascillato
Copy link
Contributor

ascillato commented Nov 28, 2018

Besides that, the rule triggers are being evaluated in the same order that you wrote them, so the following rule should be working as you want, because only the first match will be executed:

on tele-DS18B20#temperature do event temp=%value% endon on event#temp>85 do backlog power1 0; power2 0; power3 0 endon on event#temp>83 do backlog power1 1; power2 0; power3 0 endon on event#temp>81 do backlog power1 1; power2 1; power3 0 endon on event#temp=81 do backlog power1 1; power2 1; power3 1 endon on event#temp<81 do backlog power1 1; power2 1; power3 1 endon

@andrethomas2 andrethomas2 added the question Type - Asking for Information label Nov 28, 2018
@andrethomas2
Copy link
Collaborator

Closing this issue as it has been answered.

Support Information

See Wiki for more information.
See Chat for more user experience.

@mkh595
Copy link
Author

mkh595 commented Nov 28, 2018

You can turn on or off any set by command rule2 1 for on and rule2 0 for off

Two rules are already occupied because temperature levels are calculated by ADD or SUB in rule from temperature set by HA. Therefore I can turn On/Off only one rule. In example were temperatures hardcoded.

Besides that, the rule triggers are being evaluated in the same order that you wrote them, so the following rule should be working as you want, because only the first match will be executed:

This unfortunately doesn't work. If all conditions are fulfilled then all are executed. That's why I asked for STOP to trigger only first which match

on event#temp>30 do backlog power1 0; power2 0; power3 0; STOP endon on event#temp>27 do backlog power1 1; power2 0; power3 0 endon on event#temp>24 do backlog power1 1; power2 1; power3 0 endon on event#temp<20 do backlog power1 1; power2 1; power3 1 endon
22:44:11 MQT: tele/home207/SENSOR = {"Time":"2018-11-28T22:44:11","DS18B20":{"Temperature":30.5},"TempUnit":"C"}
22:44:11 RUL: TELE-DS18B20#TEMPERATURE performs "backlog backlog var1 30.5; event check=1"
22:44:12 MQT: stat/home207/RESULT = {"Var1":"30.5"}
22:44:12 MQT: stat/home207/RESULT = {"Event":"Done"}
22:44:12 RUL: EVENT#CHECK=1 performs "backlog event temp=30.5"
22:44:12 MQT: stat/home207/RESULT = {"Event":"Done"}
22:44:12 RUL: EVENT#TEMP>30 performs "backlog power1 0; power2 0; power3 0; STOP"
22:44:12 RUL: EVENT#TEMP>27 performs "backlog power1 1; power2 0; power3 0; STOP"
22:44:12 RUL: EVENT#TEMP>24 performs "backlog power1 1; power2 1; power3 0; STOP"
22:44:13 MQT: stat/home207/RESULT = {"POWER1":"OFF"}
22:44:13 MQT: stat/home207/POWER1 = OFF
22:44:13 MQT: stat/home207/RESULT = {"POWER2":"OFF"}
22:44:13 MQT: stat/home207/POWER2 = OFF
22:44:13 MQT: stat/home207/RESULT = {"POWER3":"OFF"}
22:44:13 MQT: stat/home207/POWER3 = OFF
22:44:14 MQT: stat/home207/RESULT = {"POWER1":"ON"}
22:44:14 MQT: stat/home207/POWER1 = ON
22:44:14 MQT: stat/home207/RESULT = {"POWER2":"OFF"}
22:44:14 MQT: stat/home207/POWER2 = OFF
22:44:14 MQT: stat/home207/RESULT = {"POWER3":"OFF"}
22:44:15 MQT: stat/home207/POWER3 = OFF
22:44:15 MQT: stat/home207/RESULT = {"POWER1":"ON"}
22:44:15 MQT: stat/home207/POWER1 = ON
22:44:16 MQT: stat/home207/RESULT = {"POWER2":"ON"}
22:44:16 MQT: stat/home207/POWER2 = ON
22:44:16 MQT: stat/home207/RESULT = {"POWER3":"OFF"}
22:44:16 MQT: stat/home207/POWER3 = OFF

@ascillato
Copy link
Contributor

ascillato commented Nov 28, 2018

Hi,

I'm sorry. I had the concept wrong from some other tests I was doing.

You are right, testing this type of cases will perform as you said. Testing with a simplified rule:

rule1
on event#temp>85 do VAR1 more85 endon
on event#temp>83 do VAR1 more83 endon
on event#temp>81 do VAR1 more81 endon
on event#temp=81 do VAR1 equal81 endon
on event#temp<81 do VAR1 less81 endon

I have this output in the console :

19:43:18 CMD: rule
19:43:18 MQT: stat/living/RESULT = {"Rule1":"ON","Once":"ON","StopOnError":"OFF","Free":322,"Rules":"on event#temp>85 do VAR1 more85 endon on event#temp>83 do VAR1 more83 endon on event#temp>81 do VAR1 more81 endon on event#temp=81 do VAR1 equal81 endon on event#temp<81 do VAR1 less81 endon"}

19:43:24 CMD: event temp=10
19:43:24 MQT: stat/living/RESULT = {"Event":"Done"}
19:43:24 RUL: EVENT#TEMP<81 performs "VAR1 less81"
19:43:24 MQT: stat/living/RESULT = {"Var1":"less81"}

19:43:36 CMD: event temp=100
19:43:36 MQT: stat/living/RESULT = {"Event":"Done"}
19:43:36 RUL: EVENT#TEMP>85 performs "VAR1 more85"
19:43:36 MQT: stat/living/RESULT = {"Var1":"more85"}
19:43:36 RUL: EVENT#TEMP>83 performs "VAR1 more83"
19:43:36 MQT: stat/living/RESULT = {"Var1":"more83"}
19:43:36 RUL: EVENT#TEMP>81 performs "VAR1 more81"
19:43:36 MQT: stat/living/RESULT = {"Var1":"more81"}

So, your idea of a kind of STOP command is appropiate for these type of cases. Thanks for share your ideas.

Working on that...

@ascillato2 ascillato2 added enhancement Type - Enhancement that will be worked on work in progress Action - Work in progress and removed question Type - Asking for Information labels Nov 28, 2018
@ascillato2 ascillato2 reopened this Nov 28, 2018
@ascillato
Copy link
Contributor

ascillato commented Nov 29, 2018

Another idea,

To use the command STOP, you will need all the time to use also the BACKLOG command

So, the actual rule syntax is

ON [TRIGGER]=[CONDITION] DO [COMMANDS] ENDON

IDEA 1 - Using the proposed STOP, an alternative rule syntax could be:

ON [TRIGGER]=[CONDITION] DO BACKLOG [COMMAND1]; [COMMAND2]; STOP ENDON

IDEA 2 - So, another alternative rule syntax also could be:

ON [TRIGGER]=[CONDITION] DO [COMMANDS] BREAK

So, when there is a set of rules, the first trigger that matches will execute the commands and then stop the execution of the rest of the rules that continues in the set.

This should allows to simulate IF..ELSEIF..ELSE..ENDIF
Example:

IF temp > 85 then
  VAR1 more85
ELSEIF temp > 83 then
  VAR1 more83
ELSEIF temp > 81 then
  VAR1 more81
ELSEIF temp = 81 then
  VAR1 equal81
ELSE
  VAR1 less81
ENDIF

IDEA 1 - Rules with STOP command:

on event#temp>85 do backlog VAR1 more85; stop endon
on event#temp>83 do backlog VAR1 more83; stop endon
on event#temp>81 do VAR1 more81 endon
on event#temp=81 do VAR1 equal81 endon
on event#temp<81 do VAR1 less81 endon

IDEA 2 - Rules with break ending:

on event#temp>85 do VAR1 more85 break
on event#temp>83 do VAR1 more83 break
on event#temp>81 do VAR1 more81 endon
on event#temp=81 do VAR1 equal81 endon
on event#temp<81 do VAR1 less81 endon

So, what do you think?

@mkh595
Copy link
Author

mkh595 commented Nov 29, 2018

Doesn't matter if STOP or BREAK.
Doesn't matter if with BACKLOG or without.
As I am working with more relays I have to use BACKLOG anyway do backlog power1 1; power2 0; power3 0 endon
But if BREAK will be recognize as internal rules command like ON or ENDON then BACKLOG for one command will be not necessary and can save few characters in rule.

Implement what will be easiest DO .... STOP ENDON or DO....BREAK

Thank you

@ascillato2 ascillato2 self-assigned this Dec 1, 2018
ascillato added a commit to ascillato/Tasmota_KNX that referenced this issue Dec 1, 2018
RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477
@ascillato
Copy link
Contributor

Proposed PR #4500

Now, if you use BREAK instead of ENDON, if that rule is triggered, the following rules in that rule set will not be executed.

Now, doing the example:

rule
on event#temp>85 do VAR1 more85 break
on event#temp>83 do VAR1 more83 break
on event#temp>81 do VAR1 more81 endon
on event#temp=81 do VAR1 equal81 endon
on event#temp<81 do VAR1 less81 endon

you have the following output:

18:00:17 CMD: rule
18:00:17 RSL: RESULT = {"Rule1":"ON","Once":"OFF","StopOnError":"OFF","Free":321,"Rules":"on event#temp>85 do VAR1 more85 break on event#temp>83 do VAR1 more83 break on event#temp>81 do VAR1 more81 endon on event#temp=81 do VAR1 equal81 endon on event#temp<81 do VAR1 less81 endon"}

18:00:25 CMD: event temp=10
18:00:25 RSL: RESULT = {"Event":"Done"}
18:00:25 RUL: EVENT#TEMP<81 performs "VAR1 less81"
18:00:25 RSL: RESULT = {"Var1":"less81"}

18:00:36 CMD: event temp=100
18:00:36 RSL: RESULT = {"Event":"Done"}
18:00:36 RUL: EVENT#TEMP>85 performs "VAR1 more85"
18:00:36 RSL: RESULT = {"Var1":"more85"}

18:01:05 CMD: event temp=83
18:01:05 RSL: RESULT = {"Event":"Done"}
18:01:05 RUL: EVENT#TEMP>81 performs "VAR1 more81"
18:01:05 RSL: RESULT = {"Var1":"more81"}

@ascillato2 ascillato2 added fixed Result - The work on the issue has ended and removed work in progress Action - Work in progress labels Dec 1, 2018
@mkh595
Copy link
Author

mkh595 commented Dec 3, 2018

I tested with 6.3.0.15 and it works.

Thank you

wienerdogracing added a commit to wienerdogracing/Sonoff-Tasmota that referenced this issue Dec 31, 2018
* PS_16_DZ: GPIO13 => LED1

* PS_16_DZ: cleanup code

* Add Command CalcRes

* Update settings.ino

* Update decode-config.py

* Add SetOption59 info

Add SetOption59 info

* decode-config.py: add 6.3.0.11 to .14 settings

* Add dynamic buffer space

Make serial buffer space reservation dynamic

* Add dynamic buffer space

Add dynamic buffer space

* Fix dynamic buffer handling

Fix dynamic buffer handling

* Move static to dynamic buffers

 * Add support for SM Smart Wifi Dimmer PS-16-DZ (arendst#4465)
 * Move some static (serial) buffers to dynamic buffers

* Prep for Software SPI

Prep for Software SPI used by some displays

* PS_16_DZ: only update brightness if it actually changed

* PS_16_DZ: reduce buffer-size and actually check for overflow

* PS_16_DZ: optimize for size

* PS_16_DZ: further optimization

* PS_16_DZ: leave space for trailing 0-byte

* Hass: Restart if topic is changed

* PS_16_DZ: cleanup

* Fix possible overflow situation

Fix possible overflow situation

* Small improvements to Hass MQTT discovery

* Add support for Teckin US

Add support for Teckin US Wifi Smart Switch with Energy Monitoring (arendst#4481)

* Update display and epaper drivers

Update display and epaper drivers

* switch to using NewPing lib directly for sr04
add NewPing-1.9.1 lib

* Housekeeping

* Upd settings.ino - set sleep=0 when SetOption36>0

Update settings.ino - set sleep=0 when SetOption36>0

* Prevent sleep and SetOption36 being used concurrently

Prevent sleep and SetOption36 being used concurrently

* Fix sleep->SetOption36 transition

* Update fr-FR.h

Synced with changes since  v6.2.1.7

* Merge sleep command

* Bump version to 0x0603000F

Bump version to 0x0603000F to make sure new sleep command takes effect on 50 as default for upgrades where sleep is < 50.

* Update support_wifi.ino

* 6.3.0.15 Update dynamic sleep

6.3.0.15 20181201
 * Removed command SetOption36 (arendst#4497)
 * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (arendst#4497)

* Update with dynamic sleep flag

* Added Support for ButtonN and SwitchN

* RULES: Added BREAK as an alternative ENDON

RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477

* Update xsns_22_sr04.ino

* RULES: Added BREAK as an alternative ENDON

* Delete duplicated min and max functions

* Update README.md

* Update _changelog.ino

* Further improve Hass auto discovery

* 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.

* decode-config.py: add new settings

- add 6.3.0.15 setting change
- adapt 6.3.0.13 setting change

* Add GPIO2 for Sonoff Basic Template

Add GPIO2 for Sonoff Basic Template

* Add support for GPIO02 for newer Sonoff Basic

Add support for GPIO02 for newer Sonoff Basic

* Fix Compilation issue with STAGE Core

Now the Stage core has the the same STR macro defined in sonoff.h.

* Create RF-Bridge-EFM8BB1-20181127.hex

ignore RF pulses < 100µs, increased uart RX buffer
-> stopp red led flashing

* Announce switches

* Final fix compile error (arendst#4509)

Final fix soft_spi_flg compile error (arendst#4509)

* Fix logic for ON/OFF vs TOGGLE

* Initial translation to Swedish

* Added Key to select Swedish Translation

* Added Swedish to Precompiled bins

* Added missing "

* Matched the order of days with Tasmota Timers

* Update platformio.ini

Support for enable / disable exceptions code in firmware for esp8266 core 2.5.0 (stage) or up

* localization for Polish - KNX, timers, etc.

* Add Domoticz Selector for Fanspeed

Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)

* Update sonoff.ino

* 6.3.0.16 - Bump version

6.3.0.16 20181201
 * Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)
 * Add Announce Switches to MQTT Discovery (arendst#4531)

* Fix Domoticz Fanspeed

Fix Domoticz Fanspeed

* MCP230xx - Add Interrupt Retain

* MCP230xx driver - add interrupt retention

MCP230xx driver - add interrupt retention over teleperiod.

* Fix HASS discovery of switches

* Announce RGBW light, add 'White' command

* Enabled forced local operation when button- or switchtopic is set

* Update Hass discovery

* v2.1.0012
decode-config.py: add new settings

- add 6.3.0.16 setting change

* decode-config.py: add new settings

- add 6.3.0.16 setting change

* Fix reversed logic when announcing buttons / switches

* add DMP mode to MPU-6050

* fix compile issue on ESP8266

* Clean and shrink lights

Clean and shrink lights

* Add support for device registry

* Update my_user_config.h

* Fix Warning in Platformio if building MPU and KNX together

* USE_MPU6050_DMP moved to my_user_config.h

* USE_MPU6050_DMP moved to my_user_config.h

* Corrected Domoticz Temp published from MPU6050

* decode-config.py: add new settings

- add SetOption61 from PR arendst#4562

* Update my_user_config.h

* Fix language file

Fix language file

* 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 (arendst#3610)
 * Enhance support for MPU6050 using DMP (arendst#4581)

* add manzuko "power strip"

* Add more support

 * Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
 * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver
 * Add support for Manzoku Power Strip (arendst#4590)

* Updated Spanish Translation

* Update de-DE.h

* More tweak of Hass switch/button

* Update fr-FR.h

Added SDM220  new strings

* Update fr-FR.h

SDM220 strings  reworked to fit in the space available

* initial work on range-support

* mqtt messages updated

* Publish state message when changing effect

* decode-config.py: Fix `@v` filename template (arendst#4609)

- fix restore filename auto extension

* add debug code to show final command sequence

* correcting memcpy calls

* Add TheoV2 sensor source

Add TheoV2 sensor source and information used with Rf Sensor

* Add LwIP 2 no features (Low Flash)

* Fix ArduinoOTA for Core 2.5.0 (fix is backwards compatible)

arendst#4619

* Fix ArduinoOTA for Core 2.5.0

Fix ArduinoOTA for Core 2.5.0

* Fix HomeAssistant Temp Sensor AutoDiscovery

arendst#4627

* New 2.5.0-2 toolchain does not like uncast bitwise

The new toolchain (2.5.0-2) used from core 2.5.0 does not want bitwise operations to be performed on non-integer variables so we cast the double used in send_2byte_float() to a (long) as it should be.

* Fix NewPing-1.9.1 library.properties

Fix NewPing-1.9.1 library.properties to avoid compiler warning about possibly not supporting ESP8266 whereas we know now that it does. This causes the compiler warning (which may alarm some users unnecessarily) that NewPing claims to run on avr and stm32.

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for merge

* 6.4.0.1 New dev release

* Removing duplicate entrys

Options for core 2.5.0 where duplicated

* Update README.md

* Create boards.txt

* Create platform.txt

* No exceptions

* it-IT language updated

* option for firmware directory added

* Ease selecting core versions

Ease selecting core versions by grouping core parameters together. Select core version in group [core_active]

* webserver: swap index and name in module configuration

* Tune driver RF Sensor

- Free memory when driver RF Sensor is compiled but not used.
- Fix possible buffer overflow exceptions
- Add rule and hardware info to source

* introduce new api-call for dimmer-devices

* SerialLog: output CR + LF instead of just LF

* Update linker files

Update linker files to released linker files for coe 2.4.2 and up

* Add sk-SK language

* Update bg-BG.h

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Revert platformio.ini and my_user_config to original version,
adding line for new sensor but leaving it commented out.

* Include changes from original into sonoff/language/bg-BG.h

* Updated from originals: platformio.ini, sonoff/my_user_config.h.

* Revert to original RELEASENOTES.md.

* Add void to functions without parameters

* Fix temperature conversion

Fix temperature conversion to still use ConvertTemp() even if meter sends the value in F

* Add support for AZ-Instrument 7798 CO2

Add support for AZ-Instrument 7798 CO2 meter/datalogger

* pressure unit of measure reporting

Added a dedicated pressure sensor management to report back as pressure sensor and not fallback as a generic sensor in HA autodiscovery process

* add missing units of measurements for energy

* removed some errors from copy pasting..

* add empty unit of measurement for any sensors

* Added option for checking mqtt tls against root ca

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Change RAM usage BMP/BME

Change RAM usage BMP/BME I2C sensors

* Update Arduino IDE core 2.5.0 files

Update Arduino IDE core 2.5.0 files

* Fix wifi strongest signal detection

Fix wifi strongest signal detection (arendst#4704)

* 6.4.0.2 Fix possible dtostrf bos

6.4.0.2 20181221
 * Fix possible dtostrf buffer overflows by increasing buffers

* Still need patched PWM for core 2.5.0

Still need patched PWM for core 2.5.0

* Check for core version when enabling tls ca cert

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Check for core version when enabling tls ca cert, changed names of defines

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Remove SetOption55 (hass_short_discovery_msg)

* Rename HASS discovery string constants

* Remove Alexa message "this value is outside the range of the device"

* 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 (arendst#4711)
 * Change FallbackTopic detection (arendst#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 (arendst#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (arendst#3159, arendst#4712)

* Add optional TLS_CA_CERT

Add define USE_MQTT_TLS_CA_CERT for checking MQTT TLS against root ca using Let's Encrypt cert from sonoff_letsencrypt.h - not supported with core 2.3.0 (arendst#4703)

* decode-config.py: adapt settings change

- remove SetOption55 (hass_short_discovery_msg)

* Change FallbackTopic

Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (arendst#1528)

* PS_16_DZ: fix broken if-statement

* Change MQTT GUI password handling

Change MQTT GUI password handling (arendst#4723)

* Release 6.4.1

* 6.4.1.1 Fix most compiler warnings

6.4.1.1 20181224
 * Fix most compiler warnings

* Fix compiler warning

Fix compiler warning

* Change switch debounce

Change switch input detection by optimizing switch debounce (arendst#4724)

* Add INPUT_PULLUP option for single DS18B20

* Add variable %timestamp% to be used in rules

This PR adds a new variable %timestamp% to be used in a rule to allow the user to include the Time Stamp as Tasmota has for Status, Sensors, etc, for example:

Command:

publish stat/topic/sensor {"Time":"%timestamp%","mysensor":"%var1%"}

Output:

{"Time":"2018-12-27T12:52:57","mysensor":"1"}

(arendst#4734)

* 6.4.1.2 Rewrite Switch driver

6.4.1.2 20181228
 * Change switch driver making it modular and introduce input filter (arendst#4665, arendst#4724)
 * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (arendst#4738)
 * Add variable %timestamp% to rules (arendst#4749)

* Update platformio.ini with stage

Update platformio.ini with latest stage option

* Prep for template tuning

* 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

* Fix Typo in Spanish Translation

* Fix MGC3130/AZ7798 compile error

* Add debugging options to Switch

Add more debugging options to Switch using SwitchDebounce

* Fix DS3231 driver

Fix DS3231 driver breaking function chain (arendst#4759)

* Disable unused feature

* Revert "Disable unused feature"

This reverts commit 8fe61f6.

* Add test for result usage

* Add tests for result
wienerdogracing added a commit to wienerdogracing/Sonoff-Tasmota that referenced this issue Dec 31, 2018
* PS_16_DZ: GPIO13 => LED1

* PS_16_DZ: cleanup code

* Add Command CalcRes

* Update settings.ino

* Update decode-config.py

* Add SetOption59 info

Add SetOption59 info

* decode-config.py: add 6.3.0.11 to .14 settings

* Add dynamic buffer space

Make serial buffer space reservation dynamic

* Add dynamic buffer space

Add dynamic buffer space

* Fix dynamic buffer handling

Fix dynamic buffer handling

* Move static to dynamic buffers

 * Add support for SM Smart Wifi Dimmer PS-16-DZ (arendst#4465)
 * Move some static (serial) buffers to dynamic buffers

* Prep for Software SPI

Prep for Software SPI used by some displays

* PS_16_DZ: only update brightness if it actually changed

* PS_16_DZ: reduce buffer-size and actually check for overflow

* PS_16_DZ: optimize for size

* PS_16_DZ: further optimization

* PS_16_DZ: leave space for trailing 0-byte

* Hass: Restart if topic is changed

* PS_16_DZ: cleanup

* Fix possible overflow situation

Fix possible overflow situation

* Small improvements to Hass MQTT discovery

* Add support for Teckin US

Add support for Teckin US Wifi Smart Switch with Energy Monitoring (arendst#4481)

* Update display and epaper drivers

Update display and epaper drivers

* switch to using NewPing lib directly for sr04
add NewPing-1.9.1 lib

* Housekeeping

* Upd settings.ino - set sleep=0 when SetOption36>0

Update settings.ino - set sleep=0 when SetOption36>0

* Prevent sleep and SetOption36 being used concurrently

Prevent sleep and SetOption36 being used concurrently

* Fix sleep->SetOption36 transition

* Update fr-FR.h

Synced with changes since  v6.2.1.7

* Merge sleep command

* Bump version to 0x0603000F

Bump version to 0x0603000F to make sure new sleep command takes effect on 50 as default for upgrades where sleep is < 50.

* Update support_wifi.ino

* 6.3.0.15 Update dynamic sleep

6.3.0.15 20181201
 * Removed command SetOption36 (arendst#4497)
 * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (arendst#4497)

* Update with dynamic sleep flag

* Added Support for ButtonN and SwitchN

* RULES: Added BREAK as an alternative ENDON

RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477

* Update xsns_22_sr04.ino

* RULES: Added BREAK as an alternative ENDON

* Delete duplicated min and max functions

* Update README.md

* Update _changelog.ino

* Further improve Hass auto discovery

* 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.

* decode-config.py: add new settings

- add 6.3.0.15 setting change
- adapt 6.3.0.13 setting change

* Add GPIO2 for Sonoff Basic Template

Add GPIO2 for Sonoff Basic Template

* Add support for GPIO02 for newer Sonoff Basic

Add support for GPIO02 for newer Sonoff Basic

* Fix Compilation issue with STAGE Core

Now the Stage core has the the same STR macro defined in sonoff.h.

* Create RF-Bridge-EFM8BB1-20181127.hex

ignore RF pulses < 100µs, increased uart RX buffer
-> stopp red led flashing

* Announce switches

* Final fix compile error (arendst#4509)

Final fix soft_spi_flg compile error (arendst#4509)

* Fix logic for ON/OFF vs TOGGLE

* Initial translation to Swedish

* Added Key to select Swedish Translation

* Added Swedish to Precompiled bins

* Added missing "

* Matched the order of days with Tasmota Timers

* Update platformio.ini

Support for enable / disable exceptions code in firmware for esp8266 core 2.5.0 (stage) or up

* localization for Polish - KNX, timers, etc.

* Add Domoticz Selector for Fanspeed

Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)

* Update sonoff.ino

* 6.3.0.16 - Bump version

6.3.0.16 20181201
 * Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)
 * Add Announce Switches to MQTT Discovery (arendst#4531)

* Fix Domoticz Fanspeed

Fix Domoticz Fanspeed

* MCP230xx - Add Interrupt Retain

* MCP230xx driver - add interrupt retention

MCP230xx driver - add interrupt retention over teleperiod.

* Fix HASS discovery of switches

* Announce RGBW light, add 'White' command

* Enabled forced local operation when button- or switchtopic is set

* Update Hass discovery

* v2.1.0012
decode-config.py: add new settings

- add 6.3.0.16 setting change

* decode-config.py: add new settings

- add 6.3.0.16 setting change

* Fix reversed logic when announcing buttons / switches

* add DMP mode to MPU-6050

* fix compile issue on ESP8266

* Clean and shrink lights

Clean and shrink lights

* Add support for device registry

* Update my_user_config.h

* Fix Warning in Platformio if building MPU and KNX together

* USE_MPU6050_DMP moved to my_user_config.h

* USE_MPU6050_DMP moved to my_user_config.h

* Corrected Domoticz Temp published from MPU6050

* decode-config.py: add new settings

- add SetOption61 from PR arendst#4562

* Update my_user_config.h

* Fix language file

Fix language file

* 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 (arendst#3610)
 * Enhance support for MPU6050 using DMP (arendst#4581)

* add manzuko "power strip"

* Add more support

 * Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
 * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver
 * Add support for Manzoku Power Strip (arendst#4590)

* Updated Spanish Translation

* Update de-DE.h

* More tweak of Hass switch/button

* Update fr-FR.h

Added SDM220  new strings

* Update fr-FR.h

SDM220 strings  reworked to fit in the space available

* initial work on range-support

* mqtt messages updated

* Publish state message when changing effect

* decode-config.py: Fix `@v` filename template (arendst#4609)

- fix restore filename auto extension

* add debug code to show final command sequence

* correcting memcpy calls

* Add TheoV2 sensor source

Add TheoV2 sensor source and information used with Rf Sensor

* Add LwIP 2 no features (Low Flash)

* Fix ArduinoOTA for Core 2.5.0 (fix is backwards compatible)

arendst#4619

* Fix ArduinoOTA for Core 2.5.0

Fix ArduinoOTA for Core 2.5.0

* Fix HomeAssistant Temp Sensor AutoDiscovery

arendst#4627

* New 2.5.0-2 toolchain does not like uncast bitwise

The new toolchain (2.5.0-2) used from core 2.5.0 does not want bitwise operations to be performed on non-integer variables so we cast the double used in send_2byte_float() to a (long) as it should be.

* Fix NewPing-1.9.1 library.properties

Fix NewPing-1.9.1 library.properties to avoid compiler warning about possibly not supporting ESP8266 whereas we know now that it does. This causes the compiler warning (which may alarm some users unnecessarily) that NewPing claims to run on avr and stm32.

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for merge

* 6.4.0.1 New dev release

* Removing duplicate entrys

Options for core 2.5.0 where duplicated

* Update README.md

* Create boards.txt

* Create platform.txt

* No exceptions

* it-IT language updated

* option for firmware directory added

* Ease selecting core versions

Ease selecting core versions by grouping core parameters together. Select core version in group [core_active]

* webserver: swap index and name in module configuration

* Tune driver RF Sensor

- Free memory when driver RF Sensor is compiled but not used.
- Fix possible buffer overflow exceptions
- Add rule and hardware info to source

* introduce new api-call for dimmer-devices

* SerialLog: output CR + LF instead of just LF

* Update linker files

Update linker files to released linker files for coe 2.4.2 and up

* Add sk-SK language

* Update bg-BG.h

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Revert platformio.ini and my_user_config to original version,
adding line for new sensor but leaving it commented out.

* Include changes from original into sonoff/language/bg-BG.h

* Updated from originals: platformio.ini, sonoff/my_user_config.h.

* Revert to original RELEASENOTES.md.

* Add void to functions without parameters

* Fix temperature conversion

Fix temperature conversion to still use ConvertTemp() even if meter sends the value in F

* Add support for AZ-Instrument 7798 CO2

Add support for AZ-Instrument 7798 CO2 meter/datalogger

* pressure unit of measure reporting

Added a dedicated pressure sensor management to report back as pressure sensor and not fallback as a generic sensor in HA autodiscovery process

* add missing units of measurements for energy

* removed some errors from copy pasting..

* add empty unit of measurement for any sensors

* Added option for checking mqtt tls against root ca

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Change RAM usage BMP/BME

Change RAM usage BMP/BME I2C sensors

* Update Arduino IDE core 2.5.0 files

Update Arduino IDE core 2.5.0 files

* Fix wifi strongest signal detection

Fix wifi strongest signal detection (arendst#4704)

* 6.4.0.2 Fix possible dtostrf bos

6.4.0.2 20181221
 * Fix possible dtostrf buffer overflows by increasing buffers

* Still need patched PWM for core 2.5.0

Still need patched PWM for core 2.5.0

* Check for core version when enabling tls ca cert

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Check for core version when enabling tls ca cert, changed names of defines

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Remove SetOption55 (hass_short_discovery_msg)

* Rename HASS discovery string constants

* Remove Alexa message "this value is outside the range of the device"

* 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 (arendst#4711)
 * Change FallbackTopic detection (arendst#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 (arendst#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (arendst#3159, arendst#4712)

* Add optional TLS_CA_CERT

Add define USE_MQTT_TLS_CA_CERT for checking MQTT TLS against root ca using Let's Encrypt cert from sonoff_letsencrypt.h - not supported with core 2.3.0 (arendst#4703)

* decode-config.py: adapt settings change

- remove SetOption55 (hass_short_discovery_msg)

* Change FallbackTopic

Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (arendst#1528)

* PS_16_DZ: fix broken if-statement

* Change MQTT GUI password handling

Change MQTT GUI password handling (arendst#4723)

* Release 6.4.1

* 6.4.1.1 Fix most compiler warnings

6.4.1.1 20181224
 * Fix most compiler warnings

* Fix compiler warning

Fix compiler warning

* Change switch debounce

Change switch input detection by optimizing switch debounce (arendst#4724)

* Add INPUT_PULLUP option for single DS18B20

* Add variable %timestamp% to be used in rules

This PR adds a new variable %timestamp% to be used in a rule to allow the user to include the Time Stamp as Tasmota has for Status, Sensors, etc, for example:

Command:

publish stat/topic/sensor {"Time":"%timestamp%","mysensor":"%var1%"}

Output:

{"Time":"2018-12-27T12:52:57","mysensor":"1"}

(arendst#4734)

* 6.4.1.2 Rewrite Switch driver

6.4.1.2 20181228
 * Change switch driver making it modular and introduce input filter (arendst#4665, arendst#4724)
 * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (arendst#4738)
 * Add variable %timestamp% to rules (arendst#4749)

* Update platformio.ini with stage

Update platformio.ini with latest stage option

* Prep for template tuning

* 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

* Fix Typo in Spanish Translation

* Fix MGC3130/AZ7798 compile error

* Add debugging options to Switch

Add more debugging options to Switch using SwitchDebounce

* Fix DS3231 driver

Fix DS3231 driver breaking function chain (arendst#4759)

* Disable unused feature

* Revert "Disable unused feature"

This reverts commit 8fe61f6.

* Add test for result usage

* Add tests for result
wienerdogracing added a commit to wienerdogracing/Sonoff-Tasmota that referenced this issue Dec 31, 2018
* PS_16_DZ: GPIO13 => LED1

* PS_16_DZ: cleanup code

* Add Command CalcRes

* Update settings.ino

* Update decode-config.py

* Add SetOption59 info

Add SetOption59 info

* decode-config.py: add 6.3.0.11 to .14 settings

* Add dynamic buffer space

Make serial buffer space reservation dynamic

* Add dynamic buffer space

Add dynamic buffer space

* Fix dynamic buffer handling

Fix dynamic buffer handling

* Move static to dynamic buffers

 * Add support for SM Smart Wifi Dimmer PS-16-DZ (arendst#4465)
 * Move some static (serial) buffers to dynamic buffers

* Prep for Software SPI

Prep for Software SPI used by some displays

* PS_16_DZ: only update brightness if it actually changed

* PS_16_DZ: reduce buffer-size and actually check for overflow

* PS_16_DZ: optimize for size

* PS_16_DZ: further optimization

* PS_16_DZ: leave space for trailing 0-byte

* Hass: Restart if topic is changed

* PS_16_DZ: cleanup

* Fix possible overflow situation

Fix possible overflow situation

* Small improvements to Hass MQTT discovery

* Add support for Teckin US

Add support for Teckin US Wifi Smart Switch with Energy Monitoring (arendst#4481)

* Update display and epaper drivers

Update display and epaper drivers

* switch to using NewPing lib directly for sr04
add NewPing-1.9.1 lib

* Housekeeping

* Upd settings.ino - set sleep=0 when SetOption36>0

Update settings.ino - set sleep=0 when SetOption36>0

* Prevent sleep and SetOption36 being used concurrently

Prevent sleep and SetOption36 being used concurrently

* Fix sleep->SetOption36 transition

* Update fr-FR.h

Synced with changes since  v6.2.1.7

* Merge sleep command

* Bump version to 0x0603000F

Bump version to 0x0603000F to make sure new sleep command takes effect on 50 as default for upgrades where sleep is < 50.

* Update support_wifi.ino

* 6.3.0.15 Update dynamic sleep

6.3.0.15 20181201
 * Removed command SetOption36 (arendst#4497)
 * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (arendst#4497)

* Update with dynamic sleep flag

* Added Support for ButtonN and SwitchN

* RULES: Added BREAK as an alternative ENDON

RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477

* Update xsns_22_sr04.ino

* RULES: Added BREAK as an alternative ENDON

* Delete duplicated min and max functions

* Update README.md

* Update _changelog.ino

* Further improve Hass auto discovery

* 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.

* decode-config.py: add new settings

- add 6.3.0.15 setting change
- adapt 6.3.0.13 setting change

* Add GPIO2 for Sonoff Basic Template

Add GPIO2 for Sonoff Basic Template

* Add support for GPIO02 for newer Sonoff Basic

Add support for GPIO02 for newer Sonoff Basic

* Fix Compilation issue with STAGE Core

Now the Stage core has the the same STR macro defined in sonoff.h.

* Create RF-Bridge-EFM8BB1-20181127.hex

ignore RF pulses < 100µs, increased uart RX buffer
-> stopp red led flashing

* Announce switches

* Final fix compile error (arendst#4509)

Final fix soft_spi_flg compile error (arendst#4509)

* Fix logic for ON/OFF vs TOGGLE

* Initial translation to Swedish

* Added Key to select Swedish Translation

* Added Swedish to Precompiled bins

* Added missing "

* Matched the order of days with Tasmota Timers

* Update platformio.ini

Support for enable / disable exceptions code in firmware for esp8266 core 2.5.0 (stage) or up

* localization for Polish - KNX, timers, etc.

* Add Domoticz Selector for Fanspeed

Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)

* Update sonoff.ino

* 6.3.0.16 - Bump version

6.3.0.16 20181201
 * Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)
 * Add Announce Switches to MQTT Discovery (arendst#4531)

* Fix Domoticz Fanspeed

Fix Domoticz Fanspeed

* MCP230xx - Add Interrupt Retain

* MCP230xx driver - add interrupt retention

MCP230xx driver - add interrupt retention over teleperiod.

* Fix HASS discovery of switches

* Announce RGBW light, add 'White' command

* Enabled forced local operation when button- or switchtopic is set

* Update Hass discovery

* v2.1.0012
decode-config.py: add new settings

- add 6.3.0.16 setting change

* decode-config.py: add new settings

- add 6.3.0.16 setting change

* Fix reversed logic when announcing buttons / switches

* add DMP mode to MPU-6050

* fix compile issue on ESP8266

* Clean and shrink lights

Clean and shrink lights

* Add support for device registry

* Update my_user_config.h

* Fix Warning in Platformio if building MPU and KNX together

* USE_MPU6050_DMP moved to my_user_config.h

* USE_MPU6050_DMP moved to my_user_config.h

* Corrected Domoticz Temp published from MPU6050

* decode-config.py: add new settings

- add SetOption61 from PR arendst#4562

* Update my_user_config.h

* Fix language file

Fix language file

* 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 (arendst#3610)
 * Enhance support for MPU6050 using DMP (arendst#4581)

* add manzuko "power strip"

* Add more support

 * Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
 * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver
 * Add support for Manzoku Power Strip (arendst#4590)

* Updated Spanish Translation

* Update de-DE.h

* More tweak of Hass switch/button

* Update fr-FR.h

Added SDM220  new strings

* Update fr-FR.h

SDM220 strings  reworked to fit in the space available

* initial work on range-support

* mqtt messages updated

* Publish state message when changing effect

* decode-config.py: Fix `@v` filename template (arendst#4609)

- fix restore filename auto extension

* add debug code to show final command sequence

* correcting memcpy calls

* Add TheoV2 sensor source

Add TheoV2 sensor source and information used with Rf Sensor

* Add LwIP 2 no features (Low Flash)

* Fix ArduinoOTA for Core 2.5.0 (fix is backwards compatible)

arendst#4619

* Fix ArduinoOTA for Core 2.5.0

Fix ArduinoOTA for Core 2.5.0

* Fix HomeAssistant Temp Sensor AutoDiscovery

arendst#4627

* New 2.5.0-2 toolchain does not like uncast bitwise

The new toolchain (2.5.0-2) used from core 2.5.0 does not want bitwise operations to be performed on non-integer variables so we cast the double used in send_2byte_float() to a (long) as it should be.

* Fix NewPing-1.9.1 library.properties

Fix NewPing-1.9.1 library.properties to avoid compiler warning about possibly not supporting ESP8266 whereas we know now that it does. This causes the compiler warning (which may alarm some users unnecessarily) that NewPing claims to run on avr and stm32.

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for merge

* 6.4.0.1 New dev release

* Removing duplicate entrys

Options for core 2.5.0 where duplicated

* Update README.md

* Create boards.txt

* Create platform.txt

* No exceptions

* it-IT language updated

* option for firmware directory added

* Ease selecting core versions

Ease selecting core versions by grouping core parameters together. Select core version in group [core_active]

* webserver: swap index and name in module configuration

* Tune driver RF Sensor

- Free memory when driver RF Sensor is compiled but not used.
- Fix possible buffer overflow exceptions
- Add rule and hardware info to source

* introduce new api-call for dimmer-devices

* SerialLog: output CR + LF instead of just LF

* Update linker files

Update linker files to released linker files for coe 2.4.2 and up

* Add sk-SK language

* Update bg-BG.h

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Revert platformio.ini and my_user_config to original version,
adding line for new sensor but leaving it commented out.

* Include changes from original into sonoff/language/bg-BG.h

* Updated from originals: platformio.ini, sonoff/my_user_config.h.

* Revert to original RELEASENOTES.md.

* Add void to functions without parameters

* Fix temperature conversion

Fix temperature conversion to still use ConvertTemp() even if meter sends the value in F

* Add support for AZ-Instrument 7798 CO2

Add support for AZ-Instrument 7798 CO2 meter/datalogger

* pressure unit of measure reporting

Added a dedicated pressure sensor management to report back as pressure sensor and not fallback as a generic sensor in HA autodiscovery process

* add missing units of measurements for energy

* removed some errors from copy pasting..

* add empty unit of measurement for any sensors

* Added option for checking mqtt tls against root ca

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Change RAM usage BMP/BME

Change RAM usage BMP/BME I2C sensors

* Update Arduino IDE core 2.5.0 files

Update Arduino IDE core 2.5.0 files

* Fix wifi strongest signal detection

Fix wifi strongest signal detection (arendst#4704)

* 6.4.0.2 Fix possible dtostrf bos

6.4.0.2 20181221
 * Fix possible dtostrf buffer overflows by increasing buffers

* Still need patched PWM for core 2.5.0

Still need patched PWM for core 2.5.0

* Check for core version when enabling tls ca cert

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Check for core version when enabling tls ca cert, changed names of defines

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Remove SetOption55 (hass_short_discovery_msg)

* Rename HASS discovery string constants

* Remove Alexa message "this value is outside the range of the device"

* 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 (arendst#4711)
 * Change FallbackTopic detection (arendst#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 (arendst#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (arendst#3159, arendst#4712)

* Add optional TLS_CA_CERT

Add define USE_MQTT_TLS_CA_CERT for checking MQTT TLS against root ca using Let's Encrypt cert from sonoff_letsencrypt.h - not supported with core 2.3.0 (arendst#4703)

* decode-config.py: adapt settings change

- remove SetOption55 (hass_short_discovery_msg)

* Change FallbackTopic

Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (arendst#1528)

* PS_16_DZ: fix broken if-statement

* Change MQTT GUI password handling

Change MQTT GUI password handling (arendst#4723)

* Release 6.4.1

* 6.4.1.1 Fix most compiler warnings

6.4.1.1 20181224
 * Fix most compiler warnings

* Fix compiler warning

Fix compiler warning

* Change switch debounce

Change switch input detection by optimizing switch debounce (arendst#4724)

* Add INPUT_PULLUP option for single DS18B20

* Add variable %timestamp% to be used in rules

This PR adds a new variable %timestamp% to be used in a rule to allow the user to include the Time Stamp as Tasmota has for Status, Sensors, etc, for example:

Command:

publish stat/topic/sensor {"Time":"%timestamp%","mysensor":"%var1%"}

Output:

{"Time":"2018-12-27T12:52:57","mysensor":"1"}

(arendst#4734)

* 6.4.1.2 Rewrite Switch driver

6.4.1.2 20181228
 * Change switch driver making it modular and introduce input filter (arendst#4665, arendst#4724)
 * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (arendst#4738)
 * Add variable %timestamp% to rules (arendst#4749)

* Update platformio.ini with stage

Update platformio.ini with latest stage option

* Prep for template tuning

* 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

* Fix Typo in Spanish Translation

* Fix MGC3130/AZ7798 compile error

* Add debugging options to Switch

Add more debugging options to Switch using SwitchDebounce

* Fix DS3231 driver

Fix DS3231 driver breaking function chain (arendst#4759)

* Disable unused feature

* Revert "Disable unused feature"

This reverts commit 8fe61f6.

* Add test for result usage

* Add tests for result
wienerdogracing added a commit to wienerdogracing/Sonoff-Tasmota that referenced this issue Dec 31, 2018
* Release 6.2.0

Release 6.2.0

* Prep release

* Prep release

* Visual Studio Code adds

* Added Timeprop and PID

* Merge to 6.4.1 (#1) (#2)

* PS_16_DZ: GPIO13 => LED1

* PS_16_DZ: cleanup code

* Add Command CalcRes

* Update settings.ino

* Update decode-config.py

* Add SetOption59 info

Add SetOption59 info

* decode-config.py: add 6.3.0.11 to .14 settings

* Add dynamic buffer space

Make serial buffer space reservation dynamic

* Add dynamic buffer space

Add dynamic buffer space

* Fix dynamic buffer handling

Fix dynamic buffer handling

* Move static to dynamic buffers

 * Add support for SM Smart Wifi Dimmer PS-16-DZ (arendst#4465)
 * Move some static (serial) buffers to dynamic buffers

* Prep for Software SPI

Prep for Software SPI used by some displays

* PS_16_DZ: only update brightness if it actually changed

* PS_16_DZ: reduce buffer-size and actually check for overflow

* PS_16_DZ: optimize for size

* PS_16_DZ: further optimization

* PS_16_DZ: leave space for trailing 0-byte

* Hass: Restart if topic is changed

* PS_16_DZ: cleanup

* Fix possible overflow situation

Fix possible overflow situation

* Small improvements to Hass MQTT discovery

* Add support for Teckin US

Add support for Teckin US Wifi Smart Switch with Energy Monitoring (arendst#4481)

* Update display and epaper drivers

Update display and epaper drivers

* switch to using NewPing lib directly for sr04
add NewPing-1.9.1 lib

* Housekeeping

* Upd settings.ino - set sleep=0 when SetOption36>0

Update settings.ino - set sleep=0 when SetOption36>0

* Prevent sleep and SetOption36 being used concurrently

Prevent sleep and SetOption36 being used concurrently

* Fix sleep->SetOption36 transition

* Update fr-FR.h

Synced with changes since  v6.2.1.7

* Merge sleep command

* Bump version to 0x0603000F

Bump version to 0x0603000F to make sure new sleep command takes effect on 50 as default for upgrades where sleep is < 50.

* Update support_wifi.ino

* 6.3.0.15 Update dynamic sleep

6.3.0.15 20181201
 * Removed command SetOption36 (arendst#4497)
 * Add command SetOption60 0/1 to select dynamic sleep (0) or sleep (1) (arendst#4497)

* Update with dynamic sleep flag

* Added Support for ButtonN and SwitchN

* RULES: Added BREAK as an alternative ENDON

RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477

* Update xsns_22_sr04.ino

* RULES: Added BREAK as an alternative ENDON

* Delete duplicated min and max functions

* Update README.md

* Update _changelog.ino

* Further improve Hass auto discovery

* 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.

* decode-config.py: add new settings

- add 6.3.0.15 setting change
- adapt 6.3.0.13 setting change

* Add GPIO2 for Sonoff Basic Template

Add GPIO2 for Sonoff Basic Template

* Add support for GPIO02 for newer Sonoff Basic

Add support for GPIO02 for newer Sonoff Basic

* Fix Compilation issue with STAGE Core

Now the Stage core has the the same STR macro defined in sonoff.h.

* Create RF-Bridge-EFM8BB1-20181127.hex

ignore RF pulses < 100µs, increased uart RX buffer
-> stopp red led flashing

* Announce switches

* Final fix compile error (arendst#4509)

Final fix soft_spi_flg compile error (arendst#4509)

* Fix logic for ON/OFF vs TOGGLE

* Initial translation to Swedish

* Added Key to select Swedish Translation

* Added Swedish to Precompiled bins

* Added missing "

* Matched the order of days with Tasmota Timers

* Update platformio.ini

Support for enable / disable exceptions code in firmware for esp8266 core 2.5.0 (stage) or up

* localization for Polish - KNX, timers, etc.

* Add Domoticz Selector for Fanspeed

Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)

* Update sonoff.ino

* 6.3.0.16 - Bump version

6.3.0.16 20181201
 * Add support for iFan02 Fanspeed in Domoticz using a selector (arendst#4517)
 * Add Announce Switches to MQTT Discovery (arendst#4531)

* Fix Domoticz Fanspeed

Fix Domoticz Fanspeed

* MCP230xx - Add Interrupt Retain

* MCP230xx driver - add interrupt retention

MCP230xx driver - add interrupt retention over teleperiod.

* Fix HASS discovery of switches

* Announce RGBW light, add 'White' command

* Enabled forced local operation when button- or switchtopic is set

* Update Hass discovery

* v2.1.0012
decode-config.py: add new settings

- add 6.3.0.16 setting change

* decode-config.py: add new settings

- add 6.3.0.16 setting change

* Fix reversed logic when announcing buttons / switches

* add DMP mode to MPU-6050

* fix compile issue on ESP8266

* Clean and shrink lights

Clean and shrink lights

* Add support for device registry

* Update my_user_config.h

* Fix Warning in Platformio if building MPU and KNX together

* USE_MPU6050_DMP moved to my_user_config.h

* USE_MPU6050_DMP moved to my_user_config.h

* Corrected Domoticz Temp published from MPU6050

* decode-config.py: add new settings

- add SetOption61 from PR arendst#4562

* Update my_user_config.h

* Fix language file

Fix language file

* 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 (arendst#3610)
 * Enhance support for MPU6050 using DMP (arendst#4581)

* add manzuko "power strip"

* Add more support

 * Add support for decoding Theo V2 sensors as documented on https://sidweb.nl using 434MHz RF sensor receiver
 * Add support for decoding Alecto V2 sensors like ACH2010, WS3000 and DKW2012 using 868MHz RF sensor receiver
 * Add support for Manzoku Power Strip (arendst#4590)

* Updated Spanish Translation

* Update de-DE.h

* More tweak of Hass switch/button

* Update fr-FR.h

Added SDM220  new strings

* Update fr-FR.h

SDM220 strings  reworked to fit in the space available

* initial work on range-support

* mqtt messages updated

* Publish state message when changing effect

* decode-config.py: Fix `@v` filename template (arendst#4609)

- fix restore filename auto extension

* add debug code to show final command sequence

* correcting memcpy calls

* Add TheoV2 sensor source

Add TheoV2 sensor source and information used with Rf Sensor

* Add LwIP 2 no features (Low Flash)

* Fix ArduinoOTA for Core 2.5.0 (fix is backwards compatible)

arendst#4619

* Fix ArduinoOTA for Core 2.5.0

Fix ArduinoOTA for Core 2.5.0

* Fix HomeAssistant Temp Sensor AutoDiscovery

arendst#4627

* New 2.5.0-2 toolchain does not like uncast bitwise

The new toolchain (2.5.0-2) used from core 2.5.0 does not want bitwise operations to be performed on non-integer variables so we cast the double used in send_2byte_float() to a (long) as it should be.

* Fix NewPing-1.9.1 library.properties

Fix NewPing-1.9.1 library.properties to avoid compiler warning about possibly not supporting ESP8266 whereas we know now that it does. This causes the compiler warning (which may alarm some users unnecessarily) that NewPing claims to run on avr and stm32.

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for release

Prep for release

* Updates for release 6.4.0

Updates for release 6.4.0

* Updates for release 6.4.0

Updates for release 6.4.0

* Prep for merge

* 6.4.0.1 New dev release

* Removing duplicate entrys

Options for core 2.5.0 where duplicated

* Update README.md

* Create boards.txt

* Create platform.txt

* No exceptions

* it-IT language updated

* option for firmware directory added

* Ease selecting core versions

Ease selecting core versions by grouping core parameters together. Select core version in group [core_active]

* webserver: swap index and name in module configuration

* Tune driver RF Sensor

- Free memory when driver RF Sensor is compiled but not used.
- Fix possible buffer overflow exceptions
- Add rule and hardware info to source

* introduce new api-call for dimmer-devices

* SerialLog: output CR + LF instead of just LF

* Update linker files

Update linker files to released linker files for coe 2.4.2 and up

* Add sk-SK language

* Update bg-BG.h

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Add support for AZ-Instrument 7798 CO2 meter/datalogger.

* Revert platformio.ini and my_user_config to original version,
adding line for new sensor but leaving it commented out.

* Include changes from original into sonoff/language/bg-BG.h

* Updated from originals: platformio.ini, sonoff/my_user_config.h.

* Revert to original RELEASENOTES.md.

* Add void to functions without parameters

* Fix temperature conversion

Fix temperature conversion to still use ConvertTemp() even if meter sends the value in F

* Add support for AZ-Instrument 7798 CO2

Add support for AZ-Instrument 7798 CO2 meter/datalogger

* pressure unit of measure reporting

Added a dedicated pressure sensor management to report back as pressure sensor and not fallback as a generic sensor in HA autodiscovery process

* add missing units of measurements for energy

* removed some errors from copy pasting..

* add empty unit of measurement for any sensors

* Added option for checking mqtt tls against root ca

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Change RAM usage BMP/BME

Change RAM usage BMP/BME I2C sensors

* Update Arduino IDE core 2.5.0 files

Update Arduino IDE core 2.5.0 files

* Fix wifi strongest signal detection

Fix wifi strongest signal detection (arendst#4704)

* 6.4.0.2 Fix possible dtostrf bos

6.4.0.2 20181221
 * Fix possible dtostrf buffer overflows by increasing buffers

* Still need patched PWM for core 2.5.0

Still need patched PWM for core 2.5.0

* Check for core version when enabling tls ca cert

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Check for core version when enabling tls ca cert, changed names of defines

Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>

* Remove SetOption55 (hass_short_discovery_msg)

* Rename HASS discovery string constants

* Remove Alexa message "this value is outside the range of the device"

* 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 (arendst#4711)
 * Change FallbackTopic detection (arendst#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 (arendst#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (arendst#3159, arendst#4712)

* Add optional TLS_CA_CERT

Add define USE_MQTT_TLS_CA_CERT for checking MQTT TLS against root ca using Let's Encrypt cert from sonoff_letsencrypt.h - not supported with core 2.3.0 (arendst#4703)

* decode-config.py: adapt settings change

- remove SetOption55 (hass_short_discovery_msg)

* Change FallbackTopic

Change FallbackTopic from cmnd/<mqttclient>/ to cmnd/<mqttclient>_fb/ to discriminate from Topic (arendst#1528)

* PS_16_DZ: fix broken if-statement

* Change MQTT GUI password handling

Change MQTT GUI password handling (arendst#4723)

* Release 6.4.1

* 6.4.1.1 Fix most compiler warnings

6.4.1.1 20181224
 * Fix most compiler warnings

* Fix compiler warning

Fix compiler warning

* Change switch debounce

Change switch input detection by optimizing switch debounce (arendst#4724)

* Add INPUT_PULLUP option for single DS18B20

* Add variable %timestamp% to be used in rules

This PR adds a new variable %timestamp% to be used in a rule to allow the user to include the Time Stamp as Tasmota has for Status, Sensors, etc, for example:

Command:

publish stat/topic/sensor {"Time":"%timestamp%","mysensor":"%var1%"}

Output:

{"Time":"2018-12-27T12:52:57","mysensor":"1"}

(arendst#4734)

* 6.4.1.2 Rewrite Switch driver

6.4.1.2 20181228
 * Change switch driver making it modular and introduce input filter (arendst#4665, arendst#4724)
 * Add define DS18B20_INTERNAL_PULLUP to select internal input pullup when only one DS18B20 sensor is connected eliminating external resistor (arendst#4738)
 * Add variable %timestamp% to rules (arendst#4749)

* Update platformio.ini with stage

Update platformio.ini with latest stage option

* Prep for template tuning

* 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

* Fix Typo in Spanish Translation

* Fix MGC3130/AZ7798 compile error

* Add debugging options to Switch

Add more debugging options to Switch using SwitchDebounce

* Fix DS3231 driver

Fix DS3231 driver breaking function chain (arendst#4759)

* Disable unused feature

* Revert "Disable unused feature"

This reverts commit 8fe61f6.

* Add test for result usage

* Add tests for result
gemu2015 pushed a commit to gemu2015/Sonoff-Tasmota that referenced this issue Jan 27, 2019
RULES: Added BREAK as an alternative ENDON that will stop the execution of the following rules.

If a rule that ends with BREAK, is triggered, then the following rules of that set will not be executed. This is useful for cases like: arendst#4477
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Type - Enhancement that will be worked on fixed Result - The work on the issue has ended
Projects
None yet
Development

No branches or pull requests

4 participants