Browse Source

Add Disclaimer for DTU

pull/333/head
DanielR92 3 years ago
parent
commit
a4164de35d
  1. 3
      tools/esp8266/app.cpp
  2. 7
      tools/esp8266/defines.h
  3. 19
      tools/esp8266/html/index.html
  4. 4
      tools/esp8266/html/setup.html
  5. 4
      tools/esp8266/web.cpp
  6. 1
      tools/esp8266/webApi.cpp

3
tools/esp8266/app.cpp

@ -739,6 +739,9 @@ void app::loadDefaultConfig(void) {
mConfig.serialInterval = SERIAL_INTERVAL; mConfig.serialInterval = SERIAL_INTERVAL;
mConfig.serialShowIv = false; mConfig.serialShowIv = false;
mConfig.serialDebug = false; mConfig.serialDebug = false;
// Disclaimer
mConfig.disclaimer = false;
} }

7
tools/esp8266/defines.h

@ -76,6 +76,7 @@ typedef enum {
#define PWD_LEN 64 #define PWD_LEN 64
#define DEVNAME_LEN 16 #define DEVNAME_LEN 16
#define CRC_LEN 2 // uint16_t #define CRC_LEN 2 // uint16_t
#define DISCLAIMER 1
#define INV_ADDR_LEN MAX_NUM_INVERTERS * 8 // uint64_t #define INV_ADDR_LEN MAX_NUM_INVERTERS * 8 // uint64_t
#define INV_NAME_LEN MAX_NUM_INVERTERS * MAX_NAME_LENGTH // char[] #define INV_NAME_LEN MAX_NUM_INVERTERS * MAX_NAME_LENGTH // char[]
@ -126,6 +127,9 @@ typedef struct {
uint8_t pinIrq; uint8_t pinIrq;
uint8_t amplifierPower; uint8_t amplifierPower;
// Disclaimer
bool disclaimer;
// ntp // ntp
char ntpAddr[NTP_ADDR_LEN]; char ntpAddr[NTP_ADDR_LEN];
uint16_t ntpPort; uint16_t ntpPort;
@ -153,7 +157,8 @@ typedef struct {
#define ADDR_START 0 #define ADDR_START 0
#define ADDR_CFG_SYS ADDR_START #define ADDR_CFG_SYS ADDR_START
#define ADDR_WIFI_CRC ADDR_CFG_SYS + CFG_SYS_LEN #define ADDR_DISCLAIMER ADDR_CFG_SYS + DISCLAIMER
#define ADDR_WIFI_CRC ADDR_DISCLAIMER + CFG_SYS_LEN
#define ADDR_START_SETTINGS ADDR_WIFI_CRC + CRC_LEN #define ADDR_START_SETTINGS ADDR_WIFI_CRC + CRC_LEN
#define ADDR_CFG ADDR_START_SETTINGS #define ADDR_CFG ADDR_START_SETTINGS

19
tools/esp8266/html/index.html

@ -9,6 +9,20 @@
<body> <body>
<h1>AHOY</h1> <h1>AHOY</h1>
<div id="content" class="content"> <div id="content" class="content">
<SCRIPT>
function promptFunction() {
var Text = prompt("This project was started from https://www.mikrocontroller.net/topic/525778 this discussion.\n\n" +
"The Hoymiles protocol was decrypted through the voluntary efforts of many participants. ahoy, among others, was developed based on this work. The project is licensed under an Open Source" +
"License (https://www.gnu.de/documents/gpl-2.0.de.html) GNU General Public License version 2.\n\n" +
"The software was developed to the best of our knowledge and belief. Nevertheless, no liability can be accepted for a malfunction or guarantee loss of the inverter.\n\n" +
"Ahoy is freely available. If you paid money for the software, you probably got ripped off.\n\nPlease type in 'YeS', you are accept our Disclaim.", "");
if (Text != "YeS")
promptFunction();
else
return true;
}
</SCRIPT>
<p> <p>
<a href="/live">Visualization</a><br/> <a href="/live">Visualization</a><br/>
<br/> <br/>
@ -51,6 +65,11 @@
document.getElementById("version").innerHTML = "Git SHA: " + obj["build"] + " :: " + obj["version"]; document.getElementById("version").innerHTML = "Git SHA: " + obj["build"] + " :: " + obj["version"];
document.getElementById("wifi_rssi").innerHTML = obj["wifi_rssi"];; document.getElementById("wifi_rssi").innerHTML = obj["wifi_rssi"];;
// Disclaimer
if(obj["disclaimer"] == false) {
sessionStorage.setItem("gDisclaimer", promptFunction());
}
var date = new Date(obj["ts_now"] * 1000); var date = new Date(obj["ts_now"] * 1000);
var up = obj["ts_uptime"]; var up = obj["ts_uptime"];
var days = parseInt(up / 86400) % 365; var days = parseInt(up / 86400) % 365;

4
tools/esp8266/html/setup.html

@ -17,6 +17,7 @@
<legend class="des">Device Host Name</legend> <legend class="des">Device Host Name</legend>
<label for="device">Device Name</label> <label for="device">Device Name</label>
<input type="text" name="device" class="text"/> <input type="text" name="device" class="text"/>
<input type="hidden" name="disclaimer" value="false" id="disclaimer">
</fieldset> </fieldset>
<button type="button" class="s_collapsible">WiFi</button> <button type="button" class="s_collapsible">WiFi</button>
@ -271,6 +272,9 @@
parseRadio(root["radio"]); parseRadio(root["radio"]);
parseSerial(root["serial"]); parseSerial(root["serial"]);
} }
hiddenInput = document.getElementById("disclaimer")
hiddenInput.value = sessionStorage.getItem("gDisclaimer");
} }
getAjax("/api/setup", parse); getAjax("/api/setup", parse);

4
tools/esp8266/web.cpp

@ -277,6 +277,10 @@ void web::showSave(AsyncWebServerRequest *request) {
if(request->arg("invRetry") != "") if(request->arg("invRetry") != "")
mConfig->maxRetransPerPyld = request->arg("invRetry").toInt(); mConfig->maxRetransPerPyld = request->arg("invRetry").toInt();
// Disclaimer
if(request->arg("disclaimer") != "")
mConfig->disclaimer = strcmp("true", request->arg("disclaimer").c_str()) == 0 ? true : false;
// pinout // pinout
uint8_t pin; uint8_t pin;
for(uint8_t i = 0; i < 3; i ++) { for(uint8_t i = 0; i < 3; i ++) {

1
tools/esp8266/webApi.cpp

@ -124,6 +124,7 @@ void webApi::getSystem(JsonObject obj) {
obj[F("ts_uptime")] = mApp->getUptime(); obj[F("ts_uptime")] = mApp->getUptime();
obj[F("ts_now")] = mApp->getTimestamp(); obj[F("ts_now")] = mApp->getTimestamp();
obj[F("wifi_rssi")] = WiFi.RSSI(); obj[F("wifi_rssi")] = WiFi.RSSI();
obj[F("disclaimer")] = mConfig->disclaimer;
} }

Loading…
Cancel
Save