mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-27 12:46:34 +00:00
Updates for release 6.3.0
Updates for release 6.3.0
This commit is contained in:
parent
dffbc2c7c3
commit
184346335d
@ -176,6 +176,7 @@ Version 6.3.0 20181030
|
|||||||
* Add command SetOption52 to control display of optional time offset from UTC in JSON messages (#3629, #3711)
|
* Add command SetOption52 to control display of optional time offset from UTC in JSON messages (#3629, #3711)
|
||||||
* Add command RGBWWTable to support color calibration (#3933)
|
* Add command RGBWWTable to support color calibration (#3933)
|
||||||
* Add command Reset 4 (reset to defaults but keep wifi params) and Reset 5 (as reset 4 and also erase flash) (#4061)
|
* Add command Reset 4 (reset to defaults but keep wifi params) and Reset 5 (as reset 4 and also erase flash) (#4061)
|
||||||
|
* Add command SetOption35 0..255 (seconds) to delay mDNS initialization to control possible Wifi connect problems
|
||||||
* Add authentication to HTTP web pages
|
* Add authentication to HTTP web pages
|
||||||
* Add decimals as input to commands PowerSet, VoltageSet and CurrentSet
|
* Add decimals as input to commands PowerSet, VoltageSet and CurrentSet
|
||||||
* Add tools/decode-config.py by Norbert Richter to decode configuration data. See file for information
|
* Add tools/decode-config.py by Norbert Richter to decode configuration data. See file for information
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
* Add command SetOption52 to control display of optional time offset from UTC in JSON messages (#3629, #3711)
|
* Add command SetOption52 to control display of optional time offset from UTC in JSON messages (#3629, #3711)
|
||||||
* Add command RGBWWTable to support color calibration (#3933)
|
* Add command RGBWWTable to support color calibration (#3933)
|
||||||
* Add command Reset 4 (reset to defaults but keep wifi params) and Reset 5 (as reset 4 and also erase flash) (#4061)
|
* Add command Reset 4 (reset to defaults but keep wifi params) and Reset 5 (as reset 4 and also erase flash) (#4061)
|
||||||
|
* Add command SetOption35 0..255 (seconds) to delay mDNS initialization to control possible Wifi connect problems
|
||||||
* Add authentication to HTTP web pages
|
* Add authentication to HTTP web pages
|
||||||
* Add decimals as input to commands PowerSet, VoltageSet and CurrentSet
|
* Add decimals as input to commands PowerSet, VoltageSet and CurrentSet
|
||||||
* Add tools/decode-config.py by Norbert Richter to decode configuration data. See file for information
|
* Add tools/decode-config.py by Norbert Richter to decode configuration data. See file for information
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "h"
|
#define D_UNIT_HOUR "h"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kΩ"
|
#define D_UNIT_KILOOHM "kΩ"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "h"
|
#define D_UNIT_HOUR "h"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
el-GR.h - localization for Greek - Greece for Sonoff-Tasmota
|
el-GR.h - localization for Greek - Greece for Sonoff-Tasmota
|
||||||
|
|
||||||
@ -537,7 +538,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "h"
|
#define D_UNIT_HOUR "h"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kΩ"
|
#define D_UNIT_KILOOHM "kΩ"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "ó"
|
#define D_UNIT_HOUR "ó"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "h"
|
#define D_UNIT_HOUR "h"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Godz"
|
#define D_UNIT_HOUR "Godz"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "H"
|
#define D_UNIT_HOUR "H"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Ч"
|
#define D_UNIT_HOUR "Ч"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "кОм"
|
#define D_UNIT_KILOOHM "кОм"
|
||||||
#define D_UNIT_KILOWATTHOUR "кВт"
|
#define D_UNIT_KILOWATTHOUR "кВт"
|
||||||
#define D_UNIT_LUX "лк"
|
#define D_UNIT_LUX "лк"
|
||||||
|
@ -536,7 +536,7 @@
|
|||||||
#define D_UNIT_HOUR "Hr"
|
#define D_UNIT_HOUR "Hr"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "kOhm"
|
#define D_UNIT_KILOOHM "kOhm"
|
||||||
#define D_UNIT_KILOWATTHOUR "kWh"
|
#define D_UNIT_KILOWATTHOUR "kWh"
|
||||||
#define D_UNIT_LUX "lx"
|
#define D_UNIT_LUX "lx"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "Г"
|
#define D_UNIT_HOUR "Г"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "кОм"
|
#define D_UNIT_KILOOHM "кОм"
|
||||||
#define D_UNIT_KILOWATTHOUR "кВт"
|
#define D_UNIT_KILOWATTHOUR "кВт"
|
||||||
#define D_UNIT_LUX "лк"
|
#define D_UNIT_LUX "лк"
|
||||||
|
@ -536,7 +536,7 @@
|
|||||||
#define D_UNIT_HOUR "时"
|
#define D_UNIT_HOUR "时"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "千欧"
|
#define D_UNIT_KILOOHM "千欧"
|
||||||
#define D_UNIT_KILOWATTHOUR "千瓦时"
|
#define D_UNIT_KILOWATTHOUR "千瓦时"
|
||||||
#define D_UNIT_LUX "勒克斯"
|
#define D_UNIT_LUX "勒克斯"
|
||||||
|
@ -537,7 +537,7 @@
|
|||||||
#define D_UNIT_HOUR "時"
|
#define D_UNIT_HOUR "時"
|
||||||
#define D_UNIT_INCREMENTS "inc"
|
#define D_UNIT_INCREMENTS "inc"
|
||||||
#define D_UNIT_KILOGRAM "kg"
|
#define D_UNIT_KILOGRAM "kg"
|
||||||
#define D_UNIT_KILOMETER_PER_HOUR "kmph" // or "km/h"
|
#define D_UNIT_KILOMETER_PER_HOUR "km/h" // or "km/h"
|
||||||
#define D_UNIT_KILOOHM "千歐"
|
#define D_UNIT_KILOOHM "千歐"
|
||||||
#define D_UNIT_KILOWATTHOUR "千瓦時"
|
#define D_UNIT_KILOWATTHOUR "千瓦時"
|
||||||
#define D_UNIT_LUX "勒克斯"
|
#define D_UNIT_LUX "勒克斯"
|
||||||
|
@ -202,7 +202,7 @@ enum ButtonStates { PRESSED, NOT_PRESSED };
|
|||||||
|
|
||||||
enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
|
enum Shortcuts { SC_CLEAR, SC_DEFAULT, SC_USER };
|
||||||
|
|
||||||
enum SettingsParmaIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_TUYA_DIMMER_ID, P_MAX_PARAM8};
|
enum SettingsParmaIndex {P_HOLD_TIME, P_MAX_POWER_RETRY, P_TUYA_DIMMER_ID, P_MDNS_DELAYED_START, P_MAX_PARAM8}; // Max is PARAM8_SIZE (18)
|
||||||
|
|
||||||
enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
|
enum DomoticzSensors {DZ_TEMP, DZ_TEMP_HUM, DZ_TEMP_HUM_BARO, DZ_POWER_ENERGY, DZ_ILLUMINANCE, DZ_COUNT, DZ_VOLTAGE, DZ_CURRENT, DZ_AIRQUALITY, DZ_MAX_SENSORS};
|
||||||
|
|
||||||
|
@ -186,6 +186,7 @@ byte reset_web_log_flag = 0; // Reset web console log
|
|||||||
byte devices_present = 0; // Max number of devices supported
|
byte devices_present = 0; // Max number of devices supported
|
||||||
byte seriallog_level; // Current copy of Settings.seriallog_level
|
byte seriallog_level; // Current copy of Settings.seriallog_level
|
||||||
byte syslog_level; // Current copy of Settings.syslog_level
|
byte syslog_level; // Current copy of Settings.syslog_level
|
||||||
|
byte mdns_delayed_start = 0; // mDNS delayed start
|
||||||
boolean latest_uptime_flag = true; // Signal latest uptime
|
boolean latest_uptime_flag = true; // Signal latest uptime
|
||||||
boolean pwm_present = false; // Any PWM channel configured with SetOption15 0
|
boolean pwm_present = false; // Any PWM channel configured with SetOption15 0
|
||||||
boolean mdns_begun = false; // mDNS active
|
boolean mdns_begun = false; // mDNS active
|
||||||
@ -2580,6 +2581,7 @@ void setup()
|
|||||||
}
|
}
|
||||||
|
|
||||||
baudrate = Settings.baudrate * 1200;
|
baudrate = Settings.baudrate * 1200;
|
||||||
|
mdns_delayed_start = Settings.param[P_MDNS_DELAYED_START];
|
||||||
seriallog_level = Settings.seriallog_level;
|
seriallog_level = Settings.seriallog_level;
|
||||||
seriallog_timer = SERIALLOG_TIMER;
|
seriallog_timer = SERIALLOG_TIMER;
|
||||||
#ifndef USE_EMULATION
|
#ifndef USE_EMULATION
|
||||||
|
@ -1557,19 +1557,29 @@ void WifiCheck(uint8_t param)
|
|||||||
ota_state_flag = 3;
|
ota_state_flag = 3;
|
||||||
}
|
}
|
||||||
#endif // BE_MINIMAL
|
#endif // BE_MINIMAL
|
||||||
|
|
||||||
#ifdef USE_DISCOVERY
|
#ifdef USE_DISCOVERY
|
||||||
if (!mdns_begun) {
|
if (!mdns_begun) {
|
||||||
|
if (mdns_delayed_start) {
|
||||||
|
AddLog_P(LOG_LEVEL_INFO, PSTR(D_LOG_MDNS D_ATTEMPTING_CONNECTION));
|
||||||
|
mdns_delayed_start--;
|
||||||
|
} else {
|
||||||
|
mdns_delayed_start = Settings.param[P_MDNS_DELAYED_START];
|
||||||
mdns_begun = MDNS.begin(my_hostname);
|
mdns_begun = MDNS.begin(my_hostname);
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS "%s"), (mdns_begun) ? D_INITIALIZED : D_FAILED);
|
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS "%s"), (mdns_begun) ? D_INITIALIZED : D_FAILED);
|
||||||
AddLog(LOG_LEVEL_INFO);
|
AddLog(LOG_LEVEL_INFO);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
#endif // USE_DISCOVERY
|
#endif // USE_DISCOVERY
|
||||||
|
|
||||||
#ifdef USE_WEBSERVER
|
#ifdef USE_WEBSERVER
|
||||||
if (Settings.webserver) {
|
if (Settings.webserver) {
|
||||||
StartWebserver(Settings.webserver, WiFi.localIP());
|
StartWebserver(Settings.webserver, WiFi.localIP());
|
||||||
#ifdef USE_DISCOVERY
|
#ifdef USE_DISCOVERY
|
||||||
#ifdef WEBSERVER_ADVERTISE
|
#ifdef WEBSERVER_ADVERTISE
|
||||||
|
if (mdns_begun) {
|
||||||
MDNS.addService("http", "tcp", WEB_PORT);
|
MDNS.addService("http", "tcp", WEB_PORT);
|
||||||
|
}
|
||||||
#endif // WEBSERVER_ADVERTISE
|
#endif // WEBSERVER_ADVERTISE
|
||||||
#endif // USE_DISCOVERY
|
#endif // USE_DISCOVERY
|
||||||
} else {
|
} else {
|
||||||
@ -1579,12 +1589,14 @@ void WifiCheck(uint8_t param)
|
|||||||
if (Settings.flag2.emulation) { UdpConnect(); }
|
if (Settings.flag2.emulation) { UdpConnect(); }
|
||||||
#endif // USE_EMULATION
|
#endif // USE_EMULATION
|
||||||
#endif // USE_WEBSERVER
|
#endif // USE_WEBSERVER
|
||||||
|
|
||||||
#ifdef USE_KNX
|
#ifdef USE_KNX
|
||||||
if (!knx_started && Settings.flag.knx_enabled) {
|
if (!knx_started && Settings.flag.knx_enabled) {
|
||||||
KNXStart();
|
KNXStart();
|
||||||
knx_started = true;
|
knx_started = true;
|
||||||
}
|
}
|
||||||
#endif // USE_KNX
|
#endif // USE_KNX
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
WifiState(0);
|
WifiState(0);
|
||||||
#if defined(USE_WEBSERVER) && defined(USE_EMULATION)
|
#if defined(USE_WEBSERVER) && defined(USE_EMULATION)
|
||||||
@ -1645,38 +1657,6 @@ void EspRestart()
|
|||||||
ESP.restart();
|
ESP.restart();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_DISCOVERY
|
|
||||||
/*********************************************************************************************\
|
|
||||||
* mDNS
|
|
||||||
\*********************************************************************************************/
|
|
||||||
|
|
||||||
#ifdef MQTT_HOST_DISCOVERY
|
|
||||||
boolean MdnsDiscoverMqttServer()
|
|
||||||
{
|
|
||||||
if (!mdns_begun) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
int n = MDNS.queryService("mqtt", "tcp"); // Search for mqtt service
|
|
||||||
|
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS D_QUERY_DONE " %d"), n);
|
|
||||||
AddLog(LOG_LEVEL_INFO);
|
|
||||||
|
|
||||||
if (n > 0) {
|
|
||||||
// Note: current strategy is to get the first MQTT service (even when many are found)
|
|
||||||
snprintf_P(Settings.mqtt_host, sizeof(Settings.mqtt_host), MDNS.IP(0).toString().c_str());
|
|
||||||
Settings.mqtt_port = MDNS.port(0);
|
|
||||||
|
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS D_MQTT_SERVICE_FOUND " %s, " D_IP_ADDRESS " %s, " D_PORT " %d"),
|
|
||||||
MDNS.hostname(0).c_str(), Settings.mqtt_host, Settings.mqtt_port);
|
|
||||||
AddLog(LOG_LEVEL_INFO);
|
|
||||||
}
|
|
||||||
|
|
||||||
return n > 0;
|
|
||||||
}
|
|
||||||
#endif // MQTT_HOST_DISCOVERY
|
|
||||||
#endif // USE_DISCOVERY
|
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
* Basic I2C routines
|
* Basic I2C routines
|
||||||
\*********************************************************************************************/
|
\*********************************************************************************************/
|
||||||
|
@ -197,6 +197,32 @@ void MqttLoop()
|
|||||||
|
|
||||||
/*********************************************************************************************/
|
/*********************************************************************************************/
|
||||||
|
|
||||||
|
#ifdef USE_DISCOVERY
|
||||||
|
#ifdef MQTT_HOST_DISCOVERY
|
||||||
|
boolean MqttDiscoverServer()
|
||||||
|
{
|
||||||
|
if (!mdns_begun) { return false; }
|
||||||
|
|
||||||
|
int n = MDNS.queryService("mqtt", "tcp"); // Search for mqtt service
|
||||||
|
|
||||||
|
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS D_QUERY_DONE " %d"), n);
|
||||||
|
AddLog(LOG_LEVEL_INFO);
|
||||||
|
|
||||||
|
if (n > 0) {
|
||||||
|
// Note: current strategy is to get the first MQTT service (even when many are found)
|
||||||
|
snprintf_P(Settings.mqtt_host, sizeof(Settings.mqtt_host), MDNS.IP(0).toString().c_str());
|
||||||
|
Settings.mqtt_port = MDNS.port(0);
|
||||||
|
|
||||||
|
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_MDNS D_MQTT_SERVICE_FOUND " %s, " D_IP_ADDRESS " %s, " D_PORT " %d"),
|
||||||
|
MDNS.hostname(0).c_str(), Settings.mqtt_host, Settings.mqtt_port);
|
||||||
|
AddLog(LOG_LEVEL_INFO);
|
||||||
|
}
|
||||||
|
|
||||||
|
return n > 0;
|
||||||
|
}
|
||||||
|
#endif // MQTT_HOST_DISCOVERY
|
||||||
|
#endif // USE_DISCOVERY
|
||||||
|
|
||||||
int MqttLibraryType()
|
int MqttLibraryType()
|
||||||
{
|
{
|
||||||
return (int)MQTT_LIBRARY_TYPE;
|
return (int)MQTT_LIBRARY_TYPE;
|
||||||
@ -468,9 +494,7 @@ void MqttReconnect()
|
|||||||
#ifndef USE_MQTT_TLS
|
#ifndef USE_MQTT_TLS
|
||||||
#ifdef USE_DISCOVERY
|
#ifdef USE_DISCOVERY
|
||||||
#ifdef MQTT_HOST_DISCOVERY
|
#ifdef MQTT_HOST_DISCOVERY
|
||||||
if (!strlen(Settings.mqtt_host)) {
|
if (!strlen(Settings.mqtt_host) && !MqttDiscoverServer()) { return; }
|
||||||
MdnsDiscoverMqttServer();
|
|
||||||
}
|
|
||||||
#endif // MQTT_HOST_DISCOVERY
|
#endif // MQTT_HOST_DISCOVERY
|
||||||
#endif // USE_DISCOVERY
|
#endif // USE_DISCOVERY
|
||||||
#endif // USE_MQTT_TLS
|
#endif // USE_MQTT_TLS
|
||||||
@ -539,6 +563,13 @@ void MqttCheck()
|
|||||||
if (!MqttIsConnected()) {
|
if (!MqttIsConnected()) {
|
||||||
global_state.mqtt_down = 1;
|
global_state.mqtt_down = 1;
|
||||||
if (!mqtt_retry_counter) {
|
if (!mqtt_retry_counter) {
|
||||||
|
#ifndef USE_MQTT_TLS
|
||||||
|
#ifdef USE_DISCOVERY
|
||||||
|
#ifdef MQTT_HOST_DISCOVERY
|
||||||
|
if (!strlen(Settings.mqtt_host) && !mdns_begun) { return; }
|
||||||
|
#endif // MQTT_HOST_DISCOVERY
|
||||||
|
#endif // USE_DISCOVERY
|
||||||
|
#endif // USE_MQTT_TLS
|
||||||
MqttReconnect();
|
MqttReconnect();
|
||||||
} else {
|
} else {
|
||||||
mqtt_retry_counter--;
|
mqtt_retry_counter--;
|
||||||
|
@ -664,7 +664,7 @@ void HueLights(String *path)
|
|||||||
response = "[";
|
response = "[";
|
||||||
|
|
||||||
StaticJsonBuffer<400> jsonBuffer;
|
StaticJsonBuffer<400> jsonBuffer;
|
||||||
JsonObject &hue_json = jsonBuffer.parseObject(WebServer->arg("1"));
|
JsonObject &hue_json = jsonBuffer.parseObject(WebServer->arg((WebServer->args())-1));
|
||||||
if (hue_json.containsKey("on")) {
|
if (hue_json.containsKey("on")) {
|
||||||
|
|
||||||
response += FPSTR(HUE_LIGHT_RESPONSE_JSON);
|
response += FPSTR(HUE_LIGHT_RESPONSE_JSON);
|
||||||
@ -809,6 +809,11 @@ void HandleHueApi(String *path)
|
|||||||
* user part and allow every caller as with Web or WeMo.
|
* user part and allow every caller as with Web or WeMo.
|
||||||
*
|
*
|
||||||
* (c) Heiko Krupp, 2017
|
* (c) Heiko Krupp, 2017
|
||||||
|
*
|
||||||
|
* Hue URL
|
||||||
|
* http://sonoff/api/username/lights/1/state with post data {"on":true,"hue":56100,"sat":254,"bri":254,"alert":"none","transitiontime":40}
|
||||||
|
* is converted by webserver to
|
||||||
|
* http://sonoff/api/username/lights/1/state with arg plain={"on":true,"hue":56100,"sat":254,"bri":254,"alert":"none","transitiontime":40}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint8_t args = 0;
|
uint8_t args = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user