Commit Graph

137 Commits

Author SHA1 Message Date
Matthijs Abma 7210934774 Cleanup code and only allocate buffer when needed 2020-05-24 17:47:57 +02:00
Matthijs Abma a4ce4830e8 Encode content when not raw or json 2020-05-24 17:47:57 +02:00
Matthijs Abma 7f18e1e8e3 Split logic for adding char to buffer and sending
the buffer, to make sure the char doesn't get
lost when the buffer is full
2020-05-23 17:44:49 +02:00
Matthijs Abma 2626345662 Store if current byte is delimiter for later reuse 2020-05-23 17:44:49 +02:00
Theo Arends aafa0862ab Refactor LedPwm code 2020-05-23 13:09:16 +02:00
George e780f25283 Gamma correction
Implement changes proposed by @s-hadinger review.
* Use 0-255 range in settings
* Apply gamma correction from xdrv_light & use changuintscale helper fn (as per pwm light routine)
2020-05-23 17:13:04 +10:00
George 603b628f97 Add pwm mode masking
* Extra setting & command to set - allows masking of pwm mode. Use case is for leds attached to buttons for seeing at night; this way user can combine both pwm and digital leds (i.e. pwm for the button leds but non-button status leds can stay on/off).
2020-05-20 13:23:54 +10:00
George e21cbfdc5d More sensible behaviour
* When setting PWM values, updates all the LEDs (instant response). Uses led_power values.
* If LEDLINK not set, but LED1 is, LED1 is the status led. When turning on/off, setledlink uses digitalwrite (which does not respect the new pwm operation). In this case only, we will use the setledpoweridx instead of digitalwrite - costly (every 250ms this runs), but edge case / legacy. Allows more intuitive operation - if we blink an LED with the max and min PWM limits, we'd expect it to respect these. In this case, blink will also now update the led_power status, which keeps this accurate e.g. if ledpower 1 cmnd was sent, then blink occurred, led_state would read a 1 for that bit but the led would be off (but nothing was reading it for status so it didn't cause any trouble). Leaving digitalwrite when LEDLINK is defined as this is more efficient and the use case for pwm leds is to find buttons - link indicator would become more ambiguous for no benefit.
2020-05-20 13:23:53 +10:00
George fb179c27af Fixes
* Setting commands don't update if no data is sent
* Didn't understand how pin mapping worked duh. Fixed.
2020-05-20 13:23:53 +10:00
George ce2696fef0 Fix compile errors
Missing brackets and semicolons of course. Blame python.
2020-05-20 13:23:53 +10:00
George a305f435e8 First pass at led pwm settings
* Added settings for ledpwm_on and ledpwm_off with defaults that mimic current digitalwrite function
* Changed ledpoweridx from digitalwrite to analogwrite
* Add commands to change new settings
2020-05-20 13:23:52 +10:00
Theo Arends cd7f719563 Add more functionality to ``Switchmode`` 11 and 12 (#8450)
Add more functionality to ``Switchmode`` 11 and 12 (#8450)
2020-05-19 15:52:10 +02:00
Theo Arends 4aa1c18d82 Revert uart buffer size increase
Revert uart buffer size increase but visit uart buffer reads more often to solve possible uart buffer overrun caused by sleep
2020-05-11 16:45:22 +02:00
Theo Arends 125ee62ff3 Add Serial buffer overrun detection
Add Serial buffer overrun detection and fix serial corruption by increasing uart serial buffer to 520
2020-05-11 15:27:29 +02:00
Theo Arends 23a9948d29 Fix ESP32 compilation 2020-05-04 11:07:52 +02:00
Theo Arends d410420110 Tasmotify ESP32 webcam 2020-05-03 18:37:12 +02:00
Theo Arends 99178c2f5d
Merge pull request #8315 from gemu2015/esp32-pwm
esp32 initial pwm support
2020-05-01 18:04:43 +02:00
gemu2015 bf29904b7a esp32 initial pwm support 2020-05-01 17:38:40 +02:00
Theo Arends 892be892fa Remove gpio to pin support 2020-05-01 17:37:56 +02:00
Theo Arends 7177c7d8e0 Change ESP32 pin allocation part 4 2020-05-01 16:47:41 +02:00
Theo Arends ef61668037 Change ESP32 pin allocation part 2 2020-04-29 17:44:03 +02:00
Theo Arends d805803daa Change pin array names
Change pin array names to block unwanted use of direct access
2020-04-29 14:01:02 +02:00
Theo Arends 60e7a73b60 Switch from GPIO array to Pin array 2020-04-28 14:42:47 +02:00
Theo Arends 3fef91d6ca Change pin handling part 6 2020-04-27 17:28:05 +02:00
Theo Arends ae4ec4325d Change pin handling part 5 2020-04-27 17:16:52 +02:00
Theo Arends c939077514 Change pin handling part 3 2020-04-27 12:54:07 +02:00
Theo Arends 5d9be9a4d0 Fix pin handling part 1 2020-04-27 10:35:38 +02:00
Theo Arends c9149b53c5 Change pin handling part 1 2020-04-26 17:33:27 +02:00
Theo Arends 104e3c4838 Implement ARRAY_SIZE macro 2020-04-25 11:37:36 +02:00
Theo Arends 9ed8e7c254 Fix internal array size checks 2020-04-24 17:39:26 +02:00
Theo Arends 5f75a4c354 Fix future compile error ;-) 2020-04-24 15:50:27 +02:00
Theo Arends be1fb3756c Change ESP32 freeHeap to MaxAllocHeap 2020-04-22 16:07:52 +02:00
Theo Arends e8f3d1d986 Increase ESP32 compatibility
Increase ESP32 compatibility (breaks current ESP32 configuration again!)
2020-04-13 17:45:06 +02:00
Theo Arends 93fd5dd618 Add experimental minimal support for ESP32
Add experimental minimal support for ESP32 (#8110)
2020-04-10 18:24:08 +02:00
Theo Arends d8f750ebb9 Add legacy support 2020-04-09 14:00:02 +02:00
Stephan Hadinger 7a6628d903 Add command ``SetOption41 <x>`` to force sending gratuitous ARP every <x> seconds 2020-04-07 14:07:00 +02:00
Theo Arends caff54da7c Fix unquoted non-json data
Fix unquoted non-json data (#8040)
2020-04-01 14:39:43 +02:00
Theo Arends dbc9f16ffc Add support for up to four MQTT GroupTopics
- Bump version to 8.2.0.2
- Add support for up to four MQTT GroupTopics using the same optional Device Group names (#8014)
2020-03-28 16:48:36 +01:00
Norbert Richter 898fff9dbc
Add multiple GroupTopic<x> (x=1-4) (default disabled)
grouptopic (1-4) subscription even when USE_DEVICE_GROUPS
is not used.
2020-03-28 11:17:16 +01:00
Theo Arends aede481b61 Move not used GPIO init up in chain 2020-03-25 11:29:46 +01:00
Theo Arends 5471de6f1c Change GPIO initialization solving possible Relay toggle on (OTA) restart
Change GPIO initialization solving possible Relay toggle on (OTA) restart
2020-03-22 17:42:32 +01:00
Theo Arends 0a0afe3615 Add Dew point to more sensors
Add Dew point to more sensors and refactor JSON Temperature and Humidity message
2020-03-17 16:29:59 +01:00
Theo Arends 566bc47af4 Add Dewpoint to Temp/Hum sensors Prt. 1
- Add Dewpoint to Temp/Hum sensors Prt. 1
- Update AHT10 driver (#7930)
2020-03-16 16:52:22 +01:00
Paul C Diem fec34434a6 Merge branch 'development' of https://github.com/arendst/Tasmota into pwm-dimmer3 2020-03-15 18:26:46 -05:00
Theo Arends 1a825db2b9 Fix ghost logging 2020-03-14 17:45:36 +01:00
Paul C Diem a72acf37fe Use Light module to manage PWM, Rework multi-button sequences 2020-03-13 12:08:44 -05:00
Theo Arends 0006d44e63 Fix HASS button discovery 2020-03-04 18:02:27 +01:00
Theo Arends 71e702c659 Change minimal filename construction 2020-03-04 15:36:37 +01:00
Theo Arends 71d810aac4 Update Tx2x Sensor
Update Tx2x Sensor with command SpeedUnit (#7843)
2020-03-02 15:51:33 +01:00
Norbert Richter 94dbc4d1a2
refactor TX2x sensor driver 2020-02-29 16:11:59 +01:00
Paul C Diem c0a5156d8f Initial pwm dimmer support 2020-02-24 07:19:15 -06:00
Paul C Diem 8182d6ef7b Merge branch 'development' of https://github.com/pcdiem/Tasmota into device-groups 2020-02-21 09:15:47 -06:00
Paul C Diem f409d7258e Initial device groups support (power and light) 2020-02-21 09:09:21 -06:00
Theo Arends 5e4d8e5641 Fix relation between RSSI and signal strength
Fix relation between RSSI and signal strength
2020-02-20 10:07:00 +01:00
Theo Arends 504570d5d5 Fix MaxPower functionality
Fix MaxPower functionality (#7647)
2020-02-09 16:21:48 +01:00
Theo Arends 48d70bc7bb Add Buzzer commands
Add command ``Buzzer -1`` for infinite mode and command ``Buzzer -2`` for following led mode (#7623)
2020-02-06 16:25:37 +01:00
Theo Arends 709fa19eb2
Merge pull request #7623 from to-scho/feature/buzzer_modes
Buzzer extensions
2020-02-06 16:05:18 +01:00
Theo Arends d779a2b9b4 Add switch modes 11 and 12
Add switch modes 11 (PUSHHOLDMULTI) and 12 (PUSHHOLDMULTI_INV) (#7603)
2020-02-06 14:53:35 +01:00
to-scho 72935bdcc6 Buzzer extensions
Add infinite mode (count==-1), add follow led mode (count==-2), add count>1 for tune playback
2020-01-28 11:22:36 +01:00
Theo Arends 45ed0257b6 Better support for Prefix1 equals Prefix2 2020-01-18 16:57:48 +01:00
Theo Arends 5716d08de9 Refactor MQTT Logging and publish 2020-01-18 15:34:01 +01:00
Theo Arends be5c7a4367 Document and add errorchecks to OTA
Document and add errorchecks to OTA
2020-01-17 17:14:53 +01:00
Theo Arends e8ce1eb641 Fix OTA minimal gzipped detection
Fix OTA minimal gzipped detection regression from 8.1.0.3
2020-01-17 15:38:03 +01:00
Theo Arends 5b797a8f4e Add new SwitchMode options
Add ``SwitchMode 8`` ToggleMulti, ``SwitchMode 9`` FollowMulti and ``SwitchMode 10`` FollowMultiInverted (#7522)
2020-01-16 10:39:59 +01:00
Theo Arends ceef563414 Add simple check for serialreceived JSON
Add simple check for serialreceived JSON (#7506)
2020-01-14 15:58:56 +01:00
Theo Arends 0db458c774 Fix exception 9 restart on log message
Fix exception 9 restart on log message in Ticker interrupt service routines NTP, Wemos and Hue emulation (#7496)
2020-01-14 12:47:48 +01:00
Theo Arends 0e0d8190fa Change some commands displaying all items
Change commands ``Prefix``, ``Ssid``, ``StateText``, ``NTPServer``, and ``FriendlyName`` displaying all items
2020-01-12 13:10:21 +01:00
Theo Arends e7b061ce5a Fix Tuya PowerOn state
Fix Tuya PowerOn state (#7412)
2020-01-11 15:39:56 +01:00
Theo Arends 8db49a0fe3 Add support for tasmota-minimal.bin.gz 2020-01-07 17:28:06 +01:00
Theo Arends 1c0db7e689 Refactor version compatibility 2020-01-07 17:01:48 +01:00
Theo Arends 8c2ff7237e Fix Arduino_OTA compile error
Fix Arduino_OTA compile error (#7413)
2020-01-03 16:50:56 +01:00
Theo Arends 8aa9109656 Happy New Year
Happy New Year
2019-12-31 14:23:34 +01:00
Theo Arends 1526a59162 Refactor HotPlug 2019-12-30 14:23:37 +01:00
Theo Arends df944ed058 Fix Serial initialization regression
Fix Serial initialization regression from previous fix
2019-12-29 13:27:48 +01:00
Theo Arends 5682675ac9 Fix some serial interface initializations
Fix Sonoff Bridge, Sc, L1, iFan03 and CSE7766 serial interface to forced speed, config and disable logging
2019-12-27 15:13:40 +01:00
Theo Arends ad4a7e91ac Add support for max 150 characters
Add support for max 150 characters in most command parameter strings (#3686, #4754)
2019-12-22 15:23:52 +01:00
Theo Arends 281cef6763 Fix no AP on initial install
Fix no AP on initial install (#7282)
2019-12-21 17:57:54 +01:00
Theo Arends 7459a8a424 Add restriction if fallback firmware is incompatible
Add restriction if fallback firmware is incompatible with settings resulting in unreachable device
2019-12-20 15:12:44 +01:00
Theo Arends 5c282db649 Add some GPIO checks 2019-12-18 18:21:10 +01:00
Theo Arends aae86a6718 Add fallback functionality
Add fallback functionality from next version 7.1.2.7
2019-12-16 15:13:57 +01:00
Theo Arends 3d59de5d1d Bump version to 7.1.2.6
- Change some more Settings locations freeing up space for future single char allowing variable length text
- Add Zigbee support for Xiaomi Aqara Vibration Sensor and Presence Sensor by Stefan Hadinger
- Add Shutter functions ramp up/down and MQTT reporting by Stefan Bode
2019-12-14 13:16:55 +01:00
Hadinger 96cc933094 Fix flashing H801 led at boot (#7165, #649) 2019-12-10 22:00:38 +01:00
Andreas Schultz 46566952a0 report Signal Strength in dBm over MQTT
Also include dBm in debug log and in WebIf information display.
2019-12-08 19:42:08 +01:00
Adrian Scillato 5f290f8b64
Reverting changes in tele message due to backwards compatibility 2019-12-06 20:10:04 -03:00
Adrian Scillato 461d18b3f9
Add new tele- rule triggers 2019-12-02 15:04:38 -03:00
Adrian Scillato 4441f212d5
Add rule trigger tele-switch1#state 2019-12-02 13:03:43 -03:00
Theo Arends 70673b8c74 Add support_tasmota 2019-12-02 10:44:27 +01:00