diff --git a/RELEASENOTES.md b/RELEASENOTES.md
index 7c99a0a6d..dbbe42f3a 100644
--- a/RELEASENOTES.md
+++ b/RELEASENOTES.md
@@ -52,9 +52,10 @@ The following binary downloads have been compiled with ESP8266/Arduino library c
## Changelog
-### Version 8.3.0.1
+### Version 8.3.0.2
- Change KNX pow function to approximative pow saving 5k of code space
- Change Mutichannel Gas sensor pow function to approximative pow saving 5k of code space
- Change Quick Power Cycle detection from 4 to 7 power interrupts (#4066)
- Fix default state of ``SetOption73 0`` for button decoupling and send multi-press and hold MQTT messages
+- Add command ``DeviceName`` defaults to FriendlyName1 and replaces FriendlyName1 in GUI
diff --git a/tasmota/CHANGELOG.md b/tasmota/CHANGELOG.md
index 7f48c3918..f8fd969bc 100644
--- a/tasmota/CHANGELOG.md
+++ b/tasmota/CHANGELOG.md
@@ -1,5 +1,9 @@
## Unreleased (development)
+### 8.3.0.2 20200517
+
+- Add command ``DeviceName`` defaults to FriendlyName1 and replaces FriendlyName1 in GUI
+
### 8.3.0.1 20200514
- Change KNX pow function to approximative pow saving 5k of code space
diff --git a/tasmota/i18n.h b/tasmota/i18n.h
index 089a9b55f..e8286e585 100644
--- a/tasmota/i18n.h
+++ b/tasmota/i18n.h
@@ -276,6 +276,7 @@
#define D_WCFG_5_WAIT "Wait"
#define D_WCFG_6_SERIAL "Serial"
#define D_WCFG_7_WIFIMANAGER_RESET_ONLY "ManagerRst"
+#define D_CMND_DEVICENAME "DeviceName"
#define D_CMND_FRIENDLYNAME "FriendlyName"
#define D_CMND_SWITCHMODE "SwitchMode"
#define D_CMND_INTERLOCK "Interlock"
diff --git a/tasmota/language/bg_BG.h b/tasmota/language/bg_BG.h
index 03ae5bd6c..a40df8551 100644
--- a/tasmota/language/bg_BG.h
+++ b/tasmota/language/bg_BG.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Други параметри"
#define D_TEMPLATE "Модел"
#define D_ACTIVATE "Активирай"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Парола на уеб администратора"
#define D_MQTT_ENABLE "Активиране на MQTT"
#define D_FRIENDLY_NAME "Приятелско име"
diff --git a/tasmota/language/cs_CZ.h b/tasmota/language/cs_CZ.h
index 71a907a81..33839ed4d 100644
--- a/tasmota/language/cs_CZ.h
+++ b/tasmota/language/cs_CZ.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Další nastavení"
#define D_TEMPLATE "Šablona"
#define D_ACTIVATE "Aktivovat"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Heslo Web administrátora"
#define D_MQTT_ENABLE "MQTT aktivní"
#define D_FRIENDLY_NAME "Friendly Name"
diff --git a/tasmota/language/de_DE.h b/tasmota/language/de_DE.h
index fdd1ec18d..9f676f101 100644
--- a/tasmota/language/de_DE.h
+++ b/tasmota/language/de_DE.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Sonstige Einstellungen"
#define D_TEMPLATE "Vorlage"
#define D_ACTIVATE "Aktivieren"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Passwort für Web Oberfläche"
#define D_MQTT_ENABLE "MQTT aktivieren"
#define D_FRIENDLY_NAME "Name [friendly name]"
diff --git a/tasmota/language/el_GR.h b/tasmota/language/el_GR.h
index ddd1d5b0b..ec6275dbd 100644
--- a/tasmota/language/el_GR.h
+++ b/tasmota/language/el_GR.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Άλλες παράμετροι"
#define D_TEMPLATE "Πρότυπο"
#define D_ACTIVATE "Ενεργοποίηση"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Κωδικός διαχειριστή"
#define D_MQTT_ENABLE "Ενεργοποίηση MQTT"
#define D_FRIENDLY_NAME "Φιλική ονομασία"
diff --git a/tasmota/language/en_GB.h b/tasmota/language/en_GB.h
index 0396ca3e6..48208a0bb 100644
--- a/tasmota/language/en_GB.h
+++ b/tasmota/language/en_GB.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Other parameters"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Web Admin Password"
#define D_MQTT_ENABLE "MQTT enable"
#define D_FRIENDLY_NAME "Friendly Name"
diff --git a/tasmota/language/es_ES.h b/tasmota/language/es_ES.h
index 0602c3634..40b98f766 100644
--- a/tasmota/language/es_ES.h
+++ b/tasmota/language/es_ES.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Otros parámetros"
#define D_TEMPLATE "Plantilla"
#define D_ACTIVATE "Activar"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Clave Administrador Web"
#define D_MQTT_ENABLE "Habilitar MQTT"
#define D_FRIENDLY_NAME "Nombre Amigable"
diff --git a/tasmota/language/fr_FR.h b/tasmota/language/fr_FR.h
index c620572ca..dbe9c597a 100644
--- a/tasmota/language/fr_FR.h
+++ b/tasmota/language/fr_FR.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Autres paramètres"
#define D_TEMPLATE "Modèle"
#define D_ACTIVATE "Activer"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Mot de passe Web Admin"
#define D_MQTT_ENABLE "MQTT activé"
#define D_FRIENDLY_NAME "Surnom"
diff --git a/tasmota/language/he_HE.h b/tasmota/language/he_HE.h
index 4802b529e..fe77159c1 100644
--- a/tasmota/language/he_HE.h
+++ b/tasmota/language/he_HE.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "פרמטרים שונים"
#define D_TEMPLATE "תבנית"
#define D_ACTIVATE "הפעל"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "סיסמת מנהל"
#define D_MQTT_ENABLE "MQTT אפשר"
#define D_FRIENDLY_NAME "שם ידידותי"
diff --git a/tasmota/language/hu_HU.h b/tasmota/language/hu_HU.h
index ee45ae083..844fa2f8f 100644
--- a/tasmota/language/hu_HU.h
+++ b/tasmota/language/hu_HU.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Egyéb beállítások"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Web admin jelszó"
#define D_MQTT_ENABLE "MQTT engedélyezése"
#define D_FRIENDLY_NAME "Név"
diff --git a/tasmota/language/it_IT.h b/tasmota/language/it_IT.h
index 88acefc92..5fa0d51dd 100644
--- a/tasmota/language/it_IT.h
+++ b/tasmota/language/it_IT.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Altri parametri"
#define D_TEMPLATE "Modello"
#define D_ACTIVATE "Attiva"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Password amministratore web"
#define D_MQTT_ENABLE "Abilita MQTT"
#define D_FRIENDLY_NAME "Nome amichevole"
diff --git a/tasmota/language/ko_KO.h b/tasmota/language/ko_KO.h
index 3e3bd17e0..5ab580ce8 100644
--- a/tasmota/language/ko_KO.h
+++ b/tasmota/language/ko_KO.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "기타 설정"
#define D_TEMPLATE "템플릿"
#define D_ACTIVATE "활성화"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Web Admin 비밀번호"
#define D_MQTT_ENABLE "MQTT 사용"
#define D_FRIENDLY_NAME "Friendly Name"
diff --git a/tasmota/language/nl_NL.h b/tasmota/language/nl_NL.h
index 49efcb622..84ce656e3 100644
--- a/tasmota/language/nl_NL.h
+++ b/tasmota/language/nl_NL.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Overige parameters"
#define D_TEMPLATE "Sjabloon"
#define D_ACTIVATE "Activeer"
+#define D_DEVICE_NAME "Apparaatnaam"
#define D_WEB_ADMIN_PASSWORD "Web Admin Wachtwoord"
#define D_MQTT_ENABLE "MQTT ingeschakeld"
#define D_FRIENDLY_NAME "Beschrijvende naam"
diff --git a/tasmota/language/pl_PL.h b/tasmota/language/pl_PL.h
index d9d05fbeb..8ee529292 100644
--- a/tasmota/language/pl_PL.h
+++ b/tasmota/language/pl_PL.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Inne parametry"
#define D_TEMPLATE "Szablon"
#define D_ACTIVATE "Aktywuj"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Hasło administratora"
#define D_MQTT_ENABLE "Załącz MQTT"
#define D_FRIENDLY_NAME "Nazwa"
diff --git a/tasmota/language/pt_BR.h b/tasmota/language/pt_BR.h
index 4fb48c04d..39e7affb0 100644
--- a/tasmota/language/pt_BR.h
+++ b/tasmota/language/pt_BR.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Outros parâmetros"
#define D_TEMPLATE "Modelo"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Senha de WEB Admin"
#define D_MQTT_ENABLE "MQTT habilitado"
#define D_FRIENDLY_NAME "Nome amigável"
diff --git a/tasmota/language/pt_PT.h b/tasmota/language/pt_PT.h
index 232b7494d..aabd353fe 100644
--- a/tasmota/language/pt_PT.h
+++ b/tasmota/language/pt_PT.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Outros parametros"
#define D_TEMPLATE "Modelo"
#define D_ACTIVATE "Ativar"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Palavra Chave do Admin WEB"
#define D_MQTT_ENABLE "MQTT habilitado"
#define D_FRIENDLY_NAME "Nome amigável"
diff --git a/tasmota/language/ro_RO.h b/tasmota/language/ro_RO.h
index 79c66d779..77a2240ca 100644
--- a/tasmota/language/ro_RO.h
+++ b/tasmota/language/ro_RO.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Alți paramatri"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activare"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Parolă Web Admin"
#define D_MQTT_ENABLE "Activare MQTT"
#define D_FRIENDLY_NAME "Friendly Name"
diff --git a/tasmota/language/ru_RU.h b/tasmota/language/ru_RU.h
index b7d8adcb6..0e5cd24ac 100644
--- a/tasmota/language/ru_RU.h
+++ b/tasmota/language/ru_RU.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Параметры Прочие"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Пароль Web администратора"
#define D_MQTT_ENABLE "MQTT активен"
#define D_FRIENDLY_NAME "Дружественное Имя"
diff --git a/tasmota/language/sk_SK.h b/tasmota/language/sk_SK.h
index 9db574bf8..d8bdd2ece 100644
--- a/tasmota/language/sk_SK.h
+++ b/tasmota/language/sk_SK.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Ostatné nastavenia"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Heslo Web administrátora"
#define D_MQTT_ENABLE "MQTT aktívne"
#define D_FRIENDLY_NAME "Friendly Name"
diff --git a/tasmota/language/sv_SE.h b/tasmota/language/sv_SE.h
index da8355215..64a540f96 100644
--- a/tasmota/language/sv_SE.h
+++ b/tasmota/language/sv_SE.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Andra parametrar"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Webbadmin-lösenord"
#define D_MQTT_ENABLE "MQTT aktivera"
#define D_FRIENDLY_NAME "Läsbart namn"
diff --git a/tasmota/language/tr_TR.h b/tasmota/language/tr_TR.h
index 9b205954b..c62981f8d 100644
--- a/tasmota/language/tr_TR.h
+++ b/tasmota/language/tr_TR.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Diğer parametreler"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Web Yönetici Şifresi"
#define D_MQTT_ENABLE "MQTT aktif"
#define D_FRIENDLY_NAME "Kullanıcı Dostu İsim"
diff --git a/tasmota/language/uk_UA.h b/tasmota/language/uk_UA.h
index 8c566eac3..0b90eaf53 100644
--- a/tasmota/language/uk_UA.h
+++ b/tasmota/language/uk_UA.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "Параметри Інше"
#define D_TEMPLATE "Шаблони"
#define D_ACTIVATE "Активований"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "Гасло адміністратора Web"
#define D_MQTT_ENABLE "MQTT активний"
#define D_FRIENDLY_NAME "Дружня назва"
diff --git a/tasmota/language/zh_CN.h b/tasmota/language/zh_CN.h
index 143e49aec..e521054f5 100644
--- a/tasmota/language/zh_CN.h
+++ b/tasmota/language/zh_CN.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "其他设置"
#define D_TEMPLATE "模板"
#define D_ACTIVATE "启用"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "WEB 管理密码"
#define D_MQTT_ENABLE "启用MQTT"
#define D_FRIENDLY_NAME "昵称"
diff --git a/tasmota/language/zh_TW.h b/tasmota/language/zh_TW.h
index 5c96ec688..bfa967b6d 100644
--- a/tasmota/language/zh_TW.h
+++ b/tasmota/language/zh_TW.h
@@ -302,6 +302,7 @@
#define D_OTHER_PARAMETERS "其他設置"
#define D_TEMPLATE "Template"
#define D_ACTIVATE "Activate"
+#define D_DEVICE_NAME "Device Name"
#define D_WEB_ADMIN_PASSWORD "WEB管理密碼"
#define D_MQTT_ENABLE "啟用MQTT"
#define D_FRIENDLY_NAME "昵稱"
diff --git a/tasmota/settings.ino b/tasmota/settings.ino
index b189e1729..5214add7a 100644
--- a/tasmota/settings.ino
+++ b/tasmota/settings.ino
@@ -754,6 +754,7 @@ void SettingsDefaultSet2(void)
SettingsUpdateText(SET_FRIENDLYNAME2, PSTR(FRIENDLY_NAME"2"));
SettingsUpdateText(SET_FRIENDLYNAME3, PSTR(FRIENDLY_NAME"3"));
SettingsUpdateText(SET_FRIENDLYNAME4, PSTR(FRIENDLY_NAME"4"));
+ SettingsUpdateText(SET_DEVICENAME, SettingsText(SET_FRIENDLYNAME1));
SettingsUpdateText(SET_OTAURL, PSTR(OTA_URL));
// Power
@@ -1411,6 +1412,10 @@ void SettingsDelta(void)
if (Settings.rules[2][0] == 0) { Settings.rules[2][1] = 0; }
}
+ if (Settings.version < 0x08030002) {
+ SettingsUpdateText(SET_DEVICENAME, SettingsText(SET_FRIENDLYNAME1));
+ }
+
Settings.version = VERSION;
SettingsSave(1);
}
diff --git a/tasmota/support_command.ino b/tasmota/support_command.ino
index 6e0a74c93..91434b019 100644
--- a/tasmota/support_command.ino
+++ b/tasmota/support_command.ino
@@ -25,7 +25,7 @@ const char kTasmotaCommands[] PROGMEM = "|" // No prefix
D_CMND_MODULE "|" D_CMND_MODULES "|" D_CMND_GPIO "|" D_CMND_GPIOS "|" D_CMND_TEMPLATE "|" D_CMND_PWM "|" D_CMND_PWMFREQUENCY "|" D_CMND_PWMRANGE "|"
D_CMND_BUTTONDEBOUNCE "|" D_CMND_SWITCHDEBOUNCE "|" D_CMND_SYSLOG "|" D_CMND_LOGHOST "|" D_CMND_LOGPORT "|" D_CMND_SERIALSEND "|" D_CMND_BAUDRATE "|" D_CMND_SERIALCONFIG "|"
D_CMND_SERIALDELIMITER "|" D_CMND_IPADDRESS "|" D_CMND_NTPSERVER "|" D_CMND_AP "|" D_CMND_SSID "|" D_CMND_PASSWORD "|" D_CMND_HOSTNAME "|" D_CMND_WIFICONFIG "|"
- D_CMND_FRIENDLYNAME "|" D_CMND_SWITCHMODE "|" D_CMND_INTERLOCK "|" D_CMND_TELEPERIOD "|" D_CMND_RESET "|" D_CMND_TIME "|" D_CMND_TIMEZONE "|" D_CMND_TIMESTD "|"
+ D_CMND_DEVICENAME "|" D_CMND_FRIENDLYNAME "|" D_CMND_SWITCHMODE "|" D_CMND_INTERLOCK "|" D_CMND_TELEPERIOD "|" D_CMND_RESET "|" D_CMND_TIME "|" D_CMND_TIMEZONE "|" D_CMND_TIMESTD "|"
D_CMND_TIMEDST "|" D_CMND_ALTITUDE "|" D_CMND_LEDPOWER "|" D_CMND_LEDSTATE "|" D_CMND_LEDMASK "|" D_CMND_WIFIPOWER "|" D_CMND_TEMPOFFSET "|" D_CMND_HUMOFFSET "|"
D_CMND_SPEEDUNIT "|" D_CMND_GLOBAL_TEMP "|" D_CMND_GLOBAL_HUM "|"
#ifdef USE_I2C
@@ -48,7 +48,7 @@ void (* const TasmotaCommand[])(void) PROGMEM = {
&CmndModule, &CmndModules, &CmndGpio, &CmndGpios, &CmndTemplate, &CmndPwm, &CmndPwmfrequency, &CmndPwmrange,
&CmndButtonDebounce, &CmndSwitchDebounce, &CmndSyslog, &CmndLoghost, &CmndLogport, &CmndSerialSend, &CmndBaudrate, &CmndSerialConfig,
&CmndSerialDelimiter, &CmndIpAddress, &CmndNtpServer, &CmndAp, &CmndSsid, &CmndPassword, &CmndHostname, &CmndWifiConfig,
- &CmndFriendlyname, &CmndSwitchMode, &CmndInterlock, &CmndTeleperiod, &CmndReset, &CmndTime, &CmndTimezone, &CmndTimeStd,
+ &CmndDevicename, &CmndFriendlyname, &CmndSwitchMode, &CmndInterlock, &CmndTeleperiod, &CmndReset, &CmndTime, &CmndTimezone, &CmndTimeStd,
&CmndTimeDst, &CmndAltitude, &CmndLedPower, &CmndLedState, &CmndLedMask, &CmndWifiPower, &CmndTempOffset, &CmndHumOffset,
&CmndSpeedUnit, &CmndGlobalTemp, &CmndGlobalHum,
#ifdef USE_I2C
@@ -395,11 +395,11 @@ void CmndStatus(void)
for (uint32_t i = 0; i < MAX_SWITCHES; i++) {
snprintf_P(stemp2, sizeof(stemp2), PSTR("%s%s%d" ), stemp2, (i > 0 ? "," : ""), Settings.switchmode[i]);
}
- Response_P(PSTR("{\"" D_CMND_STATUS "\":{\"" D_CMND_MODULE "\":%d,\"" D_CMND_FRIENDLYNAME "\":[%s],\"" D_CMND_TOPIC "\":\"%s\",\""
+ Response_P(PSTR("{\"" D_CMND_STATUS "\":{\"" D_CMND_MODULE "\":%d,\"" D_CMND_DEVICENAME "\":\"%s\",\"" D_CMND_FRIENDLYNAME "\":[%s],\"" D_CMND_TOPIC "\":\"%s\",\""
D_CMND_BUTTONTOPIC "\":\"%s\",\"" D_CMND_POWER "\":%d,\"" D_CMND_POWERONSTATE "\":%d,\"" D_CMND_LEDSTATE "\":%d,\""
D_CMND_LEDMASK "\":\"%04X\",\"" D_CMND_SAVEDATA "\":%d,\"" D_JSON_SAVESTATE "\":%d,\"" D_CMND_SWITCHTOPIC "\":\"%s\",\""
D_CMND_SWITCHMODE "\":[%s],\"" D_CMND_BUTTONRETAIN "\":%d,\"" D_CMND_SWITCHRETAIN "\":%d,\"" D_CMND_SENSORRETAIN "\":%d,\"" D_CMND_POWERRETAIN "\":%d}}"),
- ModuleNr(), stemp, mqtt_topic,
+ ModuleNr(), SettingsText(SET_DEVICENAME), stemp, mqtt_topic,
SettingsText(SET_MQTT_BUTTON_TOPIC), power, Settings.poweronstate, Settings.ledstate,
Settings.ledmask, Settings.save_data,
Settings.flag.save_state, // SetOption0 - Save power state and use after restart
@@ -1488,6 +1488,14 @@ void CmndWifiConfig(void)
Response_P(S_JSON_COMMAND_NVALUE_SVALUE, XdrvMailbox.command, Settings.sta_config, GetTextIndexed(stemp1, sizeof(stemp1), Settings.sta_config, kWifiConfig));
}
+void CmndDevicename(void)
+{
+ if (!XdrvMailbox.grpflg && (XdrvMailbox.data_len > 0)) {
+ SettingsUpdateText(SET_DEVICENAME, (SC_DEFAULT == Shortcut()) ? SettingsText(SET_FRIENDLYNAME1) : XdrvMailbox.data);
+ }
+ ResponseCmndChar(SettingsText(SET_DEVICENAME));
+}
+
void CmndFriendlyname(void)
{
if ((XdrvMailbox.index > 0) && (XdrvMailbox.index <= MAX_FRIENDLYNAMES)) {
diff --git a/tasmota/tasmota.h b/tasmota/tasmota.h
index 3cb309910..0376f3429 100644
--- a/tasmota/tasmota.h
+++ b/tasmota/tasmota.h
@@ -292,6 +292,7 @@ enum SettingsTextIndex { SET_OTAURL,
SET_MQTT_GRP_TOPIC2, SET_MQTT_GRP_TOPIC3, SET_MQTT_GRP_TOPIC4,
SET_TEMPLATE_NAME,
SET_DEV_GROUP_NAME1, SET_DEV_GROUP_NAME2, SET_DEV_GROUP_NAME3, SET_DEV_GROUP_NAME4,
+ SET_DEVICENAME,
SET_MAX };
enum DevGroupMessageType { DGR_MSGTYP_FULL_STATUS, DGR_MSGTYP_PARTIAL_UPDATE, DGR_MSGTYP_UPDATE, DGR_MSGTYP_UPDATE_MORE_TO_COME, DGR_MSGTYP_UPDATE_DIRECT, DGR_MSGTYPE_UPDATE_COMMAND };
diff --git a/tasmota/tasmota.ino b/tasmota/tasmota.ino
index 091b6eed3..ecf1127ec 100644
--- a/tasmota/tasmota.ino
+++ b/tasmota/tasmota.ino
@@ -307,7 +307,7 @@ void setup(void) {
SetPowerOnState();
- AddLog_P2(LOG_LEVEL_INFO, PSTR(D_PROJECT " %s %s " D_VERSION " %s%s-" ARDUINO_CORE_RELEASE), PROJECT, SettingsText(SET_FRIENDLYNAME1), my_version, my_image);
+ AddLog_P2(LOG_LEVEL_INFO, PSTR(D_PROJECT " %s %s " D_VERSION " %s%s-" ARDUINO_CORE_RELEASE), PROJECT, SettingsText(SET_DEVICENAME), my_version, my_image);
#ifdef FIRMWARE_MINIMAL
AddLog_P2(LOG_LEVEL_INFO, PSTR(D_WARNING_MINIMAL_VERSION));
#endif // FIRMWARE_MINIMAL
diff --git a/tasmota/tasmota_version.h b/tasmota/tasmota_version.h
index e0fa3a3ce..d9f248e55 100644
--- a/tasmota/tasmota_version.h
+++ b/tasmota/tasmota_version.h
@@ -20,7 +20,7 @@
#ifndef _TASMOTA_VERSION_H_
#define _TASMOTA_VERSION_H_
-const uint32_t VERSION = 0x08030001;
+const uint32_t VERSION = 0x08030002;
// Lowest compatible version
const uint32_t VERSION_COMPATIBLE = 0x07010006;
diff --git a/tasmota/xdrv_01_webserver.ino b/tasmota/xdrv_01_webserver.ino
index 75f309569..3f7ad8ec0 100644
--- a/tasmota/xdrv_01_webserver.ino
+++ b/tasmota/xdrv_01_webserver.ino
@@ -455,6 +455,8 @@ const char HTTP_FORM_OTHER[] PROGMEM =
"
"
"
"
"
"
+ "
"
+ "
"
"
";
const char HTTP_FORM_END[] PROGMEM =
@@ -849,7 +851,7 @@ void WSContentStart_P(const char* title, bool auth)
WSContentBegin(200, CT_HTML);
if (title != nullptr) {
- WSContentSend_P(HTTP_HEADER1, SettingsText(SET_FRIENDLYNAME1), title);
+ WSContentSend_P(HTTP_HEADER1, SettingsText(SET_DEVICENAME), title);
}
}
@@ -893,7 +895,7 @@ void WSContentSendStyle_P(const char* formatP, ...)
WebColor(COL_TEXT_WARNING),
#endif
WebColor(COL_TITLE),
- ModuleName().c_str(), SettingsText(SET_FRIENDLYNAME1));
+ ModuleName().c_str(), SettingsText(SET_DEVICENAME));
if (Settings.flag3.gui_hostname_ip) { // SetOption53 - Show hostanme and IP address in GUI main menu
bool lip = (static_cast(WiFi.localIP()) != 0);
bool sip = (static_cast(WiFi.softAPIP()) != 0);
@@ -1992,7 +1994,9 @@ void HandleOtherConfiguration(void)
TemplateJson();
char stemp[strlen(mqtt_data) +1];
strlcpy(stemp, mqtt_data, sizeof(stemp)); // Get JSON template
- WSContentSend_P(HTTP_FORM_OTHER, stemp, (USER_MODULE == Settings.module) ? " checked disabled" : "", (Settings.flag.mqtt_enabled) ? " checked" : ""); // SetOption3 - Enable MQTT
+ WSContentSend_P(HTTP_FORM_OTHER, stemp, (USER_MODULE == Settings.module) ? " checked disabled" : "",
+ (Settings.flag.mqtt_enabled) ? " checked" : "", // SetOption3 - Enable MQTT
+ SettingsText(SET_FRIENDLYNAME1), SettingsText(SET_DEVICENAME), SettingsText(SET_DEVICENAME));
uint32_t maxfn = (devices_present > MAX_FRIENDLYNAMES) ? MAX_FRIENDLYNAMES : (!devices_present) ? 1 : devices_present;
#ifdef USE_SONOFF_IFAN
@@ -2042,6 +2046,9 @@ void OtherSaveSettings(void)
char friendlyname[TOPSZ];
char message[LOGSZ];
+ WebGetArg("dn", tmp, sizeof(tmp));
+ SettingsUpdateText(SET_DEVICENAME, (!strlen(tmp)) ? SettingsText(SET_FRIENDLYNAME1) : tmp);
+
WebGetArg("wp", tmp, sizeof(tmp));
SettingsUpdateText(SET_WEBPWD, (!strlen(tmp)) ? "" : (strchr(tmp,'*')) ? SettingsText(SET_WEBPWD) : tmp);
Settings.flag.mqtt_enabled = Webserver->hasArg("b1"); // SetOption3 - Enable MQTT
@@ -2053,7 +2060,8 @@ void OtherSaveSettings(void)
#endif // USE_EMULATION_WEMO || USE_EMULATION_HUE
#endif // USE_EMULATION
- snprintf_P(message, sizeof(message), PSTR(D_LOG_OTHER D_MQTT_ENABLE " %s, " D_CMND_EMULATION " %d, " D_CMND_FRIENDLYNAME), GetStateText(Settings.flag.mqtt_enabled), Settings.flag2.emulation);
+ snprintf_P(message, sizeof(message), PSTR(D_LOG_OTHER D_MQTT_ENABLE " %s, " D_CMND_EMULATION " %d, " D_CMND_DEVICENAME " %s, " D_CMND_FRIENDLYNAME),
+ GetStateText(Settings.flag.mqtt_enabled), Settings.flag2.emulation, SettingsText(SET_DEVICENAME));
for (uint32_t i = 0; i < MAX_FRIENDLYNAMES; i++) {
snprintf_P(webindex, sizeof(webindex), PSTR("a%d"), i);
WebGetArg(webindex, tmp, sizeof(tmp));