Spaces:
Running
Running
import streamlit as st | |
import json | |
import pandas as pd | |
import plotly.express as px | |
import requests | |
from datetime import datetime | |
import plotly.graph_objects as go | |
import os | |
import logging | |
# Configure the main page | |
st.set_page_config( | |
page_title="Energy Data Analysis Dashboard", | |
page_icon="⚡", | |
layout="wide", | |
initial_sidebar_state="expanded" | |
) | |
DEFAULT_TOKEN = os.getenv('NILM_API_TOKEN') | |
#DEFAULT_TOKEN = 'p2s8X9qL4zF7vN3mK6tR1bY5cA0wE3hJ' | |
print(DEFAULT_TOKEN) | |
logger = logging.getLogger("Data cellar demo") | |
logger.info(f"token : {DEFAULT_TOKEN}") | |
# Initialize session state variables | |
if 'api_token' not in st.session_state: | |
st.session_state.api_token = DEFAULT_TOKEN | |
if 'current_file' not in st.session_state: | |
st.session_state.current_file = None | |
if 'json_data' not in st.session_state: | |
st.session_state.json_data = None | |
if 'api_response' not in st.session_state: | |
st.session_state.api_response = None | |
# Sidebar configuration | |
with st.sidebar: | |
st.markdown("## API Configuration") | |
api_token = st.text_input("API Token", value=st.session_state.api_token, type="password") | |
if api_token: | |
st.session_state.api_token = api_token | |
st.markdown(""" | |
## About | |
This dashboard provides analysis of energy data through various services | |
including NILM analysis, consumption and production forecasting. | |
""") | |
# Main page content | |
st.title("Energy Data Analysis Dashboard") | |
# Welcome message and service descriptions | |
st.markdown(""" | |
Welcome to the Energy Data Analysis Dashboard! This platform provides comprehensive tools for analyzing energy consumption and production data. | |
### Available Services | |
You can access the following services through the navigation menu on the left: | |
#### 1. Energy Consumption Forecasting | |
- **Short Term**: Predict energy consumption patterns in the near future | |
- **Long Term**: Generate long-range consumption forecasts | |
#### 2. Energy Production Analysis | |
- **Short Term Production**: Forecast PV panel energy production | |
- **NILM Analysis**: Non-intrusive load monitoring for detailed consumption breakdown | |
#### 3. Advanced Analytics | |
- **Anomaly Detection**: Identify unusual patterns in energy consumption | |
### Getting Started | |
1. Select a service from the navigation menu on the left | |
2. Upload your energy data file in JSON format | |
3. Configure your API token if needed | |
4. Run the analysis and explore the results | |
Each service page provides specific visualizations and analytics tailored to your needs. | |
""") | |
# Add version info and additional resources in an expander | |
with st.expander("Additional Information"): | |
st.markdown(""" | |
### Usage Tips | |
- Ensure your data is in the correct JSON format | |
- Keep your API token secure | |
- Use the visualization tools to explore your data | |
- Export results for further analysis | |
### Support | |
For technical support or questions about the services, please contact your system administrator. | |
""") | |
# Footer | |
st.markdown(""" | |
--- | |
Made with ❤️ by LINKS Foundation | |
""") | |