Commit Graph

100 Commits

Author SHA1 Message Date
Theo Arends e16178d912
Merge pull request #5320 from laurentdong/development
Support subscribe/unsubscribe MQTT topics and trigger specified event with the subscribed MQTT topic.
2019-02-24 17:02:45 +01:00
Gabor Simon 4492a14574 Added SetOption37 for RGB remapping 2019-02-24 12:07:15 +00:00
Gabor Simon 38b81302e3 sm16716: added config option for custom rgb order 2019-02-24 09:26:10 +04:00
Laurent dd27ade7ef Rules: Trigger Event with MQTT Subscriptions
Support subscribe/unsubscribe MQTT topics and trigger specified event with the subscribed MQTT topic.
You can subscribe a MQTT topic and assign an event name. Once we received subscribed MQTT message, an event will be automatically triggered. So you can set up a rule with "ON EVENT#<event_name> DO ..." to do whatever you want based on this MQTT message. The payload is passed as a parameter once the event been triggered. If the payload is in JSON format, you are able to get the value of specified key as parameter.
For example, if you have a Tasmota based thermostat and multiple temperature sensors in different place, usually you have to set up a centre home automation system like Domoticz to control the thermostat. Right now, with this new feature, you can write a rule to do this.
Two new commands in Rules:
1. Subscribe
Subscribe a MQTT topic (with or without key) and assign an event name to it.
Command format:
	Subscribe [<event_name>, <topic> [, <key>]]
		This command will subscribe a <topic> and give it an event name <event_name>.
		The optional parameter <key> is for parse the specified key/value from MQTT message
			payload with JSON format.
		In order to parse value from two level JSON data, you can use one dot (".") to split the key into two section.
		Subscribe command without any parameter will list all topics currently subscribed.
2. Unsubscribe
Unsubscribe specified MQTT event.
Command format:
	Unsubscribe [<event_name>]
		Unsubscribe a topic subscribed by specify the event name.
		If no event specified, Unsubscribe all topics subscribed.
Examples:
1.
	Subscribe BkLight, Tasmota/BackyardLight/stat/POWER
		And define a rule like:
	Rule1 on event#BkLight=ON do ruletimer4 60 endon
2.
	Subscribe DnTemp, Tasmota/RoomSensor1/stat/SENSOR, DS18B20.Temperature
		Define a rule to deal with the MQTT message like {"Time":"2017-02-16T10:13:52", "DS18B20":{"Temperature":20.6}}
	Rule1 ON EVENT#DnTemp>=21 DO ... ENDON
