updated gateway config

This commit is contained in:
Nico Melone
2023-08-02 14:31:22 -05:00
parent c25bca478f
commit 5119013b6e
5 changed files with 80 additions and 20 deletions

BIN
Pub_Sub/.DS_Store vendored

Binary file not shown.

View File

@@ -1,21 +1,21 @@
MeasuringPointName,ControllerName,GroupName,UploadType,DataType,Address,Decimal,Len,ReadWrite,Unit,Description,Transform Type,MaxValue,MinValue,MaxScale,MinScale,Gain,Offset,startBit,endBit
pump_1_daily_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_Daily_Flow_Rate_Total,2,1,ro,,,none,,,,,,,,
pump_1_run_status,Pond_A,dual_flowmeter,periodic,BIT,Pump_1_Run_Status,2,1,ro,,,none,,,,,,,,
pump_1_flowrate,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_SCL_Flow_Meter,2,1,ro,,,none,,,,,,,,
pump_1_yesterdays_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_Yesterdays_Total,2,1,ro,,,none,,,,,,,,
pump_1_prevmonth_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_PrevMonth_Total,2,1,ro,,,none,,,,,,,,
pump_1_month_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_Current_Month_Total,2,1,ro,,,none,,,,,,,,
pump_1_lifetime_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_1_Lifetime_Flow,2,1,ro,,,none,,,,,,,,
pump_1_suction,Pond_A,dual_flowmeter,periodic,FLOAT,Suction_PSI_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pump_2_daily_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_Daily_Flow_Rate_Total,2,1,ro,,,none,,,,,,,,
pump_2_run_status,Pond_A,dual_flowmeter,periodic,BIT,Pump_2_Run_Status,2,1,ro,,,none,,,,,,,,
pump_2_flowrate,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_SCL_Flow_Meter,2,1,ro,,,none,,,,,,,,
pump_2_yesterdays_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_Yesterdays_Total,2,1,ro,,,none,,,,,,,,
pump_2_prevmonth_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_PrevMonth_Total,2,1,ro,,,none,,,,,,,,
pump_2_month_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_Current_Month_Total,2,1,ro,,,none,,,,,,,,
pump_2_lifetime_total,Pond_A,dual_flowmeter,periodic,FLOAT,Pump_2_Lifetime_Flow,2,1,ro,,,none,,,,,,,,
pump_2_suction,Pond_A,dual_flowmeter,periodic,FLOAT,Suction_PSI_TP2_Scaled,2,1,ro,,,none,,,,,,,,
pump_charge_psi_tp1,Pond_A,dual_flowmeter,periodic,FLOAT,Charge_PSI_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pond_1_height,Pond_A,dual_flowmeter,periodic,FLOAT,Pond_level_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pond_1_volume,Pond_A,dual_flowmeter,periodic,FLOAT,pond1Volume,2,1,ro,,,none,,,,,,,,
charge_pump_run_status,Pond_A,dual_flowmeter,periodic,BIT,CHARGE_PUMP_Run_Status,2,1,ro,,,none,,,,,,,,
pump_1_daily_total,Tree_Pond,default,periodic,FLOAT,Pump_1_Daily_Flow_Rate_Total,2,1,ro,,,none,,,,,,,,
pump_1_run_status,Tree_Pond,default,periodic,BIT,Pump_1_Run_Status,2,1,ro,,,none,,,,,,,,
pump_1_flowrate,Tree_Pond,default,periodic,FLOAT,Pump_1_SCL_Flow_Meter,2,1,ro,,,none,,,,,,,,
pump_1_yesterdays_total,Tree_Pond,default,periodic,FLOAT,Pump_1_Yesterdays_Total,2,1,ro,,,none,,,,,,,,
pump_1_prevmonth_total,Tree_Pond,default,periodic,FLOAT,Pump_1_PrevMonth_Total,2,1,ro,,,none,,,,,,,,
pump_1_month_total,Tree_Pond,default,periodic,FLOAT,Pump_1_Current_Month_Total,2,1,ro,,,none,,,,,,,,
pump_1_lifetime_total,Tree_Pond,default,periodic,FLOAT,Pump_1_Lifetime_Flow,2,1,ro,,,none,,,,,,,,
pump_1_suction,Tree_Pond,default,periodic,FLOAT,Suction_PSI_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pump_2_daily_total,Tree_Pond,default,periodic,FLOAT,Pump_2_Daily_Flow_Rate_Total,2,1,ro,,,none,,,,,,,,
pump_2_run_status,Tree_Pond,default,periodic,BIT,Pump_2_Run_Status,2,1,ro,,,none,,,,,,,,
pump_2_flowrate,Tree_Pond,default,periodic,FLOAT,Pump_2_SCL_Flow_Meter,2,1,ro,,,none,,,,,,,,
pump_2_yesterdays_total,Tree_Pond,default,periodic,FLOAT,Pump_2_Yesterdays_Total,2,1,ro,,,none,,,,,,,,
pump_2_prevmonth_total,Tree_Pond,default,periodic,FLOAT,Pump_2_PrevMonth_Total,2,1,ro,,,none,,,,,,,,
pump_2_month_total,Tree_Pond,default,periodic,FLOAT,Pump_2_Current_Month_Total,2,1,ro,,,none,,,,,,,,
pump_2_lifetime_total,Tree_Pond,default,periodic,FLOAT,Pump_2_Lifetime_Flow,2,1,ro,,,none,,,,,,,,
pump_2_suction,Tree_Pond,default,periodic,FLOAT,Suction_PSI_TP2_Scaled,2,1,ro,,,none,,,,,,,,
pump_charge_psi_tp1,Tree_Pond,default,periodic,FLOAT,Charge_PSI_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pond_1_height,Tree_Pond,default,periodic,FLOAT,Pond_level_TP1_Scaled,2,1,ro,,,none,,,,,,,,
pond_1_volume,Tree_Pond,default,periodic,FLOAT,pond1Volume,2,1,ro,,,none,,,,,,,,
charge_pump_run_status,Tree_Pond,default,periodic,BIT,CHARGE_PUMP_Run_Status,2,1,ro,,,none,,,,,,,,
1 MeasuringPointName ControllerName GroupName UploadType DataType Address Decimal Len ReadWrite Unit Description Transform Type MaxValue MinValue MaxScale MinScale Gain Offset startBit endBit
2 pump_1_daily_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_Daily_Flow_Rate_Total 2 1 ro none
3 pump_1_run_status Pond_A Tree_Pond dual_flowmeter default periodic BIT Pump_1_Run_Status 2 1 ro none
4 pump_1_flowrate Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_SCL_Flow_Meter 2 1 ro none
5 pump_1_yesterdays_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_Yesterdays_Total 2 1 ro none
6 pump_1_prevmonth_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_PrevMonth_Total 2 1 ro none
7 pump_1_month_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_Current_Month_Total 2 1 ro none
8 pump_1_lifetime_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_1_Lifetime_Flow 2 1 ro none
9 pump_1_suction Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Suction_PSI_TP1_Scaled 2 1 ro none
10 pump_2_daily_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_Daily_Flow_Rate_Total 2 1 ro none
11 pump_2_run_status Pond_A Tree_Pond dual_flowmeter default periodic BIT Pump_2_Run_Status 2 1 ro none
12 pump_2_flowrate Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_SCL_Flow_Meter 2 1 ro none
13 pump_2_yesterdays_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_Yesterdays_Total 2 1 ro none
14 pump_2_prevmonth_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_PrevMonth_Total 2 1 ro none
15 pump_2_month_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_Current_Month_Total 2 1 ro none
16 pump_2_lifetime_total Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pump_2_Lifetime_Flow 2 1 ro none
17 pump_2_suction Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Suction_PSI_TP2_Scaled 2 1 ro none
18 pump_charge_psi_tp1 Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Charge_PSI_TP1_Scaled 2 1 ro none
19 pond_1_height Pond_A Tree_Pond dual_flowmeter default periodic FLOAT Pond_level_TP1_Scaled 2 1 ro none
20 pond_1_volume Pond_A Tree_Pond dual_flowmeter default periodic FLOAT pond1Volume 2 1 ro none
21 charge_pump_run_status Pond_A Tree_Pond dual_flowmeter default periodic BIT CHARGE_PUMP_Run_Status 2 1 ro none

