Fixed fermenter switches in NONE mode. Som other small bugfixes.

Wed, 17 Apr 2024 15:03:01 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Wed, 17 Apr 2024 15:03:01 +0200
changeset 683
d48733bf1529
parent 682
f82be2bd472f
child 684
b2265c7e5707

Fixed fermenter switches in NONE mode. Som other small bugfixes.

thermferm/websocket.c file | annotate | diff | comparison | revisions
www/js/fermenter.js file | annotate | diff | comparison | revisions
--- a/thermferm/websocket.c	Wed Apr 17 13:18:22 2024 +0200
+++ b/thermferm/websocket.c	Wed Apr 17 15:03:01 2024 +0200
@@ -109,7 +109,7 @@
 		    	unit->beer_set_hi = unit->PID_cool->SetP;
                     }
 		    unit->mqtt_flag |= MQTT_FLAG_DATA;
-		    break;
+		    return;
 		}
 	    }
 
@@ -159,7 +159,7 @@
 				unit->prof_peak_abs = unit->prof_peak_rel = 0.0;
 			    }
 			}
-			break;
+			return;
 		    }
 		}
 	    }
@@ -172,13 +172,13 @@
 		for (int i = 0; i < 4; i++) {
 		    if (strcmp((char *)json_object_get_string(val), UNITSTAGE[i]) == 0) {
 			if (unit->stage != i) {
-			    syslog(LOG_NOTICE, "DCMD change fermenter %s: stage to %s", unit->alias, UNITSTAGE[i]);
+			    syslog(LOG_NOTICE, "ws: unit %s: stage to %s", unit->alias, UNITSTAGE[i]);
 			    unit->mqtt_flag |= MQTT_FLAG_DATA;
 			    unit->stage = i;
 			    if ((unit->mode != UNITMODE_OFF) && ! unit->event_msg)
 				unit->event_msg = xstrcpy((char *)UNITSTAGE[i]);
 			}
-			break;
+			return;
 		    }
 		}
 	    }
@@ -194,11 +194,11 @@
 		    unit->heater_state = json_object_get_int(val);
 		if (json_object_get_int(val2) != unit->cooler_state)
 		    unit->cooler_state = json_object_get_int(val2);
-		if (unit->heater_state || unit->cooler_state)
+		if (unit->heater_state && unit->cooler_state)
 		    unit->heater_state = unit->cooler_state = 0;	// Safety
 		unit->mqtt_flag |= MQTT_FLAG_DATA;
 		syslog(LOG_NOTICE, "ws: unit %s heater_state to %d, cooler_state to %d", unit->alias, unit->heater_state, unit->cooler_state);
