Commit Graph

83 Commits

Author SHA1 Message Date
Stephan Hadinger a50a6eff61 Change Store AWS IoT Private Key and Certificate in SPI Flash avoiding device-specific compilations 2019-08-04 19:42:21 +02:00
Theo Arends e5ecffe4dd Refactor commands
Refactor commands
2019-08-03 13:01:34 +02:00
Theo Arends 714f938c05 Refactor energy commands
* Refactor energy commands
 * Add define USE_ENERGY_MARGIN_DETECTION to disable Energy Margin and Power Limit detection
 * Add define USE_ENERGY_POWER_LIMIT to disable Energy Power Limit detection while Energy Margin detection is active
2019-08-01 15:46:12 +02:00
Theo Arends 50e0de0dd5 Refactor Web commands
Refactor Web commands
2019-07-28 17:57:09 +02:00
Theo Arends 13a618634e Refactor MQTT commands
Refactor MQTT commands
2019-07-28 17:14:20 +02:00
Theo Arends 37b1c25881 Refactor core command structure
Refactor core command structure
2019-07-27 11:13:41 +02:00
Theo Arends cc9d7bb8e9 Refactor MQTT pre-processing
Refactor MQTT pre-processing
2019-07-26 09:52:14 +02:00
Theo Arends 398a72d128 Remove command code from sonoff.ino and introduce support_command.ino
Remove command code from sonoff.ino and introduce support_command.ino
2019-07-24 11:55:58 +02:00
Theo Arends d77017fd74 Add option to disable support for module Sonoff iFan at compile time
Add option to disable support for module Sonoff iFan at compile time (#6093)
2019-07-14 22:08:19 +02:00
Theo Arends 49022d0320 6.6.0.2 Add support for Sonoff iFan03 as module 71
Add support for Sonoff iFan03 as module 71 (#5988)
2019-07-14 15:23:02 +02:00
Theo Arends 98864116c1
Merge pull request #6001 from s-hadinger/fix_tls_aws_compilation
Fixed compilation error when USE_MQTT_AWS_IOT set and USE_MQTT_TLS disabled
2019-06-30 19:52:07 +02:00
Stephan Hadinger 3ac912f957 Fixed compilation error when USE_MQTT_AWS_IOT set and USE_MQTT_TLS disabled 2019-06-30 18:50:42 +02:00
Theo Arends 1b69502d9b Code optimization - Change for(uint8_t in for (uint32_t
Code optimization - Change for(uint8_t in for (uint32_t
2019-06-30 16:44:36 +02:00
Theo Arends 30adce5648 Revert "Code optimization - Change for(uint8_t in for (uint32_t"
This reverts commit 5e1eac3f74.
2019-06-30 15:56:55 +02:00
Theo Arends 5e1eac3f74 Code optimization - Change for(uint8_t in for (uint32_t
Code optimization - Change for(uint8_t in for (uint32_t
2019-06-30 15:47:32 +02:00
Stephan Hadinger 4413a757d8 TLS+AWS IoT optimization for speed, code and memory footprint 2019-06-19 09:49:48 +02:00
Theo Arends 2b5c691041 6.5.0.16 Refactor TLS and Add visibility toggle to GUI password
6.5.0.16 20190611
 * Refactored TLS based on BearSSL, warning breaking change for fingerprints validation (see doc)
 * Add checkbox to GUI password field enabling visibility during password entry only (#5934)
2019-06-11 14:30:07 +02:00
Stephan Hadinger 96ee25a2d1 Fixed compilation error 2019-06-10 20:04:34 +02:00
Stephan Hadinger 844840a851 Added TLS CA validation option as an alternative to Fingerprint validation 2019-06-10 19:58:57 +02:00
Stephan Hadinger 006462f17e Refactored TLS based on BearSSL - cleaned 2019-06-10 12:06:03 +02:00
Theo Arends a7dc6b71ae Add some MQTT housekeeping which might solve issue (#5755)
Add some MQTT housekeeping which might solve issue (#5755)
2019-06-07 18:03:34 +02:00
Stephan Hadinger a8b93c4cdb Fixed log for unsupported reatined messages 2019-06-06 10:03:26 +02:00
Stephan Hadinger 3b1ba3bbd5 Changed MQTT_KEEPALIVE and Retained message 2019-06-05 22:37:23 +02:00
Stephan Hadinger bc3d0add4c Support for AWS IoT via TLS 1.2 2019-06-05 11:44:52 +02:00
tammo0 6ee8d6be16 save space for web frontend
- changed <br/> to <br>
- "name" attributes of input, select, textarea, button items are removed and set by their id (only if ID is set and no name tag given)
2019-05-31 18:24:56 +02:00
Theo Arends d599f21758 Add defines USE_EMULATION_WEMO and USE_EMULATION_HUE
* Remove define USE_EMULATION from my_user_config.h (#5826)
 * Add defines USE_EMULATION_WEMO and USE_EMULATION_HUE to my_user_config.h to control emulation features at compile time (#5826)
2019-05-20 15:09:42 +02:00
Theo Arends 5e810f1ff3 Add Shelly 2.5 overtemp functionality
* Add all temperature, humidity and pressure for global access
 * Add Shelly 2.5 overtemp functionality
 * Fix Shelly 2.5 I2C address priority issue when VEML6070 code is present by disabling VEML6070 for Shelly 2.5 (#5592)
2019-04-15 18:12:42 +02:00
Theo Arends 756400de19 Attempt to fix MQTT reconnects while keeping good response
Attempt to fix MQTT reconnects while keeping good response
2019-04-06 15:22:25 +02:00
Theo Arends 148192b80d Attempt to fix MQTT reconnects
Attempt to fix MQTT reconnects
2019-04-06 13:39:59 +02:00
Theo Arends 880bbe357d Change String to char
Change String to char
2019-03-31 17:57:28 +02:00
Theo Arends 8d8e060550 Revert "Test for easier MQTT reconnects"
This reverts commit b7adb10923.
2019-03-31 17:55:58 +02:00
Theo Arends b7adb10923 Test for easier MQTT reconnects
Test for easier MQTT reconnects
2019-03-31 17:51:05 +02:00
Theo Arends f7c30250c1 Change some more defines to const
Change some more defines to const
2019-03-31 11:59:04 +02:00
Theo Arends 929292f7a8 Update xdrv_02_mqtt.ino
Restore MQTT attempting connection message
2019-03-30 16:32:22 +01:00
Theo Arends 2aad0567bf Change some defines to const
Change some defines to const
2019-03-30 16:29:27 +01:00
Theo Arends eb9617e3f9 Tune some functionality
Tune some functionality
2019-03-30 13:03:45 +01:00
Theo Arends e1c92b701b Change NULL to nullptr
Change NULL to nullptr
2019-03-26 18:26:50 +01:00
Theo Arends 57cb570b8f Fix GUI corruption
Fix GUI corruption due to format string usage (#5519)
2019-03-25 11:20:03 +01:00
Theo Arends 6922e657d9 Shrink code/flash space
Shrink code/flash space
2019-03-23 17:00:59 +01:00
Theo Arends 99d20f803b More web chunks
More web chunks
2019-03-16 16:23:41 +01:00
Theo Arends ca5c3d1eeb 6.4.2.22 Remove support for MQTT_LIBRARY_TYPE
6.4.2.22 20190315
 * Remove support for MQTT_LIBRARY_TYPE, MQTT_ARDUINOMQTT and MQTT_TASMOTAMQTT (#5474)
2019-03-15 14:29:47 +01:00
Theo Arends baa5825569 Free some flash
Free some flash
2019-03-11 10:38:41 +01:00
Theo Arends d0ac200a78 Replace webserver flash string to char
Replace webserver flash string to char
2019-03-10 15:36:34 +01:00
Laurent Dong b87afc3bcb Code review: Copy string with strlcpy() instead of snprintf()
Copying string with snprintf() is unsafy and slow because it check and replace plcaehold (%?)
2019-03-08 13:24:02 -05:00
Theo Arends 06a9fbd792 Changed logging message handling
Changed logging message handling
2019-03-08 15:15:42 +01:00
Theo Arends 58fe50d81a Update webserver layout
Update webserver layout
2019-03-07 18:18:30 +01:00
Theo Arends b393cdc9f1 Replace menu button list
Replace menu button list
2019-03-04 18:32:23 +01:00
Theo Arends d790b1cfca 6.4.1.20 Webserver uses chunks
6.4.1.20 20190304
 * Changed webserver content handling from single String to small Chunks increasing RAM
2019-03-04 18:16:07 +01: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
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