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

Enable forced local operation when button- or switchtopic is set #4562

Merged
merged 2 commits into from Dec 8, 2018

Conversation

emontnemery
Copy link
Contributor

@emontnemery emontnemery commented Dec 8, 2018

Add new option SetOption61 which enables forced local operation when button- or switchtopic is set

The purpose is to allow non-ambiguous switch topic for automatic while still have fast local operation.
In my case, this is needed for good user experience with Sonoff T1 switches.

@emontnemery emontnemery changed the title Enabled forced local operation when button- or switchtopic is set Enable forced local operation when button- or switchtopic is set Dec 8, 2018
@arendst arendst merged commit 4c21107 into arendst:development Dec 8, 2018
1 check passed
@emontnemery emontnemery deleted the force_local branch Dec 8, 2018
curzon01 added a commit to curzon01/Tasmota that referenced this pull request Dec 11, 2018
@meingraham
Copy link
Collaborator

meingraham commented Dec 11, 2018

Regarding SetOption61 (I don't think this is documented in the wiki yet)... The title of this post makes it obvious what the intent of this option is. What I was wondering is what is the behavior; i.e., what's the difference in "local operation" if this option is not enabled. The title implies that local operation is not affected if ButtonTopic or SwitchTopic is not set. Other than their effect on Rules (i.e., basically disabling rules) is there an explanation in the wiki of the impact on local operation of setting ButtonTopic or SwitchTopic? In reading those section, it was not obvious to me how, if so. Is there an example or use case that clarifies this? @emontnemery - perhaps an explanation as to why this option was needed for HASS auto-discovery?

There was a thread over on the Sonoff Google Groups group about some issues with timers operation because they were repeatedly attempting to reconnect to MQTT. Obviously a timer that is dependent on time of day (i.e., NTP sync) can't operate. But once time is synced, local operation of a timer ought not to be affected by a MQTT issue. Also, timers which are intervals (e.g., every n seconds) ought to never be affected by connectivity issues.

So, I mention this thread because this "local operation" topic could be broad in definition. That is why I'm trying to better understand what SetOption61 does exactly, why it should be used, and under what situations.

Regards.

Mike

@emontnemery
Copy link
Contributor Author

emontnemery commented Dec 11, 2018

@meingraham:
Tasmota will always send an MQTT message when a relay or light has been turned on / off.
This message is sometimes not possible to use in automations, because it's impossible to know from the MQTT message if the relay state was changed because the user pressed the button or for some other reason.
An example is a group of Sonoff T1s setup to emulate a stair switch.

  • Without switchtopic set, the button or switch simply operates a relay / light, this is the default case.
  • With switchtopic set, the button will send an MQTT message and NOT operate the relay
    • A home automation system, e.g. Hass, can pick up this message and it's unambiguous that the message was sent because the user pressed a button.
    • This is perfect for automations, but it may be quite slow, and as a result user experience is quite terrible for the devices with touch button (Sonoff Touch, Sonoff T1)
    • Note: In the special case of setting switchtopic to same as the relay's topic (swithctopic 1 is a shortcut for this), it will indirectly operate the relay because the MQTT message will be sent back to the Tasmota device

With SetOption61 set, pressing a button will operate a relay AND send an MQTT message, in this way it's clear that the user pressed the button, but without any lag.

I hope this is clear, please let me know if it's not.

@meingraham
Copy link
Collaborator

meingraham commented Dec 11, 2018

Thank you for the explanation! This explanation would be great to add to the wiki somewhere. Yes, I can that myself... but I'm not sure where the appropriate place to put this is. Commands? Seems a bit long for the "regular" command entry. But it would be so helpful to the understanding of the use of the option.

Recommendations?

@emontnemery
Copy link
Contributor Author

emontnemery commented Dec 11, 2018

I think this should be added to the wiki page about switchtopic. That page should then also be renamed and expanded to explain both buttons and switches. I've been meaning to do that for a long time.

@meingraham
Copy link
Collaborator

meingraham commented Dec 11, 2018

@emontnemery,

I may be speaking for myself, but I think I probably am a member of a larger club. The club? Those who are quite confused about what SwitchTopic and ButtonTopic are used for, how they are used, what scenarios are, how they alter the behavior of the switch, etc. If you were to expand the wiki, you'd have a lot of fans, IMO. I know that there are a few YouTube tutorials in the topic. I've watched several. I'm no less confused :( I think if I understood it better, I'd likely find that I could make use of these parameters.

I'll leave the incorporation of SetOption61 into the *Topic wiki page to you as you have the better understanding of the parameters (understatement of the day!).

Cheers!

Mike

wienerdogracing added a commit to wienerdogracing/Sonoff-Tasmota that referenced this pull request 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 pull request 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 pull request 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 pull request 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 pull request Jan 27, 2019
Enable forced local operation when button- or switchtopic is set
gemu2015 pushed a commit to gemu2015/Sonoff-Tasmota that referenced this pull request Jan 27, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants