"; ret += cDTZ.getNameDTZ(); ret += "";
ret += HTTP_BODYSTYLE_DTZ; ret += "";
ret += HTTP_DIV_FIELD;
ret += "
Ihre Eingaben wurden gespeichert.
";
ret += "";
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webSetup(){
String ret = HTTP_ANSWER;
ret += HTTP_HEAD_DTZ;
ret += ""; ret += cDTZ.getNameDTZ(); ret += "";
ret += HTTP_BODYSTYLE_DTZ; ret += "";
ret += HTTP_DIV_FIELD;
ret += "
Grundeinstellungen
";
ret += "";
ret += "StromLog-Version: "; ret += LoggerVersion;
ret += " Check for update firmware";
ret += "
";
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webShowSetup(){
String ret = HTTP_ANSWER;
ret += HTTP_BODYSTYLE_DTZ; ret += "";
ret += HTTP_DIV_FIELD;
ret += showSetup(); //debug
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webFavicon(){
String ret = HTTP_ANSWER;
ret += "none";
return ret;
}
//*** end ***
String webSearchStromLog(String payload) {
String ret = HTTP_ANSWER;
int argBegin = payload.indexOf("?");
if (argBegin != -1){
int valueEnd = payload.indexOf("HTTP");
int idEx = payload.substring(argBegin+1,valueEnd-1).toInt();
if(idEx == cDTZ.getUserID() || cDTZ.getUserID() == 0){
ret += "{\"DTZLOGGER\":\"" + LoggerVersion + "\"}";
}
}
return ret;
}
//*** end ***
String webMain(String payload){ // Prepare the response main screen
float DispValue;
String ret = HTTP_ANSWER;
ret += HTTP_HEAD_DTZ_REFRESH;
ret += ""; ret += cDTZ.getNameDTZ(); ret += "";
ret += HTTP_BODYSTYLE_DTZ; ret += "";
ret += HTTP_DIV_FIELD;
ret += "
"; ret+=cDTZ.getNameDTZ(); ret+="
";
ret += getDate2String(_act_date_time[_YEAR],_act_date_time[_MONTH],_act_date_time[_DAY]);
ret += " - "; ret += getTime2String(_act_date_time[_HOUR],_act_date_time[_MINUTE],_act_date_time[_SECOND]); ret+="";
ret += "🔄 ";
ret += payload; ret += "";
ret += "1.8.0 Bezug Summe:
";
if(dMETER.MeterKWH[_FROMGRID_1]>0){
ret += "1.8.1 Bezug Tarif 1:
";
}
if(dMETER.MeterKWH[_FROMGRID_2]>0){
ret += "1.8.2 Bezug Tarif 2:
";
}
if(dMETER.MeterKWH[_FEEDIN]>0){
ret += "2.8.0 Einspeisung:
";
}
ret += "";
if(dMETER.Electric_data[_CONSUMPTION]!=0){
ret += "Summen-Leistung:
";
}
if(dMETER.Electric_data[_FREQ]>0){
ret += "Netzfrequenz:
";
}
ret += "
StromLog & Zähler
";
ret += "
Stromlog-IP:
";
ret += "(Zähler) Hersteller-ID:
";
ret += "(Zähler) Server-ID:
";
ret += "Received protocols:
";
#ifdef SML_DIN
ret += "Protocol errors:
";
#endif
#ifdef VDE_DIN
if(dMETER.MeterTime.length()>5){
ret += "(Zähler) Datum Zeit:
";
}
#endif
if(_sendingOK == false)ret += "🔴"; // show a red bubble when StromLog not connect on server at the first time
ret += "Saved protocols:"; ret += "
";
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webMemory(){
String ret = HTTP_ANSWER;
ret += "Free space: "; ret += cDTZ.FREESPACE; ret += " ";
if(cDTZ.saveCounter > 0){
for(int i=1;i<=cDTZ.saveCounter;i++){
ret += cDTZ.readSavedValues(i);
ret += " ";
}
}
else ret += "No saved data. ";
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webSendProtocols(){
dMETER.SendProtocols = 10;
String ret = HTTP_ANSWER;
ret += "10 RAW Protocols will be send to server now. ";
ret += HTTP_TEXT_END;
return ret;
}
//*** end ***
String webSetTime(){
String ret = HTTP_ANSWER;
ret += HTTP_BODYSTYLE_DTZ; ret += "";
ret += HTTP_DIV_FIELD;
ret += "
Die Uhr wird jetzt neu synchronisiert.
";
ret += "
Zeit:
";
ret += "Unix-Time: "; ret += _timestamp; ret +=" ";
if (syncron_NTP_Time() == true){
getTime2Value();
ret += "Neue Zeit:
";
ret += "Unix-Time: "; ret += _timestamp; ret +=" ";
} else {
ret += "NTP Serverfehler! Aktuallisierung nicht erfolgt. Bitte eine Wartezeit von 2 Minuten, bis zur wiederholten, manuellen Aktuallisierung einhalten. ";
}
ret += "
";
ret += HTTP_TEXT_END;
return ret;
}
//**** update firmware part info to user interface *********//
String getUpdateFiles(IPAddress userIP){
String ret=HTTP_ANSWER;
ret += "Your StromLog versions number: "+dMETER.getProtocolType()+Version+" ";
ret += "Check for new firmware now. ";
ret += getFilesFromServer(userIP,dMETER.getProtocolType()+Version,cDTZ.getTargetServer());
ret += HTTP_TEXT_END;
return ret;
}
String prepareUpdate(String line){
String ret = HTTP_ANSWER;
int valueBegin = line.indexOf("?");
if(valueBegin > 0){
int valueEnd = line.indexOf("HTTP");
String argumentValue = line.substring(valueBegin+1,valueEnd-1);
ret += "Update will be start now. ";
ret += "Update-file: "+argumentValue+" ";
ret += "Don't turn off power during update!
";
ret += "After update, the reconnection only via IP, without arguments behind it!
";
ret += "Click here for reconnect after update ";
} else {
ret += "Error: Missing name of update file! ";
ret += "Update canceled. ";
line ="";
}
ret += HTTP_TEXT_END;
return ret;
}
String getRefreshJSON(){
String ret = HTTP_ANSWERJSON;
ret += prepareRefreshJSON();
return ret;
}
//***** get return json for refresh display on browser or *****//
String prepareRefreshJSON(){
String json = "{\"time\":\""; json+=getTime2String(_act_date_time[_HOUR],_act_date_time[_MINUTE],_act_date_time[_SECOND]); json+="\",";
json += "\"vL1\":"; json+=dMETER.Electric_data[_U_L1]; json+=",";
json += "\"vL2\":"; json+=dMETER.Electric_data[_U_L2]; json+=",";
json += "\"vL3\":"; json+=dMETER.Electric_data[_U_L3]; json+=",";
json += "\"cL1\":"; json+=dMETER.Electric_data[_I_L1]; json+=",";
json += "\"cL2\":"; json+=dMETER.Electric_data[_I_L2]; json+=",";
json += "\"cL3\":"; json+=dMETER.Electric_data[_I_L3]; json+=",";
json += "\"pL1\":"; json+=dMETER.Electric_data[_P_L1]; json+=",";
json += "\"pL2\":"; json+=dMETER.Electric_data[_P_L2]; json+=",";
json += "\"pL3\":"; json+=dMETER.Electric_data[_P_L3]; json+=",";
json += "\"frq\":"; json+=dMETER.Electric_data[_FREQ]; json+=",";
json += "\"psum\":"; json+=dMETER.Electric_data[_CONSUMPTION]; json+="}";
return json;
}
//*********** build an JSON code of values and return it *****************/
String getValuesAsJSON(){
String json = "{\"timestamp\":"; json += _timestamp; json += ",\"meterData\":";
json += "{\"consumption\":{\"value\":"; json += dMETER.Electric_data[_CONSUMPTION]; json += ",\"unit\":\"W\"},";
json += "\"FromGridSum\":{\"value\":"; json+= dMETER.MeterKWH[_FROMGRID_0]; json += ",\"unit\":\"dWh\"},";
json += "\"FromGridA\":{\"value\":"; json+= dMETER.MeterKWH[_FROMGRID_1]; json += ",\"unit\":\"dWh\"},";
json += "\"FromGridB\":{\"value\":"; json+= dMETER.MeterKWH[_FROMGRID_2]; json += ",\"unit\":\"dWh\"},";
json += "\"FeedIn\":{\"value\":"; json+= dMETER.MeterKWH[_FEEDIN]; json += ",\"unit\":\"dWh\"}";
json += "},\"electricsData\":{";
json += "\"voltageL1\":{\"value\":"; json+= dMETER.Electric_data[_U_L1]; json += ",\"unit\":\"dV\"},";
json += "\"voltageL2\":{\"value\":"; json+= dMETER.Electric_data[_U_L2]; json += ",\"unit\":\"dV\"},";
json += "\"voltageL3\":{\"value\":"; json+= dMETER.Electric_data[_U_L3]; json += ",\"unit\":\"dV\"},";
json += "\"currentL1\":{\"value\":"; json+= dMETER.Electric_data[_I_L1]; json += ",\"unit\":\"cI\"},";
json += "\"currentL2\":{\"value\":"; json+= dMETER.Electric_data[_I_L2]; json += ",\"unit\":\"cI\"},";
json += "\"currentL3\":{\"value\":"; json+= dMETER.Electric_data[_I_L3]; json += ",\"unit\":\"cI\"},";
json += "\"powerL1\":{\"value\":"; json+= dMETER.Electric_data[_P_L1]; json += ",\"unit\":\"W\"},";
json += "\"powerL2\":{\"value\":"; json+= dMETER.Electric_data[_P_L1]; json += ",\"unit\":\"W\"},";
json += "\"powerL3\":{\"value\":"; json+= dMETER.Electric_data[_P_L1]; json += ",\"unit\":\"W\"},";
json += "\"freq\":{\"value\":"; json+= dMETER.Electric_data[_FREQ]; json += ",\"unit\":\"dHz\"}";
json += "}}";
return json;
}
//*********** send consumption only **************************************/
String sendConsumptionValue(){
String json = "{\"consumption\":{\"value\":"; json += dMETER.Electric_data[_CONSUMPTION]; json += ",\"unit\":\"W\"}}";
return json;
}
//*********** prepare values for sending as JSON *************************/
String prepareSendValuesAsJSON(){
String Data = "{\"userid\":";
Data += cDTZ.getUserID(); Data += ",\"meter\":{";
Data += "\"localip\":\""+ WiFi.localIP().toString()+"\",";
Data += "\"metername\":\""+cDTZ.getNameDTZ()+"\",";
Data += "\"manufracturer\":\""+dMETER.MeterType+"\",";
Data += "\"meterid\":\"";
Data += dMETER.getMeterID();
Data += "\"},\"currentData\":";
Data += getValuesAsJSON();
Data += "}";
return Data;
}
//*********** show intern setup data for support *************************/
String showSetup(){
String ret = "
StromLog Einstellungen
";
ret += "
User: -"; ret += cDTZ.getUser(); ret +="- ";
ret += "PW: -"; ret += cDTZ.getPassw(); ret +="- ";
ret += "UserID: -"; ret += cDTZ.getUserID(); ret +="- ";
ret += "URL: -"; ret += cDTZ.getTargetURL(); ret +="- ";
// ret += "URLclean: -"; ret += cDTZ.getTargetURLclean(); ret +="- ";
ret += "Update-Server: -"; ret += cDTZ.getTargetServer(); ret+="- ";
ret += "HTTPCode: -"; ret +=_httpMarker; ret +="- ";
ret += "AdjustSec: -"; ret +=_secAdjust; ret +="-
";
return ret;
}
//*** end ***
#endif //*** WEB_CLIENT_H_