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 """)