# HG changeset patch # User Michiel Broek # Date 1713358981 -7200 # Node ID d48733bf1529fd3dce1b0f49e9ab2eaf2a9cfc31 # Parent f82be2bd472fad9bbf78ddb01332f92f4e11b7b1 Fixed fermenter switches in NONE mode. Som other small bugfixes. diff -r f82be2bd472f -r d48733bf1529 thermferm/websocket.c --- 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. diff -r f82be2bd472f -r d48733bf1529 www/js/fermenter.js --- 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') {