mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
Make the port for syslog server selectable #744
This commit is contained in:
@@ -248,6 +248,18 @@ function EMSESPSettingsControllerForm(props: EMSESPSettingsControllerFormProps)
|
|||||||
onChange={handleValueChange('syslog_host')}
|
onChange={handleValueChange('syslog_host')}
|
||||||
margin="normal"
|
margin="normal"
|
||||||
/>
|
/>
|
||||||
|
<TextValidator
|
||||||
|
validators={['required', 'isNumber', 'minNumber:0', 'maxNumber:65535']}
|
||||||
|
errorMessages={['Port is required', "Must be a number", "Must be greater than 0 ", "Max value is 65535"]}
|
||||||
|
name="syslog_port"
|
||||||
|
label="Syslog Port (default 514)"
|
||||||
|
fullWidth
|
||||||
|
variant="outlined"
|
||||||
|
value={data.syslog_port}
|
||||||
|
type="number"
|
||||||
|
onChange={handleValueChange('syslog_port')}
|
||||||
|
margin="normal"
|
||||||
|
/>
|
||||||
<SelectValidator name="syslog_level"
|
<SelectValidator name="syslog_level"
|
||||||
label="Syslog Log Level"
|
label="Syslog Log Level"
|
||||||
value={data.syslog_level}
|
value={data.syslog_level}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ export interface EMSESPSettings {
|
|||||||
syslog_level: number;
|
syslog_level: number;
|
||||||
syslog_mark_interval: number;
|
syslog_mark_interval: number;
|
||||||
syslog_host: string;
|
syslog_host: string;
|
||||||
|
syslog_port: number;
|
||||||
master_thermostat: number;
|
master_thermostat: number;
|
||||||
shower_timer: boolean;
|
shower_timer: boolean;
|
||||||
shower_alert: boolean;
|
shower_alert: boolean;
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ class DummySettings {
|
|||||||
int8_t syslog_level = 3; // uuid::log::Level
|
int8_t syslog_level = 3; // uuid::log::Level
|
||||||
uint32_t syslog_mark_interval = 0;
|
uint32_t syslog_mark_interval = 0;
|
||||||
String syslog_host = "192.168.1.4";
|
String syslog_host = "192.168.1.4";
|
||||||
|
uint16_t syslog_port = 514;
|
||||||
uint8_t master_thermostat = 0;
|
uint8_t master_thermostat = 0;
|
||||||
bool shower_timer = true;
|
bool shower_timer = true;
|
||||||
bool shower_alert = false;
|
bool shower_alert = false;
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ void WebSettings::read(WebSettings & settings, JsonObject & root) {
|
|||||||
root["trace_raw"] = settings.trace_raw;
|
root["trace_raw"] = settings.trace_raw;
|
||||||
root["syslog_mark_interval"] = settings.syslog_mark_interval;
|
root["syslog_mark_interval"] = settings.syslog_mark_interval;
|
||||||
root["syslog_host"] = settings.syslog_host;
|
root["syslog_host"] = settings.syslog_host;
|
||||||
|
root["syslog_port"] = settings.syslog_port;
|
||||||
root["master_thermostat"] = settings.master_thermostat;
|
root["master_thermostat"] = settings.master_thermostat;
|
||||||
root["shower_timer"] = settings.shower_timer;
|
root["shower_timer"] = settings.shower_timer;
|
||||||
root["shower_alert"] = settings.shower_alert;
|
root["shower_alert"] = settings.shower_alert;
|
||||||
@@ -73,9 +74,10 @@ StateUpdateResult WebSettings::update(JsonObject & root, WebSettings & settings)
|
|||||||
settings.syslog_level = root["syslog_level"] | EMSESP_DEFAULT_SYSLOG_LEVEL;
|
settings.syslog_level = root["syslog_level"] | EMSESP_DEFAULT_SYSLOG_LEVEL;
|
||||||
settings.syslog_mark_interval = root["syslog_mark_interval"] | EMSESP_DEFAULT_SYSLOG_MARK_INTERVAL;
|
settings.syslog_mark_interval = root["syslog_mark_interval"] | EMSESP_DEFAULT_SYSLOG_MARK_INTERVAL;
|
||||||
settings.syslog_host = root["syslog_host"] | EMSESP_DEFAULT_SYSLOG_HOST;
|
settings.syslog_host = root["syslog_host"] | EMSESP_DEFAULT_SYSLOG_HOST;
|
||||||
|
settings.syslog_port = root["syslog_port"] | EMSESP_DEFAULT_SYSLOG_PORT;
|
||||||
settings.trace_raw = root["trace_raw"] | EMSESP_DEFAULT_TRACELOG_RAW;
|
settings.trace_raw = root["trace_raw"] | EMSESP_DEFAULT_TRACELOG_RAW;
|
||||||
EMSESP::trace_raw(settings.trace_raw);
|
EMSESP::trace_raw(settings.trace_raw);
|
||||||
snprintf_P(&crc_after[0], crc_after.capacity() + 1, PSTR("%d%d%d%s"), settings.syslog_enabled, settings.syslog_level, settings.syslog_mark_interval, settings.syslog_host.c_str());
|
snprintf_P(&crc_after[0], crc_after.capacity() + 1, PSTR("%d%d%d%d%s"), settings.syslog_enabled, settings.syslog_level, settings.syslog_mark_interval, settings.syslog_port, settings.syslog_host.c_str());
|
||||||
if (crc_before != crc_after) {
|
if (crc_before != crc_after) {
|
||||||
add_flags(ChangeFlags::SYSLOG);
|
add_flags(ChangeFlags::SYSLOG);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#define EMSESP_DEFAULT_SYSLOG_LEVEL 3 // ERR
|
#define EMSESP_DEFAULT_SYSLOG_LEVEL 3 // ERR
|
||||||
#define EMSESP_DEFAULT_SYSLOG_MARK_INTERVAL 0
|
#define EMSESP_DEFAULT_SYSLOG_MARK_INTERVAL 0
|
||||||
#define EMSESP_DEFAULT_SYSLOG_HOST ""
|
#define EMSESP_DEFAULT_SYSLOG_HOST ""
|
||||||
|
#define EMSESP_DEFAULT_SYSLOG_PORT 514
|
||||||
#define EMSESP_DEFAULT_TRACELOG_RAW false
|
#define EMSESP_DEFAULT_TRACELOG_RAW false
|
||||||
#define EMSESP_DEFAULT_MASTER_THERMOSTAT 0 // not set
|
#define EMSESP_DEFAULT_MASTER_THERMOSTAT 0 // not set
|
||||||
#define EMSESP_DEFAULT_SHOWER_TIMER false
|
#define EMSESP_DEFAULT_SHOWER_TIMER false
|
||||||
@@ -72,6 +73,7 @@ class WebSettings {
|
|||||||
int8_t syslog_level; // uuid::log::Level
|
int8_t syslog_level; // uuid::log::Level
|
||||||
uint32_t syslog_mark_interval;
|
uint32_t syslog_mark_interval;
|
||||||
String syslog_host;
|
String syslog_host;
|
||||||
|
uint16_t syslog_port;
|
||||||
bool trace_raw;
|
bool trace_raw;
|
||||||
uint8_t rx_gpio;
|
uint8_t rx_gpio;
|
||||||
uint8_t tx_gpio;
|
uint8_t tx_gpio;
|
||||||
|
|||||||
@@ -699,11 +699,6 @@ bool EMSdevice::generate_values_json(JsonObject & root, const uint8_t tag_filter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// for debugging
|
|
||||||
// char dump[2000];
|
|
||||||
// serializeJson(root, dump);
|
|
||||||
// EMSESP::logger().info(F("**json root: %s"), dump);
|
|
||||||
|
|
||||||
return has_value;
|
return has_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ MAKE_PSTR_WORD(unknown)
|
|||||||
MAKE_PSTR(EMSESP, "EMS-ESP")
|
MAKE_PSTR(EMSESP, "EMS-ESP")
|
||||||
MAKE_PSTR(master_thermostat_fmt, "Master Thermostat Device ID = %s")
|
MAKE_PSTR(master_thermostat_fmt, "Master Thermostat Device ID = %s")
|
||||||
MAKE_PSTR(host_fmt, "Host = %s")
|
MAKE_PSTR(host_fmt, "Host = %s")
|
||||||
|
MAKE_PSTR(port_fmt, "Post = %d")
|
||||||
MAKE_PSTR(hostname_fmt, "Hostname = %s")
|
MAKE_PSTR(hostname_fmt, "Hostname = %s")
|
||||||
MAKE_PSTR(mark_interval_fmt, "Mark interval = %lus")
|
MAKE_PSTR(mark_interval_fmt, "Mark interval = %lus")
|
||||||
MAKE_PSTR(wifi_ssid_fmt, "WiFi SSID = %s")
|
MAKE_PSTR(wifi_ssid_fmt, "WiFi SSID = %s")
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ void System::syslog_init(bool refresh) {
|
|||||||
syslog_.start();
|
syslog_.start();
|
||||||
syslog_.log_level((uuid::log::Level)syslog_level_);
|
syslog_.log_level((uuid::log::Level)syslog_level_);
|
||||||
syslog_.mark_interval(syslog_mark_interval_);
|
syslog_.mark_interval(syslog_mark_interval_);
|
||||||
syslog_.destination(addr);
|
syslog_.destination(addr, syslog_port_);
|
||||||
syslog_.hostname(hostname_.c_str());
|
syslog_.hostname(hostname_.c_str());
|
||||||
|
|
||||||
EMSESP::logger().info(F("Syslog started"));
|
EMSESP::logger().info(F("Syslog started"));
|
||||||
@@ -164,6 +164,7 @@ void System::get_settings() {
|
|||||||
syslog_level_ = settings.syslog_level;
|
syslog_level_ = settings.syslog_level;
|
||||||
syslog_mark_interval_ = settings.syslog_mark_interval;
|
syslog_mark_interval_ = settings.syslog_mark_interval;
|
||||||
syslog_host_ = settings.syslog_host;
|
syslog_host_ = settings.syslog_host;
|
||||||
|
syslog_port_ = settings.syslog_port;
|
||||||
|
|
||||||
// LED
|
// LED
|
||||||
hide_led_ = settings.hide_led;
|
hide_led_ = settings.hide_led;
|
||||||
@@ -683,6 +684,8 @@ void System::show_system(uuid::console::Shell & shell) {
|
|||||||
shell.print(F(" "));
|
shell.print(F(" "));
|
||||||
shell.printfln(F_(host_fmt), !syslog_host_.isEmpty() ? syslog_host_.c_str() : uuid::read_flash_string(F_(unset)).c_str());
|
shell.printfln(F_(host_fmt), !syslog_host_.isEmpty() ? syslog_host_.c_str() : uuid::read_flash_string(F_(unset)).c_str());
|
||||||
shell.print(F(" "));
|
shell.print(F(" "));
|
||||||
|
shell.printfln(F_(port_fmt), syslog_port_);
|
||||||
|
shell.print(F(" "));
|
||||||
shell.printfln(F_(log_level_fmt), uuid::log::format_level_lowercase(static_cast<uuid::log::Level>(syslog_level_)));
|
shell.printfln(F_(log_level_fmt), uuid::log::format_level_lowercase(static_cast<uuid::log::Level>(syslog_level_)));
|
||||||
shell.print(F(" "));
|
shell.print(F(" "));
|
||||||
shell.printfln(F_(mark_interval_fmt), syslog_mark_interval_);
|
shell.printfln(F_(mark_interval_fmt), syslog_mark_interval_);
|
||||||
@@ -919,6 +922,7 @@ bool System::command_settings(const char * value, const int8_t id, JsonObject &
|
|||||||
node["syslog_level"] = settings.syslog_level;
|
node["syslog_level"] = settings.syslog_level;
|
||||||
node["syslog_mark_interval"] = settings.syslog_mark_interval;
|
node["syslog_mark_interval"] = settings.syslog_mark_interval;
|
||||||
node["syslog_host"] = settings.syslog_host;
|
node["syslog_host"] = settings.syslog_host;
|
||||||
|
node["syslog_port"] = settings.syslog_port;
|
||||||
node["master_thermostat"] = settings.master_thermostat;
|
node["master_thermostat"] = settings.master_thermostat;
|
||||||
node["shower_timer"] = settings.shower_timer;
|
node["shower_timer"] = settings.shower_timer;
|
||||||
node["shower_alert"] = settings.shower_alert;
|
node["shower_alert"] = settings.shower_alert;
|
||||||
|
|||||||
@@ -148,6 +148,7 @@ class System {
|
|||||||
int8_t syslog_level_;
|
int8_t syslog_level_;
|
||||||
uint32_t syslog_mark_interval_;
|
uint32_t syslog_mark_interval_;
|
||||||
String syslog_host_;
|
String syslog_host_;
|
||||||
|
uint16_t syslog_port_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace emsesp
|
} // namespace emsesp
|
||||||
|
|||||||
Reference in New Issue
Block a user