Compare commits

...

6 Commits

Author SHA1 Message Date
Gunnar Skjold
fcb4ccb462 Merge pull request #240 from mikkle/mqtt_mem_free
publish ESP free mem in mqtt publishSystem
2022-02-20 19:30:20 +01:00
Mikkel Troest
e0cd14e904 publish ESP free mem in mqtt publishSystem 2022-02-20 15:39:52 +01:00
Gunnar Skjold
7e41168606 Fix for unstable ESP8266 when debug is disabled 2022-02-20 10:51:19 +01:00
Gunnar Skjold
6e9e988ff0 Fixed issue where HAN stops working when debugging is disabled 2022-02-19 10:27:24 +01:00
Gunnar Skjold
04c269d982 Double precision on accumulated values 2022-02-19 09:07:35 +01:00
Gunnar Skjold
0dd77dbaa8 Fixed styling for export graph 2022-02-12 10:09:03 +01:00
9 changed files with 39 additions and 36 deletions

View File

@@ -233,7 +233,7 @@ bool AmsConfiguration::getDebugConfig(DebugConfig& config) {
bool AmsConfiguration::setDebugConfig(DebugConfig& config) { bool AmsConfiguration::setDebugConfig(DebugConfig& config) {
if(!config.serial && !config.telnet) if(!config.serial && !config.telnet)
config.level = 5; // Force error level when debug is disabled config.level = 4; // Force warning level when debug is disabled
EEPROM.begin(EEPROM_SIZE); EEPROM.begin(EEPROM_SIZE);
EEPROM.put(CONFIG_DEBUG_START, config); EEPROM.put(CONFIG_DEBUG_START, config);
bool ret = EEPROM.commit(); bool ret = EEPROM.commit();

View File

@@ -160,19 +160,19 @@ float AmsData::getL3PowerFactor() {
return this->l3PowerFactor; return this->l3PowerFactor;
} }
float AmsData::getActiveImportCounter() { double AmsData::getActiveImportCounter() {
return this->activeImportCounter; return this->activeImportCounter;
} }
float AmsData::getReactiveImportCounter() { double AmsData::getReactiveImportCounter() {
return this->reactiveImportCounter; return this->reactiveImportCounter;
} }
float AmsData::getActiveExportCounter() { double AmsData::getActiveExportCounter() {
return this->activeExportCounter; return this->activeExportCounter;
} }
float AmsData::getReactiveExportCounter() { double AmsData::getReactiveExportCounter() {
return this->reactiveExportCounter; return this->reactiveExportCounter;
} }

View File

@@ -53,10 +53,10 @@ public:
float getL2PowerFactor(); float getL2PowerFactor();
float getL3PowerFactor(); float getL3PowerFactor();
float getActiveImportCounter(); double getActiveImportCounter();
float getReactiveImportCounter(); double getReactiveImportCounter();
float getActiveExportCounter(); double getActiveExportCounter();
float getReactiveExportCounter(); double getReactiveExportCounter();
bool isThreePhase(); bool isThreePhase();
bool isTwoPhase(); bool isTwoPhase();
@@ -71,7 +71,7 @@ protected:
uint16_t activeImportPower = 0, reactiveImportPower = 0, activeExportPower = 0, reactiveExportPower = 0; uint16_t activeImportPower = 0, reactiveImportPower = 0, activeExportPower = 0, reactiveExportPower = 0;
float l1voltage = 0, l2voltage = 0, l3voltage = 0, l1current = 0, l2current = 0, l3current = 0; float l1voltage = 0, l2voltage = 0, l3voltage = 0, l1current = 0, l2current = 0, l3current = 0;
float powerFactor = 0, l1PowerFactor = 0, l2PowerFactor = 0, l3PowerFactor = 0; float powerFactor = 0, l1PowerFactor = 0, l2PowerFactor = 0, l3PowerFactor = 0;
float activeImportCounter = 0, reactiveImportCounter = 0, activeExportCounter = 0, reactiveExportCounter = 0; double activeImportCounter = 0, reactiveImportCounter = 0, activeExportCounter = 0, reactiveExportCounter = 0;
bool threePhase = false, twoPhase = false, counterEstimated = false; bool threePhase = false, twoPhase = false, counterEstimated = false;
}; };

View File

