mirror of https://github.com/arendst/Tasmota.git
Bump version v14.3.0.6
- Add command ``WebColor20`` to control color of Button when Off
This commit is contained in:
parent
b903c6a843
commit
cf94ccf59c
14
CHANGELOG.md
14
CHANGELOG.md
|
@ -3,17 +3,25 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
## [Unreleased] - Development
|
## [Unreleased] - Development
|
||||||
|
|
||||||
## [14.3.0.5]
|
## [14.3.0.6]
|
||||||
### Added
|
### Added
|
||||||
- ESP32 MI32 legacy add config operations (#22458)
|
- Add command ``WebColor20`` to control color of Button when Off
|
||||||
|
|
||||||
### Breaking Changed
|
### Breaking Changed
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Redesign GUI adding feedback to buttons, shutters and lights
|
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
## [14.3.0.5] 20241111
|
||||||
|
### Added
|
||||||
|
- ESP32 MI32 legacy add config operations (#22458)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- Redesign GUI adding feedback to buttons, shutters and lights
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
- Command ``SetOption161 1`` to disable web page slider updates by commands
|
- Command ``SetOption161 1`` to disable web page slider updates by commands
|
||||||
|
|
||||||
|
|
|
@ -114,8 +114,9 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
|
||||||
|
|
||||||
[Complete list](BUILDS.md) of available feature and sensors.
|
[Complete list](BUILDS.md) of available feature and sensors.
|
||||||
|
|
||||||
## Changelog v14.3.0.5
|
## Changelog v14.3.0.6
|
||||||
### Added
|
### Added
|
||||||
|
- Add command ``WebColor20`` to control color of Button when Off
|
||||||
- DALI support for short addresses (gear) and groups
|
- DALI support for short addresses (gear) and groups
|
||||||
- DALI command `DaliGear` to set max found gear to speed up scan response
|
- DALI command `DaliGear` to set max found gear to speed up scan response
|
||||||
- DALI command `DaliGroup` to add gear to groups
|
- DALI command `DaliGroup` to add gear to groups
|
||||||
|
|
|
@ -851,8 +851,6 @@
|
||||||
#define CODE_IMAGE_STR "minimal"
|
#define CODE_IMAGE_STR "minimal"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FIRMWARE_MINIMAL_ONLY
|
|
||||||
|
|
||||||
#undef FIRMWARE_LITE // Disable tasmota-lite with no sensors
|
#undef FIRMWARE_LITE // Disable tasmota-lite with no sensors
|
||||||
#undef FIRMWARE_SENSORS // Disable tasmota-sensors with useful sensors enabled
|
#undef FIRMWARE_SENSORS // Disable tasmota-sensors with useful sensors enabled
|
||||||
#undef FIRMWARE_KNX_NO_EMULATION // Disable tasmota-knx with KNX but without Emulation
|
#undef FIRMWARE_KNX_NO_EMULATION // Disable tasmota-knx with KNX but without Emulation
|
||||||
|
|
|
@ -173,8 +173,6 @@
|
||||||
|
|
||||||
#define FIRMWARE_MINIMAL
|
#define FIRMWARE_MINIMAL
|
||||||
|
|
||||||
#undef FIRMWARE_MINIMAL_ONLY
|
|
||||||
|
|
||||||
#undef USE_ESP32_SENSORS
|
#undef USE_ESP32_SENSORS
|
||||||
#undef USE_UFILESYS
|
#undef USE_UFILESYS
|
||||||
#undef GUI_TRASH_FILE
|
#undef GUI_TRASH_FILE
|
||||||
|
|
|
@ -503,13 +503,16 @@ const char WIFI_HOSTNAME[] = WIFI_DEFAULT_HOSTNAME; // Override by user_confi
|
||||||
#ifndef COLOR_TITLE_TEXT
|
#ifndef COLOR_TITLE_TEXT
|
||||||
#define COLOR_TITLE_TEXT COLOR_TEXT // Title text color defaults to global text color either dark or light
|
#define COLOR_TITLE_TEXT COLOR_TEXT // Title text color defaults to global text color either dark or light
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef COLOR_BUTTON_OFF
|
||||||
|
#define COLOR_BUTTON_OFF "#08405e" // Button color when off - Darkest blueish
|
||||||
|
#endif
|
||||||
|
|
||||||
enum WebColors {
|
enum WebColors {
|
||||||
COL_TEXT, COL_BACKGROUND, COL_FORM,
|
COL_TEXT, COL_BACKGROUND, COL_FORM,
|
||||||
COL_INPUT_TEXT, COL_INPUT, COL_CONSOLE_TEXT, COL_CONSOLE,
|
COL_INPUT_TEXT, COL_INPUT, COL_CONSOLE_TEXT, COL_CONSOLE,
|
||||||
COL_TEXT_WARNING, COL_TEXT_SUCCESS,
|
COL_TEXT_WARNING, COL_TEXT_SUCCESS,
|
||||||
COL_BUTTON_TEXT, COL_BUTTON, COL_BUTTON_HOVER, COL_BUTTON_RESET, COL_BUTTON_RESET_HOVER, COL_BUTTON_SAVE, COL_BUTTON_SAVE_HOVER,
|
COL_BUTTON_TEXT, COL_BUTTON, COL_BUTTON_HOVER, COL_BUTTON_RESET, COL_BUTTON_RESET_HOVER, COL_BUTTON_SAVE, COL_BUTTON_SAVE_HOVER,
|
||||||
COL_TIMER_TAB_TEXT, COL_TIMER_TAB_BACKGROUND, COL_TITLE,
|
COL_TIMER_TAB_TEXT, COL_TIMER_TAB_BACKGROUND, COL_TITLE, COL_BUTTON_OFF,
|
||||||
COL_LAST };
|
COL_LAST };
|
||||||
|
|
||||||
const char kWebColors[] PROGMEM =
|
const char kWebColors[] PROGMEM =
|
||||||
|
@ -517,7 +520,7 @@ const char kWebColors[] PROGMEM =
|
||||||
COLOR_INPUT_TEXT "|" COLOR_INPUT "|" COLOR_CONSOLE_TEXT "|" COLOR_CONSOLE "|"
|
COLOR_INPUT_TEXT "|" COLOR_INPUT "|" COLOR_CONSOLE_TEXT "|" COLOR_CONSOLE "|"
|
||||||
COLOR_TEXT_WARNING "|" COLOR_TEXT_SUCCESS "|"
|
COLOR_TEXT_WARNING "|" COLOR_TEXT_SUCCESS "|"
|
||||||
COLOR_BUTTON_TEXT "|" COLOR_BUTTON "|" COLOR_BUTTON_HOVER "|" COLOR_BUTTON_RESET "|" COLOR_BUTTON_RESET_HOVER "|" COLOR_BUTTON_SAVE "|" COLOR_BUTTON_SAVE_HOVER "|"
|
COLOR_BUTTON_TEXT "|" COLOR_BUTTON "|" COLOR_BUTTON_HOVER "|" COLOR_BUTTON_RESET "|" COLOR_BUTTON_RESET_HOVER "|" COLOR_BUTTON_SAVE "|" COLOR_BUTTON_SAVE_HOVER "|"
|
||||||
COLOR_TIMER_TAB_TEXT "|" COLOR_TIMER_TAB_BACKGROUND "|" COLOR_TITLE_TEXT;
|
COLOR_TIMER_TAB_TEXT "|" COLOR_TIMER_TAB_BACKGROUND "|" COLOR_TITLE_TEXT "|" COLOR_BUTTON_OFF;
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Macros
|
* Macros
|
||||||
|
|
|
@ -22,6 +22,6 @@
|
||||||
|
|
||||||
#define TASMOTA_SHA_SHORT // Filled by Github sed
|
#define TASMOTA_SHA_SHORT // Filled by Github sed
|
||||||
|
|
||||||
const uint32_t TASMOTA_VERSION = 0x0E030005; // 14.3.0.5
|
const uint32_t TASMOTA_VERSION = 0x0E030006; // 14.3.0.6
|
||||||
|
|
||||||
#endif // _TASMOTA_VERSION_H_
|
#endif // _TASMOTA_VERSION_H_
|
||||||
|
|
|
@ -190,7 +190,7 @@
|
||||||
// -- HTTP GUI Colors -----------------------------
|
// -- HTTP GUI Colors -----------------------------
|
||||||
// HTML hex color codes. Only 3 and 6 digit hex string values are supported!! See https://www.w3schools.com/colors/colors_hex.asp
|
// HTML hex color codes. Only 3 and 6 digit hex string values are supported!! See https://www.w3schools.com/colors/colors_hex.asp
|
||||||
// Light theme - pre v7
|
// Light theme - pre v7
|
||||||
// WebColor {"WebColor":["#000","#fff","#f2f2f2","#000","#fff","#000","#fff","#f00","#008000","#fff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#fff","#999","#000"]}
|
// WebColor {"WebColor":["#000","#fff","#f2f2f2","#000","#fff","#000","#fff","#f00","#008000","#fff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#fff","#999","#000","#08405e"]}
|
||||||
/*
|
/*
|
||||||
#define COLOR_TEXT "#000" // [WebColor1] Global text color - Black
|
#define COLOR_TEXT "#000" // [WebColor1] Global text color - Black
|
||||||
#define COLOR_BACKGROUND "#fff" // [WebColor2] Global background color - White
|
#define COLOR_BACKGROUND "#fff" // [WebColor2] Global background color - White
|
||||||
|
@ -211,9 +211,10 @@
|
||||||
#define COLOR_TIMER_TAB_TEXT "#fff" // [WebColor17] Config timer tab text color - White
|
#define COLOR_TIMER_TAB_TEXT "#fff" // [WebColor17] Config timer tab text color - White
|
||||||
#define COLOR_TIMER_TAB_BACKGROUND "#999" // [WebColor18] Config timer tab background color - Dark gray
|
#define COLOR_TIMER_TAB_BACKGROUND "#999" // [WebColor18] Config timer tab background color - Dark gray
|
||||||
#define COLOR_TITLE_TEXT "#000" // [WebColor19] Title text color - Whiteish
|
#define COLOR_TITLE_TEXT "#000" // [WebColor19] Title text color - Whiteish
|
||||||
|
#define COLOR_BUTTON_OFF "#08405e" // [WebColor20] Button color when off - Darkest blueish
|
||||||
*/
|
*/
|
||||||
// Dark theme
|
// Dark theme
|
||||||
// WebColor {"WebColor":["#eaeaea","#252525","#4f4f4f","#000","#ddd","#65c115","#1f1f1f","#ff5661","#008000","#faffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#faffff","#999","#eaeaea"]}
|
// WebColor {"WebColor":["#eaeaea","#252525","#4f4f4f","#000","#ddd","#65c115","#1f1f1f","#ff5661","#008000","#faffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#faffff","#999","#eaeaea","#08405e"]}
|
||||||
#define COLOR_TEXT "#eaeaea" // [WebColor1] Global text color - Very light gray
|
#define COLOR_TEXT "#eaeaea" // [WebColor1] Global text color - Very light gray
|
||||||
#define COLOR_BACKGROUND "#252525" // [WebColor2] Global background color - Very dark gray (mostly black)
|
#define COLOR_BACKGROUND "#252525" // [WebColor2] Global background color - Very dark gray (mostly black)
|
||||||
#define COLOR_FORM "#4f4f4f" // [WebColor3] Form background color - Very dark gray
|
#define COLOR_FORM "#4f4f4f" // [WebColor3] Form background color - Very dark gray
|
||||||
|
@ -233,6 +234,7 @@
|
||||||
#define COLOR_TIMER_TAB_TEXT "#faffff" // [WebColor17] Config timer tab text color - Very pale (mostly white) cyan.
|
#define COLOR_TIMER_TAB_TEXT "#faffff" // [WebColor17] Config timer tab text color - Very pale (mostly white) cyan.
|
||||||
#define COLOR_TIMER_TAB_BACKGROUND "#999" // [WebColor18] Config timer tab background color - Dark gray
|
#define COLOR_TIMER_TAB_BACKGROUND "#999" // [WebColor18] Config timer tab background color - Dark gray
|
||||||
#define COLOR_TITLE_TEXT "#eaeaea" // [WebColor19] Title text color - Very light gray
|
#define COLOR_TITLE_TEXT "#eaeaea" // [WebColor19] Title text color - Very light gray
|
||||||
|
#define COLOR_BUTTON_OFF "#08405e" // [WebColor20] Button color when off - Darkest blueish
|
||||||
|
|
||||||
// -- KNX -----------------------------------------
|
// -- KNX -----------------------------------------
|
||||||
#define KNX_ENABLED false // [Knx_Enabled] Enable KNX protocol
|
#define KNX_ENABLED false // [Knx_Enabled] Enable KNX protocol
|
||||||
|
|
|
@ -1843,6 +1843,10 @@ void SettingsDelta(void) {
|
||||||
if (Settings->version < 0x0E030004) { // 14.3.0.4
|
if (Settings->version < 0x0E030004) { // 14.3.0.4
|
||||||
Settings->mbflag2.dali_group_sliders = 2;
|
Settings->mbflag2.dali_group_sliders = 2;
|
||||||
}
|
}
|
||||||
|
if (Settings->version < 0x0E030006) { // 14.3.0.6
|
||||||
|
char scolor[10];
|
||||||
|
WebHexCode(COL_BUTTON_OFF, GetTextIndexed(scolor, sizeof(scolor), COL_BUTTON_OFF, kWebColors));
|
||||||
|
}
|
||||||
|
|
||||||
Settings->version = TASMOTA_VERSION;
|
Settings->version = TASMOTA_VERSION;
|
||||||
SettingsSave(1);
|
SettingsSave(1);
|
||||||
|
|
|
@ -1519,7 +1519,7 @@ void HandleRoot(void) {
|
||||||
#endif // USE_SONOFF_IFAN
|
#endif // USE_SONOFF_IFAN
|
||||||
|
|
||||||
if (not_active) {
|
if (not_active) {
|
||||||
WSContentSend_P(PSTR("eb('o%d').style.background='#%06x';"), idx, WebColor(COL_FORM));
|
WSContentSend_P(PSTR("eb('o%d').style.background='#%06x';"), idx, WebColor(COL_BUTTON_OFF));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WSContentSend_P(PSTR("</script>"));
|
WSContentSend_P(PSTR("</script>"));
|
||||||
|
@ -1693,7 +1693,7 @@ bool HandleRootStatusRefresh(void)
|
||||||
#endif // USE_SONOFF_IFAN
|
#endif // USE_SONOFF_IFAN
|
||||||
|
|
||||||
WSContentSend_P(PSTR("eb('o%d').style.background='#%06x';"),
|
WSContentSend_P(PSTR("eb('o%d').style.background='#%06x';"),
|
||||||
idx, WebColor((active) ? COL_BUTTON : COL_FORM));
|
idx, WebColor((active) ? COL_BUTTON : COL_BUTTON_OFF));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3854,9 +3854,9 @@ int WebGetConfig(char *buffer) {
|
||||||
bool JsonWebColor(const char* dataBuf)
|
bool JsonWebColor(const char* dataBuf)
|
||||||
{
|
{
|
||||||
// Default (Dark theme)
|
// Default (Dark theme)
|
||||||
// {"WebColor":["#eaeaea","#252525","#4f4f4f","#000","#ddd","#65c115","#1f1f1f","#ff5661","#008000","#faffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#faffff","#999","#eaeaea"]}
|
// {"WebColor":["#eaeaea","#252525","#4f4f4f","#000","#ddd","#65c115","#1f1f1f","#ff5661","#008000","#faffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#faffff","#999","#eaeaea","#08405e"]}
|
||||||
// Default pre v7 (Light theme)
|
// Default pre v7 (Light theme)
|
||||||
// {"WebColor":["#000","#fff","#f2f2f2","#000","#fff","#000","#fff","#f00","#008000","#fff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#fff","#999","#000"]} // {"WebColor":["#000000","#ffffff","#f2f2f2","#000000","#ffffff","#000000","#ffffff","#ff0000","#008000","#ffffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#ffffff","#999999","#000000"]}
|
// {"WebColor":["#000","#fff","#f2f2f2","#000","#fff","#000","#fff","#f00","#008000","#fff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#fff","#999","#000","#08405e"]} // {"WebColor":["#000000","#ffffff","#f2f2f2","#000000","#ffffff","#000000","#ffffff","#ff0000","#008000","#ffffff","#1fa3ec","#0e70a4","#d43535","#931f1f","#47c266","#5aaf6f","#ffffff","#999999","#000000","#08405e"]}
|
||||||
|
|
||||||
JsonParser parser((char*) dataBuf);
|
JsonParser parser((char*) dataBuf);
|
||||||
JsonParserObject root = parser.getRootObject();
|
JsonParserObject root = parser.getRootObject();
|
||||||
|
|
|
@ -1247,7 +1247,7 @@ void DaliWebAddMainSlider(void) {
|
||||||
Dali->web_dimmer[i] = Dali->dimmer[i];
|
Dali->web_dimmer[i] = Dali->dimmer[i];
|
||||||
WSContentSend_P(HTTP_MSG_SLIDER_DALI, // Brightness - Black to White
|
WSContentSend_P(HTTP_MSG_SLIDER_DALI, // Brightness - Black to White
|
||||||
i, // k75<i>
|
i, // k75<i>
|
||||||
WebColor((Dali->power[i]) ? COL_BUTTON : COL_FORM),
|
WebColor((Dali->power[i]) ? COL_BUTTON : COL_BUTTON_OFF),
|
||||||
i, // k75=<i>
|
i, // k75=<i>
|
||||||
(0==i)?"B":"G", // B (Broadcast) or G1 to G16 (Group)
|
(0==i)?"B":"G", // B (Broadcast) or G1 to G16 (Group)
|
||||||
(0==i)?"":itoa(i, number, 10),
|
(0==i)?"":itoa(i, number, 10),
|
||||||
|
@ -1296,7 +1296,7 @@ void DaliShow(bool json) {
|
||||||
uint32_t slider_update_time = millis();
|
uint32_t slider_update_time = millis();
|
||||||
for (uint32_t i = Settings->sbflag1.dali_light; i <= Settings->mbflag2.dali_group_sliders; i++) { // DaliLight 0/1, DaliGroupSliders
|
for (uint32_t i = Settings->sbflag1.dali_light; i <= Settings->mbflag2.dali_group_sliders; i++) { // DaliLight 0/1, DaliGroupSliders
|
||||||
WSContentSend_P(PSTR("eb('k75%d').style='background:#%06x';"),
|
WSContentSend_P(PSTR("eb('k75%d').style='background:#%06x';"),
|
||||||
i, WebColor((Dali->power[i]) ? COL_BUTTON : COL_FORM));
|
i, WebColor((Dali->power[i]) ? COL_BUTTON : COL_BUTTON_OFF));
|
||||||
if (Dali->dimmer[i] != Dali->web_dimmer[i]) {
|
if (Dali->dimmer[i] != Dali->web_dimmer[i]) {
|
||||||
if (0 == Dali->slider_update_time) {
|
if (0 == Dali->slider_update_time) {
|
||||||
Dali->slider_update_time = slider_update_time + Settings->web_refresh; // Allow other users to sync screen
|
Dali->slider_update_time = slider_update_time + Settings->web_refresh; // Allow other users to sync screen
|
||||||
|
|
Loading…
Reference in New Issue