Spaces:
Sleeping
Sleeping
File size: 2,091 Bytes
8ad6147 0849374 8ad6147 265c7d4 0849374 |
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 55 56 57 58 59 60 |
import streamlit as st
import pandas as pd
import numpy as np
import datetime
from simple_salesforce import Salesforce
from modules.simulator import simulate_data
from modules.filters import apply_filters
from modules.visuals import display_dashboard, display_charts
# Salesforce Authentication (replace with your Salesforce login credentials)
sf = Salesforce(username='[email protected]', password='Vedavathi@04', security_token='jqe4His8AcuFJucZz5NBHfGU')
st.set_page_config(page_title="Vedavathi Smart Pole Monitoring", layout="wide")
st.title("π‘ Vedavathi Smart Pole Monitoring - PoC Simulator")
# Sidebar for Simulation Controls
st.sidebar.header("π οΈ Simulation Controls")
num_poles = st.sidebar.slider("Number of Poles", min_value=5, max_value=50, value=10)
simulate_faults = st.sidebar.checkbox("Simulate Random Faults", value=True)
# Simulate Data for Poles
df = simulate_data(num_poles, simulate_faults)
# Sidebar for Filter Data
st.sidebar.header("π Filter Data")
alert_filter = st.sidebar.multiselect("Alert Level", ["Green", "Yellow", "Red"], default=["Green", "Yellow", "Red"])
cam_filter = st.sidebar.selectbox("Camera Status", ["All", "Online", "Offline"], index=0)
# Apply Filters
filtered_df = apply_filters(df, alert_filter, cam_filter)
# Display System Summary
display_dashboard(df)
# Pole Monitoring Table
st.subheader("π Pole Monitoring Table")
st.dataframe(filtered_df, use_container_width=True)
# Display Charts
display_charts(df)
# Salesforce Integration (e.g., fetch records from Salesforce)
def fetch_salesforce_data():
# Example: Querying Salesforce for related data
query = "SELECT Id, Name, Alert_Level__c, Camera_Status__c FROM Pole__c"
result = sf.query_all(query)
return result['records']
# Fetch Salesforce data
sf_data = fetch_salesforce_data()
# Convert the Salesforce data into a Pandas DataFrame
sf_df = pd.DataFrame(sf_data)
# Display Salesforce Data in a table format
st.subheader("π Salesforce Data")
st.dataframe(sf_df[['Name', 'Alert_Level__c', 'Camera_Status__c']], use_container_width=True)
|