function updateDetails(details) { var candyKey, candyValue; // ReceptionTime candyKey = CANDY['ReceptionTime']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#reception-time').html(GetValue(details[CANDY["Time"]])); } // LineName candyKey = CANDY['LineName']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#line').html(candyValue ? candyValue : '-').data("line-number", details[CANDY["LineNumber"]]); } // TripNo candyKey = CANDY['JourneyNumber']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { let tripNoText = candyValue, lineName = details[CANDY['LineName']]; if (!!lineName && candyValue.includes(lineName) && candyValue.length > lineName.length) { tripNoText = candyValue.slice(tripNoText.indexOf(lineName) + lineName.length); } $('#trip-no').html(tripNoText); } else { $('#trip-no').html('-'); } // Destination candyKey = CANDY['Destination']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { // $('#sbi-'+candyKey).html( candyValue ); $('#destination').html(!!candyValue ? candyValue : '-'); } // Stop Index candyKey = CANDY['StopIndex']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#stop-index').html(candyValue); } else { $('#stop-index').html('-'); } // Stop Counter candyKey = CANDY['StopCounter']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#stop-counter').html(candyValue); } else { $('#stop-counter').html('-'); } // Mainswitch candyKey = CANDY['Mainswitch']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(TRANSLATE['sbi_switch_' + candyValue].toUpperCase()); if (candyValue == 'on') { shadow = SHADOW_GREEN; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // EngineSpeed candyKey = CANDY['EngineSpeed']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(Math.round(candyValue)); if (candyValue > 3000) { shadow = SHADOW_RED; } else if (candyValue > 2000) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // WheelBasedVehicleSpeed candyKey = CANDY['WheelBasedVehicleSpeed']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(Math.round(candyValue) + ' km/h'); if (candyValue > 90) { shadow = SHADOW_RED; } else if (candyValue > 75) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // EngineCoolantTemperature candyKey = CANDY['EngineCoolantTemperature']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(Math.round(candyValue) + ' ℃'); if (candyValue > 95) { shadow = SHADOW_RED; } else if (candyValue > 85) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // HighResolutionTotalVehicleDistance candyKey = CANDY['HighResolutionTotalVehicleDistance']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(Math.round(candyValue / 1000).toLocaleString('de-AT', { maximumFractionDigits: 0 }) + ' km'); } // FuelLevel candyKey = CANDY['FuelLevel']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(candyValue + ' %'); if (candyValue < 10) { shadow = SHADOW_RED; } else if (candyValue < 20) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // CatalystTankLevel candyKey = CANDY['CatalystTankLevel']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(candyValue + ' %'); if (candyValue < 10) { shadow = SHADOW_RED; } else if (candyValue < 20) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // PowerSupply candyKey = CANDY['PowerSupply']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(candyValue + ' volt'); if (candyValue < 21) { shadow = SHADOW_RED; } else if (candyValue < 23) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // EngineOilPressure, EvobusEngineOilPressure candyKey = CANDY['EngineOilPressure']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-oil-pressure').html(candyValue / 100 + ' bar'); if (candyValue > 800) { shadow = SHADOW_RED; } else if (candyValue > 500) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-oil-pressure').css('text-shadow', shadow); } candyKey = CANDY['EvobusEngineOilPressure']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-oil-pressure').html(candyValue + ' bar'); if (candyValue > 8) { shadow = SHADOW_RED; } else if (candyValue > 5) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-oil-pressure').css('text-shadow', shadow); } // EvobusEngineOilRefillingQuantity candyKey = CANDY['EvobusEngineOilRefillingQuantity']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(candyValue + ' l'); if (candyValue > 2) { shadow = SHADOW_RED; } else if (candyValue > 1) { shadow = SHADOW_YELLOW; } else { shadow = ''; } $('#sbi-' + candyKey).css('text-shadow', shadow); } // LineName candyKey = CANDY['LineName']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(candyValue); } // StopName candyKey = CANDY['StopName']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { // $('#sbi-'+candyKey).html( candyValue ); // $('#sbi-'+candyKey).attr( 'title', candyValue ); $('#stop-name').html(candyValue); $('#stop-name').attr('title', candyValue); } // Door candyKey = CANDY['Door']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(TRANSLATE['sbi_door_' + candyValue]); } // DriverCard1 candyKey = CANDY['DriverCard1']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '') { $('#sbi-' + candyKey).html(TRANSLATE['sbi_driver_card_' + candyValue]); } // Trip Drive candyKey = CANDY['TripDrive']; tripDrive = details[candyKey]; if (typeof tripDrive !== 'undefined' && tripDrive != '') { $('#sbi-' + candyKey).html((parseInt(tripDrive) / 1000).toFixed(2) + ' KM'); } else { $('#sbi-' + candyKey).html('-'); } // Trip Fuel candyKey = CANDY['TripFuel']; tripFuel = details[candyKey]; if (typeof tripFuel !== 'undefined' && tripFuel != '') { $('#sbi-' + candyKey).html(parseFloat(tripFuel).toFixed(2) + ' L'); } else { $('#sbi-' + candyKey).html('-'); } // Total Fuel Used candyValue = details[candyKey]; if (typeof tripDrive !== 'undefined' && tripDrive != '' && typeof tripFuel !== 'undefined' && tripFuel != '') { $('#fuel-eficiensy').html(parseFloat(100 * tripFuel / tripDrive * 1000).toFixed(2) + ' L/100km'); } else { $('#sbi-' + candyKey).html('-'); } // Comfort $('#sbi-comfort').html(getComfort(details)); // ELSY16Bit017 candyKey = CANDY['ELSY16Bit017']; candyValue = details[candyKey]; if (typeof candyValue !== 'undefined' && candyValue != '' && candyValue != '0') { $('#sbi-' + candyKey).html(candyValue / 10); } // Brake Wear $('#sbi-brakewear').html(getBrakeWear(details)); // Details version // $('#sbi-version').html( getDetailsVersion(details) ); } // ================================================================================================= function getComfort(data) { var c = 460; for (var i = CANDY['ELSY01Bit460']; i <= CANDY['ELSY01Bit468']; i++) { if (data[i] == '1') { return ''; } c++; } } function getBrakeWear(data) { var breakWearNames = ['VO LI', 'VO RE', 'AA LI', 'AA RE', 'ZA LI', 'ZA RE']; var brakeWearParams = [ ['EvobusFrontAxleLeftBrakeLiningWear', 'BrakeLiningRemainingFrontAxleLeftWheel'], ['EvobusFrontAxleRightBrakeLiningWear', 'BrakeLiningRemainingFrontAxleRightWheel'], ['EvobusDriveAxleLeftBrakeLiningWear', 'BrakeLiningRemainingRearAxle1LeftWheel'], ['EvobusDriveAxleRightBrakeLiningWear', 'BrakeLiningRemainingRearAxle1RightWheel'], ['EvobusAuxiliaryAxleLeftBrakeLiningWear', 'BrakeLiningRemainingRearAxle2LeftWheel'], ['EvobusAuxiliaryAxleRightBrakeLiningWear', 'BrakeLiningRemainingRearAxle2RightWheel'] ]; var brakeWear, b1, b2; var html = '
'; brakeWearParams.forEach(function (params, key) { //if(!!data[CANDY[params[0]]]) { b1 = !!data[CANDY[params[0]]] ? parseFloat(data[CANDY[params[0]]]) : 0 b2 = !!data[CANDY[params[1]]] ? parseFloat(data[CANDY[params[1]]]) : 0 brakeWear = Math.round(b1 + b2) if (brakeWear > 0) { html += ''; html += ''; html += ''; html += ''; } //} }); html += '
' + breakWearNames[key] + '' + brakeWear + ' %
'; return html; } function getDetailsVersion(data) { var infoNames = ['Postbusapp version', 'Tablet App Gateway Version', 'Tablet App Gateway Status', 'Tablet IP', 'Busnode software version', 'Last Tablet Report Time']; var infoParams = [ 'VehicleInterfaceApplication1', 'TabletAppGatewayVersion', 'TabletAppGatewayStatus', 'TabletConnectionIP', '', 'TabletTime' ]; var info; var html = '
'; infoParams.forEach(function (param, key) { info = (data[CANDY[param]] == undefined ? "-" : data[CANDY[param]]); if (param == "VehicleInterfaceApplication1") { if (data[CANDY["VehicleInterfaceApplication2"]] != undefined && data[CANDY["VehicleInterfaceApplication2"]] != 'off') { info += ('.' + data[CANDY["VehicleInterfaceApplication2"]]); if (data[CANDY["VehicleInterfaceApplication3"]] != undefined && data[CANDY["VehicleInterfaceApplication3"]] != 'off') { info += ('.' + data[CANDY["VehicleInterfaceApplication3"]]); if (data[CANDY["VehicleInterfaceApplication4"]] != undefined && data[CANDY["VehicleInterfaceApplication4"]] != 'off') { info += ('.' + data[CANDY["VehicleInterfaceApplication4"]]); } } } } if (param == "TabletTime") { if (data[CANDY[param]] != undefined && /^\d+$/g.test(data[CANDY[param]])) { let date = new Date(parseInt(data[CANDY[param]]) * 1000), year = date.getUTCFullYear(), month = date.getMonth(), day = date.getDate(), hour = date.getHours(), minutes = date.getMinutes(), seconds = date.getSeconds(); if (isNaN(year) || isNaN(month) || isNaN(day) || isNaN(hour) || isNaN(minutes) || isNaN(seconds)) { info = '-'; } else { info = `${(year + '').padStart(4, 0)}-${((month + 1) + '').padStart(2, 0)}-${(day + '').padStart(2, 0)} ${(hour + '').padStart(2, 0)}:${(minutes + '').padStart(2, 0)}:${(seconds + '').padStart(2, 0)}`; } } else { info = '-'; } } html += ''; html += ''; html += ''; html += ''; }); html += '
' + infoNames[key] + ': ' + info + '
'; return html; }