diff --git a/src/httpserver/http_fns.c b/src/httpserver/http_fns.c
index 93f247947..933604baf 100644
--- a/src/httpserver/http_fns.c
+++ b/src/httpserver/http_fns.c
@@ -121,6 +121,21 @@ void postFormAction(http_request_t *request, char *action, char *value){
//"
"
hprintf128(request,"", action, value);
}
+/// @brief Generate a pair of label and field elements.
+/// @param request
+/// @param label
+/// @param fieldId This also gets used as the field name
+/// @param value
+/// @param preContent
+void add_label_field(http_request_t *request, char *label, char *fieldId, const char *value, char *preContent){
+ if (strlen(preContent) > 0){
+ poststr(request, preContent);
+ }
+
+ //These individual strings should be less than 256 .. yes hprintf128 uses 256 char buffer
+ hprintf128(request, "%s: ", fieldId, label);
+ hprintf128(request, " ", fieldId, fieldId, value);
+}
int http_fn_testmsg(http_request_t *request) {
poststr(request,"This is just a test msg\n\n");
@@ -140,63 +155,63 @@ int http_fn_index(http_request_t *request) {
// use ?state URL parameter to only request current state
if(!http_getArg(request->url, "state", tmpA, sizeof(tmpA))) {
- http_setup(request, httpMimeTypeHTML);
+ http_setup(request, httpMimeTypeHTML);
http_html_start(request, NULL);
poststr(request, "");
- if(http_getArg(request->url,"tgl",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- if(j == SPECIAL_CHANNEL_LEDPOWER) {
- hprintf128(request,"
Toggled LED power! ",j);
- } else {
- hprintf128(request,"Toggled %i! ",j);
- }
- CHANNEL_Toggle(j);
- }
- if(http_getArg(request->url,"on",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- hprintf128(request,"Enabled %i! ",j);
- CHANNEL_Set(j,255,1);
- }
- if(http_getArg(request->url,"rgb",tmpA,sizeof(tmpA))) {
- hprintf128(request,"Set RGB to %s! ",tmpA);
- LED_SetBaseColor(0,"led_basecolor",tmpA,0);
- }
-
- if(http_getArg(request->url,"off",tmpA,sizeof(tmpA))) {
- j = atoi(tmpA);
- hprintf128(request,"Disabled %i! ",j);
- CHANNEL_Set(j,0,1);
- }
- if(http_getArg(request->url,"pwm",tmpA,sizeof(tmpA))) {
- int newPWMValue = atoi(tmpA);
- http_getArg(request->url,"pwmIndex",tmpA,sizeof(tmpA));
- j = atoi(tmpA);
- if(j == SPECIAL_CHANNEL_TEMPERATURE) {
- hprintf128(request,"Changed Temperature to %i! ",newPWMValue);
- } else {
- hprintf128(request,"Changed pwm %i to %i! ",j,newPWMValue);
- }
- CHANNEL_Set(j,newPWMValue,1);
- }
- if(http_getArg(request->url,"dim",tmpA,sizeof(tmpA))) {
- int newDimmerValue = atoi(tmpA);
- http_getArg(request->url,"dimIndex",tmpA,sizeof(tmpA));
- j = atoi(tmpA);
- if(j == SPECIAL_CHANNEL_BRIGHTNESS) {
- hprintf128(request,"Changed LED brightness to %i! ",newDimmerValue);
- } else {
- hprintf128(request,"Changed dimmer %i to %i! ",j,newDimmerValue);
- }
- CHANNEL_Set(j,newDimmerValue,1);
- }
- if(http_getArg(request->url,"set",tmpA,sizeof(tmpA))) {
- int newSetValue = atoi(tmpA);
- http_getArg(request->url,"setIndex",tmpA,sizeof(tmpA));
- j = atoi(tmpA);
- hprintf128(request,"Changed channel %i to %i! ",j,newSetValue);
- CHANNEL_Set(j,newSetValue,1);
- }
+ if(http_getArg(request->url,"tgl",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ if(j == SPECIAL_CHANNEL_LEDPOWER) {
+ hprintf128(request,"Toggled LED power! ",j);
+ } else {
+ hprintf128(request,"Toggled %i! ",j);
+ }
+ CHANNEL_Toggle(j);
+ }
+ if(http_getArg(request->url,"on",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ hprintf128(request,"Enabled %i! ",j);
+ CHANNEL_Set(j,255,1);
+ }
+ if(http_getArg(request->url,"rgb",tmpA,sizeof(tmpA))) {
+ hprintf128(request,"Set RGB to %s! ",tmpA);
+ LED_SetBaseColor(0,"led_basecolor",tmpA,0);
+ }
+
+ if(http_getArg(request->url,"off",tmpA,sizeof(tmpA))) {
+ j = atoi(tmpA);
+ hprintf128(request,"Disabled %i! ",j);
+ CHANNEL_Set(j,0,1);
+ }
+ if(http_getArg(request->url,"pwm",tmpA,sizeof(tmpA))) {
+ int newPWMValue = atoi(tmpA);
+ http_getArg(request->url,"pwmIndex",tmpA,sizeof(tmpA));
+ j = atoi(tmpA);
+ if(j == SPECIAL_CHANNEL_TEMPERATURE) {
+ hprintf128(request,"Changed Temperature to %i! ",newPWMValue);
+ } else {
+ hprintf128(request,"Changed pwm %i to %i! ",j,newPWMValue);
+ }
+ CHANNEL_Set(j,newPWMValue,1);
+ }
+ if(http_getArg(request->url,"dim",tmpA,sizeof(tmpA))) {
+ int newDimmerValue = atoi(tmpA);
+ http_getArg(request->url,"dimIndex",tmpA,sizeof(tmpA));
+ j = atoi(tmpA);
+ if(j == SPECIAL_CHANNEL_BRIGHTNESS) {
+ hprintf128(request,"Changed LED brightness to %i! ",newDimmerValue);
+ } else {
+ hprintf128(request,"Changed dimmer %i to %i! ",j,newDimmerValue);
+ }
+ CHANNEL_Set(j,newDimmerValue,1);
+ }
+ if(http_getArg(request->url,"set",tmpA,sizeof(tmpA))) {
+ int newSetValue = atoi(tmpA);
+ http_getArg(request->url,"setIndex",tmpA,sizeof(tmpA));
+ j = atoi(tmpA);
+ hprintf128(request,"Changed channel %i to %i! ",j,newSetValue);
+ CHANNEL_Set(j,newSetValue,1);
+ }
if(http_getArg(request->url,"restart",tmpA,sizeof(tmpA))) {
poststr(request," Module will restart soon ");
RESET_ScheduleModuleReset(3);
@@ -375,7 +390,7 @@ int http_fn_index(http_request_t *request) {
hprintf128(request,"",i);
+ hprintf128(request," ",i);
poststr(request, "");
}
}
@@ -553,43 +568,28 @@ int http_fn_about(http_request_t *request){
return 0;
}
-
-
-
int http_fn_cfg_mqtt(http_request_t *request) {
- int i;
http_setup(request, httpMimeTypeHTML);
http_html_start(request, "MQTT");
- poststr(request," Use this to connect to your MQTT ");
- poststr(request," ");
poststr(request,htmlFooterReturnToCfgLink);
http_html_end(request);
- poststr(request, NULL);
+ poststr(request, NULL);
return 0;
}
@@ -1244,12 +1244,12 @@ int http_fn_cfg_quick(http_request_t *request) {
void get_Relay_PWM_Count(int *relayCount, int *pwmCount){
(*relayCount) = 0;
(*pwmCount) = 0;
-
+
for(int i = 0; i < PLATFORM_GPIO_MAX; i++) {
int role = PIN_GetPinRoleForPinIndex(i);
if(role == IOR_Relay || role == IOR_Relay_n || role == IOR_LED || role == IOR_LED_n) {
(*relayCount)++;
- }
+}
else if(role == IOR_PWM || role == IOR_PWM_n) {
(*pwmCount)++;
}
@@ -1262,8 +1262,8 @@ void get_Relay_PWM_Count(int *relayCount, int *pwmCount){
int http_fn_ha_discovery(http_request_t *request) {
int i;
char topic[32];
- int relayCount=0;
- int pwmCount=0;
+ int relayCount = 0;
+ int pwmCount = 0;
http_setup(request, httpMimeTypeText);
get_Relay_PWM_Count(&relayCount, &pwmCount);
@@ -1337,7 +1337,7 @@ int http_fn_ha_cfg(http_request_t *request) {
poststr(request,"