{ "controllers": [ { "protocol": "EtherNet/IP", "name": "hrtankbattery", "args": { "slot": 0, "connectTimeOut": 2000 }, "samplePeriod": 10, "expired": 10000, "endpoint": "192.168.1.10:44818", "enablePerOnchange": 0, "desc": "", "enable": 1, "enableDebug": 0 } ], "measures": [ { "name": "plc_io_fault_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "IO_Fault_Alarm", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "plc_fault", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "PLC_FAULT", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_01_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_01", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_02_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_02", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_03_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_03", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_04_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_04", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_05_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_05", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "analog_06_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Fault_Analog_Mod_06", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "ac_power_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Alm_AC_Pwr.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "ups_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Alm_UPS.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "dc_power_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "DC_Power_OK.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "three_phase_pwr_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Three_Phase_Power_Alarm.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "count_oil_tanks", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "NUMBER_OF_OIL_TANKS", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "count_water_tanks", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "NUMBER_OF_WTR_TANKS", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "count_flow_meters", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "NUMBER_OF_FLOWMETERS", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "count_transfer_pumps", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "NUMBER_OF_TRANSFER_PUMPS", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "count_lacts", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "NUMBER_OF_LACTS", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "water_run_tank", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "WT_Selector", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "water_01_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_1.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_run_tank_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Curent_Water_Tank_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_gauge_off_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Gauge_Off_Water_Tank_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_01_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_1.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_01_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_1.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_01_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_1.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_01_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_1.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_01_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_1.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_01_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_1.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_02_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_2.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_02_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_2.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_02_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_2.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_02_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_2.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_02_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_2.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_02_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_2.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_02_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_2.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_03_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_3.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_03_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_3.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_03_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_3.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_03_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_3.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_03_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_3.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_03_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_3.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_03_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_3.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_04_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_4.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_04_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_4.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_04_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_4.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_04_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_4.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_04_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_4.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_04_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_4.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_04_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_4.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_05_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_5.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_05_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_5.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_05_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_5.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_05_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_5.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_05_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_5.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_05_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_5.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_05_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_5.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_06_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_6.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_06_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_6.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_06_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_6.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_06_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_6.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_06_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_6.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_06_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_6.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_06_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_6.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_07_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_7.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_07_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_7.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_07_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_7.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_07_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_7.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_07_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_7.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_07_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_7.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_07_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_7.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_08_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_8.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_08_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_8.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_08_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_8.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_08_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_8.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_08_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_8.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_08_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_8.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_08_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_8.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_09_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_9.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_09_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_9.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_09_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_9.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_09_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "WT_9.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "water_09_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_9.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_09_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_9.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "water_09_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "WT_9.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_run_tank", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "DINT", "addr": "OT_Selector", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "enableBit": 0, "storageLwTSDB": 0 }, { "name": "oil_run_tank_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Current_Oil_Tank_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_gauge_off_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Gauge_Off_Oil_Tank_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_01_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_1.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_01_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_1.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_01_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_1.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_01_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_1.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_01_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_1.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_01_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_1.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_01_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_1.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_02_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_2.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_02_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_2.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_02_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_2.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_02_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_2.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_02_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_2.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_02_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_2.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_02_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_2.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_03_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_3.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_03_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_3.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_03_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_3.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_03_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_3.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_03_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_3.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_03_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_3.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_03_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_3.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_04_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_4.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_04_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_4.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_04_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_4.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_04_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_4.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_04_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_4.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_04_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_4.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_04_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_4.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_05_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_5.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_05_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_5.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_05_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_5.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_05_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_5.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_05_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_5.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_05_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_5.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_05_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_5.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_06_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_6.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_06_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_6.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_06_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_6.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_06_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_6.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_06_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_6.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_06_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_6.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_06_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_6.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_07_level", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_7.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_07_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_7.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_07_hi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_7.Alm_Hi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_07_tx_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "OT_7.Alm_Fail", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "oil_07_hihi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_7.PSet_HiHiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_07_hi_spt", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_7.PSet_HiLim", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "oil_07_max_height", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "OT_7.Cfg_PVEUMax", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_sts", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XFER_PUMP_Motor_01.Sts_Running", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XFER_PUMP_Motor_01.Alm_FailToStart", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_discharge", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "XferPump_01_Dis_PSI.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_discharge_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_01_Dis_PSI.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_discharge_lolo_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_01_Dis_PSI.Alm_LoLo", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "XferPump_01_FlowRate.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_flow_rate_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_01_FlowRate.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_flow_rate_lolo_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_01_FlowRate.Alm_LoLo", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_01_3_phase_pwr_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Transfer_Pump_3_Phase_Power_Alarm.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_sts", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XFER_PUMP_Motor_02.Sts_Running", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XFER_PUMP_Motor_02.Alm_FailToStart", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_discharge", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "XferPump_02_Dis_PSI.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_discharge_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_02_Dis_PSI.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_discharge_lolo_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_02_Dis_PSI.Alm_LoLo", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "XferPump_02_FlowRate.Val", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_flow_rate_hihi_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_02_FlowRate.Alm_HiHi", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "transfer_02_flow_rate_lolo_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "XferPump_02_FlowRate.Alm_LoLo", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_01_permissive", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_01_Permissive", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_01_sts", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_01_Run_Status", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_01_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_01_Failure", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_01_oil_shutdown", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_01_Bad_Oil_Shutdown", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_01_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_01_Realtime_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_01_bs_w", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_01_BS_and_W_Reading", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_01_daily_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_01_Current_Daily_Ind_Volume_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_01_prev_day", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_01_History.Previous_Day_1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_01_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_01_Cumulative_Ind_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_02_permissive", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_02_Permissive", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_02_sts", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_02_Run_Status", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_02_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_02_Failure", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_02_oil_shutdown", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "LACT_02_Bad_Oil_Shutdown", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "lact_02_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_02_Realtime_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_02_bs_w", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_02_BS_and_W_Reading", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_02_daily_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_02_Current_Daily_Ind_Volume_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_02_prev_day", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_02_History.Previous_Day_1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "lact_02_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Lact_02_Cumulative_Ind_Volume", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "containment_high_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "Contain_Hi_Level.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "h2s_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "H2s_Alarm.Alm_TgtDisagree", "bitMap": 0, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "reverseBit": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_sales_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Sales_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v1_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V1_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v2_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V2_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v3_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V3_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v4_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V4_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_battery_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Battery_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_charger_voltage", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Charger_Voltage", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_differential_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Differential_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Flow_Rate", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Lifetime", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_static_pressure", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Static_Pressure", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Temperature", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "tf_v5_yesterday_total", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_V5_TF_Yesterday_Total", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_gas_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Gas_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Oil_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_OIL_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_OIL_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Oil_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Oil_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Oil_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_oil_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Oil_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_1_water_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_1_Water_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_gas_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Gas_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Oil_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_OIL_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_OIL_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Oil_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Oil_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Oil_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_oil_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_OIL_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_2_water_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_2_Water_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_gas_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Gas_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Oil_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_OIL_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_OIL_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Oil_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Oil_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Oil_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_oil_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_OIL_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_3_water_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_3_Water_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_gas_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Gas_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Oil_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_OIL_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_OIL_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Oil_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Oil_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Oil_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_oil_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_OIL_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_4_water_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_4_Water_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_gas_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Gas_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Oil_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_OIL_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_OIL_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Oil_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Oil_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Oil_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_oil_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_OIL_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_FR", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_lifetime", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_T1", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_temperature", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_Temp", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "vessel_5_water_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Vessel_5_Water_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_flow_rate", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_FR_MBS", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_last_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_LastMonth_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_month", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_Month_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_net_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_T1_MBS", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_forward_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_T2_MBS", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_reverse_volume", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_T3_MBS", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_today", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_Todays_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "wtp_1_yesterday", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_WTP_FM_Yest_Accum", "decimal": 2, "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "storageLwTSDB": 0 }, { "name": "air_compressor_disharge", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "FLOAT", "addr": "Val_Air_Compressor_Discharge_PSI_Scaled", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "decimal": 2, "gain": "1.0", "offset": "0.0", "storageLwTSDB": 0 }, { "name": "air_compressor_low_discharge_alm", "ctrlName": "hrtankbattery", "group": "default", "uploadType": "periodic", "dataType": "BIT", "addr": "AL0_Air_Compressor_Low_Discharge", "readWrite": "ro", "unit": "", "desc": "", "transformType": 0, "bitMap": 0, "gain": "1.0", "offset": "0.0", "reverseBit": 0, "storageLwTSDB": 0 } ], "alarmLables": [ "default" ], "alarms": [ { "name": "plc_io_fault_alm", "ctrlName": "hrtankbattery", "measureName": "plc_io_fault_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "PLC IO has faulted", "alarmLable": "default" }, { "name": "plc_fault", "ctrlName": "hrtankbattery", "measureName": "plc_fault", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "PLC has faulted", "alarmLable": "default" }, { "name": "analog_01_alm", "ctrlName": "hrtankbattery", "measureName": "analog_01_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 1 has faulted", "alarmLable": "default" }, { "name": "analog_02_alm", "ctrlName": "hrtankbattery", "measureName": "analog_02_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 2 has faulted", "alarmLable": "default" }, { "name": "analog_03_alm", "ctrlName": "hrtankbattery", "measureName": "analog_03_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 3 has faulted", "alarmLable": "default" }, { "name": "analog_04_alm", "ctrlName": "hrtankbattery", "measureName": "analog_04_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 4 has faulted", "alarmLable": "default" }, { "name": "analog_05_alm", "ctrlName": "hrtankbattery", "measureName": "analog_05_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 5 has faulted", "alarmLable": "default" }, { "name": "analog_06_alm", "ctrlName": "hrtankbattery", "measureName": "analog_06_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Analog Module 6 has faulted", "alarmLable": "default" }, { "name": "ac_power_alm", "ctrlName": "hrtankbattery", "measureName": "ac_power_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "AC Power Fault", "alarmLable": "default" }, { "name": "ups_alm", "ctrlName": "hrtankbattery", "measureName": "ups_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "UPS Fault", "alarmLable": "default" }, { "name": "dc_power_alm", "ctrlName": "hrtankbattery", "measureName": "dc_power_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "DC Power Fault", "alarmLable": "default" }, { "name": "three_phase_pwr_alm", "ctrlName": "hrtankbattery", "measureName": "three_phase_pwr_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Three Phase Power Fault", "alarmLable": "default" }, { "name": "water_01_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_01_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 1 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_01_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_01_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 1 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_01_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_01_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 1 transmission error", "alarmLable": "default" }, { "name": "water_02_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_02_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 2 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_02_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_02_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 2 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_02_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_02_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 2 transmission error", "alarmLable": "default" }, { "name": "water_03_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_03_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 3 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_03_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_03_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 3 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_03_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_03_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 3 transmission error", "alarmLable": "default" }, { "name": "water_04_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_04_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 4 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_04_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_04_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 4 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_04_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_04_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 4 transmission error", "alarmLable": "default" }, { "name": "water_05_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_05_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 5 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_05_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_05_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 5 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_05_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_05_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 5 transmission error", "alarmLable": "default" }, { "name": "water_06_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_06_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 6 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_06_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_06_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 6 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_06_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_06_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 6 transmission error", "alarmLable": "default" }, { "name": "water_07_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_07_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 7 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_07_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_07_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 7 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_07_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_07_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 7 transmission error", "alarmLable": "default" }, { "name": "water_08_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_08_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 8 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_08_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_08_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 8 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_08_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_08_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 8 transmission error", "alarmLable": "default" }, { "name": "water_09_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "water_09_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 9 crossed HiHi threshold", "alarmLable": "default" }, { "name": "water_09_hi_alm", "ctrlName": "hrtankbattery", "measureName": "water_09_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 9 crossed Hi threshold", "alarmLable": "default" }, { "name": "water_09_tx_alm", "ctrlName": "hrtankbattery", "measureName": "water_09_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Water Tank 9 transmission error", "alarmLable": "default" }, { "name": "oil_01_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_01_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 1 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_01_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_01_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 1 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_01_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_01_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 1 transmission error", "alarmLable": "default" }, { "name": "oil_02_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_02_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 2 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_02_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_02_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 2 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_02_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_02_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 2 transmission error", "alarmLable": "default" }, { "name": "oil_03_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_03_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 3 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_03_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_03_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 3 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_03_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_03_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 3 transmission error", "alarmLable": "default" }, { "name": "oil_04_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_04_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 4 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_04_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_04_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 4 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_04_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_04_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 4 transmission error", "alarmLable": "default" }, { "name": "oil_05_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_05_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 5 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_05_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_05_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 5 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_05_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_05_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 5 transmission error", "alarmLable": "default" }, { "name": "oil_06_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_06_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 6 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_06_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_06_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 6 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_06_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_06_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 6 transmission error", "alarmLable": "default" }, { "name": "oil_07_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_07_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 7 crossed HiHi threshold", "alarmLable": "default" }, { "name": "oil_07_hi_alm", "ctrlName": "hrtankbattery", "measureName": "oil_07_hi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 7 crossed Hi threshold", "alarmLable": "default" }, { "name": "oil_07_tx_alm", "ctrlName": "hrtankbattery", "measureName": "oil_07_tx_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Oil Tank 7 transmission error", "alarmLable": "default" }, { "name": "transfer_01_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 Faulted", "alarmLable": "default" }, { "name": "transfer_01_discharge_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_discharge_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 Discharge crossed HiHi threshold", "alarmLable": "default" }, { "name": "transfer_01_discharge_lolo_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_discharge_lolo_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 Discharge crossed LoLo threshold", "alarmLable": "default" }, { "name": "transfer_01_flow_rate_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_flow_rate_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 Flow Rate crossed HiHi threshold", "alarmLable": "default" }, { "name": "transfer_01_flow_rate_lolo_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_flow_rate_lolo_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 Flow Rate crossed LoLo threshold", "alarmLable": "default" }, { "name": "transfer_01_3_phase_pwr_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_01_3_phase_pwr_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 1 3 Phase Power Failure", "alarmLable": "default" }, { "name": "transfer_02_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_02_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 2 Faulted", "alarmLable": "default" }, { "name": "transfer_02_discharge_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_02_discharge_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 2 Discharge crossed HiHi threshold", "alarmLable": "default" }, { "name": "transfer_02_discharge_lolo_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_02_discharge_lolo_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 2 Discharge crossed LoLo threshold", "alarmLable": "default" }, { "name": "transfer_02_flow_rate_hihi_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_02_flow_rate_hihi_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 2 Flow Rate crossed HiHi threshold", "alarmLable": "default" }, { "name": "transfer_02_flow_rate_lolo_alm", "ctrlName": "hrtankbattery", "measureName": "transfer_02_flow_rate_lolo_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Transfer 2 Flow Rate crossed LoLo threshold", "alarmLable": "default" }, { "name": "lact_01_alm", "ctrlName": "hrtankbattery", "measureName": "lact_01_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "LACT 1 Meter Failure", "alarmLable": "default" }, { "name": "lact_01_oil_shutdown", "ctrlName": "hrtankbattery", "measureName": "lact_01_oil_shutdown", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "LACT 1 Bad Oil", "alarmLable": "default" }, { "name": "lact_02_alm", "ctrlName": "hrtankbattery", "measureName": "lact_02_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "LACT 2 Meter Failure", "alarmLable": "default" }, { "name": "lact_02_oil_shutdown", "ctrlName": "hrtankbattery", "measureName": "lact_02_oil_shutdown", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "LACT 2 Bad Oil", "alarmLable": "default" }, { "name": "containment_high_alm", "ctrlName": "hrtankbattery", "measureName": "containment_high_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "Containment Level has crossed the Hi threshold.", "alarmLable": "default" }, { "name": "h2s_alm", "ctrlName": "hrtankbattery", "measureName": "h2s_alm", "alarmLevel": 5, "cond1": { "op": "eq", "value": "1.0" }, "condOp": "none", "cond2": { "op": "eq", "value": "" }, "content": "H2S Detected", "alarmLable": "default" }, { "ctrlName": "hrtankbattery", "name": "air_compressor_low_discharge_alm", "alarmLevel": 5, "content": "air compressor low discharge alarm", "alarmLable": "default", "measureName": "air_compressor_low_discharge_alm", "cond1": { "op": "eq", "value": "1" }, "cond2": { "op": "eq", "value": "" }, "condOp": "none" } ], "groups": [ { "name": "default", "uploadInterval": 600, "reference": 45, "LwTSDBSize": 1000, "strategy": 1, "historyDataPath": "/var/user/data/dbhome/device_supervisor/LwTSDB", "enablePerOnchange": 0 }, { "name": "converter", "uploadInterval": 10, "LwTSDBSize": 1000, "strategy": 1, "historyDataPath": "/var/user/data/dbhome/device_supervisor/LwTSDB", "enablePerOnchange": 0 }, { "name": "null", "uploadInterval": 3600, "LwTSDBSize": 1000, "strategy": 1, "historyDataPath": "/var/user/data/dbhome/device_supervisor/LwTSDB", "enablePerOnchange": 0 } ], "misc": { "maxAlarmRecordSz": 2000, "logLvl": "INFO", "coms": [ { "name": "rs232", "baud": 9600, "bits": 8, "stopbits": 1, "parityChk": "n" }, { "name": "rs485", "baud": 38400, "bits": 8, "stopbits": 1, "parityChk": "n" } ], "cachePath": "/var/user/data/dbhome/device_supervisor/offlinedata", "cacheSize": 10000, "debugLogPath": "/var/user/data/dbhome/device_supervisor/debugLog", "debugLogSize": 2000 }, "clouds": [ { "cacheSize": 10000, "enable": 1, "type": "Standard MQTT", "args": { "host": "hp.henrypump.cloud", "port": 1883, "clientId": "hr-noel-central", "auth": 1, "tls": 0, "cleanSession": 1, "mqttVersion": "v3.1.1", "keepalive": 120, "key": "", "cert": "", "rootCA": "", "verifyServer": 0, "verifyClient": 0, "username": "henryresourcesmqtt", "passwd": "henryresourcesmqtt@1903", "authType": 1, "willQos": 0, "willRetain": 0, "willTopic": "", "willPayload": "", "tlsAuth": "caSelfSigned" }, "name": "default", "uploadRules": [] } ], "quickfaas": { "genericFuncs": [], "uploadFuncs": [ { "name": "Send Data", "trigger": "measure_event", "topic": "v1/devices/me/telemetry", "qos": 1, "groups": [ "default" ], "funcName": "sendData", "script": "# Enter your python code.\nimport json, os, time\nfrom datetime import datetime as dt\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\nfrom quickfaas.global_dict import get as get_params\nfrom quickfaas.global_dict import _set_global_args\n\ndef reboot(reason=\"Rebooting for config file update\"):\n #basic = Basic()\n logger.info(\"!\" * 10 + \"REBOOTING DEVICE\" + \"!\"*10)\n logger.info(reason)\n r = os.popen(\"kill -s SIGHUP `cat /var/run/python/supervisord.pid`\").read()\n logger.info(f\"REBOOT : {r}\")\n\ndef checkFileExist(filename):\n path = \"/var/user/files\"\n if not os.path.exists(path):\n logger.info(\"no folder making files folder in var/user\")\n os.makedirs(path)\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n if not os.path.exists(path + \"/\" + filename):\n logger.info(\"no creds file making creds file\")\n with open(path + \"/\" + filename, \"a\") as f:\n json.dump({}, f)\n\ndef convertDStoJSON(ds):\n j = dict()\n for x in ds:\n j[x[\"key\"]] = x[\"value\"]\n return j\n\ndef convertJSONtoDS(j):\n d = []\n for key in j.keys():\n d.append({\"key\": key, \"value\": j[key]})\n return d\n\ndef checkCredentialConfig():\n logger.debug(\"CHECKING CONFIG\")\n cfgpath = \"/var/user/cfg/device_supervisor/device_supervisor.cfg\"\n credspath = \"/var/user/files/creds.json\"\n cfg = dict()\n with open(cfgpath, \"r\") as f:\n cfg = json.load(f)\n clouds = cfg.get(\"clouds\")\n logger.debug(clouds)\n #if not configured then try to configure from stored values\n if clouds[0][\"args\"][\"clientId\"] == \"unknown\" or clouds[0][\"args\"][\"username\"] == \"unknown\" or not clouds[0][\"args\"][\"passwd\"] or clouds[0][\"args\"][\"passwd\"] == \"unknown\":\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n creds = json.load(c)\n if creds:\n logger.debug(\"updating config with stored data\")\n clouds[0][\"args\"][\"clientId\"] = creds[\"clientId\"]\n clouds[0][\"args\"][\"username\"] = creds[\"userName\"]\n clouds[0][\"args\"][\"passwd\"] = creds[\"password\"]\n cfg[\"clouds\"] = clouds\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n reboot()\n else:\n #assuming clouds is filled out, if data is different then assume someone typed in something new and store it, if creds is empty fill with clouds' data\n checkFileExist(\"creds.json\")\n with open(credspath, \"r\") as c:\n logger.debug(\"updating stored file with new data\")\n cfg = checkParameterConfig(cfg)\n with open(cfgpath, \"w\", encoding='utf-8') as n:\n json.dump(cfg, n, indent=1, ensure_ascii=False)\n creds = json.load(c)\n if creds:\n if creds[\"clientId\"] != clouds[0][\"args\"][\"clientId\"]:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n if creds[\"userName\"] != clouds[0][\"args\"][\"username\"]:\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n if creds[\"password\"] != clouds[0][\"args\"][\"passwd\"]:\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n else:\n creds[\"clientId\"] = clouds[0][\"args\"][\"clientId\"]\n creds[\"userName\"] = clouds[0][\"args\"][\"username\"]\n creds[\"password\"] = clouds[0][\"args\"][\"passwd\"]\n with open(credspath, \"w\") as cw:\n json.dump(creds,cw)\n\ndef checkParameterConfig(cfg):\n logger.debug(\"Checking Parameters!!!!\")\n paramspath = \"/var/user/files/params.json\"\n cfgparams = convertDStoJSON(cfg.get(\"labels\"))\n #check stored values \n checkFileExist(\"params.json\")\n with open(paramspath, \"r\") as f:\n logger.debug(\"Opened param storage file\")\n params = json.load(f)\n if params:\n if cfgparams != params:\n #go through each param\n #if not \"unknown\" and cfg and params aren't the same take from cfg likely updated manually\n #if key in cfg but not in params copy to params\n logger.debug(\"equalizing params between cfg and stored\")\n for key in cfgparams.keys():\n try:\n if cfgparams[key] != params[key] and cfgparams[key] != \"unknown\":\n params[key] = cfgparams[key]\n except:\n params[key] = cfgparams[key]\n cfg[\"labels\"] = convertJSONtoDS(params)\n _set_global_args(convertJSONtoDS(params))\n with open(paramspath, \"w\") as p:\n json.dump(params, p)\n else:\n with open(paramspath, \"w\") as p:\n logger.debug(\"initializing param file with params in memory\")\n json.dump(convertDStoJSON(get_params()), p)\n cfg[\"labels\"] = get_params()\n \n return cfg\n\n# Helper function to split the payload into chunks\ndef chunk_payload(payload, chunk_size=20):\n chunked_values = list(payload[\"values\"].items())\n for i in range(0, len(chunked_values), chunk_size):\n yield {\n \"ts\": payload[\"ts\"],\n \"values\": dict(chunked_values[i:i+chunk_size])\n }\n\n\ndef sendData(message):\n #logger.debug(message)\n try:\n checkCredentialConfig()\n except Exception as e:\n logger.error(e)\n payload = {\"ts\": (round(dt.timestamp(dt.now())/600)*600)*1000, \"values\": {}}\n run_tanks = {}\n\n for measure in message[\"measures\"]:\n try:\n logger.debug(measure)\n if abs(payload[\"ts\"]/1000 - measure[\"timestamp\"]) > 3600:\n reboot(reason=\"Poll timestamp and actual timestamp out of sync. Actual: {} Poll: {}\".format(payload[\"ts\"]/1000,measure[\"timestamp\"]))\n if measure[\"name\"] in [\"oil_run_tank\",\"water_run_tank\"]:\n run_tanks[measure[\"name\"]] = measure[\"value\"]\n if \"_level\" in measure[\"name\"]:\n run_tanks[measure[\"name\"]] = measure[\"value\"]\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"] \n except Exception as e:\n logger.error(e)\n payload[\"values\"][\"oil_run_tank_level\"] = run_tanks[\"oil_0\" + str(run_tanks[\"oil_run_tank\"]) + \"_level\"]\n payload[\"values\"][\"water_run_tank_level\"] = run_tanks[\"water_0\" + str(run_tanks[\"water_run_tank\"]) + \"_level\"]\n\n for chunk in chunk_payload(payload=payload):\n publish(__topic__, json.dumps(chunk), __qos__)\n time.sleep(2)\n\n publish(\"v1/devices/me/attributes\", json.dumps({\"latestReportTime\": (round(dt.timestamp(dt.now())/600)*600)*1000}), __qos__)\n\n", "cloudName": "default", "msgType": 0 }, { "name": "sendAlarm", "trigger": "warning_event", "topic": "v1/devices/me/telemetry", "qos": 1, "funcName": "sendAlarm", "script": "# Enter your python code.\nimport json, time\nfrom common.Logger import logger\nfrom quickfaas.remotebus import publish\n\n\ndef sendAlarm(message):\n logger.info(message)\n payload = {}\n payload[\"ts\"] = time.time()*1000\n payload[\"values\"] = {message[\"measureName\"]: message[\"value\"]}\n publish(__topic__, json.dumps(payload), __qos__)", "alarms": [ "default" ], "msgType": 0, "cloudName": "default" } ], "downloadFuncs": [ { "name": "Commands", "topic": "v1/devices/me/rpc/request/+", "qos": 1, "funcName": "receiveCommand", "payload_type": "JSON", "script": "import json, time\nfrom datetime import datetime as dt\nfrom quickfaas.measure import recall, write\nfrom quickfaas.remotebus import publish\nfrom common.Logger import logger\n\n# Helper function to split the payload into chunks\ndef chunk_payload(payload, chunk_size=20):\n chunked_values = list(payload[\"values\"].items())\n for i in range(0, len(chunked_values), chunk_size):\n yield {\n \"ts\": payload[\"ts\"],\n \"values\": dict(chunked_values[i:i+chunk_size])\n }\n\ndef sync():\n #get new values and send\n payload = {\"ts\": round(dt.timestamp(dt.now()))*1000, \"values\": {}}\n topic = \"v1/devices/me/telemetry\"\n try:\n data = recall()#json.loads(recall().decode(\"utf-8\"))\n except Exception as e:\n logger.error(e)\n logger.debug(data)\n for controller in data:\n for measure in controller[\"measures\"]:\n #publish measure\n payload[\"values\"][measure[\"name\"]] = measure[\"value\"]\n logger.debug(\"Sending on topic: {}\".format(topic))\n logger.debug(\"Sending value: {}\".format(payload))\n for chunk in chunk_payload(payload=payload):\n publish(topic, json.dumps(chunk), 1)\n time.sleep(2)\n \ndef writeplctag(value):\n #value in the form {\"measurement\": , \"value\": }\n try:\n #value = json.loads(value.replace(\"'\",'\"'))\n logger.debug(value)\n #payload format: [{\"name\": \"advvfdipp\", \"measures\": [{\"name\": \"manualfrequencysetpoint\", \"value\": 49}]}]\n message = [{\"name\": \"hrtankbattery\", \"measures\":[{\"name\":value[\"measurement\"], \"value\": value[\"value\"]}]}]\n resp = write(message) \n logger.debug(\"RETURN FROM WRITE: {}\".format(resp))\n return True\n except Exception as e:\n logger.debug(e)\n return False\n \ndef receiveCommand(topic, payload):\n try:\n logger.debug(topic)\n logger.debug(json.loads(payload))\n p = json.loads(payload)\n command = p[\"method\"]\n commands = {\n \"sync\": sync,\n \"writeplctag\": writeplctag,\n } \n if command == \"setPLCTag\":\n try:\n result = commands[\"writeplctag\"](p[\"params\"])\n logger.debug(result)\n except Exception as e:\n logger.error(e)\n #logger.debug(command)\n ack(topic.split(\"/\")[-1])\n time.sleep(5)\n sync()\n except Exception as e:\n logger.debug(e)\n \n\ndef ack(msgid):\n #logger.debug(msgid)\n #logger.debug(mac)\n #logger.debug(name)\n #logger.debug(value)\n publish(\"v1/devices/me/rpc/response/\" + str(msgid), json.dumps({\"msg\": {\"time\": time.time()}, \"metadata\": \"\", \"msgType\": \"\"}), 1)\n\n", "msgType": 0, "trigger": "command_event", "cloudName": "default" } ] }, "labels": [ { "key": "SN", "value": "GF5022228018995" }, { "key": "MAC", "value": "00:18:05:22:9c:ee" } ], "modbusSlave": { "enable": 1, "protocol": "Modbus-TCP", "port": 502, "slaveAddr": 1, "int16Ord": "ab", "int32Ord": "abcd", "float32Ord": "abcd", "maxConnection": 5, "mapping_table": [] }, "modbusRTUSlave": { "enable": 0, "protocol": "Modbus-RTU", "coms": "rs485", "slaveAddr": 1, "int16Ord": "ab", "int32Ord": "abcd", "float32Ord": "abcd", "mapping_table": [] }, "iec104Server": { "enable": 0, "cotSize": 2, "port": 2404, "serverList": [ { "asduAddr": 1 } ], "kValue": 12, "wValue": 8, "t0": 15, "t1": 15, "t2": 10, "t3": 20, "maximumLink": 5, "timeSet": 1, "byteOrder": "abcd", "mapping_table": [] }, "iec101Server": { "enable": 0, "coms": "rs485", "mode": "UnBalance", "linkLen": 2, "linkAddr": 1, "asduLen": 2, "ioaLen": 3, "cotLen": 2, "serverList": [ { "asduAddr": 1 } ], "linkTimeOut": 2000, "timeSet": 1, "idleTimeOut": 10000, "byteOrder": "abcd", "mapping_table": { "YX": [], "YC": [], "YK": [] } }, "iec104Client": { "enable": 0, "connectType": 2, "serverAddr": "ipower.inhandcloud.cn", "serverPort": 2404, "communicationCode": "", "protocol": 1, "asduAddr": 1, "tls": 0, "mapping_table": { "YX": [], "YC": [], "YK": [] } }, "opcuaServer": { "enable": 0, "port": 4840, "maximumLink": 5, "securityMode": 0, "identifierType": "String", "certificate": "None", "privateKey": "None", "pubsub": 0, "mapping_table": [] }, "sl651Slave": { "enable": 0, "centerAaddr": 1, "remoteAddr": "", "addrCode": "", "password": "", "platform_list": [], "mapping_table": [] }, "hj212Client": { "enable": 0, "platform_list": [], "block_list": [], "mapping_table": [] }, "southMetadata": {}, "bindMetadata": { "version": "", "timestamp": "" }, "bindConfig": { "enable": 0, "bind": { "modelId": "", "modelName": "", "srcId": "", "srcName": "", "devId": "", "devName": "" }, "varGroups": [], "variables": [], "alerts": [] }, "templates": {}, "version": "2.7.1" }