Aller au contenu principal

MyElectricalData

Accédez à vos données Linky en toute simplicité

MyElectricalData est une passerelle API sécurisée qui permet aux particuliers français d'accéder à leurs données de consommation et de production électrique via les API professionnelles Enedis.

🚀 Démarrage rapide​

import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';

# Cloner le repository
git clone https://github.com/MyElectricalData/myelectricaldata_new.git
cd myelectricaldata_new

# Configurer les identifiants MyElectricalData API
cp .env.local-client.example .env
nano .env

# Démarrer les services
docker compose up -d

# Accéder à l'application
open http://localhost:8100
# Cloner le repository
git clone https://github.com/MyElectricalData/myelectricaldata_new.git
cd myelectricaldata_new

# Configurer les identifiants Enedis/RTE
cp apps/api/.env.example apps/api/.env.docker
nano apps/api/.env.docker

# Démarrer les services (PostgreSQL et Valkey à fournir)
docker compose -f docker-compose.server.yml --env-file apps/api/.env.docker up -d

# Accéder à l'application
open http://localhost:8000
# Mode Client
helm install myelectricaldata ./helm/myelectricaldata-client \
--set secrets.med.clientId.value=xxx \
--set secrets.med.clientSecret.value=xxx

# Mode Serveur
helm install myelectricaldata ./helm/myelectricaldata-server \
--set secrets.enedis.clientId.value=xxx \
--set secrets.enedis.clientSecret.value=xxx

📚 Documentation​

Guides par mode​

ModeDescriptionDocumentation
Mode ClientInstallation locale mono-utilisateurDocumentation Client
Mode ServeurGateway multi-utilisateurs avec API EnedisDocumentation Serveur

Ressources générales​

SectionDescription
APIs ExternesDocumentation des API Enedis DataHub et RTE
Design SystemRègles de design et composants UI
PagesGuide de conception des pages de l'application

✨ Fonctionnalités principales​

📊 Consultation des données​

  • Consommation : Visualisez votre consommation quotidienne, mensuelle et annuelle
  • Production : Suivez votre production solaire (si applicable)
  • Puissance max : Analysez vos pics de puissance

💰 Simulateur de tarifs​

  • Comparez les offres BASE, HC/HP et TEMPO
  • Calcul basé sur votre consommation réelle
  • Support de 130+ offres de 4 fournisseurs

📅 Données TEMPO & Ecowatt​

  • Couleurs des jours TEMPO (bleu, blanc, rouge)
  • Alertes Ecowatt pour les tensions réseau
  • Historique et prévisions

🏗️ Architecture​

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│ Frontend │────▶│ Backend │────▶│ Enedis API │
│ React/Vite │ │ FastAPI │ │ DataHub │
└─────────────┘ └─────────────┘ └─────────────┘
│
┌──────┴──────┐
│ Cache │
│ (Redis) │
└─────────────┘
  • Frontend : React 18 + TypeScript + Vite + TailwindCSS
  • Backend : FastAPI + SQLAlchemy + Pydantic
  • Base de données : PostgreSQL ou SQLite
  • Cache : Redis avec chiffrement Fernet

🔐 Sécurité​

  • Isolation des données : Chaque utilisateur n'accède qu'à ses propres PDL
  • Chiffrement Fernet : Données en cache chiffrées avec la clé secrète de l'utilisateur
  • OAuth2 : Flux de consentement Enedis sécurisé
  • Rate limiting : Protection contre les abus

🏠 Client Local (domotique)​

Installez le Client Local chez vous pour intégrer vos données Linky dans votre système domotique :

  • Home Assistant : Energy Dashboard, entités automatiques
  • MQTT : Compatible avec tout broker MQTT
  • VictoriaMetrics : Métriques Prometheus pour Grafana

➡️ Documentation du Client Local

🖥️ Mode Serveur (Gateway)​

Déployez votre propre gateway multi-utilisateurs avec accès direct aux API Enedis :

  • Multi-utilisateurs : Gestion complète des comptes et rôles
  • OAuth2 Enedis : Consentement et tokens automatiques
  • Administration : Interface complète (users, offres, logs)
  • Simulateur : Comparaison de 130+ offres tarifaires

➡️ Documentation du Mode Serveur

📖 Ressources​

🤝 Contribution​

Le projet est open-source. Les contributions sont les bienvenues sur GitHub.