Merge branch 'master' of github.com:technyon/nuki_hub into ota

This commit is contained in:
technyon
2022-06-15 20:26:44 +02:00
10 changed files with 121 additions and 11 deletions

View File

@@ -189,6 +189,21 @@ bool WebCfgServer::processArgs(String& message)
_preferences->putString(preference_mqtt_opener_path, value);
configChanged = true;
}
else if(key == "MQTTCA")
{
_preferences->putString(preference_mqtt_ca, value);
configChanged = true;
}
else if(key == "MQTTCRT")
{
_preferences->putString(preference_mqtt_crt, value);
configChanged = true;
}
else if(key == "MQTTKEY")
{
_preferences->putString(preference_mqtt_key, value);
configChanged = true;
}
else if(key == "HOSTNAME")
{
_preferences->putString(preference_hostname, value);
@@ -481,6 +496,9 @@ void WebCfgServer::buildMqttConfigHtml(String &response)
printInputField(response, "MQTTPORT", "MQTT Broker port", _preferences->getInt(preference_mqtt_broker_port), 5);
printInputField(response, "MQTTUSER", "MQTT User (# to clear)", _preferences->getString(preference_mqtt_user).c_str(), 30);
printInputField(response, "MQTTPASS", "MQTT Password", "*", 30, true);
printTextarea(response, "MQTTCA", "MQTT SSL CA Certificate", _preferences->getString(preference_mqtt_ca).c_str(), TLS_CA_MAX_SIZE);
printTextarea(response, "MQTTCRT", "MQTT SSL Client Certificate", _preferences->getString(preference_mqtt_crt).c_str(), TLS_CERT_MAX_SIZE);
printTextarea(response, "MQTTKEY", "MQTT SSL Client Key", _preferences->getString(preference_mqtt_key).c_str(), TLS_KEY_MAX_SIZE);
printInputField(response, "NETTIMEOUT", "Network Timeout until restart (seconds; -1 to disable)", _preferences->getInt(preference_network_timeout), 5);
response.concat("</table>");
response.concat("<br><INPUT TYPE=SUBMIT NAME=\"submit\" VALUE=\"Save\">");
@@ -624,6 +642,32 @@ void WebCfgServer::printCheckBox(String &response, const char *token, const char
response.concat("/></td></tr>");
}
void WebCfgServer::printTextarea(String& response,
const char *token,
const char *description,
const char *value,
const size_t maxLength)
{
char maxLengthStr[20];
itoa(maxLength, maxLengthStr, 10);
response.concat("<tr>");
response.concat("<td>");
response.concat(description);
response.concat("</td>");
response.concat("<td>");
response.concat(" <TEXTAREA NAME=\"");
response.concat(token);
response.concat("\" MAXLENGTH=\"");
response.concat(maxLengthStr);
response.concat("\\\">");
response.concat(value);
response.concat("</TEXTAREA>");
response.concat("</td>");
response.concat("</tr>");
}
void WebCfgServer::printParameter(String& response, const char *description, const char *value)
{
response.concat("<tr>");