allow to configure hostname
This commit is contained in:
16
Network.cpp
16
Network.cpp
@@ -23,6 +23,13 @@ Network::Network(Preferences* preferences)
|
|||||||
|
|
||||||
void Network::initialize()
|
void Network::initialize()
|
||||||
{
|
{
|
||||||
|
String hostname = _preferences->getString(preference_hostname);
|
||||||
|
if(hostname == "")
|
||||||
|
{
|
||||||
|
hostname = "nukihub";
|
||||||
|
_preferences->putString(preference_hostname, hostname);
|
||||||
|
}
|
||||||
|
|
||||||
WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP
|
WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP
|
||||||
// it is a good practice to make sure your code sets wifi mode how you want it.
|
// it is a good practice to make sure your code sets wifi mode how you want it.
|
||||||
|
|
||||||
@@ -34,6 +41,7 @@ void Network::initialize()
|
|||||||
wm_menu.push_back("exit");
|
wm_menu.push_back("exit");
|
||||||
wm.setShowInfoUpdate(false);
|
wm.setShowInfoUpdate(false);
|
||||||
wm.setMenu(wm_menu);
|
wm.setMenu(wm_menu);
|
||||||
|
wm.setHostname(hostname);
|
||||||
|
|
||||||
bool res = false;
|
bool res = false;
|
||||||
|
|
||||||
@@ -58,6 +66,9 @@ void Network::initialize()
|
|||||||
Serial.println(WiFi.localIP().toString());
|
Serial.println(WiFi.localIP().toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Serial.print(F("Host name: "));
|
||||||
|
Serial.println(hostname);
|
||||||
|
|
||||||
const char* brokerAddr = _preferences->getString(preference_mqtt_broker).c_str();
|
const char* brokerAddr = _preferences->getString(preference_mqtt_broker).c_str();
|
||||||
strcpy(_mqttBrokerAddr, brokerAddr);
|
strcpy(_mqttBrokerAddr, brokerAddr);
|
||||||
|
|
||||||
@@ -107,6 +118,7 @@ void Network::initialize()
|
|||||||
Serial.print(_mqttBrokerAddr);
|
Serial.print(_mqttBrokerAddr);
|
||||||
Serial.print(F(":"));
|
Serial.print(F(":"));
|
||||||
Serial.println(port);
|
Serial.println(port);
|
||||||
|
|
||||||
_mqttClient.setServer(_mqttBrokerAddr, port);
|
_mqttClient.setServer(_mqttBrokerAddr, port);
|
||||||
_mqttClient.setCallback(Network::onMqttDataReceivedCallback);
|
_mqttClient.setCallback(Network::onMqttDataReceivedCallback);
|
||||||
}
|
}
|
||||||
@@ -122,12 +134,12 @@ bool Network::reconnect()
|
|||||||
if(strlen(_mqttUser) == 0)
|
if(strlen(_mqttUser) == 0)
|
||||||
{
|
{
|
||||||
Serial.println(F("MQTT: Connecting without credentials"));
|
Serial.println(F("MQTT: Connecting without credentials"));
|
||||||
success = _mqttClient.connect("nukiHub");
|
success = _mqttClient.connect(_preferences->getString(preference_hostname).c_str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Serial.print(F("MQTT: Connecting with user: ")); Serial.println(_mqttUser);
|
Serial.print(F("MQTT: Connecting with user: ")); Serial.println(_mqttUser);
|
||||||
success = _mqttClient.connect("nukiHub", _mqttUser, _mqttPass);
|
success = _mqttClient.connect(_preferences->getString(preference_hostname).c_str(), _mqttUser, _mqttPass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
#define preference_mqtt_user "mqttuser"
|
#define preference_mqtt_user "mqttuser"
|
||||||
#define preference_mqtt_password "mqttpass"
|
#define preference_mqtt_password "mqttpass"
|
||||||
#define preference_mqtt_path "mqttpath"
|
#define preference_mqtt_path "mqttpath"
|
||||||
|
#define preference_hostname "hostname"
|
||||||
#define preference_query_interval_lockstate "lockStInterval"
|
#define preference_query_interval_lockstate "lockStInterval"
|
||||||
#define preference_query_interval_battery "batInterval"
|
#define preference_query_interval_battery "batInterval"
|
||||||
#define preference_cred_user "crdusr"
|
#define preference_cred_user "crdusr"
|
||||||
|
|||||||
@@ -135,6 +135,11 @@ bool WebCfgServer::processArgs(String& message)
|
|||||||
_preferences->putString(preference_mqtt_path, value);
|
_preferences->putString(preference_mqtt_path, value);
|
||||||
configChanged = true;
|
configChanged = true;
|
||||||
}
|
}
|
||||||
|
else if(key == "HOSTNAME")
|
||||||
|
{
|
||||||
|
_preferences->putString(preference_hostname, value);
|
||||||
|
configChanged = true;
|
||||||
|
}
|
||||||
else if(key == "LSTINT")
|
else if(key == "LSTINT")
|
||||||
{
|
{
|
||||||
_preferences->putInt(preference_query_interval_lockstate, value.toInt());
|
_preferences->putInt(preference_query_interval_lockstate, value.toInt());
|
||||||
@@ -243,6 +248,7 @@ void WebCfgServer::buildHtml(String& response)
|
|||||||
printInputField(response, "MQTTUSER", "MQTT User (# to clear)", _preferences->getString(preference_mqtt_user).c_str(), 30);
|
printInputField(response, "MQTTUSER", "MQTT User (# to clear)", _preferences->getString(preference_mqtt_user).c_str(), 30);
|
||||||
printInputField(response, "MQTTPASS", "MQTT Password", "*", 30, true);
|
printInputField(response, "MQTTPASS", "MQTT Password", "*", 30, true);
|
||||||
printInputField(response, "MQTTPATH", "MQTT Path", _preferences->getString(preference_mqtt_path).c_str(), 180);
|
printInputField(response, "MQTTPATH", "MQTT Path", _preferences->getString(preference_mqtt_path).c_str(), 180);
|
||||||
|
printInputField(response, "HOSTNAME", "Host name", _preferences->getString(preference_hostname).c_str(), 100);
|
||||||
printInputField(response, "LSTINT", "Query interval lock state (seconds)", _preferences->getInt(preference_query_interval_lockstate), 10);
|
printInputField(response, "LSTINT", "Query interval lock state (seconds)", _preferences->getInt(preference_query_interval_lockstate), 10);
|
||||||
printInputField(response, "BATINT", "Query interval battery (seconds)", _preferences->getInt(preference_query_interval_battery), 10);
|
printInputField(response, "BATINT", "Query interval battery (seconds)", _preferences->getInt(preference_query_interval_battery), 10);
|
||||||
printInputField(response, "PRDTMO", "Presence detection timeout (seconds, -1 to disable)", _preferences->getInt(preference_presence_detection_timeout), 10);
|
printInputField(response, "PRDTMO", "Presence detection timeout (seconds, -1 to disable)", _preferences->getInt(preference_presence_detection_timeout), 10);
|
||||||
|
|||||||
Reference in New Issue
Block a user