StefanoBergia's picture
fixed typo
b404dba
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
""")