@@ -182,13 +182,8 @@ void setup() {
Serial.begin(115200); Serial.begin(115200);
} }
Debug.setSerialEnabled(true);
DebugConfig debug; DebugConfig debug;
if(config.getDebugConfig(debug)) {
Debug.setSerialEnabled(debug.serial);
}
#if DEBUG_MODE
Debug.setSerialEnabled(true);
#endif
delay(1); delay(1);
float vcc = hw.getVcc(); float vcc = hw.getVcc();
@@ -352,6 +347,7 @@ void loop() {
longPressActive = false; longPressActive = false;
} else { } else {
// Single press action // Single press action
debugD("Button was clicked, no action configured");
} }
buttonActive = false; buttonActive = false;
} }
@@ -377,11 +373,12 @@ void loop() {
} }
DebugConfig debug; DebugConfig debug;
if(config.getDebugConfig(debug)) { if(config.getDebugConfig(debug)) {
Debug.begin(wifi.hostname, (uint8_t) debug.level); Debug.begin(wifi.hostname, debug.serial || debug.telnet ? (uint8_t) debug.level : RemoteDebug::WARNING); // I don't know why, but ESP8266 stops working after a while if ERROR level is set
Debug.setSerialEnabled(debug.serial);
if(!debug.telnet) { if(!debug.telnet) {
Debug.stop(); Debug.stop();
} }
} else {
Debug.stop();
} }
if(Debug.isActive(RemoteDebug::INFO)) { if(Debug.isActive(RemoteDebug::INFO)) {
debugI("Successfully connected to WiFi!"); debugI("Successfully connected to WiFi!");

View File

@@ -211,6 +211,7 @@ bool RawMqttHandler::publishSystem(HwTools* hw) {
if(vcc > 0) { if(vcc > 0) {
mqtt->publish(topic + "/vcc", String(vcc, 2)); mqtt->publish(topic + "/vcc", String(vcc, 2));
} }
mqtt->publish(topic + "/mem", String(ESP.getFreeHeap()));
mqtt->publish(topic + "/rssi", String(hw->getWifiRssi())); mqtt->publish(topic + "/rssi", String(hw->getWifiRssi()));
if(hw->getTemperature() > -85) { if(hw->getTemperature() > -85) {
mqtt->publish(topic + "/temperature", String(hw->getTemperature(), 2)); mqtt->publish(topic + "/temperature", String(hw->getTemperature(), 2));

View File

@@ -1232,23 +1232,29 @@ void AmsWebServer::handleSave() {
if(server.hasArg("debugConfig") && server.arg("debugConfig") == "true") { if(server.hasArg("debugConfig") && server.arg("debugConfig") == "true") {
printD("Received Debug config"); printD("Received Debug config");
DebugConfig debug; DebugConfig debug;
config->getDebugConfig(debug);
bool active = debug.serial || debug.telnet;
debug.telnet = server.hasArg("debugTelnet") && server.arg("debugTelnet") == "true"; debug.telnet = server.hasArg("debugTelnet") && server.arg("debugTelnet") == "true";
debug.serial = server.hasArg("debugSerial") && server.arg("debugSerial") == "true"; debug.serial = server.hasArg("debugSerial") && server.arg("debugSerial") == "true";
debug.level = server.arg("debugLevel").toInt(); debug.level = server.arg("debugLevel").toInt();
debugger->stop(); if(debug.telnet || debug.serial) {
if(webConfig.security > 0) { if(webConfig.security > 0) {
debugger->setPassword(webConfig.password); debugger->setPassword(webConfig.password);
} else { } else {
debugger->setPassword(""); debugger->setPassword("");
}
debugger->setSerialEnabled(debug.serial);
WiFiConfig wifi;
if(config->getWiFiConfig(wifi) && strlen(wifi.hostname) > 0) {
debugger->begin(wifi.hostname, (uint8_t) debug.level);
if(!debug.telnet) {
debugger->stop();
} }
debugger->setSerialEnabled(debug.serial);
WiFiConfig wifi;
if(config->getWiFiConfig(wifi) && strlen(wifi.hostname) > 0) {
debugger->begin(wifi.hostname, (uint8_t) debug.level);
if(!debug.telnet) {
debugger->stop();
}
}
} else if(active) {
performRestart = true;
} }
config->setDebugConfig(debug); config->setDebugConfig(debug);
} }
@@ -1280,7 +1286,7 @@ void AmsWebServer::handleSave() {
//if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger); //if (debugger->isActive(RemoteDebug::DEBUG)) config->print(debugger);
if (config->save()) { if (config->save()) {
printI("Successfully saved."); printI("Successfully saved.");
if(config->isWifiChanged()) { if(config->isWifiChanged() || performRestart) {
performRestart = true; performRestart = true;
server.sendHeader("Location","/restart-wait"); server.sendHeader("Location","/restart-wait");
server.send(303); server.send(303);

View File

@@ -25,7 +25,6 @@
<option value="2" ${config.debugLevel2}>Debug</option> <option value="2" ${config.debugLevel2}>Debug</option>
<option value="3" ${config.debugLevel3}>Info</option> <option value="3" ${config.debugLevel3}>Info</option>
<option value="4" ${config.debugLevel4}>Warning</option> <option value="4" ${config.debugLevel4}>Warning</option>
<option value="5" ${config.debugLevel5}>Error</option>
</select> </select>
</div> </div>
</div> </div>

View File

@@ -30,10 +30,10 @@
width: 50%; width: 50%;
text-align: center; text-align: center;
} }
.ipo,.xpo { .ipo,.epo {
font-size: 1.7rem; font-size: 1.7rem;
} }
.ipoa,.xpoa { .ipoa,.epoa {
font-size: 1.0rem; font-size: 1.0rem;
color: grey; color: grey;
} }

View File

@@ -30,10 +30,10 @@
width: 50%; width: 50%;
text-align: center; text-align: center;
} }
.ipo,.xpo { .ipo,.epo {
font-size: 1.7rem; font-size: 1.7rem;
} }
.ipoa,.xpoa { .ipoa,.epoa {
font-size: 1.0rem; font-size: 1.0rem;
color: grey; color: grey;
} }