diff --git a/examples/0_MQTT_Gateway/fdrs_gateway_config.h b/examples/0_MQTT_Gateway/fdrs_gateway_config.h index 334a86d..5a8b887 100644 --- a/examples/0_MQTT_Gateway/fdrs_gateway_config.h +++ b/examples/0_MQTT_Gateway/fdrs_gateway_config.h @@ -80,11 +80,15 @@ // #define DNS1_IPADDRESS "192.168.0.1" // #define DNS2_IPADDRESS "192.168.0.2" -//#define MQTT_ADDR "192.168.0.8" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" // NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/examples/1_UART_Gateway/fdrs_gateway_config.h b/examples/1_UART_Gateway/fdrs_gateway_config.h index c1de835..857af7e 100644 --- a/examples/1_UART_Gateway/fdrs_gateway_config.h +++ b/examples/1_UART_Gateway/fdrs_gateway_config.h @@ -80,11 +80,15 @@ // #define DNS1_IPADDRESS "192.168.0.1" // #define DNS2_IPADDRESS "192.168.0.2" -//#define MQTT_ADDR "192.168.0.8" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" // NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/examples/2_ESPNOW_Repeater/fdrs_gateway_config.h b/examples/2_ESPNOW_Repeater/fdrs_gateway_config.h index dc7d49e..b0f2998 100644 --- a/examples/2_ESPNOW_Repeater/fdrs_gateway_config.h +++ b/examples/2_ESPNOW_Repeater/fdrs_gateway_config.h @@ -80,11 +80,15 @@ // #define DNS1_IPADDRESS "192.168.0.1" // #define DNS2_IPADDRESS "192.168.0.2" -//#define MQTT_ADDR "192.168.0.8" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" // NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/examples/3_LoRa_Repeater/fdrs_gateway_config.h b/examples/3_LoRa_Repeater/fdrs_gateway_config.h index 10fc306..4d6dac0 100644 --- a/examples/3_LoRa_Repeater/fdrs_gateway_config.h +++ b/examples/3_LoRa_Repeater/fdrs_gateway_config.h @@ -80,11 +80,15 @@ // #define DNS1_IPADDRESS "192.168.0.1" // #define DNS2_IPADDRESS "192.168.0.2" -//#define MQTT_ADDR "192.168.0.8" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" /// NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/examples/Controller_examples/Irrigation/Irrigation.ino b/examples/Controller_examples/Irrigation/Irrigation.ino index ddc9649..988f860 100644 --- a/examples/Controller_examples/Irrigation/Irrigation.ino +++ b/examples/Controller_examples/Irrigation/Irrigation.ino @@ -176,4 +176,4 @@ void loop() { DBG("Unable to communicate with gateway!"); } } -} +} \ No newline at end of file diff --git a/examples/Gateway_Examples/1_MQTT_Gateway_Ethernet/fdrs_gateway_config.h b/examples/Gateway_Examples/1_MQTT_Gateway_Ethernet/fdrs_gateway_config.h index 75d848b..4d27abe 100644 --- a/examples/Gateway_Examples/1_MQTT_Gateway_Ethernet/fdrs_gateway_config.h +++ b/examples/Gateway_Examples/1_MQTT_Gateway_Ethernet/fdrs_gateway_config.h @@ -81,11 +81,15 @@ // #define DNS1_IPADDRESS "192.168.0.1" // #define DNS2_IPADDRESS "192.168.0.2" -#define MQTT_ADDR "192.168.2.3" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" // NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/examples/Gateway_Examples/Repeater_Voltage/fdrs_gateway_config.h b/examples/Gateway_Examples/Repeater_Voltage/fdrs_gateway_config.h index 39e6a52..eb23ad1 100644 --- a/examples/Gateway_Examples/Repeater_Voltage/fdrs_gateway_config.h +++ b/examples/Gateway_Examples/Repeater_Voltage/fdrs_gateway_config.h @@ -72,11 +72,15 @@ //#define WIFI_SSID "Your SSID" //#define WIFI_PASS "Your Password" -//#define MQTT_ADDR "192.168.0.8" -//#define MQTT_PORT 1883 // Default MQTT port is 1883 -//#define MQTT_AUTH //Enable MQTT authentication -//#define MQTT_USER "Your MQTT Username" -//#define MQTT_PASS "Your MQTT Password" +// MQTT Settings +// #define MQTT_ADDR "192.168.0.8" +// #define MQTT_PORT 1883 // Default MQTT port is 1883 +// #define MQTT_AUTH //Enable MQTT authentication +// #define MQTT_USER "Your MQTT Username" +// #define MQTT_PASS "Your MQTT Password" +// #define TOPIC_DATA "fdrs/data" +// #define TOPIC_STATUS "fdrs/status" +// #define TOPIC_COMMAND "fdrs/command" // NTP Time settings for gateways #define DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union diff --git a/src/fdrs_checkConfig.h b/src/fdrs_checkConfig.h index 3ed0467..e2700b9 100644 --- a/src/fdrs_checkConfig.h +++ b/src/fdrs_checkConfig.h @@ -249,21 +249,27 @@ void printWifiDetails() { #endif //FDRS_MQTT_AUTH #if defined(TOPIC_DATA) - DBG("MQTT topic (TOPIC_DATA) : " + String(TOPIC_DATA)); + DBG("MQTT topic (TOPIC_DATA) : " + String(FDRS_TOPIC_DATA)); +#elif defined (GLOBAL_TOPIC_DATA) + DBG("MQTT topic used from GLOBAL_TOPIC_DATA : " + String(FDRS_TOPIC_DATA)); #else DBG("NO MQTT topic defined! Please define TOPIC_DATA in fdrs_globals.h (recommended) or in fdrs_node_config.h / fdrs_gateway_config.h"); //exit(0); #endif //TOPIC_DATA #if defined(TOPIC_STATUS) - DBG("MQTT topic (TOPIC_STATUS) : " + String(TOPIC_STATUS)); + DBG("MQTT topic (TOPIC_STATUS) : " + String(FDRS_TOPIC_STATUS)); +#elif defined (GLOBAL_TOPIC_STATUS) + DBG("MQTT topic used from GLOBAL_TOPIC_STATUS : " + String(FDRS_TOPIC_STATUS)); #else DBG("NO MQTT topic defined! Please define TOPIC_STATUS in fdrs_globals.h (recommended) or in fdrs_node_config.h / fdrs_gateway_config.h"); //exit(0); #endif //TOPIC_STATUS #if defined(TOPIC_COMMAND) - DBG("MQTT topic (TOPIC_COMMAND) : " + String(TOPIC_COMMAND)); + DBG("MQTT topic (TOPIC_COMMAND) : " + String(FDRS_TOPIC_COMMAND)); + #elif defined (GLOBAL_TOPIC_COMMAND) + DBG("MQTT topic used from GLOBAL_TOPIC_COMMAND : " + String(FDRS_TOPIC_COMMAND)); #else DBG("NO MQTT topic defined! Please define TOPIC_COMMAND in fdrs_globals.h (recommended) or in fdrs_node_config.h / fdrs_gateway_config.h"); //exit(0); diff --git a/src/fdrs_gateway.h b/src/fdrs_gateway.h index 65a2423..96df64b 100644 --- a/src/fdrs_gateway.h +++ b/src/fdrs_gateway.h @@ -189,7 +189,7 @@ void beginFDRS() #ifdef USE_WIFI - client.publish(TOPIC_STATUS, "FDRS initialized"); + client.publish(FDRS_TOPIC_STATUS, "FDRS initialized"); scheduleFDRS(fetchNtpTime,1000*60*FDRS_TIME_FETCHNTP); #endif scheduleFDRS(printTime,1000*60*FDRS_TIME_PRINTTIME); diff --git a/src/fdrs_gateway_mqtt.h b/src/fdrs_gateway_mqtt.h index 26465b9..b2eeda4 100644 --- a/src/fdrs_gateway_mqtt.h +++ b/src/fdrs_gateway_mqtt.h @@ -40,6 +40,24 @@ #define FDRS_MQTT_AUTH #endif // MQTT_AUTH +#if defined(TOPIC_DATA) +#define FDRS_TOPIC_DATA TOPIC_DATA +#else +#define FDRS_TOPIC_DATA GLOBAL_TOPIC_DATA +#endif // TOPIC_DATA + +#if defined(TOPIC_STATUS) +#define FDRS_TOPIC_STATUS TOPIC_STATUS +#else +#define FDRS_TOPIC_STATUS GLOBAL_TOPIC_STATUS +#endif // TOPIC_STATUS + +#if defined(TOPIC_COMMAND) +#define FDRS_TOPIC_COMMAND TOPIC_COMMAND +#else +#define FDRS_TOPIC_COMMAND GLOBAL_TOPIC_COMMAND +#endif // TOPIC_COMMAND + #define MQTT_MAX_BUFF_SIZE 1024 WiFiClient espClient; @@ -69,7 +87,7 @@ void reconnect_mqtt(short int attempts, bool silent) if (client.connect("FDRS_GATEWAY", mqtt_user, mqtt_pass)) { // Subscribe - client.subscribe(TOPIC_COMMAND); + client.subscribe(FDRS_TOPIC_COMMAND); if (!silent) DBG(" MQTT Connected"); return; @@ -157,7 +175,7 @@ void begin_mqtt() void mqtt_publish(const char *payload) { - if (!client.publish(TOPIC_DATA, payload)) + if (!client.publish(FDRS_TOPIC_DATA, payload)) { DBG(" Error on sending MQTT"); diff --git a/src/fdrs_globals.h b/src/fdrs_globals.h index effe60f..2ccf5f1 100644 --- a/src/fdrs_globals.h +++ b/src/fdrs_globals.h @@ -22,10 +22,9 @@ #define GLOBAL_MQTT_USER "Your MQTT Username" #define GLOBAL_MQTT_PASS "Your MQTT Password" // MQTT Topics -#define TOPIC_DATA "fdrs/data" -#define TOPIC_STATUS "fdrs/status" -#define TOPIC_COMMAND "fdrs/command" -#define TOPIC_DATA_BACKLOG "fdrs/databacklog" // Used in filesystem module +#define GLOBAL_TOPIC_DATA "fdrs/data" +#define GLOBAL_TOPIC_STATUS "fdrs/status" +#define GLOBAL_TOPIC_COMMAND "fdrs/command" // NTP Time Server #define GLOBAL_DST_RULE USDST // Daylight saving time rules: Use USDST for United States DST rules, EUDST for European Union