Spaces:
Sleeping
Sleeping
File size: 1,421 Bytes
aef9f14 50bfbc4 aef9f14 50bfbc4 aef9f14 50bfbc4 aef9f14 50bfbc4 aef9f14 50bfbc4 aef9f14 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 38 |
import os
import pandas as pd
from simple_salesforce import Salesforce
def connect_salesforce():
return Salesforce(
username=os.getenv("SF_USERNAME", "greenenergy@vedavathi.com"),
password=os.getenv("SF_PASSWORD", "Vedavathi@04"),
security_token=os.getenv("SF_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 YourObjectAPI__c
LIMIT 50
""" # Replace 'YourObjectAPI__c' with correct object name
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",
"Alert Level": r.get('Alert_Level__c', "Green"),
"Date": pd.Timestamp.today().date()
})
return pd.DataFrame(data)
|