apply formatting guidelines to existing files & remove unused dep
This commit is contained in:
		
							parent
							
								
									61aaca8510
								
							
						
					
					
						commit
						dd55af6d9c
					
				| @ -14,7 +14,5 @@ board = esp12e | |||||||
| framework = arduino | framework = arduino | ||||||
| upload_speed = 921600 | upload_speed = 921600 | ||||||
| monitor_speed = 74880 | monitor_speed = 74880 | ||||||
| lib_deps =  | lib_deps = | ||||||
| 	ropg/ezTime@^0.8.3 | 	ropg/ezTime@^0.8.3 | ||||||
| 	paulstoffregen/OneWire@^2.3.7 |  | ||||||
| 	milesburton/DallasTemperature@^3.11.0 |  | ||||||
|  | |||||||
							
								
								
									
										110
									
								
								src/html.cpp
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								src/html.cpp
									
									
									
									
									
								
							| @ -2,24 +2,24 @@ | |||||||
| #include <Arduino.h> | #include <Arduino.h> | ||||||
| 
 | 
 | ||||||
| void reload_home() { | void reload_home() { | ||||||
|   char time_current[3][3] = {"", "", ""}; | 	char time_current[3][3] = {"", "", ""}; | ||||||
|   if (myTime.hour() < 10) { | 	if (myTime.hour() < 10) { | ||||||
|     sprintf(time_current[0], "0%d", myTime.hour()); | 		sprintf(time_current[0], "0%d", myTime.hour()); | ||||||
|   } else { | 	} else { | ||||||
|     sprintf(time_current[0], "%d", myTime.hour()); | 		sprintf(time_current[0], "%d", myTime.hour()); | ||||||
|   } | 	} | ||||||
|   if (myTime.minute() < 10) { | 	if (myTime.minute() < 10) { | ||||||
|     sprintf(time_current[1], "0%d", myTime.minute()); | 		sprintf(time_current[1], "0%d", myTime.minute()); | ||||||
|   } else { | 	} else { | ||||||
|     sprintf(time_current[1], "%d", myTime.minute()); | 		sprintf(time_current[1], "%d", myTime.minute()); | ||||||
|   } | 	} | ||||||
|   if (myTime.second() < 10) { | 	if (myTime.second() < 10) { | ||||||
|     sprintf(time_current[2], "0%d", myTime.second()); | 		sprintf(time_current[2], "0%d", myTime.second()); | ||||||
|   } else { | 	} else { | ||||||
|     sprintf(time_current[2], "%d", myTime.second()); | 		sprintf(time_current[2], "%d", myTime.second()); | ||||||
|   } | 	} | ||||||
| 
 | 
 | ||||||
|   sprintf(home_html, "<!DOCTYPE html>\
 | 	sprintf(home_html, "<!DOCTYPE html>\
 | ||||||
| <html lang='de'>\ | <html lang='de'>\ | ||||||
| <head>\ | <head>\ | ||||||
|     <meta charset='UTF-8'>\ |     <meta charset='UTF-8'>\ | ||||||
| @ -120,12 +120,12 @@ void reload_home() { | |||||||
|     </div>\ |     </div>\ | ||||||
| </body>\ | </body>\ | ||||||
| </html>", | </html>", | ||||||
|           time_current[0], time_current[1], time_current[2], stat[0], stat[1], | 			time_current[0], time_current[1], time_current[2], stat[0], stat[1], | ||||||
|           stat[2], stat[3], stat[4], stat[5], stat[6], stat[7]); | 			stat[2], stat[3], stat[4], stat[5], stat[6], stat[7]); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void reload_settings() { | void reload_settings() { | ||||||
|   sprintf(settings_html, "<tr>\
 | 	sprintf(settings_html, "<tr>\
 | ||||||
|                         <td>1</td>\ |                         <td>1</td>\ | ||||||
|                         <td>%s:%s</td>\ |                         <td>%s:%s</td>\ | ||||||
|                         <td>%s:%s</td>\ |                         <td>%s:%s</td>\ | ||||||
| @ -187,42 +187,42 @@ void reload_settings() { | |||||||
|         </div>\ |         </div>\ | ||||||
|     </body>\ |     </body>\ | ||||||
| </html>", | </html>", | ||||||
|           time_all[0][0], time_all[1][0], time_all[2][0], time_all[3][0], | 			time_all[0][0], time_all[1][0], time_all[2][0], time_all[3][0], | ||||||
|           time_all[4][0], time_all[5][0], time_all[6][0], time_all[7][0], | 			time_all[4][0], time_all[5][0], time_all[6][0], time_all[7][0], | ||||||
|           time_all[0][1], time_all[1][1], time_all[2][1], time_all[3][1], | 			time_all[0][1], time_all[1][1], time_all[2][1], time_all[3][1], | ||||||
|           time_all[4][1], time_all[5][1], time_all[6][1], time_all[7][1], | 			time_all[4][1], time_all[5][1], time_all[6][1], time_all[7][1], | ||||||
|           time_all[0][2], time_all[1][2], time_all[2][2], time_all[3][2], | 			time_all[0][2], time_all[1][2], time_all[2][2], time_all[3][2], | ||||||
|           time_all[4][2], time_all[5][2], time_all[6][2], time_all[7][2], | 			time_all[4][2], time_all[5][2], time_all[6][2], time_all[7][2], | ||||||
|           time_all[0][3], time_all[1][3], time_all[2][3], time_all[3][3], | 			time_all[0][3], time_all[1][3], time_all[2][3], time_all[3][3], | ||||||
|           time_all[4][3], time_all[5][3], time_all[6][3], time_all[7][3], | 			time_all[4][3], time_all[5][3], time_all[6][3], time_all[7][3], | ||||||
|           time_all[0][4], time_all[1][4], time_all[2][4], time_all[3][4], | 			time_all[0][4], time_all[1][4], time_all[2][4], time_all[3][4], | ||||||
|           time_all[4][4], time_all[5][4], time_all[6][4], time_all[7][4], | 			time_all[4][4], time_all[5][4], time_all[6][4], time_all[7][4], | ||||||
|           time_all[0][5], time_all[1][5], time_all[2][5], time_all[3][5], | 			time_all[0][5], time_all[1][5], time_all[2][5], time_all[3][5], | ||||||
|           time_all[4][5], time_all[5][5], time_all[6][5], time_all[7][5], | 			time_all[4][5], time_all[5][5], time_all[6][5], time_all[7][5], | ||||||
|           time_all[0][6], time_all[1][6], time_all[2][6], time_all[3][6], | 			time_all[0][6], time_all[1][6], time_all[2][6], time_all[3][6], | ||||||
|           time_all[4][6], time_all[5][6], time_all[6][6], time_all[7][6], | 			time_all[4][6], time_all[5][6], time_all[6][6], time_all[7][6], | ||||||
|           time_all[0][7], time_all[1][7], time_all[2][7], time_all[3][7], | 			time_all[0][7], time_all[1][7], time_all[2][7], time_all[3][7], | ||||||
|           time_all[4][7], time_all[5][7], time_all[6][7], time_all[7][7]); | 			time_all[4][7], time_all[5][7], time_all[6][7], time_all[7][7]); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void handleToggle() { | void handleToggle() { | ||||||
|   int i = server.arg("number") | 	int i = server.arg("number") | ||||||
|               .toInt(); // converts GET argument to int and does stuff xD
 | 				.toInt(); // converts GET argument to int and does stuff xD
 | ||||||
|   override[i] = !override[i]; | 	override[i] = !override[i]; | ||||||
|   debugln(F("---------------------------")); | 	debugln(F("---------------------------")); | ||||||
|   debug(F("[RECIVED] for: ")); | 	debug(F("[RECIVED] for: ")); | ||||||
|   debugln(i); | 	debugln(i); | ||||||
|   digitalWrite(pins[i], !digitalRead(pins[i])); | 	digitalWrite(pins[i], !digitalRead(pins[i])); | ||||||
|   if (digitalRead(pins[i]) == LOW) { | 	if (digitalRead(pins[i]) == LOW) { | ||||||
|     sprintf(stat[i], "AN"); | 		sprintf(stat[i], "AN"); | ||||||
|   } else { | 	} else { | ||||||
|     sprintf(stat[i], "AUS"); | 		sprintf(stat[i], "AUS"); | ||||||
|   } | 	} | ||||||
|   debug(F("Status: ")); | 	debug(F("Status: ")); | ||||||
|   debugln(stat[i]); | 	debugln(stat[i]); | ||||||
|   reload_home(); | 	reload_home(); | ||||||
|   server.sendHeader(F("Location"), F("/"), true); | 	server.sendHeader(F("Location"), F("/"), true); | ||||||
|   server.send(302, F("text/html"), home_html); | 	server.send(302, F("text/html"), home_html); | ||||||
|   debugln(override[i]); | 	debugln(override[i]); | ||||||
|   debugln(F("---------------------------")); | 	debugln(F("---------------------------")); | ||||||
| } | } | ||||||
|  | |||||||
							
								
								
									
										614
									
								
								src/main.cpp
									
									
									
									
									
								
							
							
						
						
									
										614
									
								
								src/main.cpp
									
									
									
									
									
								
							| @ -1,305 +1,309 @@ | |||||||
| const char SSID[] = ""; | const char SSID[] = ""; | ||||||
| const char PASSWORD[] = ""; | const char PASSWORD[] = ""; | ||||||
| 
 | 
 | ||||||
| const char version[] = " 0.8"; | const char version[] = " 0.8"; | ||||||
| #include "globalvars.h" | #include "globalvars.h" | ||||||
| #include <Arduino.h> | #include <Arduino.h> | ||||||
| #include <EEPROM.h> | #include <EEPROM.h> | ||||||
| #include <ESP8266WebServer.h> | #include <ESP8266WebServer.h> | ||||||
| #include <ESP8266WiFi.h> | #include <ESP8266WiFi.h> | ||||||
| #include <ezTime.h> | #include <ezTime.h> | ||||||
| #include <stdint.h> | #include <stdint.h> | ||||||
| 
 | 
 | ||||||
| ESP8266WebServer server; | ESP8266WebServer server; | ||||||
| IPAddress staticIP(192, 168, 2, 5); // static IP address
 | IPAddress staticIP(192, 168, 2, 5); // static IP address
 | ||||||
| IPAddress gateway(192, 168, 2, 1);  // Router's IP address
 | IPAddress gateway(192, 168, 2, 1);	// Router's IP address
 | ||||||
| IPAddress subnet(255, 255, 255, 0); | IPAddress subnet(255, 255, 255, 0); | ||||||
| IPAddress dns(192, 168, 2, 1); | IPAddress dns(192, 168, 2, 1); | ||||||
| Timezone myTime; | Timezone myTime; | ||||||
| 
 | 
 | ||||||
| char time_all[8][8][3] = { | char time_all[8][8][3] = { | ||||||
|     {}, {}, {}, {}, | 	{}, {}, {}, {}, | ||||||
|     {}, {}, {}, {}}; // 3D array for load_EEPROM() and handleTime()
 | 	{}, {}, {}, {}}; // 3D array for load_EEPROM() and handleTime()
 | ||||||
| const unsigned int pins[8] = {5,  4,  14, 12, | const unsigned int pins[8] = {5,  4,  14, 12, | ||||||
|                               13, 10, 9}; // TODO: only 7 of 8 pins defined
 | 							  13, 10, 9}; // TODO: only 7 of 8 pins defined
 | ||||||
| int r = 0; | int r = 0; | ||||||
| 
 | 
 | ||||||
| char stat[8][4] = {"AUS", "AUS", "AUS", "AUS", | char stat[8][4] = {"AUS", "AUS", "AUS", "AUS", | ||||||
|                    "AUS", "AUS", "AUS", "AUS"}; // text on button
 | 				   "AUS", "AUS", "AUS", "AUS"}; // text on button
 | ||||||
| char t_stat[8][4] = {"", "", "", "", | char t_stat[8][4] = {"", "", "", "", | ||||||
|                      "", "", "", ""}; // for "status of timer changed"
 | 					 "", "", "", ""}; // for "status of timer changed"
 | ||||||
| bool override[8] = {false, false, false, false, | bool override[8] = {false, false, false, false, | ||||||
|                     false, false, false, false}; // for manual override
 | 					false, false, false, false}; // for manual override
 | ||||||
| 
 | 
 | ||||||
| char home_html[3000]; // be careful when changing these values (might cause
 | char home_html[3000]; // be careful when changing these values (might cause
 | ||||||
|                       // overflow)!
 | 					  // overflow)!
 | ||||||
| char settings_html[2014]; | char settings_html[2014]; | ||||||
| const char settings_html_pre[] PROGMEM = {"<!DOCTYPE html>\
 | const char settings_html_pre[] PROGMEM = {"<!DOCTYPE html>\
 | ||||||
| <html lang='de'>\ | <html lang='de'>\ | ||||||
|     <head>\ |     <head>\ | ||||||
|         <meta charset='UTF-8'>\ |         <meta charset='UTF-8'>\ | ||||||
|         <meta http-equiv='X-UA-Compatible' content='IE=edge'>\ |         <meta http-equiv='X-UA-Compatible' content='IE=edge'>\ | ||||||
|         <meta name='viewport' content='width=device-width, initial-scale=1.0'>\ |         <meta name='viewport' content='width=device-width, initial-scale=1.0'>\ | ||||||
|         <title>Einstellungen</title>\ |         <title>Einstellungen</title>\ | ||||||
|         <style>\ |         <style>\ | ||||||
|             * {\ |             * {\ | ||||||
|                 font-family: Arial, Helvetica, sans-serif;\ |                 font-family: Arial, Helvetica, sans-serif;\ | ||||||
|                 font-size: 26px;\ |                 font-size: 26px;\ | ||||||
|                 user-select: none;\ |                 user-select: none;\ | ||||||
|                 text-decoration: none;\ |                 text-decoration: none;\ | ||||||
|             }\ |             }\ | ||||||
|             a {\ |             a {\ | ||||||
|                 color: black;\ |                 color: black;\ | ||||||
|             }\ |             }\ | ||||||
|             .wrapper_main {\ |             .wrapper_main {\ | ||||||
|                 margin: 0 auto;\ |                 margin: 0 auto;\ | ||||||
|                 max-width: fit-content;\ |                 max-width: fit-content;\ | ||||||
|                 max-width: -moz-fit-content;\ |                 max-width: -moz-fit-content;\ | ||||||
|                 text-align: center;\ |                 text-align: center;\ | ||||||
|                 background-color: rgb(214, 214, 214);\ |                 background-color: rgb(214, 214, 214);\ | ||||||
|                 padding: 1px 8px 8px 8px;\ |                 padding: 1px 8px 8px 8px;\ | ||||||
|                 border-radius: 4px;\ |                 border-radius: 4px;\ | ||||||
|             }\ |             }\ | ||||||
|             #rule, [type='time'] {\ |             #rule, [type='time'] {\ | ||||||
|                 height: 36px;\ |                 height: 36px;\ | ||||||
|                 border: none;\ |                 border: none;\ | ||||||
|                 padding: 0 4px;\ |                 padding: 0 4px;\ | ||||||
|                 margin: 4px 0;\ |                 margin: 4px 0;\ | ||||||
|                 background-color: white;\ |                 background-color: white;\ | ||||||
|                 width: fit-content;\ |                 width: fit-content;\ | ||||||
|                 width: -moz-fit-content;\ |                 width: -moz-fit-content;\ | ||||||
|                 border-radius: 4px;\ |                 border-radius: 4px;\ | ||||||
|             }\ |             }\ | ||||||
|             .animated_a, [type='submit']{\ |             .animated_a, [type='submit']{\ | ||||||
|                 background-color: rgb(135, 252, 119);\ |                 background-color: rgb(135, 252, 119);\ | ||||||
|                 border: none;\ |                 border: none;\ | ||||||
|                 border-radius: 4px;\ |                 border-radius: 4px;\ | ||||||
|                 box-shadow: rgb(25, 167, 49) 0 4px;\ |                 box-shadow: rgb(25, 167, 49) 0 4px;\ | ||||||
|                 position: relative;\ |                 position: relative;\ | ||||||
|                 margin: 8px 0;\ |                 margin: 8px 0;\ | ||||||
|                 padding: 2px 8px;\ |                 padding: 2px 8px;\ | ||||||
|             }\ |             }\ | ||||||
|             [type='submit'] {\ |             [type='submit'] {\ | ||||||
|                 position: relative;\ |                 position: relative;\ | ||||||
|                 top: -2px;\ |                 top: -2px;\ | ||||||
|                 display: inline-block;\ |                 display: inline-block;\ | ||||||
|             }\ |             }\ | ||||||
|             .animated_a {\ |             .animated_a {\ | ||||||
|                 text-decoration: none;\ |                 text-decoration: none;\ | ||||||
|                 display: inline-block;\ |                 display: inline-block;\ | ||||||
|                 margin: 8px 0;\ |                 margin: 8px 0;\ | ||||||
|                 padding-top: 4px;\ |                 padding-top: 4px;\ | ||||||
|                 height: 28px;\ |                 height: 28px;\ | ||||||
|             }\ |             }\ | ||||||
|             .wrapper_table {\ |             .wrapper_table {\ | ||||||
|                 overflow: auto;\ |                 overflow: auto;\ | ||||||
|             }\ |             }\ | ||||||
|             table {\ |             table {\ | ||||||
|                 margin: 8px auto;\ |                 margin: 8px auto;\ | ||||||
|             }\ |             }\ | ||||||
|             table, th, td {\ |             table, th, td {\ | ||||||
|                 border: 1px solid black;\ |                 border: 1px solid black;\ | ||||||
|                 border-collapse: collapse;\ |                 border-collapse: collapse;\ | ||||||
|                 user-select: text;\ |                 user-select: text;\ | ||||||
|                 padding: 0 8px;\ |                 padding: 0 8px;\ | ||||||
|             }\ |             }\ | ||||||
|             .animated_a, [type='submit']{\ |             .animated_a, [type='submit']{\ | ||||||
|                 cursor: pointer;\ |                 cursor: pointer;\ | ||||||
|             }\ |             }\ | ||||||
|             .animated_a:active {\ |             .animated_a:active {\ | ||||||
|                 box-shadow: rgb(25, 167, 49) 0 2px;\ |                 box-shadow: rgb(25, 167, 49) 0 2px;\ | ||||||
|                 top: 2px;\ |                 top: 2px;\ | ||||||
|             }\ |             }\ | ||||||
|             [type='submit']:active {\ |             [type='submit']:active {\ | ||||||
|                 box-shadow: rgb(25, 167, 49) 0 2px;\ |                 box-shadow: rgb(25, 167, 49) 0 2px;\ | ||||||
|                 top: 0px;\ |                 top: 0px;\ | ||||||
|             }\ |             }\ | ||||||
|             *:focus {\ |             *:focus {\ | ||||||
|                 outline: none;\ |                 outline: none;\ | ||||||
|             }\ |             }\ | ||||||
|         </style>\ |         </style>\ | ||||||
|     </head>\ |     </head>\ | ||||||
|     <body>\ |     <body>\ | ||||||
|         <div class='wrapper_main'>\ |         <div class='wrapper_main'>\ | ||||||
|             <form action='settings' method='POST'>\ |             <form action='settings' method='POST'>\ | ||||||
|                 <select name='rule' id='rule' required>\ |                 <select name='rule' id='rule' required>\ | ||||||
|                     <option value='' selected disabled>Ventiel Nr.</option>\ |                     <option value='' selected disabled>Ventiel Nr.</option>\ | ||||||
|                     <option value='0'>1</option>\ |                     <option value='0'>1</option>\ | ||||||
|                     <option value='1'>2</option>\ |                     <option value='1'>2</option>\ | ||||||
|                     <option value='2'>3</option>\ |                     <option value='2'>3</option>\ | ||||||
|                     <option value='3'>4</option>\ |                     <option value='3'>4</option>\ | ||||||
|                     <option value='4'>5</option>\ |                     <option value='4'>5</option>\ | ||||||
|                     <option value='5'>6</option>\ |                     <option value='5'>6</option>\ | ||||||
|                     <option value='6'>7</option>\ |                     <option value='6'>7</option>\ | ||||||
|                     <option value='7' disabled>8</option>\ |                     <option value='7' disabled>8</option>\ | ||||||
|                 </select>\ |                 </select>\ | ||||||
|                 <br>\ |                 <br>\ | ||||||
|                 <input type='time' name='time_o'>\ |                 <input type='time' name='time_o'>\ | ||||||
|                 - <input type='time' name='time_f'>\ |                 - <input type='time' name='time_f'>\ | ||||||
|                 <br>\ |                 <br>\ | ||||||
|                 <input type='time' name='time_o_1'>\ |                 <input type='time' name='time_o_1'>\ | ||||||
|                 - <input type='time' name='time_f_1'>\ |                 - <input type='time' name='time_f_1'>\ | ||||||
|                 <br>\ |                 <br>\ | ||||||
|                 <input type='submit'>\ |                 <input type='submit'>\ | ||||||
|             </form>\ |             </form>\ | ||||||
|             <div class='wrapper_table'>\ |             <div class='wrapper_table'>\ | ||||||
|                 <table>\ |                 <table>\ | ||||||
|                     <tr>\ |                     <tr>\ | ||||||
|                         <th style='background-color: gray;'></th>\ |                         <th style='background-color: gray;'></th>\ | ||||||
|                         <th>von:</th>\ |                         <th>von:</th>\ | ||||||
|                         <th>bis:</th>\ |                         <th>bis:</th>\ | ||||||
|                         <th>von:</th>\ |                         <th>von:</th>\ | ||||||
|                         <th>bis:</th>\ |                         <th>bis:</th>\ | ||||||
|                     </tr>"}; |                     </tr>"}; | ||||||
| void reload_home(); | void reload_home(); | ||||||
| void reload_settings(); | void reload_settings(); | ||||||
| void handleToggle(); | void handleToggle(); | ||||||
| 
 | 
 | ||||||
| void load_EEPROM() { | void load_EEPROM() { | ||||||
|   unsigned int EEPROM_Addr = 0; | 	unsigned int EEPROM_Addr = 0; | ||||||
|   for (unsigned int i0 = 0; i0 < 8; i0++) { | 	for (unsigned int i0 = 0; i0 < 8; i0++) { | ||||||
|     for (unsigned int i = 0; i < 8; i++) { | 		for (unsigned int i = 0; i < 8; i++) { | ||||||
|       if (EEPROM.read(EEPROM_Addr) < 10) { | 			if (EEPROM.read(EEPROM_Addr) < 10) { | ||||||
|         sprintf(time_all[i0][i], "0%d", EEPROM.read(EEPROM_Addr)); | 				sprintf(time_all[i0][i], "0%d", EEPROM.read(EEPROM_Addr)); | ||||||
|       } else { | 			} else { | ||||||
|         sprintf(time_all[i0][i], "%d", EEPROM.read(EEPROM_Addr)); | 				sprintf(time_all[i0][i], "%d", EEPROM.read(EEPROM_Addr)); | ||||||
|       } | 			} | ||||||
|       EEPROM_Addr += 4; | 			EEPROM_Addr += 4; | ||||||
|       yield(); | 			yield(); | ||||||
|     } | 		} | ||||||
|   } | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void handleHome() { | void handleHome() { | ||||||
|   reload_home(); | 	reload_home(); | ||||||
|   server.send(200, "text/html", home_html); | 	server.send(200, "text/html", home_html); | ||||||
|   debugln(ESP.getFreeHeap(), DEC); | 	debugln(ESP.getFreeHeap(), DEC); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void handleSettings() { | void handleSettings() { | ||||||
|   reload_settings(); | 	reload_settings(); | ||||||
|   server.setContentLength(strlen(settings_html_pre) + strlen(settings_html)); | 	server.setContentLength(strlen(settings_html_pre) + strlen(settings_html)); | ||||||
|   server.send(200, "text/html", settings_html_pre); | 	server.send(200, "text/html", settings_html_pre); | ||||||
|   server.sendContent(settings_html); | 	server.sendContent(settings_html); | ||||||
|   debugln(ESP.getFreeHeap(), DEC); | 	debugln(ESP.getFreeHeap(), DEC); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void handleTime() { | void handleTime() { | ||||||
|   const char args[4][9] = {"time_o", "time_f", "time_o_1", "time_f_1"}; | 	const char args[4][9] = {"time_o", "time_f", "time_o_1", "time_f_1"}; | ||||||
| 
 | 
 | ||||||
|   for (unsigned int arg = 0; arg < 4; arg++) { | 	for (unsigned int arg = 0; arg < 4; arg++) { | ||||||
|     if (server.arg(args[arg]) != "") { | 		if (server.arg(args[arg]) != "") { | ||||||
|       char buff_h[2][2] = {server.arg(args[arg])[0], server.arg(args[arg])[1]}; | 			char buff_h[2][2] = {server.arg(args[arg])[0], | ||||||
|       char buff_m[2][2] = {server.arg(args[arg])[3], server.arg(args[arg])[4]}; | 								 server.arg(args[arg])[1]}; | ||||||
|       sprintf(time_all[arg * 2][server.arg("rule").toInt()], "%s", buff_h); | 			char buff_m[2][2] = {server.arg(args[arg])[3], | ||||||
|       sprintf(time_all[arg * 2 + 1][server.arg("rule").toInt()], "%s", buff_m); | 								 server.arg(args[arg])[4]}; | ||||||
| 
 | 			sprintf(time_all[arg * 2][server.arg("rule").toInt()], "%s", | ||||||
|       EEPROM.put(server.arg("rule").toInt() * 4 + arg * 64, | 					buff_h); | ||||||
|                  atoi(time_all[arg * 2][server.arg("rule").toInt()])); | 			sprintf(time_all[arg * 2 + 1][server.arg("rule").toInt()], "%s", | ||||||
|       EEPROM.commit(); | 					buff_m); | ||||||
|       EEPROM.put(server.arg("rule").toInt() * 4 + arg * 64 + 32, | 
 | ||||||
|                  atoi(time_all[arg * 2 + 1][server.arg("rule").toInt()])); | 			EEPROM.put(server.arg("rule").toInt() * 4 + arg * 64, | ||||||
|       EEPROM.commit(); | 					   atoi(time_all[arg * 2][server.arg("rule").toInt()])); | ||||||
|     } | 			EEPROM.commit(); | ||||||
|   } | 			EEPROM.put(server.arg("rule").toInt() * 4 + arg * 64 + 32, | ||||||
|   reload_settings(); | 					   atoi(time_all[arg * 2 + 1][server.arg("rule").toInt()])); | ||||||
|   server.setContentLength(strlen(settings_html_pre) + strlen(settings_html)); | 			EEPROM.commit(); | ||||||
|   server.send(301, "text/html", settings_html_pre); | 		} | ||||||
|   server.sendContent(settings_html); | 	} | ||||||
| } | 	reload_settings(); | ||||||
| 
 | 	server.setContentLength(strlen(settings_html_pre) + strlen(settings_html)); | ||||||
| void timer() { | 	server.send(301, "text/html", settings_html_pre); | ||||||
|   if (((myTime.hour() * 60 + myTime.minute() >= | 	server.sendContent(settings_html); | ||||||
|         atoi(time_all[0][r]) * 60 + atoi(time_all[1][r])) and | } | ||||||
|        (myTime.hour() * 60 + myTime.minute() < | 
 | ||||||
|         atoi(time_all[2][r]) * 60 + atoi(time_all[3][r]))) or | void timer() { | ||||||
|       ((myTime.hour() * 60 + myTime.minute() >= | 	if (((myTime.hour() * 60 + myTime.minute() >= | ||||||
|         atoi(time_all[4][r]) * 60 + atoi(time_all[5][r])) and | 		  atoi(time_all[0][r]) * 60 + atoi(time_all[1][r])) and | ||||||
|        (myTime.hour() * 60 + myTime.minute() < | 		 (myTime.hour() * 60 + myTime.minute() < | ||||||
|         atoi(time_all[6][r]) * 60 + atoi(time_all[7][r])))) { | 		  atoi(time_all[2][r]) * 60 + atoi(time_all[3][r]))) or | ||||||
|     if ((override[r]) and (strcmp(t_stat[r], "off") == 0)) { | 		((myTime.hour() * 60 + myTime.minute() >= | ||||||
|       override[r] = false; | 		  atoi(time_all[4][r]) * 60 + atoi(time_all[5][r])) and | ||||||
|       debugln(F("debug#1")); | 		 (myTime.hour() * 60 + myTime.minute() < | ||||||
|     } | 		  atoi(time_all[6][r]) * 60 + atoi(time_all[7][r])))) { | ||||||
|     sprintf(t_stat[r], "on"); | 		if ((override[r]) and (strcmp(t_stat[r], "off") == 0)) { | ||||||
|     if (!override[r]) { | 			override[r] = false; | ||||||
|       digitalWrite(pins[r], LOW); | 			debugln(F("debug#1")); | ||||||
|       if (strcmp(stat[r], "AUS") == 0) { | 		} | ||||||
|         debug(r); | 		sprintf(t_stat[r], "on"); | ||||||
|         debugln(F(" is on")); | 		if (!override[r]) { | ||||||
|         sprintf(stat[r], "AN"); | 			digitalWrite(pins[r], LOW); | ||||||
|       } | 			if (strcmp(stat[r], "AUS") == 0) { | ||||||
|     } | 				debug(r); | ||||||
|   } else { | 				debugln(F(" is on")); | ||||||
|     if ((override[r]) and (strcmp(t_stat[r], "on") == 0)) { | 				sprintf(stat[r], "AN"); | ||||||
|       override[r] = false; | 			} | ||||||
|     } | 		} | ||||||
|     sprintf(t_stat[r], "off"); | 	} else { | ||||||
|     if (!override[r]) { | 		if ((override[r]) and (strcmp(t_stat[r], "on") == 0)) { | ||||||
|       digitalWrite(pins[r], HIGH); | 			override[r] = false; | ||||||
|       if (strcmp(stat[r], "AN") == 0) { | 		} | ||||||
|         debug(r); | 		sprintf(t_stat[r], "off"); | ||||||
|         debugln(F(" is off")); | 		if (!override[r]) { | ||||||
|         sprintf(stat[r], "AUS"); | 			digitalWrite(pins[r], HIGH); | ||||||
|       } | 			if (strcmp(stat[r], "AN") == 0) { | ||||||
|     } | 				debug(r); | ||||||
|   } | 				debugln(F(" is off")); | ||||||
| } | 				sprintf(stat[r], "AUS"); | ||||||
| 
 | 			} | ||||||
| void setup() { | 		} | ||||||
|   int p = 0; | 	} | ||||||
|   while (p <= 7) { | } | ||||||
|     pinMode(pins[p], OUTPUT); | 
 | ||||||
|     digitalWrite(pins[p], HIGH); | void setup() { | ||||||
|     p++; | 	int p = 0; | ||||||
|   } | 	while (p <= 7) { | ||||||
|   Serial.begin(74880); | 		pinMode(pins[p], OUTPUT); | ||||||
|   EEPROM.begin(256); // 4 bits for EEPROM, address 0-255, value 0-255
 | 		digitalWrite(pins[p], HIGH); | ||||||
|   debug(F("\nver.")); | 		p++; | ||||||
|   debugln(version); | 	} | ||||||
|   debugln(F("check for updates at " | 	Serial.begin(74880); | ||||||
|             "https://somepi.ddns.net/gitea/gilex-dev/ESP8266-IOT-timer/\n")); | 	EEPROM.begin(256); // 4 bits for EEPROM, address 0-255, value 0-255
 | ||||||
|   load_EEPROM(); | 	debug(F("\nver.")); | ||||||
|   // WLAN-config
 | 	debugln(version); | ||||||
|   // ---------------------------------------------------------------------------------------------------------------------
 | 	debugln(F("check for updates at " | ||||||
|   WiFi.mode(WIFI_STA); | 			  "https://somepi.ddns.net/gitea/gilex-dev/ESP8266-IOT-timer/\n")); | ||||||
|   WiFi.config(staticIP, gateway, subnet, dns); | 	load_EEPROM(); | ||||||
|   WiFi.hostname("ESP8266 IOT development"); | 	// WLAN-config
 | ||||||
|   WiFi.begin(SSID, PASSWORD); | 	// ---------------------------------------------------------------------------------------------------------------------
 | ||||||
| 
 | 	WiFi.mode(WIFI_STA); | ||||||
|   Serial.println(F("Connecting ...")); | 	WiFi.config(staticIP, gateway, subnet, dns); | ||||||
|   while (WiFi.status() != WL_CONNECTED) { | 	WiFi.hostname("ESP8266 IOT development"); | ||||||
|     delay(250); | 	WiFi.begin(SSID, PASSWORD); | ||||||
|     Serial.print('.'); | 
 | ||||||
|   } | 	Serial.println(F("Connecting ...")); | ||||||
|   Serial.print(F("\nConnected to ")); | 	while (WiFi.status() != WL_CONNECTED) { | ||||||
|   Serial.println(WiFi.SSID()); | 		delay(250); | ||||||
|   Serial.print(F("IP address:\t")); | 		Serial.print('.'); | ||||||
|   Serial.println(WiFi.localIP()); | 	} | ||||||
|   //----------------------------------------------------------------------------------------------------------------------------------
 | 	Serial.print(F("\nConnected to ")); | ||||||
|   myTime.setLocation("de"); | 	Serial.println(WiFi.SSID()); | ||||||
|   waitForSync(); | 	Serial.print(F("IP address:\t")); | ||||||
| 
 | 	Serial.println(WiFi.localIP()); | ||||||
|   debug(F("Local time: ")); | 	//----------------------------------------------------------------------------------------------------------------------------------
 | ||||||
|   debugln(myTime.dateTime("H:i:s")); | 	myTime.setLocation("de"); | ||||||
|   setInterval(); | 	waitForSync(); | ||||||
|   server.on("/", HTTP_GET, handleHome); | 
 | ||||||
|   server.on("/settings", HTTP_GET, handleSettings); | 	debug(F("Local time: ")); | ||||||
|   server.on("/settings", HTTP_POST, handleTime); | 	debugln(myTime.dateTime("H:i:s")); | ||||||
|   server.on("/toggle", HTTP_GET, handleToggle); | 	setInterval(); | ||||||
|   server.on("/version", HTTP_GET, | 	server.on("/", HTTP_GET, handleHome); | ||||||
|             [] { server.send(200, "text/html", version); }); | 	server.on("/settings", HTTP_GET, handleSettings); | ||||||
|   server.begin(); | 	server.on("/settings", HTTP_POST, handleTime); | ||||||
|   debugln(F("Webserver started")); | 	server.on("/toggle", HTTP_GET, handleToggle); | ||||||
| } | 	server.on("/version", HTTP_GET, | ||||||
| 
 | 			  [] { server.send(200, "text/html", version); }); | ||||||
| void loop() { | 	server.begin(); | ||||||
|   server.handleClient(); | 	debugln(F("Webserver started")); | ||||||
|   timer(); | } | ||||||
|   r++; | 
 | ||||||
|   if (r == 7) { | void loop() { | ||||||
|     r = 0; | 	server.handleClient(); | ||||||
|   } | 	timer(); | ||||||
|   yield(); | 	r++; | ||||||
|   delay(50); | 	if (r == 7) { | ||||||
| } | 		r = 0; | ||||||
|  | 	} | ||||||
|  | 	yield(); | ||||||
|  | 	delay(50); | ||||||
|  | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user