View File

@@ -0,0 +1,15 @@
MeasuringPointName,ControllerName,GroupName,UploadType,DataType,Address,Decimal,Len,ReadWrite,Unit,Description,Transform Type,MaxValue,MinValue,MaxScale,MinScale,Gain,Offset,startBit,endBit
scaled_flow_meter,Tree_13,default,periodic,FLOAT,Scaled_Flow_Meter,2,1,ro,,,none,,,,,,,,
scaled_pressure_transducer,Tree_13,default,periodic,FLOAT,Scaled_Pressure_Transducer,2,1,ro,,,none,,,,,,,,
raw_hand_input,Tree_13,default,periodic,BIT,Raw_Hand_Input,2,1,ro,,,none,,,,,,,,
raw_auto_input,Tree_13,default,periodic,BIT,Raw_Auto_Input,2,1,ro,,,none,,,,,,,,
raw_run_status,Tree_13,default,periodic,BIT,Raw_Run_Status,2,1,ro,,,none,,,,,,,,
raw_local_start,Tree_13,default,periodic,BIT,Raw_Local_Start,2,1,ro,,,none,,,,,,,,
lifetime_flow_meter_gal,Tree_13,default,periodic,FLOAT,Lifetime_Flow_Meter_Gal,2,1,ro,,,none,,,,,,,,
yesterday_flow_meter_gal,Tree_13,default,periodic,FLOAT,Totalizer_FM_Yesterday_Total_Gal,2,1,ro,,,none,,,,,,,,
today_flow_meter_gal,Tree_13,default,periodic,FLOAT,Totalizer_FM_Current_Day_Total_Gal,2,1,ro,,,none,,,,,,,,
last_month_flow_meter_gal,Tree_13,default,periodic,FLOAT,Totalizer_FM_Last_Month_Gal,2,1,ro,,,none,,,,,,,,
month_flow_meter_gal,Tree_13,default,periodic,FLOAT,Totalizer_FM_Current_Month_Gal,2,1,ro,,,none,,,,,,,,
spt_flow_meter_unit,Tree_13,default,periodic,BIT,SPT_Flow_Meter_Unit,2,1,ro,,,none,,,,,,,,
raw_overload_status,Tree_13,default,periodic,BIT,Raw_Overload_Status,2,1,ro,,,none,,,,,,,,
CMD_Cloud_Control,Tree_13,default,periodic,BIT,CMD_Cloud_Control,2,1,rw,,,none,,,,,,,,
1 MeasuringPointName ControllerName GroupName UploadType DataType Address Decimal Len ReadWrite Unit Description Transform Type MaxValue MinValue MaxScale MinScale Gain Offset startBit endBit
2 scaled_flow_meter Tree_13 default periodic FLOAT Scaled_Flow_Meter 2 1 ro none
3 scaled_pressure_transducer Tree_13 default periodic FLOAT Scaled_Pressure_Transducer 2 1 ro none
4 raw_hand_input Tree_13 default periodic BIT Raw_Hand_Input 2 1 ro none
5 raw_auto_input Tree_13 default periodic BIT Raw_Auto_Input 2 1 ro none
6 raw_run_status Tree_13 default periodic BIT Raw_Run_Status 2 1 ro none
7 raw_local_start Tree_13 default periodic BIT Raw_Local_Start 2 1 ro none
8 lifetime_flow_meter_gal Tree_13 default periodic FLOAT Lifetime_Flow_Meter_Gal 2 1 ro none
9 yesterday_flow_meter_gal Tree_13 default periodic FLOAT Totalizer_FM_Yesterday_Total_Gal 2 1 ro none
10 today_flow_meter_gal Tree_13 default periodic FLOAT Totalizer_FM_Current_Day_Total_Gal 2 1 ro none
11 last_month_flow_meter_gal Tree_13 default periodic FLOAT Totalizer_FM_Last_Month_Gal 2 1 ro none
12 month_flow_meter_gal Tree_13 default periodic FLOAT Totalizer_FM_Current_Month_Gal 2 1 ro none
13 spt_flow_meter_unit Tree_13 default periodic BIT SPT_Flow_Meter_Unit 2 1 ro none
14 raw_overload_status Tree_13 default periodic BIT Raw_Overload_Status 2 1 ro none
15 CMD_Cloud_Control Tree_13 default periodic BIT CMD_Cloud_Control 2 1 rw none

