Installer æneria¶
Tout d’abord pour utiliser æneria,
- Vous devez avoir accès à un Linky et à un compte Enedis
- Via ce compte, vous devez activer l’option Courbe de charge pour pouvoir avoir accès à votre consommation horaire
Installation via YunoHost¶
YunoHost est un projet ayant pour but de promouvoir l’autohébergement. Son but est de faciliter l’administration d’un serveur : en savoir plus

Des nombreuses applications sont déjà packagées pour être utilisées avec et c’est le cas de æneria.

Installation à la main¶
æneria est une application basée sur le framework Symfony. Elle s’installe sur un serveur web disposant d’un PHP récent et d’un serveur de base de données PostgreSQL.
Prérequis¶
- PHP 7.3 et supérieur
- PostgreSQL (9.6 et supérieur)
Note
MySQL et SQLite devraient fonctionner mais vous aurez à adapter les fichiers .env
& config/packages/doctrine.yaml
Il n’est pas prévu que æneria Les supporte officiellement.
Avertissement
Les migrations de æneria sont uniquement générées pour PostgreSQL, si vous utilisez un autre type de serveur, gardez à l’esprit qu’il faudra vérifier chaque migration avant de la lancer !
Installation¶
Retrouvez les différentes versions d’æneria sur son dépos Gitlab sur la page des Releases.
Les différentes versions accompagnées de leurs dépendances Composer et des assets compilés sont disponibles sur le dépot d’æneria
1. Récupérer les sources¶
Téléchargez et décompressez le dernière version au format tar.gz :
wget http://statics.aeneria.com/aeneria-app-latest.tar.gz
tar -xvzf aeneria-app-latest.tar.gz
rm aeneria-app-latest.tar.gz
cd aeneria-app
2. Créer et renseigner la base de données¶
Créez une base de données.
Copiez le fichier .env.dist
puis adaptez-le :
cp .env.dist .env
# fichier .env
...
###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For PostgreSQL database use: "pgsql://[database_user]:[database_password]@127.0.0.1:5432/[database_name]
# For MySQL database use: "mysql://[database_user]:[database_password]@127.0.0.1:3306/[database_name]
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=[VOTRE CONFIG ICI]
###< doctrine/doctrine-bundle ###
...
Adaptez également le fichier config/packages/doctrine.yaml
si votre serveur de base de données n’est pas PostgreSQL :
# fichier config/packages/doctrine.yaml
...
# Renseigner ici les info de votre dbal
doctrine:
dbal:
# Configure these for your database server
# Mysql
# driver: 'pdo_mysql'
# server_version: '5.2'
# charset: utf8mb4
# default_table_options:
# charset: utf8mb4
# collate: utf8mb4_unicode_ci
# PostgreSQL
driver: 'pdo_pgsql'
server_version: '9.6'
charset: utf8
#SQLLite
# driver: pdo_sqlite
# charset: utf8
...
3. Générer la base de données¶
Lancez le commande d’installation d’aeneria :
php7.3 bin/console aeneria:install
4. Configurer Enedis Data-connect¶
æneria utilise l’API Enedis Data Connect pour obtenir les données de consommation d’électricité. Mais pour utiliser cette API il est nécessaire d’avoir un compte. Seulement, pour ouvrir un compte sur la Data Hub d’Enedis, il faut être une entreprise, une association ou une collectivité locale.
Pour permettre à tout le monde d’utiliser æneria, un proxy a été développé pour qu’une instance d’æneria puisse bénéficier du compte d’aeneria.com.
Au lieu d’utiliser le comportement classique pour se connecter à Enedis :
votre instance æneria <=[via vos propres idientifiants de connexion enedis]=> Enedis Data Connect
Vous pouvez configurez votre instance comme ça :
votre instance æneria <=> proxy.aeneria.com <=[via les idientifiants de connexion d'aeneria.com]=> Enedis Data Connect
Il y a donc 2 sortes de mode :
Soit vous créez un compte Enedis et vous renseignez vos informations de connexion de cette manière dans le fichier .env :
# fichier .env
...
ENEDIS_CLIENT_ID=[votreClientIdEnedis]
ENEDIS_CLIENT_SECRET=[votreClientSecretEnedis]
ENEDIS_REDIRECT_URI=[votreRedirectUriEnedis]
ENEDIS_ENDPOINT_AUTH=https://mon-compte-particulier.enedis.fr
ENEDIS_ENDPOINT_TOKEN=https://gw.prd.api.enedis.fr
ENEDIS_ENDPOINT_DATA=https://gw.prd.api.enedis.fr
...
Note
Pour obtenir vos propres identifiants de connexion, rendez-vous sur le Data Hub d’Enedis
Soit vous utilisez proxy.aeneria.com en utilisant cette configuration
# fichier .env
...
ENEDIS_ENDPOINT_AUTH=https://proxy.aeneria.com/enedis-data-connect
ENEDIS_ENDPOINT_TOKEN=https://proxy.aeneria.com/enedis-data-connect
ENEDIS_ENDPOINT_DATA=https://gw.prd.api.enedis.fr
...
Avertissement
proxy.aeneria.com est un serveur communautaire fourni à titre gracieux.
Merci de l’utiliser raisonnablement et dans un cadre privé non-commercial.
Nous nous réservons le droit de bannir de ce serveur les instances qui en feront un usage trop intensif, et ce sans explications et sans avertissement.
5. Créer un administrateur¶
Ajoutez une premier utilisateur et donnez-lui les droits administrateur :
php7.3 bin/console aeneria:user:add [admin_email] [password]
php7.3 bin/console aeneria:user:grant [admin_email]
6. Générer l’ensemble des flux Météo (facultatif - usage avancée)¶
Danger
Cette fonctionnalité correspond à un usage avancée. Testez d’abord æneria sans l’utiliser.
Si vous le souhaitez, vous pouvez créer l’ensemble des flux météo pour l’utilisateur admin. L’intérêt est de commencer à stocker toutes les données météo dès l’installation de l’instance. Un utilisateur qui créée son compte dans le futur aura directement accès à l’ensemble de données météos depuis l’installation d’æneria. Par contre, en faisant ça, l’ensemble des données des 62 stations Météo sera historisé, ce qui augmente la taille de la base de données.
Pour ça, lancer la commande suivante :
php7.3 bin/console aeneria:feed:meteo:generate-all [username]
Note
Les données Météo étant des données publiques, il n’y a pour elles pas de problème de confidentialité.
Pour simplifier les traitements, les données des flux météo ne sont jamais supprimées. Si vous souhaitez
quand même les supprimer, vous pouver le faire en utilisant la commande aeneria:feed:clean-orphans
.
Avertissement
L’adresse générée par cette commande n’est pas destinée à ensuite être utilisée via l’interface d’æneria. Elle a pour unique but de définir une première fois l’ensemble des stations météo.
7. Mettre en place le CRON¶
Mettez en place le CRON en exécutant la commande suivante :
echo "*/10 * * * * [user] php7.3 /[app_folder]/bin/console aeneria:fetch-data" > /etc/cron.d/aeneria
# où [user] est l'utilisateur linux qui lancera le cron