Spaces:
Sleeping
Sleeping
File size: 1,270 Bytes
ac922de 4b04ec0 ac922de 4b04ec0 ac922de 4b04ec0 ac922de 4b04ec0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import streamlit as st
from salesforce_integration import fetch_poles
import plotly.express as px
from modules.visuals import display_dashboard, display_charts
st.title("π‘ VIEP Smart Poles Dashboard (Salesforce Data)")
# Fetch Data
df = fetch_poles()
# Display Table with extra fields
st.subheader("π Pole Table")
st.dataframe(df[[
"Name",
"Solar_Generation__c",
"Wind_Generation__c",
"Camera_Status__c",
"Longitude__c",
"Latitude__c",
"Last_Check_Time__c"
]])
# Energy Generation Chart
st.subheader("β Energy Generation (Solar vs Wind)")
st.plotly_chart(
px.bar(
df,
x="Name",
y=["Solar_Generation__c", "Wind_Generation__c"],
barmode="group",
title="Solar vs Wind Energy by Pole"
)
)
# Camera Status Visualization (Only once, horizontal bar)
st.subheader("π₯ Camera Status Overview")
camera_counts = df["Camera_Status__c"].value_counts().reset_index()
camera_counts.columns = ["Status", "Count"]
fig_camera_status = px.bar(
camera_counts,
x="Count",
y="Status",
orientation="h",
color="Status",
text="Count",
title="Camera Status Distribution"
)
st.plotly_chart(fig_camera_status)
# Custom Visuals
display_dashboard(df)
display_charts(df)
|