Commit Graph

3140 Commits

Author SHA1 Message Date
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
Laurent 3298048c60 Update support_rtc.ino 2019-02-23 17:41:06 -05:00
Theo Arends 68c60c321e Handle too many command data
Handle too many command data
2019-02-23 19:19:31 +01:00
Theo Arends 93d07c1acc Webserver memory optimizations
Webserver memory optimizations
2019-02-23 18:38:36 +01:00
Theo Arends 19bdf7e803 Free flash space (WSSend)
Free flash space (WSSend)
2019-02-23 15:29:42 +01:00
Theo Arends a1b04d166b
Merge pull request #5313 from blakadder/development
Update README.md
2019-02-23 14:21:18 +01:00
blakadder ef7150aa6e
Update README.md
Wikified first paragraph and a contribute line for Wiki
2019-02-23 13:53:38 +01:00
Theo Arends 1cb956b541 Free flash space
Free flash space
2019-02-23 13:17:02 +01:00
Theo Arends 5d8ae266d0 Fix RemoveSpace and tune Websend
Fix RemoveSpace and tune Websend
2019-02-23 12:48:39 +01:00
Theo Arends 06bec0d95e Update _changelog.ino
Back from the future
2019-02-23 11:18:57 +01:00
Laurent 2cc15a8c34 Merge remote-tracking branch 'upstream/development' into development 2019-02-22 22:53:01 -05:00
Theo Arends 3ce36defe2
Merge pull request #5202 from jrw77/development
Correct rounding for ws2812 clock mode shifting hour when pixel<60
2019-02-22 16:53:29 +01:00
Theo Arends 5b1b93fd03
Merge pull request #5305 from Jason2866/patch-1
Revert to modular build 2.5.0 release
2019-02-22 15:56:33 +01:00
Jörg R. Weimar f0dde50f39 Merge remote-tracking branch 'upstream/development' into development
Merge all recent changes into my branch
2019-02-22 15:29:36 +01:00
Jason2866 2a8e785a8b
Revert to modular build 2.5.0 release 2019-02-22 15:23:37 +01:00
Theo Arends e315be0619 Fix command WebSend
Fix command WebSend when using a port number as regression from 6.4.1.17 (#5304)
2019-02-22 15:19:59 +01:00
Theo Arends d219d1c9b5 Update support.ino
Houskeeping
2019-02-22 12:11:15 +01:00
Theo Arends 49f0b514eb Fix some exceptions and watchdogs
* Fix some exceptions and watchdogs due to lack of stack space - part 2
 * Add command SetOption62 0/1 to disable retain on Button or Swith hold messages (#5299)
 * Add option WifiConfig 7 to allow reset of device in AP mode without admin password (#5297)
2019-02-22 12:04:05 +01:00
Theo Arends 8df6bb76d1
Merge pull request #5297 from netpok/wificonfig-7
WifiConfig 7, a reset only WifiManager for smart bulbs
2019-02-22 11:44:04 +01:00
Theo Arends 70b33ba18a
Merge pull request #5299 from netpok/no-hold-retain
Allow non-retained hold messages while using button or switchretain
2019-02-22 11:36:08 +01:00
netpok 6cbfb0308a Check no hold retain flag on hold action sending 2019-02-21 21:30:30 +01:00
netpok b3adab4097 Add flag for no hold retain 2019-02-21 21:27:52 +01:00
netpok e2bcef16bf Merge remote-tracking branch 'upstream/development' into wificonfig-7 2019-02-21 19:45:34 +01:00
netpok e9396d0ed4 Add missing localization strings 2019-02-21 19:45:21 +01:00
netpok 731154cc9b Handle authentication on reset/restart 2019-02-21 19:45:03 +01:00
Theo Arends c97ea4d917
Merge pull request #5296 from netpok/password-validation
Wifi password validation
2019-02-21 18:47:58 +01:00
netpok 4993d16ecb Implement WifiConfig 7 2019-02-21 17:49:11 +01:00
netpok e035a3253a Add password validation to WebUI 2019-02-21 15:58:37 +01:00
netpok 3c58f5b7b9 Add password validation to password command 2019-02-21 15:57:45 +01:00
Theo Arends 60e8aa6466
Merge pull request #5295 from curzon01/development
decode-config.py: adapt settings
2019-02-21 15:47:47 +01:00
Norbert Richter eb08bb07ee decode-config.py: adapt settings
- remove SetOption62 (no_pullup)
- remove obsolete Tasmota command converter
2019-02-21 15:37:46 +01:00
Theo Arends 95da493325 Update xdrv_01_webserver.ino
Fix compile error
2019-02-21 14:56:39 +01:00
Theo Arends 05b0280019 6.4.1.18 - Fix some exceptions and watchdogs
6.4.1.18 20191221
 * Fix some exceptions and watchdogs due to lack of stack space - part 1 (#5215)
2019-02-21 14:31:31 +01:00
Theo Arends b0227d6d28
Merge pull request #5288 from Jason2866/patch-1
Update platformio.ini
2019-02-21 09:57:48 +01:00
Theo Arends cfd3f3f4f5 Fix WebSend compile warning
Fix WebSend compile warning
2019-02-21 09:48:58 +01:00
Jason2866 51227b1d95
Update platformio.ini 2019-02-20 21:07:01 +01:00
Laurent 4e66dce049 Merge remote-tracking branch 'upstream/development' into development 2019-02-19 20:15:43 -05:00
Theo Arends 280dd25a8b Optimize RAM for expression
Optimize RAM for expression and add two more constant variables (#5275)
2019-02-19 14:49:15 +01:00
Theo Arends 06c97c4e19 Fix command WebSend
Fix command WebSend intermittent results (#5273)
2019-02-19 12:51:38 +01:00
Theo Arends 32c1e2d13c Tuning uptime and add utctime
Tuning uptime and add utctime
2019-02-19 10:48:19 +01:00
Laurent 660d0106c2 Revert "Support HttpGet command"
This reverts commit c527d4dc99.
2019-02-18 16:18:01 -05:00
Laurent 6f2f0b6fea Add two constant varibles in rules expression
Add two variables:
- UtcTime
The number of seconds that have elapsed since January 1, 1970 (midnight UTC/GMT)
- LocalTime
Seconds passed after Jan 1, 1970 midnight base on current timezone and daylight saving setting.
2019-02-18 16:17:32 -05:00
Laurent 2bc84a9aad Optimize RAM usage for Expression 2019-02-18 16:12:14 -05:00
Laurent c527d4dc99 Support HttpGet command
HttpGet command send a HTTP Get request to specified URL and return the response from website or error message if failed.
Note: This command support URL encoding, so you do not have to do encode by yourself. For example replacing all " " with %20 is no necessary.
Format:
httpget <url>
With HttpGet command you can do a lot of things.
For example:
- Retrieve your physical location:
httpget http://ipinfo.io/geo
Result is a JSON object
{
  "ip": "8.8.8.8",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "loc": "37.3860,-122.0840",
  "postal": "94035",
  "phone": "650"
}
- Control another Sonoff switch directly:
httpget http://192.168.1.130/cm?cmnd=power off
2019-02-18 15:41:40 -05:00
Theo Arends 18ca69e5fd
Merge pull request #5272 from andrethomas/development
Introduce Reset 6
2019-02-18 21:19:17 +01:00
andrethomas 1da8f94a05 Introduce Reset 6 2019-02-18 21:52:22 +02:00
Theo Arends 3c3b5bb8ca Add property Downtime
Add property Downtime to state and status 11 message representing the duration of wifi connection loss
2019-02-18 18:02:22 +01:00
Theo Arends 4884a94b6d Add LinkCount and MqttCount
* Add property LinkCount to state and status 11 message representing number of Wifi Link re-connections
 * Add property MqttCount to status 6 message representing number of Mqtt re-connections
2019-02-18 17:05:25 +01:00
Theo Arends 0658ae1959 Update sonoff_template.h
Fix compile error
2019-02-18 16:19:46 +01:00