mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-24 11:16:34 +00:00
Merge branch 'development' into pre-release-9.1.0
This commit is contained in:
commit
b369e87385
2
.gitignore
vendored
2
.gitignore
vendored
@ -14,7 +14,7 @@ build
|
||||
build_output
|
||||
firmware.map
|
||||
firmware.asm
|
||||
tasmota.ino.cpp
|
||||
tasmota/tasmota.ino.cpp
|
||||
tasmota*.bin
|
||||
tasmota*.bin.gz
|
||||
tasmota*.map
|
||||
|
@ -23,6 +23,7 @@ All notable changes to this project will be documented in this file.
|
||||
- Command ``Gpios 255`` to show all possible GPIO configurations
|
||||
- Command ``SwitchText`` to change JSON switch names by barbudor (#9691)
|
||||
- Command ``SetOption114 1`` to detach Switches from Relays and enable MQTT action state for all the SwitchModes returning `{"Switch1":{"Action":"ON"}}`
|
||||
- Command ``DimmerStep 1..50`` to change default dimmer up and down step of 10% by James Turton (#9733)
|
||||
- HM10 Beacon support and refactoring by Christian Baars (#9702)
|
||||
- Support for Hass discovery of TuyaMcu and Sonoff Ifan by Federico Leoni (#9727)
|
||||
- Initial support for iBeacons (Sensor52) on ESP32 using internal BLE by rvbglas (#9732)
|
||||
@ -40,6 +41,9 @@ All notable changes to this project will be documented in this file.
|
||||
- Rule handling of JSON ``null`` regression from v8.5.0.1 (#9685)
|
||||
- Arilux RF remote detection regression from v8.3.0
|
||||
|
||||
### Removed
|
||||
- Auto output selection of decimal or hexadecimal data based on user input. Now only based on ``SetOption17``
|
||||
|
||||
## [9.0.0.2] - 20201025
|
||||
### Added
|
||||
- Support for Vietnamese language translations by Tâm.NT
|
||||
|
@ -59,6 +59,7 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
|
||||
|
||||
## Changelog v9.1.0 Imogen
|
||||
### Added
|
||||
- Command ``DimmerStep 1..50`` to change default dimmer up and down step of 10% by James Turton (#9733)
|
||||
- Command ``Gpios 255`` to show all possible GPIO configurations
|
||||
- Command ``NoDelay`` for immediate backlog command execution by Erik Montnemery (#9544)
|
||||
- Command ``ShutterChange`` to increment change position (#9594)
|
||||
@ -133,3 +134,4 @@ The attached binaries can also be downloaded from http://ota.tasmota.com/tasmota
|
||||
- Support for direct upgrade from Tasmota versions before v7.0
|
||||
- Support for downgrade to versions before 9.0 keeping current GPIO configuration
|
||||
- Auto config update for all Friendlynames and Switchtopic from Tasmota versions before v8.0
|
||||
- Auto output selection of decimal or hexadecimal data based on user input. Now only based on ``SetOption17``
|
||||
|
@ -421,6 +421,7 @@
|
||||
#define D_CMND_COLORTEMPERATURE "CT"
|
||||
#define D_CMND_DIMMER "Dimmer"
|
||||
#define D_CMND_DIMMER_RANGE "DimmerRange"
|
||||
#define D_CMND_DIMMER_STEP "DimmerStep"
|
||||
#define D_CMND_HSBCOLOR "HSBColor"
|
||||
#define D_CMND_LED "Led"
|
||||
#define D_CMND_LEDTABLE "LedTable"
|
||||
|
@ -635,8 +635,9 @@ struct {
|
||||
uint8_t shutter_mode; // F43
|
||||
uint16_t energy_power_delta[3]; // F44
|
||||
uint16_t shutter_pwmrange[2][MAX_SHUTTERS]; // F4A
|
||||
|
||||
uint8_t free_f5a[89]; // F5A Decrement if adding new Setting variables just above and below
|
||||
uint8_t dimmer_step; // F5A
|
||||
|
||||
uint8_t free_f5b[88]; // F5B - Decrement if adding new Setting variables just above and below
|
||||
|
||||
// Only 32 bit boundary variables below
|
||||
SysBitfield5 flag5; // FB4
|
||||
|
@ -1015,6 +1015,8 @@ void SettingsDefaultSet2(void)
|
||||
Settings.dimmer_hw_max = DEFAULT_DIMMER_MAX;
|
||||
Settings.dimmer_hw_min = DEFAULT_DIMMER_MIN;
|
||||
|
||||
Settings.dimmer_step = DEFAULT_DIMMER_STEP;
|
||||
|
||||
// Display
|
||||
// Settings.display_model = 0;
|
||||
Settings.display_mode = 1;
|
||||
|
@ -219,6 +219,9 @@ String EthernetMacAddress(void);
|
||||
#ifndef DEFAULT_DIMMER_MIN
|
||||
#define DEFAULT_DIMMER_MIN 0
|
||||
#endif
|
||||
#ifndef DEFAULT_DIMMER_STEP
|
||||
#define DEFAULT_DIMMER_STEP 10
|
||||
#endif
|
||||
#ifndef DEFAULT_LIGHT_DIMMER
|
||||
#define DEFAULT_LIGHT_DIMMER 10
|
||||
#endif
|
||||
|
@ -129,7 +129,7 @@ enum LightSchemes { LS_POWER, LS_WAKEUP, LS_CYCLEUP, LS_CYCLEDN, LS_RANDOM, LS_M
|
||||
const uint8_t LIGHT_COLOR_SIZE = 25; // Char array scolor size
|
||||
|
||||
const char kLightCommands[] PROGMEM = "|" // No prefix
|
||||
D_CMND_COLOR "|" D_CMND_COLORTEMPERATURE "|" D_CMND_DIMMER "|" D_CMND_DIMMER_RANGE "|" D_CMND_LEDTABLE "|" D_CMND_FADE "|"
|
||||
D_CMND_COLOR "|" D_CMND_COLORTEMPERATURE "|" D_CMND_DIMMER "|" D_CMND_DIMMER_RANGE "|" D_CMND_DIMMER_STEP "|" D_CMND_LEDTABLE "|" D_CMND_FADE "|"
|
||||
D_CMND_RGBWWTABLE "|" D_CMND_SCHEME "|" D_CMND_SPEED "|" D_CMND_WAKEUP "|" D_CMND_WAKEUPDURATION "|"
|
||||
D_CMND_WHITE "|" D_CMND_CHANNEL "|" D_CMND_HSBCOLOR
|
||||
#ifdef USE_LIGHT_PALETTE
|
||||
@ -141,7 +141,7 @@ const char kLightCommands[] PROGMEM = "|" // No prefix
|
||||
"|UNDOCA" ;
|
||||
|
||||
void (* const LightCommand[])(void) PROGMEM = {
|
||||
&CmndColor, &CmndColorTemperature, &CmndDimmer, &CmndDimmerRange, &CmndLedTable, &CmndFade,
|
||||
&CmndColor, &CmndColorTemperature, &CmndDimmer, &CmndDimmerRange, &CmndDimmerStep, &CmndLedTable, &CmndFade,
|
||||
&CmndRgbwwTable, &CmndScheme, &CmndSpeed, &CmndWakeup, &CmndWakeupDuration,
|
||||
&CmndWhite, &CmndChannel, &CmndHsbColor,
|
||||
#ifdef USE_LIGHT_PALETTE
|
||||
@ -2556,9 +2556,12 @@ bool LightColorEntry(char *buffer, uint32_t buffer_length)
|
||||
entry_type = 1; // Hexadecimal
|
||||
}
|
||||
}
|
||||
if (entry_type) {
|
||||
Settings.flag.decimal_text = entry_type -1; // SetOption17 - Switch between decimal or hexadecimal output
|
||||
}
|
||||
|
||||
// Too much magic so removed since 9.0.0.3
|
||||
// if (entry_type) {
|
||||
// Settings.flag.decimal_text = entry_type -1; // SetOption17 - Switch between decimal or hexadecimal output
|
||||
// }
|
||||
|
||||
return (entry_type);
|
||||
}
|
||||
|
||||
@ -2829,8 +2832,8 @@ void CmndDimmer(void)
|
||||
// Dimmer1 0..100 - Change RGB Dimmer
|
||||
// Dimmer2 0..100 - Change W(W) Dimmer
|
||||
// Dimmer3 0..100 - Change both RGB and W(W) Dimmers with no fading
|
||||
// Dimmer<x> + - Incerement Dimmer in steps of 10
|
||||
// Dimmer<x> - - Decrement Dimmer in steps of 10
|
||||
// Dimmer<x> + - Incerement Dimmer in steps of DimmerStep
|
||||
// Dimmer<x> - - Decrement Dimmer in steps of DimmerStep
|
||||
uint32_t dimmer;
|
||||
if (XdrvMailbox.index == 3) {
|
||||
TasmotaGlobal.skip_light_fade = true;
|
||||
@ -2848,9 +2851,9 @@ void CmndDimmer(void)
|
||||
// Handle +/- special command
|
||||
if (1 == XdrvMailbox.data_len) {
|
||||
if ('+' == XdrvMailbox.data[0]) {
|
||||
XdrvMailbox.payload = (dimmer > 89) ? 100 : dimmer + 10;
|
||||
XdrvMailbox.payload = (dimmer > (100 - Settings.dimmer_step - 1)) ? 100 : dimmer + Settings.dimmer_step;
|
||||
} else if ('-' == XdrvMailbox.data[0]) {
|
||||
XdrvMailbox.payload = (dimmer < 11) ? 1 : dimmer - 10;
|
||||
XdrvMailbox.payload = (dimmer < (Settings.dimmer_step + 1)) ? 1 : dimmer - Settings.dimmer_step;
|
||||
}
|
||||
}
|
||||
// If value is ok, change it, otherwise report old value
|
||||
@ -2907,6 +2910,22 @@ void CmndDimmerRange(void)
|
||||
Response_P(PSTR("{\"" D_CMND_DIMMER_RANGE "\":{\"Min\":%d,\"Max\":%d}}"), Settings.dimmer_hw_min, Settings.dimmer_hw_max);
|
||||
}
|
||||
|
||||
void CmndDimmerStep(void)
|
||||
{
|
||||
// DimmerStep - Show current dimmer step as used by Dimmer +/-
|
||||
// DimmerStep 1..50 - Set dimmer step
|
||||
if (XdrvMailbox.data_len > 0) {
|
||||
if (XdrvMailbox.payload < 1) {
|
||||
Settings.dimmer_step = 1;
|
||||
} else if (XdrvMailbox.payload > 50) {
|
||||
Settings.dimmer_step = 50;
|
||||
} else {
|
||||
Settings.dimmer_step = XdrvMailbox.payload;
|
||||
}
|
||||
}
|
||||
ResponseCmndNumber(Settings.dimmer_step);
|
||||
}
|
||||
|
||||
void CmndLedTable(void)
|
||||
{
|
||||
// LedTable - Show current LedTable state
|
||||
|
Loading…
x
Reference in New Issue
Block a user