Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| from simple_salesforce import Salesforce | |
| # Salesforce connection | |
| sf = Salesforce(username='greenenergy@vedavathi.com', password='Vedavathi@04', security_token='jqe4His8AcuFJucZz5NBHfGU') | |
| print("Connected to salesforce successfully") | |
| # Fetch Pole and Alert data | |
| def fetch_salesforce_data(): | |
| pole_query = "SELECT Name, Solar_Generation__c, Wind_Generation__c, Tilt__c, Vibration__c, Power_Required__c, Power_Sufficient__c, Camera_Status__c, Health_Score__c, Location_Latitude__c, Location_Longitude__c FROM Pole" | |
| alert_query = "SELECT Alert_Level__c, Anomalies__c, Health_Score__c, Timestamp__c, Pole__c FROM Alert" | |
| pole_data = sf.query(pole_query)['records'] | |
| alert_data = sf.query(alert_query)['records'] | |
| # Convert to DataFrames | |
| pole_df = pd.DataFrame(pole_data) | |
| alert_df = pd.DataFrame(alert_data) | |
| return pole_df, alert_df | |
| # Display Tabular Data | |
| def display_pole_data(pole_df): | |
| st.subheader("π Pole Monitoring Table") | |
| st.dataframe(pole_df, use_container_width=True) | |
| # Display Charts | |
| def display_charts(pole_df): | |
| st.subheader("βοΈ Energy Generation Trends") | |
| st.bar_chart(pole_df[['Solar_Generation__c', 'Wind_Generation__c']].set_index('Pole__c')) | |
| st.subheader("π Tilt vs Vibration") | |
| st.scatter_chart(pole_df[['Tilt__c', 'Vibration__c']].set_index('Pole__c')) | |
| # Main function to run the dashboard | |
| def main(): | |
| st.set_page_config(page_title="Pole Monitoring Dashboard", layout="wide") | |
| st.title("π‘ Pole Monitoring Dashboard") | |
| pole_df, alert_df = fetch_salesforce_data() | |
| # Display Data | |
| display_pole_data(pole_df) | |
| display_charts(pole_df) | |
| if __name__ == "__main__": | |
| main() | |