-		break;
+		return;
 	    }
 
 	    /*
@@ -210,7 +210,7 @@
                     unit->fan_state = json_object_get_int(val);
                 unit->mqtt_flag |= MQTT_FLAG_DATA;
                 syslog(LOG_NOTICE, "ws: unit %s fan_state to %d", unit->alias, unit->fan_state);
-                break;
+                return;
             }
 
 	    /*
@@ -271,7 +271,7 @@
 		    free(cmd);
 		    cmd = NULL;
 		}
-		break;
+		return;
 	    }
 
 	    return;
@@ -347,7 +347,7 @@
 
 		memcpy(buf, in, len);
 		buf[len] = '\0';
-		 syslog(LOG_NOTICE, "ws: reveived %ld bytes %s", len, buf);
+		syslog(LOG_NOTICE, "ws: received %ld bytes %s", len, buf);
 		/*
 		 * These are send by bmsapp to bmsd. Then bmsd resends these via MQTT.
 		 * Do we want to change that? Or use it for the new web pages.
--- a/www/js/fermenter.js	Wed Apr 17 13:18:22 2024 +0200
+++ b/www/js/fermenter.js	Wed Apr 17 15:03:01 2024 +0200
@@ -221,15 +221,15 @@
 
    if (record.mode == 'NONE') {
     $('.f_control_switches').show();
+    if ((record.heater_state != 0) != $('#fermenter_toggle1').jqxSwitchButton('val'))
+     $('#fermenter_toggle1').val(record.heater_state != 0);
+    if ((record.cooler_state != 0) != $('#fermenter_toggle2').jqxSwitchButton('val'))
+     $('#fermenter_toggle2').val(record.cooler_state != 0);
+    if ((record.fan_state != 0) != $('#fermenter_toggle3').jqxSwitchButton('val'))
+     $('#fermenter_toggle3').val(record.fan_state != 0);
    } else {
     $('.f_control_switches').hide();
    }
-   if ((record.heater_state != '0') != $('#fermenter_toggle1').jqxSwitchButton('val'))
-    $('#fermenter_toggle1').val(record.heater_state != '0');
-   if ((record.cooler_state != '0') != $('#fermenter_toggle2').jqxSwitchButton('val'))
-    $('#fermenter_toggle2').val(record.cooler_state != '0');
-   if ((record.fan_state != '0') != $('#fermenter_toggle3').jqxSwitchButton('val'))
-    $('#fermenter_toggle3').val(record.fan_state != '0');
 
    $('#info_profile').html(record.profile_name);
    if (record.profile_name == '')
@@ -376,39 +376,36 @@
  });
 
  $('#fermenter_toggle1').on('checked', function(event) {
-  if (record.mode == 'NONE' && record.heater_state != 0) {
-   console.log('set heater ' + $("#fermenter_toggle1").jqxSwitchButton('val'));
-   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","heater_state":0}');
+  if (record.mode == 'NONE' && record.heater_state == 0) {
+   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","heater_state":100,"cooler_state":0}');
   }
  });
  $('#fermenter_toggle1').on('unchecked', function(event) {
-  if (record.mode == 'NONE' && record.heater_state == 0) {
-   console.log('set heater ' + $("#fermenter_toggle1").jqxSwitchButton('val'));
-   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","heater_state":100,"cooler_state":0}');
+  if (record.mode == 'NONE' && record.heater_state != 0) {
+   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","heater_state":0,"cooler_state":0}');
   }
  });
  $('#fermenter_toggle2').on('checked', function(event) {
-  if (record.mode == 'NONE' && record.cooler_state != 0) {
-   console.log('set cooler ' + $("#fermenter_toggle2").jqxSwitchButton('val'));
-   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","cooler_state":0}');
+  if (record.mode == 'NONE' && record.cooler_state == 0) {
+   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","cooler_state":100,"heater_state":0}');
   }
  });
  $('#fermenter_toggle2').on('unchecked', function(event) {
-  if (record.mode == 'NONE' & record.cooler_state == 0) {
-   console.log('set cooler ' + $("#fermenter_toggle2").jqxSwitchButton('val'));
-   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","cooler_state":100,"heater_state":0}');
+  if (record.mode == 'NONE' & record.cooler_state != 0) {
+   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","cooler_state":0,"heater_state":0}');
   }
  });
  $('#fermenter_toggle3').on('checked', function(event) {
+  if (record.mode == 'NONE' && record.fan_state == 0) {
+   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","fan_state":100}');
+  }
+ });
+ $('#fermenter_toggle3').on('unchecked', function(event) {
   if (record.mode == 'NONE' && record.fan_state != 0) {
    websocket.send('{"type":"fermenter","unit":"' + record.unit + '","fan_state":0}');
   }
  });
- $('#fermenter_toggle3').on('unchecked', function(event) {
-  if (record.mode == 'NONE' && record.fan_state == 0) {
-   websocket.send('{"type":"fermenter","unit":"' + record.unit + '","fan_state":100}');
-  }
- });
+
  $('#Profile1').click(function() {
   if (record.mode == 'PROFILE') {
    if (record.profile_state == 'OFF') {

mercurial