Enable trace of IP

This commit is contained in:
1technophile committed 2019-07-25 14:52:41 +02:00
1 parent 131a731730
commit fd90d26873
1 file changed
+17 -14
+17 -14
View File
@@ -180,6 +180,12 @@ int strpos(char *haystack, char *needle) //from @miere https://stackoverflow.com
return -1; return -1;
} }
char* ip2CharArray(IPAddress ip) { //from Nick Lee https://stackoverflow.com/questions/28119653/arduino-display-ethernet-localip
static char a[16];
sprintf(a, "%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3]);
return a;
}
bool to_bool(String const& s) { // thanks Chris Jester-Young from stackoverflow bool to_bool(String const& s) { // thanks Chris Jester-Young from stackoverflow
return s != "0"; return s != "0";
} }
@@ -255,6 +261,12 @@ void trc(float msg){
#endif #endif
} }
void trc(JsonObject& data){
char JSONmessageBuffer[JSON_MSG_BUFFER];
data.printTo(JSONmessageBuffer, sizeof(JSONmessageBuffer));
trc(JSONmessageBuffer);
}
void pub(char * topic, char * payload, bool retainFlag){ void pub(char * topic, char * payload, bool retainFlag){
client.publish(topic, payload, retainFlag); client.publish(topic, payload, retainFlag);
} }
@@ -930,28 +942,19 @@ void stateMeasures(){
trc(uptime); trc(uptime);
SYSdata["uptime"] = uptime; SYSdata["uptime"] = uptime;
#if defined(ESP8266) || defined(ESP32) #if defined(ESP8266) || defined(ESP32)
trc(F("Remaining memory"));
uint32_t freeMem; uint32_t freeMem;
freeMem = ESP.getFreeHeap(); freeMem = ESP.getFreeHeap();
SYSdata["freeMem"] = freeMem; SYSdata["freeMem"] = freeMem;
trc(freeMem);
trc(F("RSSI"));
long rssi = WiFi.RSSI(); long rssi = WiFi.RSSI();
SYSdata["rssi"] = rssi; SYSdata["rssi"] = rssi;
trc(rssi);
trc(F("SSID"));
String SSID = WiFi.SSID(); String SSID = WiFi.SSID();
SYSdata["SSID"] = SSID; SYSdata["SSID"] = SSID;
trc(SSID); SYSdata["ip"] = ip2CharArray(WiFi.localIP());
SYSdata["ip"] = WiFi.localIP().toString(); String mac = WiFi.macAddress();
trc(WiFi.localIP().toString()); SYSdata["mac"] = mac;
SYSdata["mac"] = WiFi.macAddress();
trc(WiFi.macAddress());
#else #else
SYSdata["ip"] = Ethernet.localIP(); SYSdata["ip"] = ip2CharArray(Ethernet.localIP());
trc(Ethernet.localIP());
#endif #endif
trc(F("Activated modules"));
String modules = ""; String modules = "";
#ifdef ZgatewayRF #ifdef ZgatewayRF
modules = modules + ZgatewayRF; modules = modules + ZgatewayRF;
@@ -1015,7 +1018,7 @@ void stateMeasures(){
pubMqttDiscovery(); pubMqttDiscovery();
#endif #endif
SYSdata["modules"] = modules; SYSdata["modules"] = modules;
trc(modules); trc(SYSdata);
char JSONmessageBuffer[100]; char JSONmessageBuffer[100];
SYSdata.printTo(JSONmessageBuffer, sizeof(JSONmessageBuffer)); SYSdata.printTo(JSONmessageBuffer, sizeof(JSONmessageBuffer));
pub(subjectSYStoMQTT,JSONmessageBuffer); pub(subjectSYStoMQTT,JSONmessageBuffer);