diff -r 8c4f08445624 -r af28ebe4a779 www/js/mon_fermenter.js --- a/www/js/mon_fermenter.js Fri Sep 13 23:02:38 2019 +0200 +++ b/www/js/mon_fermenter.js Sat Sep 14 19:04:29 2019 +0200 @@ -43,18 +43,18 @@ $(document).ready(function () { - var record = {}; - var blank = {}; - var ppayload = ''; - var newBase = false; - var newProduct = false; - var newSwitch = false; - var newProfile = false; - var schedule = 0; - var yl = 12; // Normal yeast temp range - var yh = 24; + var record = {}, + blank = {}, + ppayload = '', + newBase = false, + newProduct = false, + newSwitch = false, + newProfile = false, + schedule = 0, + yl = 12, // Normal yeast temp range + yh = 24, - var productSource = { + productSource = { datatype: "json", cache: false, datafields: [ @@ -67,10 +67,10 @@ ], id: 'code', url: "includes/db_product.php?select=ferment" - }; - var productlist = new $.jqx.dataAdapter(productSource, { + }, + productlist = new $.jqx.dataAdapter(productSource, { beforeLoadComplete: function (records) { - var data = new Array(); + var row, i, data = new Array(); // Create a dummy beer on top to store in idle fermenters. blank['code'] = "Free"; // Will override this later. blank['name'] = 'Dummy'; @@ -79,8 +79,8 @@ blank['yeast_lo'] = 12.0; blank['yeast_hi'] = 24.0; data.push(blank); - for (var i = 0; i < records.length; i++) { - var row = records[i]; + for (i = 0; i < records.length; i++) { + row = records[i]; data.push(row); } return data; @@ -88,7 +88,304 @@ loadError: function(jqXHR, status, error) { $('#err').text(status + ' ' + error); }, - }); + }), + profileSource = { + datatype: "json", + cache: false, + datafields: [ + { name: 'record', type: 'int' }, + { name: 'uuid', type: 'string' }, + { name: 'name', type: 'string' }, + { name: 'inittemp_lo', type: 'float' }, + { name: 'inittemp_hi', type: 'float' }, + { name: 'fridgemode', type: 'int' }, + { name: 'totalsteps', type: 'int' }, + { name: 'duration', type: 'int' }, + { name: 'steps', type: 'array' } + ], + id: 'record', + url: "includes/db_profile_fermentation.php" + }, + profilelist = new $.jqx.dataAdapter(profileSource, { + beforeLoadComplete: function (records) { + var data = new Array(), + empty = {}, i, row; + // Create a dummy profile on top of the list. + empty['record'] = -1; + empty['uuid'] = ''; + empty['name'] = 'Wis profiel'; + empty['inittemp_lo'] = 20; + empty['inittemp_hi'] = 20; + empty['fridgemode'] = 0; + empty['totalsteps'] = 0; + empty['duration'] = 0; + empty['steps'] = '[]'; + data.push(empty); + for (i = 0; i < records.length; i++) { + row = records[i]; + data.push(row); + } + return data; + }, + loadError: function(jqXHR, status, error) { + $('#err').text(status + ' ' + error); + }, + }), + gaugeoptions = { + min: 0, max: 40, width: 375, height: 375, + ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, + { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, + { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }], + ticksMinor: { interval: 1, size: '5%' }, + ticksMajor: { interval: 5, size: '9%' }, + labels: { interval: 5 }, + style: { fill: '#eeeeee', stroke: '#666666' }, + value: 0, + colorScheme: 'scheme05' + }, + gaugeSmalloptions = { + min: -15, max: 25, width: 190, height: 190, + ranges: [{ startValue: -15, endValue: 0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }}, + { startValue: 0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }}, + { startValue: 10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}], + ticksMinor: { interval: 1, size: '5%' }, + ticksMajor: { interval: 5, size: '9%' }, + labels: { interval: 5 }, + style: { fill: '#eeeeee', stroke: '#666666' }, + value: 0, + colorScheme: 'scheme05', + caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] } + }, + switchoptions = { + height: 68, + width: 35, + onLabel:'AAN', + offLabel:'UIT', + theme: theme, + thumbSize:'50%', + orientation: 'vertical' + }, + targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 40, decimalDigits: 1, spinButtons: true }, + url = "getfermenter.php?uuid='" + my_uuid + "'", + source = { + datatype: "json", + datafields: [ + { name: 'record', type: 'int' }, + { name: 'uuid', type: 'string' }, + { name: 'alias', type: 'string' }, + { name: 'node', type: 'string' }, + { name: 'online', type: 'int' }, + { name: 'beercode', type: 'string' }, + { name: 'beername', type: 'string' }, + { name: 'air_state', type: 'string' }, + { name: 'air_temperature', type: 'float' }, + { name: 'beer_state', type: 'string' }, + { name: 'beer_temperature', type: 'float' }, + { name: 'chiller_state', type: 'string' }, + { name: 'chiller_temperature', type: 'float' }, + { name: 'heater_state', type: 'int' }, + { name: 'heater_usage', type: 'int' }, + { name: 'cooler_state', type: 'int' }, + { name: 'cooler_usage', type: 'int' }, + { name: 'fan_state', type: 'int' }, + { name: 'fan_usage', type: 'int' }, + { name: 'light_address', type: 'string' }, + { name: 'light_state', type: 'int' }, + { name: 'light_usage', type: 'int' }, + { name: 'door_address', type: 'string' }, + { name: 'door_state', type: 'int' }, + { name: 'psu_address', type: 'string' }, + { name: 'psu_state', type: 'int' }, + { name: 'mode', type: 'string' }, + { name: 'alarm', type: 'int' }, + { name: 'setpoint_high', type: 'float' }, + { name: 'setpoint_low', type: 'float' }, + { name: 'profile_uuid', type: 'string' }, + { name: 'profile_name', type: 'string' }, + { name: 'profile_state', type: 'string' }, + { name: 'profile_percent', type: 'int' }, + { name: 'profile_inittemp_high', type: 'float' }, + { name: 'profile_inittemp_low', type: 'float' }, + { name: 'profile_steps', type: 'string' }, + { name: 'stage', type: 'string' }, + { name: 'beeruuid', type: 'string' }, + { name: 'yeast_lo', type: 'float' }, + { name: 'yeast_hi', type: 'float' }, + { name: 'webcam_url', type: 'string' }, + { name: 'webcam_light', type: 'int' } + ], + id: 'record', + url: url + }, + dataAdapter = new $.jqx.dataAdapter(source, { + loadComplete: function (records) { + record = dataAdapter.records[0]; + var range, oline = (record.online) ? "On-line" : "Off-line"; + $("#info_uuid").html(record.uuid); + $("#info_system").html(record.node + "/" + record.alias); + $("#info_online").html(oline); + $("#info_beer").html(record.beercode + " - " + record.beername); + $("#info_mode").jqxDropDownList('selectItem', record.mode); + $("#info_stage").jqxDropDownList('selectItem', record.stage); + $("#info_profile").html(record.profile_name); + blank['name'] = record.alias; + blank['code'] = record.alias.toUpperCase(); + blank['uuid'] = record.uuid; + if (record.profile_name == "") + $("#info_mode").jqxDropDownList('disableItem', "PROFILE"); + else + $("#info_mode").jqxDropDownList('enableItem', "PROFILE"); + $("#target_lo").val(record.setpoint_low); + $("#target_hi").val(record.setpoint_high); + if (record.online && ((record.mode == "FRIDGE") || (record.mode == "BEER"))) { + $("#target_lo").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true }); + $("#target_hi").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true }); + } else { + $("#target_lo").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false }); + $("#target_hi").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false }); + } + + if (record.online && record.door_address && (record.door_state != "0")) { + $("#fermenter_doorled").html('
Door'); + } else { + $("#fermenter_doorled").html('
Door'); + } + if (record.online && record.light_address && (record.light_state != "0")) { + $("#fermenter_lightled").html('
Light'); + } else { + $("#fermenter_lightled").html('
Light'); + } + + if (record.online && (record.mode != "OFF")) { + $("#fermenter_powerled").html('
Power'); + $("#select_beer").jqxDropDownList({ disabled: true }); + $("#select_beer").jqxDropDownList('clearSelection'); + $("#select_beer").hide(); + } else { + $("#fermenter_powerled").html('
Power'); + $("#select_beer").show(); + $("#select_beer").jqxDropDownList({ disabled: false }); + } + if (record.online && (record.alarm != "0")) { + $("#fermenter_alarmled").html('
Alarm'); + } else { + $("#fermenter_alarmled").html('
Alarm'); + } + + if (record.online && (record.heater_state != "0")) { + $("#fermenter_led1").html('
Heat'); + } else { + $("#fermenter_led1").html('
Heat'); + } + if (record.online && (record.cooler_state != "0")) { + $("#fermenter_led2").html('
Cool'); + } else { + $("#fermenter_led2").html('
Cool'); + } + if (record.online && (record.fan_state != "0")) { + $("#fermenter_led3").html('
Fan'); + } else { + $("#fermenter_led3").html('
Fan'); + } + if (record.online && (record.mode == "NONE")) { + $("#fermenter_toggle1").jqxSwitchButton( 'enable' ); + $("#fermenter_toggle2").jqxSwitchButton( 'enable' ); + $("#fermenter_toggle3").jqxSwitchButton( 'enable' ); + } else { + $("#fermenter_toggle1").jqxSwitchButton( 'disable' ); + $("#fermenter_toggle2").jqxSwitchButton( 'disable' ); + $("#fermenter_toggle3").jqxSwitchButton( 'disable' ); + $("#fermenter_toggle1").val( (record.heater_state != "0") ); + $("#fermenter_toggle2").val( (record.cooler_state != "0") ); + $("#fermenter_toggle3").val( (record.fan_state != "0") ); + } + + if (record.online && (record.mode == "PROFILE")) { + if (record.profile_state == "OFF") { + $("#select_profile").show(); + $("#select_profile").jqxDropDownList({ disabled: false }); + $("#info_mode").jqxDropDownList({ disabled: false }); + $('#Profile1').jqxButton({ template: "success", value: "Starten" }); + $("#Profile1").show(); + $("#Profile2").hide(); + $("#status_profile").html(''); + } else if (record.profile_state == "RUN") { + $("#select_profile").jqxDropDownList({ disabled: true }); + $("#select_profile").hide(); + $("#info_mode").jqxDropDownList({ disabled: true }); + $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" }); + $('#Profile2').jqxButton({ template: "primary", value: "Pauze" }); + $("#Profile1").show(); + $("#Profile2").show(); + $("#status_profile").html('Profiel actief, '+record.profile_percent+'% gereed'); + } else if (record.profile_state == "PAUSE") { + $("#select_profile").jqxDropDownList({ disabled: true }); + $("#select_profile").hide(); + $("#info_mode").jqxDropDownList({ disabled: true }); + $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" }); + $('#Profile2').jqxButton({ template: "success", value: "Doorgaan" }); + $("#Profile1").show(); + $("#Profile2").show(); + $("#status_profile").html('Profiel pauze, '+record.profile_percent+'% gereed'); + } else if (record.profile_state == "DONE") { + $("#select_profile").jqxDropDownList({ disabled: true }); + $("#select_profile").hide(); + $("#info_mode").jqxDropDownList({ disabled: true }); + $('#Profile1').jqxButton({ template: "primary", value: "Profiel Ok" }); + $("#Profile1").show(); + $("#Profile2").hide(); + $("#status_profile").html('Profiel is gereed'); + } + } else { + $("#select_profile").show(); + $("#select_profile").jqxDropDownList({ disabled: false }); + $("#info_mode").jqxDropDownList({ disabled: false }); + $("#Profile1").hide(); + $("#Profile2").hide(); + $("#status_profile").html(''); + } + if (record.online && (record.webcam_url != "")) { + $("#Camera").show(); + } else { + $("#Camera").hide(); + } + + yl = record.yeast_lo; + yh = record.yeast_hi; + range = { ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, + { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, + { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] }; + $("#gaugeContainer_air").jqxGauge( range ); + $("#gaugeContainer_beer").jqxGauge( range ); + + $("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }}); + $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature }); + if (record.air_state == "OK") { + $("#gaugeContainer_air").jqxGauge({ disabled: false }); + } else { + $("#gaugeContainer_air").jqxGauge({ disabled: true }); + } + $("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }}); + $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature }); + if (record.beer_state == "OK") { + $("#gaugeContainer_beer").jqxGauge({ disabled: false }); + } else { + $("#gaugeContainer_beer").jqxGauge({ disabled: true }); + } + $("#gaugeContainer_chiller").jqxGauge({ value: record.chiller_temperature }); + if (record.chiller_state == "OK") { + $("#gaugeContainer_chiller").jqxGauge({ disabled: false }); + } else { + $("#gaugeContainer_chiller").jqxGauge({ disabled: true }); + } + } + }); + + + + + + $("#select_beer").jqxDropDownList({ placeHolder: "Kies bier:", theme: theme, @@ -103,49 +400,6 @@ return datarecord.code + " - " + datarecord.name; } }); - - var profileSource = { - datatype: "json", - cache: false, - datafields: [ - { name: 'record', type: 'int' }, - { name: 'uuid', type: 'string' }, - { name: 'name', type: 'string' }, - { name: 'inittemp_lo', type: 'float' }, - { name: 'inittemp_hi', type: 'float' }, - { name: 'fridgemode', type: 'int' }, - { name: 'totalsteps', type: 'int' }, - { name: 'duration', type: 'int' }, - { name: 'steps', type: 'array' } - ], - id: 'record', - url: "includes/db_profile_fermentation.php" - }; - var profilelist = new $.jqx.dataAdapter(profileSource, { - beforeLoadComplete: function (records) { - var data = new Array(); - var empty = {}; - // Create a dummy profile on top of the list. - empty['record'] = -1; - empty['uuid'] = ''; - empty['name'] = 'Wis profiel'; - empty['inittemp_lo'] = 20; - empty['inittemp_hi'] = 20; - empty['fridgemode'] = 0; - empty['totalsteps'] = 0; - empty['duration'] = 0; - empty['steps'] = '[]'; - data.push(empty); - for (var i = 0; i < records.length; i++) { - var row = records[i]; - data.push(row); - } - return data; - }, - loadError: function(jqXHR, status, error) { - $('#err').text(status + ' ' + error); - }, - }); $("#select_profile").jqxDropDownList({ placeHolder: "Kies profiel:", theme: theme, @@ -157,46 +411,12 @@ autoDropDownHeight: true, }); - var gaugeoptions = { - min: 0, max: 40, width: 375, height: 375, - ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, - { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, - { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }], - ticksMinor: { interval: 1, size: '5%' }, - ticksMajor: { interval: 5, size: '9%' }, - labels: { interval: 5 }, - style: { fill: '#eeeeee', stroke: '#666666' }, - value: 0, - colorScheme: 'scheme05' - }; - var gaugeSmalloptions = { - min: -15, max: 25, width: 190, height: 190, - ranges: [{ startValue: -15, endValue: 0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }}, - { startValue: 0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }}, - { startValue: 10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}], - ticksMinor: { interval: 1, size: '5%' }, - ticksMajor: { interval: 5, size: '9%' }, - labels: { interval: 5 }, - style: { fill: '#eeeeee', stroke: '#666666' }, - value: 0, - colorScheme: 'scheme05', - caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] } - }; $("#gaugeContainer_air").jqxGauge( gaugeoptions ); $("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air: 00.000' }} ); $("#gaugeContainer_beer").jqxGauge( gaugeoptions ); $("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer: 00.000' }} ); $("#gaugeContainer_chiller").jqxGauge( gaugeSmalloptions ); - var switchoptions = { - height: 68, - width: 35, - onLabel:'AAN', - offLabel:'UIT', - theme: theme, - thumbSize:'50%', - orientation: 'vertical' - }; $("#fermenter_toggle1").jqxSwitchButton( switchoptions ); $("#fermenter_toggle2").jqxSwitchButton( switchoptions ); $("#fermenter_toggle3").jqxSwitchButton( switchoptions ); @@ -206,7 +426,6 @@ $("#info_mode").jqxDropDownList({ theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 156 }); $("#info_stage").jqxDropDownList({ theme: theme, source: srcStage, width: 150, height: 24, dropDownHeight: 125 }); - var targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 40, decimalDigits: 1, spinButtons: true }; $("#target_lo").jqxNumberInput( targetoptions ); $("#target_hi").jqxNumberInput( targetoptions ); @@ -218,8 +437,8 @@ function sendBase(stage, mode, tlo, thi) { console.log("sendBase("+stage+", "+mode+", "+tlo+", "+thi+")"); - var data = 'node='+record.node+'&alias='+record.alias+'&payload={"stage":"'+stage; - data += '","mode":"'+mode+'","setpoint":{"low":'+tlo+',"high":'+thi+'}}'; + var data = 'node=' + record.node + '&alias=' + record.alias + '&payload={"stage":"' + stage; + data += '","mode":"' + mode + '","setpoint":{"low":' + tlo + ',"high":' + thi + '}}'; $.ajax({ url: "cmd_fermenter.php", data: data, @@ -270,221 +489,6 @@ }); } - var url = "getfermenter.php?uuid='" + my_uuid + "'"; - var source = { - datatype: "json", - datafields: [ - { name: 'record', type: 'int' }, - { name: 'uuid', type: 'string' }, - { name: 'alias', type: 'string' }, - { name: 'node', type: 'string' }, - { name: 'online', type: 'int' }, - { name: 'beercode', type: 'string' }, - { name: 'beername', type: 'string' }, - { name: 'air_state', type: 'string' }, - { name: 'air_temperature', type: 'float' }, - { name: 'beer_state', type: 'string' }, - { name: 'beer_temperature', type: 'float' }, - { name: 'chiller_state', type: 'string' }, - { name: 'chiller_temperature', type: 'float' }, - { name: 'heater_state', type: 'int' }, - { name: 'heater_usage', type: 'int' }, - { name: 'cooler_state', type: 'int' }, - { name: 'cooler_usage', type: 'int' }, - { name: 'fan_state', type: 'int' }, - { name: 'fan_usage', type: 'int' }, - { name: 'light_address', type: 'string' }, - { name: 'light_state', type: 'int' }, - { name: 'light_usage', type: 'int' }, - { name: 'door_address', type: 'string' }, - { name: 'door_state', type: 'int' }, - { name: 'psu_address', type: 'string' }, - { name: 'psu_state', type: 'int' }, - { name: 'mode', type: 'string' }, - { name: 'alarm', type: 'int' }, - { name: 'setpoint_high', type: 'float' }, - { name: 'setpoint_low', type: 'float' }, - { name: 'profile_uuid', type: 'string' }, - { name: 'profile_name', type: 'string' }, - { name: 'profile_state', type: 'string' }, - { name: 'profile_percent', type: 'int' }, - { name: 'profile_inittemp_high', type: 'float' }, - { name: 'profile_inittemp_low', type: 'float' }, - { name: 'profile_steps', type: 'string' }, - { name: 'stage', type: 'string' }, - { name: 'beeruuid', type: 'string' }, - { name: 'yeast_lo', type: 'float' }, - { name: 'yeast_hi', type: 'float' }, - { name: 'webcam_url', type: 'string' }, - { name: 'webcam_light', type: 'int' } - ], - id: 'record', - url: url - }; - - var dataAdapter = new $.jqx.dataAdapter(source, { - loadComplete: function (records) { - record = dataAdapter.records[0]; - var oline = (record.online) ? "On-line" : "Off-line"; - $("#info_uuid").html(record.uuid); - $("#info_system").html(record.node + "/" + record.alias); - $("#info_online").html(oline); - $("#info_beer").html(record.beercode + " - " + record.beername); - $("#info_mode").jqxDropDownList('selectItem', record.mode); - $("#info_stage").jqxDropDownList('selectItem', record.stage); - $("#info_profile").html(record.profile_name); - blank['name'] = record.alias; - blank['code'] = record.alias.toUpperCase(); - blank['uuid'] = record.uuid; - if (record.profile_name == "") - $("#info_mode").jqxDropDownList('disableItem', "PROFILE"); - else - $("#info_mode").jqxDropDownList('enableItem', "PROFILE"); - $("#target_lo").val(record.setpoint_low); - $("#target_hi").val(record.setpoint_high); - if (record.online && ((record.mode == "FRIDGE") || (record.mode == "BEER"))) { - $("#target_lo").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true }); - $("#target_hi").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true }); - } else { - $("#target_lo").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false }); - $("#target_hi").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false }); - } - - if (record.online && record.door_address && (record.door_state != "0")) { - $("#fermenter_doorled").html('
Door'); - } else { - $("#fermenter_doorled").html('
Door'); - } - if (record.online && record.light_address && (record.light_state != "0")) { - $("#fermenter_lightled").html('
Light'); - } else { - $("#fermenter_lightled").html('
Light'); - } - - if (record.online && (record.mode != "OFF")) { - $("#fermenter_powerled").html('
Power'); - $("#select_beer").jqxDropDownList({ disabled: true }); - $("#select_beer").jqxDropDownList('clearSelection'); - $("#select_beer").hide(); - } else { - $("#fermenter_powerled").html('
Power'); - $("#select_beer").show(); - $("#select_beer").jqxDropDownList({ disabled: false }); - } - if (record.online && (record.alarm != "0")) { - $("#fermenter_alarmled").html('
Alarm'); - } else { - $("#fermenter_alarmled").html('
Alarm'); - } - - if (record.online && (record.heater_state != "0")) { - $("#fermenter_led1").html('
Heat'); - } else { - $("#fermenter_led1").html('
Heat'); - } - if (record.online && (record.cooler_state != "0")) { - $("#fermenter_led2").html('
Cool'); - } else { - $("#fermenter_led2").html('
Cool'); - } - if (record.online && (record.fan_state != "0")) { - $("#fermenter_led3").html('
Fan'); - } else { - $("#fermenter_led3").html('
Fan'); - } - if (record.online && (record.mode == "NONE")) { - $("#fermenter_toggle1").jqxSwitchButton( 'enable' ); - $("#fermenter_toggle2").jqxSwitchButton( 'enable' ); - $("#fermenter_toggle3").jqxSwitchButton( 'enable' ); - } else { - $("#fermenter_toggle1").jqxSwitchButton( 'disable' ); - $("#fermenter_toggle2").jqxSwitchButton( 'disable' ); - $("#fermenter_toggle3").jqxSwitchButton( 'disable' ); - $("#fermenter_toggle1").val( (record.heater_state != "0") ); - $("#fermenter_toggle2").val( (record.cooler_state != "0") ); - $("#fermenter_toggle3").val( (record.fan_state != "0") ); - } - - if (record.online && (record.mode == "PROFILE")) { - if (record.profile_state == "OFF") { - $("#select_profile").show(); - $("#select_profile").jqxDropDownList({ disabled: false }); - $("#info_mode").jqxDropDownList({ disabled: false }); - $('#Profile1').jqxButton({ template: "success", value: "Starten" }); - $("#Profile1").show(); - $("#Profile2").hide(); - $("#status_profile").html(''); - } else if (record.profile_state == "RUN") { - $("#select_profile").jqxDropDownList({ disabled: true }); - $("#select_profile").hide(); - $("#info_mode").jqxDropDownList({ disabled: true }); - $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" }); - $('#Profile2').jqxButton({ template: "primary", value: "Pauze" }); - $("#Profile1").show(); - $("#Profile2").show(); - $("#status_profile").html('Profiel actief, '+record.profile_percent+'% gereed'); - } else if (record.profile_state == "PAUSE") { - $("#select_profile").jqxDropDownList({ disabled: true }); - $("#select_profile").hide(); - $("#info_mode").jqxDropDownList({ disabled: true }); - $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" }); - $('#Profile2').jqxButton({ template: "success", value: "Doorgaan" }); - $("#Profile1").show(); - $("#Profile2").show(); - $("#status_profile").html('Profiel pauze, '+record.profile_percent+'% gereed'); - } else if (record.profile_state == "DONE") { - $("#select_profile").jqxDropDownList({ disabled: true }); - $("#select_profile").hide(); - $("#info_mode").jqxDropDownList({ disabled: true }); - $('#Profile1').jqxButton({ template: "primary", value: "Profiel Ok" }); - $("#Profile1").show(); - $("#Profile2").hide(); - $("#status_profile").html('Profiel is gereed'); - } - } else { - $("#select_profile").show(); - $("#select_profile").jqxDropDownList({ disabled: false }); - $("#info_mode").jqxDropDownList({ disabled: false }); - $("#Profile1").hide(); - $("#Profile2").hide(); - $("#status_profile").html(''); - } - if (record.online && (record.webcam_url != "")) { - $("#Camera").show(); - } else { - $("#Camera").hide(); - } - - yl = record.yeast_lo; - yh = record.yeast_hi; - var range = { ranges: [{ startValue: 0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 }, - { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 }, - { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] }; - $("#gaugeContainer_air").jqxGauge( range ); - $("#gaugeContainer_beer").jqxGauge( range ); - - $("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }}); - $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature }); - if (record.air_state == "OK") { - $("#gaugeContainer_air").jqxGauge({ disabled: false }); - } else { - $("#gaugeContainer_air").jqxGauge({ disabled: true }); - } - $("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }}); - $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature }); - if (record.beer_state == "OK") { - $("#gaugeContainer_beer").jqxGauge({ disabled: false }); - } else { - $("#gaugeContainer_beer").jqxGauge({ disabled: true }); - } - $("#gaugeContainer_chiller").jqxGauge({ value: record.chiller_temperature }); - if (record.chiller_state == "OK") { - $("#gaugeContainer_chiller").jqxGauge({ disabled: false }); - } else { - $("#gaugeContainer_chiller").jqxGauge({ disabled: true }); - } - } - }); // Get the data immediatly and then at regular intervals to refresh. dataAdapter.dataBind(); @@ -541,8 +545,8 @@ }); $("#select_beer").on('select', function (event) { if (event.args) { - var index = event.args.index; - var datarecord = productlist.records[index]; + var index = event.args.index, + datarecord = productlist.records[index]; record.beercode = datarecord.code; record.beername = datarecord.name; record.beeruuid = datarecord.uuid; @@ -553,16 +557,17 @@ }); $("#select_profile").on('select', function (event) { if (event.args) { - var index = event.args.index; - var datarecord = profilelist.records[index]; + var index = event.args.index, + datarecord = profilelist.records[index], + row, i; if (datarecord.record == -1) { ppayload = '{"profile":null}'; } else { ppayload = '{"profile":{"uuid":"'+datarecord.uuid+'","name":"'+datarecord.name+'",'; ppayload += '"inittemp":{"low":'+datarecord.inittemp_lo+',"high":'+datarecord.inittemp_hi+'},'; ppayload += '"fridgemode":'+datarecord.fridgemode+',"steps":['; - for (var i = 0; i < datarecord.steps.length; i++) { - var row = datarecord.steps[i]; + for (i = 0; i < datarecord.steps.length; i++) { + row = datarecord.steps[i]; if (i > 0) ppayload += ','; ppayload += '{"steptime":'+row['steptime']+',"resttime":'+row['resttime']; @@ -664,15 +669,13 @@ // The chart button. $("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme }); $("#FLog").click(function () { - var url="log_fermentation.php?code=" + record.beercode + "&name=" + record.beername; - window.open(url); + window.open('log_fermentation.php?code=' + record.beercode + '&name=' + record.beername); }); $("#Camera").jqxButton({ template: "primary", width: '150px', theme: theme }); $("#Camera").click(function () { record.light_state = 100; newSwitch = true; - var url=record.webcam_url; - window.open(url); + window.open(record.webcam_url); }); createAbortElements(); });