changes to ekko report
This commit is contained in:
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
import logging, json, xlsxwriter, boto3, pytz, math, os
|
||||
import logging, json, xlsxwriter, boto3, pytz, math, os, shutil
|
||||
import pandas as pd
|
||||
from datetime import datetime as dt
|
||||
from datetime import timedelta as td
|
||||
@@ -35,8 +35,8 @@ def getDeviceKeys(rest_client, devices,target_device):
|
||||
return device, keys, None
|
||||
return None, None,"Device Not Found"
|
||||
except Exception as e:
|
||||
print("Something went wrong in getDeviceKeys")
|
||||
print(e)
|
||||
logging.error("Something went wrong in getDeviceKeys")
|
||||
logging.error(e)
|
||||
return (None, None, e)
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ def getTelemetry(rest_client, device, keys, start_ts, end_ts,limit):
|
||||
try:
|
||||
return rest_client.get_timeseries(entity_id=device.id, keys=keys, start_ts=start_ts, end_ts=end_ts, limit=limit) #entity_type=entity_type,
|
||||
except Exception as e:
|
||||
print("Something went wrong in getTelemetry")
|
||||
print(e)
|
||||
logging.error("Something went wrong in getTelemetry")
|
||||
logging.error(e)
|
||||
return False
|
||||
|
||||
|
||||
@@ -167,6 +167,7 @@ def lambda_handler(event, context):
|
||||
datetime_format="yyyy-mm-dd hh:mm:ss",
|
||||
date_format="yyyy-mm-dd",engine_kwargs={'options': {'strings_to_numbers': True}})
|
||||
chartsheet = writer.book.add_worksheet("Charts")
|
||||
reportsheet = writer.book.add_worksheet("Report")
|
||||
ignore_keys = ['latitude', 'longitude', 'speed', 'a_current', 'b_current', 'c_current', 'scada_stop_cmd', 'pit_100a_pressure', 'pit_101a_pressure', 'pit_101b_pressure', 'pit_101c_pressure', 'fit_101_flow_rate', 'fi_101b_popoff', 'fcv_101a_valve', 'fcv_101b_valve', 'pit_102_pressure', 'pit_102_hi_alm', 'pit_102_hihi_alm', 'pit_102_hi_spt', 'pit_102_hihi_spt', 'p200_hand', 'p200_auto', 'xy_200_run', 'ct_200_run', 'pit_100_pressure', 'm106a_vfd_active', 'm106a_vfd_faulted', 'm106a_vfd_frequency', 'm106a_vfd_start', 'm106a_vfd_stop', 'pit_106a_pressure', 'fit_106a_flow_rate', 'm106b_vfd_active', 'm106b_vfd_faulted', 'm106b_vfd_frequency', 'm106b_vfd_start', 'm106b_vfd_stop', 'pit_106b_pressure', 'fit_106b_flow_rate', 'pit_106c_pressure', 'pit_106d_pressure', 'sdv106_open', 'sdv106_closed', 'bp_3a_auto', 'bp_3a_hand', 'bp_3a_run_cmd', 'bp_3a_run', 'bp_3a_fault', 'bp_3b_auto', 'bp_3b_hand', 'bp_3b_run_cmd', 'bp_3b_run', 'bp_3b_fault', 'pit_107a_pressure', 'fit_107a_flow_rate', 'pit_107b_pressure', 'fcv_001_valve', 'fit_107b_flow_rate', 'pit_107d_pressure', 'fcv_002_valve', 'pit_107c_pressure', 'pit_108a_pressure', 'pit_108b_pressure', 'dpi_108a_pressure', 'pit_108c_pressure', 'pit_108d_pressure', 'pdt_108b_pressure', 'pit_108e_pressure', 'pit_108f_pressure', 'pdt_108c_pressure', 'pit_108_pressure', 'pdt_108a_hi_alm', 'pdt_108a_hihi_alm', 'pdt_108b_hi_alm', 'pdt_108b_hihi_alm', 'pdt_108c_hi_alm', 'pdt_108c_hihi_alm', 'ait_102c_ph', 'ait_102d_oil_in_water', 'fit_102_flow_rate', 'lit_112a_h2o2_level', 'lit_112b_nahso3_level', 'fis_112_h2o2_popoff', 'fit_112a_h2o2_flow_rate', 'fit_112b_nahso3_flow_rate', 'at_109d_o2_in_water', 'fit_100_hi_alm', 'fit_100_hihi_alm', 'fit_100_lo_alm', 'fit_111_flow_rate', 'pit_110_pressure', 'lit_170_level', 'lit_200_level', 'lit_101_level', 'li_103D_level_alm', 'lsh_120_hihi_alm', 'pit_050_pressure', 'pit_065_pressure', 'pdi_065_pressure', 'fit_104_n2_rate', 'p100_auto', 'p100_hand', 'sales_recirculate_sw', 'fit_109a_flow_rate', 'pit_111a_n2', 'pit_111b_n2', 'pit_111c_n2', 'ct_200_current', 'sdv_101a', 'xy_100_run', 'skim_total_barrels', 'dpi_108b_pressure', 'chemical_pump_01_run_status', 'chemical_pump_01_rate_offset', 'spt_pid_h2o2_chemical_rate', 'spt_chemical_manual_rate', 'chemical_pump_auto', 'esd_exists', 'n2_purity', 'n2_outlet_flow_rate', 'n2_outlet_temp', 'n2_inlet_pressure', 'compressor_controller_temp', 'compressor_ambient_temp', 'compressor_outlet_temp', 'compressor_outlet_pressure', 'n2_outlet_pressure', 'fit_109b_water_job', 'fit_109b_water_last_month', 'fit_109b_water_month', 'fit_109b_water_lifetime', 'fit_109b_water_today', 'fit_109b_water_yesterday', 'fit_100_water_job', 'fit_100_water_last_month', 'fit_100_water_month', 'fit_100_water_lifetime', 'fit_100_water_today', 'fit_100_water_yesterday', 'h2o2_chemical_rate', 'rmt_sd_alm', 'pnl_esd_alm', 'pit_111c_hihi_alm', 'pit_111b_hihi_alm', 'pit_111a_hihi_alm', 'pit_110_hihi_alm', 'pit_108g_hihi_alm', 'pit_108c_hihi_alm', 'pit_108b_hihi_alm', 'pit_108a_hihi_alm', 'pit_107b_lolo_alm', 'pit_107a_lolo_alm', 'pit_106b_hihi_alm', 'pit_106a_hihi_alm', 'pit_101b_transmitter_alm', 'pit_101b_hihi_alm', 'pit_101a_transmitter_alm', 'pit_101a_hihi_alm', 'pit_101a_hi_alm', 'pit_100_hihi_alm', 'pit_065_hihi_alm', 'pit_050_hihi_alm', 'pdi_065_lolo_alm', 'pdi_065_lo_alm', 'pdi_065_hihi_alm', 'm106b_vfd_faulted_alm', 'm106a_vfd_faulted_alm', 'lit_200_hihi_alm', 'lit_170_hihi_alm', 'fit_107b_lolo_alm', 'fit_107a_lolo_alm', 'fit_106b_hihi_alm', 'fit_106a_hihi_alm', 'fit_004_hihi_alm', 'bp_3b_run_fail_alm', 'bp_3a_run_fail_alm', 'ait_114c_hihi_alm', 'ait_114b_hihi_alm', 'ait_114a_hihi_alm', 'ac_volt', 'bc_volt', 'ab_volt', 'psd_alm', 'ait_114a_lolo_alm', 'ait_114a_lo_alm', 'ait_114r_lolo_alm', 'ait_114r_lo_alm', 'ait_114z_lo_alm', 'ait_114z_lolo_alm', 'ait_114x_lo_alm', 'ait_114x_lolo_alm', 'ait_114c_lolo_alm', 'ait_114c_lo_alm', 'ait_114l_lolo_alm', 'ait_114l_lo_alm', 'lit_116b_hihi_alm', 'lit_116b_hi_alm', 'lit_116a_hihi_alm', 'lit_116a_hi_alm']
|
||||
unit_mapping = {
|
||||
"level": "ft",
|
||||
@@ -196,6 +197,7 @@ def lambda_handler(event, context):
|
||||
"AT 109A TURBIDITY": "OUTLET TURBIDITY",
|
||||
"AT 109E ORP": "OUTLET ORP"
|
||||
}
|
||||
#Create a Sheet for each Device
|
||||
for device in telemetry.keys():
|
||||
df = getDataFrame(telemetry[device], ignore_keys, time)
|
||||
|
||||
@@ -279,6 +281,9 @@ def lambda_handler(event, context):
|
||||
|
||||
chartsheet.insert_chart('A' + str(position), chart, {'x_scale': 3, 'y_scale': 2})
|
||||
position += 30
|
||||
|
||||
title_format = writer.book.add_format({'bold': True, 'font_color': "#5f5f5f", 'font_name': "Aptos Narrow", 'font_size': 36})
|
||||
reportsheet.write(0,0, "ACW Report", title_format)
|
||||
# Close the Pandas Excel writer and output the Excel file.
|
||||
writer.close()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user