@@ -105,6 +105,9 @@ def get_preset_colors(self):
105105 "MC1IVC_IQ_Vector" : "silver" ,
106106 "MC1BEM_BEMFD_Vector" : "gold" ,
107107 "MC1BEM_BEMFQ_Vector" : "coral" ,
108+ "MC1_Bus_Power_W" : "darkred" ,
109+ "MC1_Mechanical_Power_W" : "forestgreen" ,
110+ "MC1_Efficiency_Pct" : "goldenrod" ,
108111
109112 # -----------------------------
110113 # Motor Controller 2
@@ -128,6 +131,12 @@ def get_preset_colors(self):
128131 "MC2IVC_IQ_Vector" : "silver" ,
129132 "MC2BEM_BEMFD_Vector" : "gold" ,
130133 "MC2BEM_BEMFQ_Vector" : "coral" ,
134+ "MC2_Bus_Power_W" : "firebrick" ,
135+ "MC2_Mechanical_Power_W" : "seagreen" ,
136+ "MC2_Efficiency_Pct" : "mediumvioletred" ,
137+ "Motors_Total_Bus_Power_W" : "slateblue" ,
138+ "Motors_Total_Mechanical_Power_W" : "teal" ,
139+ "Motors_Average_Efficiency_Pct" : "darkorange" ,
131140
132141 # -----------------------------
133142 # Battery Pack 1 & 2
@@ -141,6 +150,11 @@ def get_preset_colors(self):
141150 "BP_ISH_Amps" : "red" ,
142151 "BP_PVS_Ah" : "purple" ,
143152 "BP_PVS_milliamp/s" : "magenta" ,
153+ "Battery_String_Imbalance_V" : "crimson" ,
154+ "Battery_String_Imbalance_Pct" : "darkmagenta" ,
155+ "Battery_Pack_Power_W" : "steelblue" ,
156+ "Battery_Pack_Power_kW" : "turquoise" ,
157+ "Battery_C_Rate" : "chocolate" ,
144158
145159 # -----------------------------
146160 # Remaining Capacity
@@ -250,6 +264,13 @@ def init_ui(self):
250264 TelemetryKey .SHUNT_REMAINING_AH .value [0 ], TelemetryKey .USED_AH_REMAINING_AH .value [0 ],
251265 TelemetryKey .SHUNT_REMAINING_WH .value [0 ], TelemetryKey .USED_AH_REMAINING_WH .value [0 ],
252266 TelemetryKey .SHUNT_REMAINING_TIME .value [0 ], TelemetryKey .USED_AH_REMAINING_TIME .value [0 ]
267+ ],
268+ "Insights" : [
269+ TelemetryKey .MC1_BUS_POWER_W .value [0 ], TelemetryKey .MC1_MECHANICAL_POWER_W .value [0 ], TelemetryKey .MC1_EFFICIENCY_PCT .value [0 ],
270+ TelemetryKey .MC2_BUS_POWER_W .value [0 ], TelemetryKey .MC2_MECHANICAL_POWER_W .value [0 ], TelemetryKey .MC2_EFFICIENCY_PCT .value [0 ],
271+ TelemetryKey .MOTORS_TOTAL_BUS_POWER_W .value [0 ], TelemetryKey .MOTORS_TOTAL_MECHANICAL_POWER_W .value [0 ], TelemetryKey .MOTORS_AVERAGE_EFFICIENCY_PCT .value [0 ],
272+ TelemetryKey .BATTERY_STRING_IMBALANCE_V .value [0 ], TelemetryKey .BATTERY_STRING_IMBALANCE_PCT .value [0 ],
273+ TelemetryKey .BATTERY_PACK_POWER_W .value [0 ], TelemetryKey .BATTERY_PACK_POWER_KW .value [0 ], TelemetryKey .BATTERY_C_RATE .value [0 ]
253274 ]
254275 }
255276
@@ -279,6 +300,11 @@ def init_ui(self):
279300 self .units , self .color_mapping )
280301 self .tabs .addTab (self .remaining_tab , "Battery Remaining Capacity" )
281302
303+ self .insights_tab = GraphTab ("Insights" ,
304+ graph_groups ["Insights" ],
305+ self .units , self .color_mapping )
306+ self .tabs .addTab (self .insights_tab , "Insights" )
307+
282308 # Data Table Tab
283309 data_table_groups = {
284310 "Motor Controllers" : [
@@ -500,6 +526,7 @@ def update_all_tabs(self, telemetry_data: dict):
500526 self .pack1_tab .update_graphs (graph_data )
501527 self .pack2_tab .update_graphs (graph_data )
502528 self .remaining_tab .update_graphs (graph_data )
529+ self .insights_tab .update_graphs (graph_data )
503530 self .data_table_tab .update_data (telemetry_data )
504531 self .data_display_tab .update_display (telemetry_data )
505532 self .custom_data_table_tab .update_data (telemetry_data )
0 commit comments