Spaces:
Sleeping
Sleeping
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) | |