2019-02-23 22:33:09 -05:00
gfrancesco deeceaf2a0 Add configuration parameter to send MQTT telemetry on status change (SetOption59) 2019-02-17 22:05:02 +01:00
Theo Arends 14d5f7fb54 Fix GUI password and Add rule expression
* Fix GUI wifi password acception starting with asteriks (*) (#5231, #5242)
 * Add rule expression enabled  by define USE_EXPRESSION in my_user_config.h (#5210)
2019-02-16 16:17:17 +01:00
Laurent 4b4b3709ad Introduce Expression in Rules
Support use an expression as paramter in some rule commands, include Var<x>, Mem<x> and Ruletimer<x>.
Expression is constructed by constants (float number), variables (var<x>, mem<x>, Time, Uptime, Sunrise, Sunset),  operators and round brackets.
Currently support 6 operators, order by priority from high to low:
^  (power)
% (modulo)
*, /
+, -
Commands examples:
Var1 3.14 * (MEM1 * (10 + VAR2 ^2) - 100) % 10 + uptime / (2 + MEM2)
Ruletimer4 Time - Sunrise + MEM2/2
2019-02-12 21:46:42 -05:00
Theo Arends 78b2bd3bd5
Merge pull request #4991 from gsimon75/sm16716
Add support for the SM16716 RGB LED controller
2019-02-08 20:07:50 +01:00
Andre Thomas c254410723
PN532: Add // #define USE_PN532_CAUSE_EVENTS
PN532: Add // #define USE_PN532_CAUSE_EVENTS

Forgot to include it in the my_user_config.h
2019-02-08 19:26:02 +02:00
Gabor Simon 7b93df4978
Merge branch 'development' into sm16716 2019-02-08 20:00:53 +04:00
Theo Arends ae277f59cf Change image defines
6.4.1.15 20190208
 * Change image name BE_MINIMAL to FIRMWARE_MINIMAL (#5106)
 * Change image names USE_xyz to FIRMWARE_xyz (#5106)
2019-02-08 14:55:45 +01:00
Andre Thomas 567b12e1ce
PN532: Update resource requirements in config
PN532: Update resource requirements in my_user_config.h
2019-02-08 09:59:33 +02:00
andrethomas 707b51f292 PN532: Implement HSU (Serial) 2019-02-08 01:06:54 +02:00
andrethomas b76b615a6e PN532: Deprecate I2C support 2019-02-08 00:41:46 +02:00
Colin Kuebler 35060dfa45 Measured impact of USE_SM16716 on binary filesize 2019-02-01 20:12:13 -05:00
Gabor Simon 737cd7a2d0 Merge branch 'sm16716' of https://github.com/gsimon75/Sonoff-Tasmota into sm16716 2019-02-01 04:38:15 +00:00
Gabor Simon ef40aff62a Added SM16716_SEL pin to SYF05 template, enabled SM16716 support 2019-02-01 04:37:22 +00:00
Theo Arends 2c164a8b4b 6.4.1.13 Add boot loop offset
6.4.1.13 20190130
 * Add command SetOption36 to control boot loop default restoration (#4645, #5063)
2019-01-30 14:34:31 +01:00
Theo Arends caabada214
Update my_user_config.h 2019-01-24 11:21:16 +01:00
Louis Lagendijk 4cdc3d5404 Implemented changes suggested by Theo (Thanks!):
- use functions from support.ino (had to split reading in Max4409Detect
  in 2 8 bits reads as the MAX44009 only supports 16 bits reads for
  luminance registers)
- Used the << instead of pow() to save a lot of xompiled code
- Improved float -> string conversion along the suggested lines
- Code size is now +/- 750 bytes (without other I2C sensors compiled in
  I think
2019-01-23 22:20:29 +01:00
Louis Lagendijk ee3ab87d07 Made requested changes:
- Added checks for improved MAX44009 detection
- removed HTTP_SNS_ILLUMINANCE_S (show only integer in web-interface)
- removed missed readings and repeated detection
2019-01-23 16:06:06 +01:00
Louis Lagendijk 2a9ad52776 Merge remote-tracking branch 'upstream/development' into development 2019-01-16 14:17:01 +01:00
andrethomas 44ea65a389 PN532: Segregate UID and DATA usage 2019-01-15 22:03:55 +02:00
Theo Arends fc1198c1f9 Add features
* Add support for Luminea ZX2820 Smart Socket with Energy monitoring (#4921)
 * Add define MDNS_ENABLE to control initial mDNS state (#4923)
 * Add split interlock part 1 (#4910)
2019-01-14 10:57:01 +01:00
Louis Lagendijk 7b9c2d6797 Added MAX44009 in my_user_config.h 2019-01-12 23:27:37 +01:00
Theo Arends 95bd91b6db
Merge pull request #4863 from blittan/development
Clearer meaning of Static or DHCP
2019-01-09 09:13:52 +01:00
blittan 15041873c2 Clearer meaning of Static or DHCP 2019-01-08 22:12:09 +01:00
andrethomas 549080b850 PN532: Add Read/Write Data support 2019-01-08 20:53:09 +02:00
andrethomas 5ec7249ece Add support for PN532 NFC 2019-01-02 22:04:33 +02:00
Theo Arends 447ec6256e 6.4.1.4 Update Copyright (C) 2019
6.4.1.4 20190101
 * Update Copyright (C) 2019
2019-01-01 13:55:01 +01:00
Theo Arends f12261e4fa Add support for MAX31855
Add support for MAX31855 K-Type thermocouple sensor using softSPI (#4764)
2019-01-01 13:45:44 +01:00
Markus Past 5737665a2f MAX31855 driver for Sonoff-Tasmota - Initial commit 2018-12-30 11:45:21 +01:00
K.C. Budd 8ce6b5a01d Add INPUT_PULLUP option for single DS18B20 2018-12-26 12:10:47 -08:00
Theo Arends ed6e411f7f 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 (#4703)
2018-12-22 18:09:27 +01:00
Theo Arends 9e15a1d266
Merge pull request #4703 from fmeies/development
Added option for checking mqtt tls against root ca
2018-12-22 16:50:07 +01:00
Theo Arends e2cd656286 6.4.0.3 Hass and Alexa fixes
6.4.0.3 20181222
 * Change Hass discovery to short MQTT messages as used by Hass 0.81 and up (#4711)
 * Change FallbackTopic detection (#4706)
 * Add define WIFI_SOFT_AP_CHANNEL in my_user_config.h to set Soft Access Point Channel number between 1 and 13 as used by Wifi Manager web GUI (#4673)
 * Fix Alexa "this value is outside the range of the device". Needs power cycle and Alexa deletion/discovery cycle. (#3159, #4712)
2018-12-22 16:13:07 +01:00
Frank Meies 59056935f9 Check for core version when enabling tls ca cert, changed names of defines
Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>
2018-12-21 22:54:42 +01:00
Frank Meies d722387344 Check for core version when enabling tls ca cert
Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>
2018-12-21 22:49:46 +01:00
Frank Meies 435b3afde7 Added option for checking mqtt tls against root ca
Signed-off-by: Frank Meies <19324766+fmeies@users.noreply.github.com>
2018-12-21 11:28:47 +01:00
Arthur de Beun 6185a08d89 Updated from originals: platformio.ini, sonoff/my_user_config.h. 2018-12-19 06:57:37 +13:00
Arthur de Beun 2b0987da47 Revert platformio.ini and my_user_config to original version,
adding line for new sensor but leaving it commented out.
2018-12-19 06:36:53 +13:00
Arthur de Beun 604f341e9a Add support for AZ-Instrument 7798 CO2 meter/datalogger. 2018-12-18 22:22:41 +13:00
Vladimír Jendroľ d76a71b2fd Add sk-SK language 2018-12-17 21:46:39 +01:00
Theo Arends 1f38107043 Updates for release 6.4.0
Updates for release 6.4.0
2018-12-16 14:28:33 +01:00
Theo Arends 26d60e5dd7 Updates for release 6.4.0
Updates for release 6.4.0
2018-12-15 17:06:54 +01:00
Theo Arends fc7c1ac6b7 Updates for release 6.4.0
Updates for release 6.4.0
2018-12-15 15:55:51 +01:00
Theo Arends 6d58580446 Updates for release 6.3.0
Updates for release 6.3.0
2018-10-30 17:29:01 +01:00
Theo Arends dffbc2c7c3 Updates for release 6.3.0
Updates for release 6.3.0
2018-10-27 17:46:44 +02:00
Theo Arends 0017a6304a Updates for release 6.3.0
Updates for release 6.3.0
2018-10-27 13:33:17 +02:00
Theo Arends c2f9f5ddbe Updates for release 6.3.0
Update for release 6.3.0
2018-10-26 17:13:17 +02:00