View File

@@ -0,0 +1,45 @@
# Enter your python code.
import json
from datetime import datetime as dt
from common.Logger import logger
from quickfaas.remotebus import publish
def sendData(message):
#logger.debug(message)
# Extract measures and group by ctrlName
grouped_data = {}
grouped_attributes = {}
now = (round(dt.timestamp(dt.now())/600)*600)*1000
for measure in message['measures']:
ctrlName = " ".join(measure['ctrlName'].split("_"))
name = measure['name']
value = measure['value']
health = measure['health']
#Add controller for telemetry if it doesn't exist
if ctrlName not in grouped_data:
grouped_data[ctrlName] = {}
#Add controller for attributes if it doesn't exist
if ctrlName not in grouped_attributes:
grouped_attributes[ctrlName] = {}
#Add data to temp payload if datapoint health is good
if health:
grouped_data[ctrlName][name] = value
grouped_attributes[ctrlName]["latestReportTime"] = now
#print(grouped_data)
# Transform the grouped data to desired structure
payload = {}
for key, value in grouped_data.items():
if value:
payload[key] = [{"ts": now ,"values": value}]
attributes_payload = {}
for key, value in grouped_attributes.items():
if value:
attributes_payload[key] = value
#logger.debug(payload)
publish(__topic__, json.dumps(payload), __qos__)
publish("v1/gateway/attributes", json.dumps(attributes_payload), __qos__)