Spaces:
Sleeping
Sleeping
File size: 1,313 Bytes
50bfbc4 b76a355 50bfbc4 b76a355 50bfbc4 |
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 |
from simple_salesforce import Salesforce
import pandas as pd
def connect_salesforce():
return Salesforce(
username='[email protected]',
password='Vedavathi@04',
security_token='jqe4His8AcuFJucZz5NBHfGU'
)
def fetch_pole_data_from_salesforce(sf):
query = """
SELECT Name, Solar_Generation__c, Wind_Generation__c, Power_Required__c,
Camera_Status__c, Tilt__c, Vibration__c, Alert_Level__c, Power_Sufficient__c
FROM SmartPole__c
LIMIT 50
"""
result = sf.query(query)
records = result['records']
data = []
for r in records:
data.append({
"Pole ID": r['Name'],
"Solar Gen (kWh)": r.get('Solar_Generation__c', 0),
"Wind Gen (kWh)": r.get('Wind_Generation__c', 0),
"Power Required (kWh)": r.get('Power_Required__c', 0),
"Power Sufficient": r.get('Power_Sufficient__c', "No"),
"Camera Status": r.get('Camera_Status__c', "Offline"),
"Tilt (°)": r.get('Tilt__c', 0),
"Vibration (g)": r.get('Vibration__c', 0),
"Anomalies": "N/A", # Optional: You can add your logic
"Alert Level": r.get('Alert_Level__c', "Green"),
"Date": pd.Timestamp.today().date()
})
return pd.DataFrame(data)
|