{"id":7284,"date":"2026-11-14T11:55:22","date_gmt":"2026-11-14T10:55:22","guid":{"rendered":"https:\/\/olivier.hoarau.org\/?p=7284"},"modified":"2026-11-14T14:04:57","modified_gmt":"2026-11-14T13:04:57","slug":"piloter-sa-consommation-electrique-2eme-episode","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=7284","title":{"rendered":"Piloter sa consommation \u00e9lectrique (2\u00e8me \u00e9pisode)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Dans <a href=\"https:\/\/olivier.hoarau.org\/?p=7271\">le pr\u00e9c\u00e9dent \u00e9pisode<\/a> j&rsquo;avais mis en place un pilotage de la consommation \u00e9lectrique avec <strong>MyElectricalData<\/strong>, sauf qu&rsquo;il manquait quelque chose. Le tableau de bord n&rsquo;est pas corr\u00e9l\u00e9 avec les jours bleu, blanc, rouge d&rsquo;un abonnement EDF Tempo, l&rsquo;objectif est d&rsquo;aller r\u00e9cup\u00e9rer les donn\u00e9es Tempo  sur un autre site pour pouvoir relier tout \u00e7a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour ce faire, j&rsquo;ai mis en place une solution qui permet d&rsquo;agr\u00e9ger les donn\u00e9es venant du site <a href=\"https:\/\/www.myelectricaldata.fr\/\">myelectricaldata<\/a> (qui lui m\u00eame r\u00e9cup\u00e8re les informations d&rsquo;Enedis collect\u00e9es par le Linky) et les donn\u00e9es Tempo qui viennent de <a href=\"https:\/\/www.api-couleur-tempo.fr\/\">ce site<\/a>. Cette solution est bas\u00e9e sur deux outils:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.influxdata.com\/\">InfluxDB<\/a> est un syst\u00e8me de gestion de base de donn\u00e9es plus sp\u00e9cialis\u00e9e pour g\u00e9rer des structures de donn\u00e9es compos\u00e9e de mesures, de s\u00e9ries et de points. Il int\u00e8gre \u00e9galement des fonctionnalit\u00e9s de visualisation.<\/li>\n\n\n\n<li><a href=\"https:\/\/grafana.com\/\">Grafana<\/a> qui est une grosse boite \u00e0 outil d&rsquo;analyse et de visualisation de donn\u00e9es de multiples sources.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Cela permet de construire les vues comme bon nous semble. Voil\u00e0 une premi\u00e8re vue avec un graphe de consommation en kWh sur un an corr\u00e9l\u00e9 avec la couleur Tempo du jour et \u00e0 gauche avec le co\u00fbt quotidien de la consommation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"221\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?resize=474%2C221&#038;ssl=1\" alt=\"\" class=\"wp-image-7285\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?resize=1024%2C478&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?resize=300%2C140&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?resize=768%2C358&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?resize=1536%2C717&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?w=1862&amp;ssl=1 1862w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo1.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Autre vue avec la couleur Tempo du jour \u00e0 gauche et celle du lendemain \u00e0 droite et en bas la consommation et le co\u00fbt sur deux mois glissants.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7286\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?resize=1024%2C480&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?resize=300%2C141&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?resize=768%2C360&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?resize=1536%2C720&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?w=1860&amp;ssl=1 1860w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-vue-tempo2.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">J&rsquo;ai v\u00e9rifi\u00e9 sur mon compte client EDF, l&rsquo;information en kWh est juste, en revanche, je ne retrouve pas le m\u00eame co\u00fbt, pour octobre <strong>myelectricaldata<\/strong> renvoie 91,4\u20ac alors que le co\u00fbt r\u00e9el est de 116\u20ac, quant au co\u00fbt cumul\u00e9 r\u00e9el, il est de de 1328\u20ac et non 1004\u20ac. Cela fait une belle diff\u00e9rence, pour essayer de comprendre, dans les petites lignes du site EDF, je vois que le prix comprend \u00e9galement l&rsquo;abonnement et les taxes moyenn\u00e9es. De fil en aiguille je trouve que mon abonnement mensuel est \u00e0 19,7\u20ac (cf. d\u00e9tail <a href=\"https:\/\/www.hellowatt.fr\/fournisseurs\/edf\/tarif-tempo\">ici<\/a>), donc pour le mois d&rsquo;octobre j&rsquo;arrive \u00e0 111,1\u20ac calcul\u00e9 au lieu de 116\u20ac r\u00e9el et pour le montant cumul\u00e9 1220,7\u20ac au lieu de 1328\u20ac, soit 4% de diff\u00e9rence sur un mois et 8\u20ac de diff\u00e9rence sur le montant cumul\u00e9. En consid\u00e9rant une marge d&rsquo;erreur \u00e0 la hausse de 10%, \u00e7a me donne donc un r\u00e9sultat plut\u00f4t cr\u00e9dible.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">Pour configurer tout cela, on utilisera <a href=\"https:\/\/funix.org\/fr\/linux\/index.php?ref=wine#Virtualisation_avec_docker\">docker<\/a>, et on fera en sorte que tout ce beau monde discute en connexions s\u00e9curis\u00e9es <strong>SSL<\/strong>. Voici le fichier <strong>docker-compose.yaml <\/strong>sous <strong>\/etc\/myelectricaldata<\/strong> :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">services:<br\/>  myelectricaldata:<br\/>    container_name: myelectricaldata<br\/>    image: m4dm4rtig4n\/myelectricaldata:latest<br\/>    dns:<br\/>      - 1.1.1.1<br\/>      - 8.8.8.8<br\/>    restart: unless-stopped<br\/>    volumes:<br\/>      - \/etc\/myelectricaldata\/config:\/data<br\/>      - \/etc\/myelectricaldata\/influxdb_certs\/combined-ca-bundle.crt:\/etc\/ssl\/certs\/combined-ca-bundle.crt:ro<br\/>    environment:<br\/>      TZ: Europe\/Paris<br\/>      SSL_CERT_FILE: \/etc\/ssl\/certs\/combined-ca-bundle.crt<br\/>      REQUESTS_CA_BUNDLE: \/etc\/ssl\/certs\/combined-ca-bundle.crt<br\/>    ports:<br\/>      - 5000:5000<br\/><br\/>  influxdb:<br\/>    container_name: influxdb<br\/>    image: influxdb:2.7<br\/>    restart: unless-stopped<br\/>    command: influxd --tls-cert=\/etc\/ssl\/influxdb-selfsigned.crt --tls-key=\/etc\/ssl\/influxdb-selfsigned.key<br\/>    volumes:<br\/>      - \/etc\/myelectricaldata\/influxdb_data:\/var\/lib\/influxdb2<br\/>      - \/etc\/myelectricaldata\/influxdb_certs\/influxdb-selfsigned.crt:\/etc\/ssl\/influxdb-selfsigned.crt:ro<br\/>      - \/etc\/myelectricaldata\/influxdb_certs\/influxdb-selfsigned.key:\/etc\/ssl\/influxdb-selfsigned.key:ro<br\/>    environment:<br\/>      DOCKER_INFLUXDB_INIT_MODE: setup<br\/>      DOCKER_INFLUXDB_INIT_USERNAME: admin<br\/>      DOCKER_INFLUXDB_INIT_PASSWORD: mot-de-passe<br\/>      DOCKER_INFLUXDB_INIT_ORG: myelectricaldata<br\/>      DOCKER_INFLUXDB_INIT_BUCKET: myelectricaldata<br\/>      DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: MonTokenInfluxDB<br\/>      INFLUXD_TLS_CERT: \/etc\/ssl\/influxdb-selfsigned.crt<br\/>      INFLUXD_TLS_KEY: \/etc\/ssl\/influxdb-selfsigned.key<br\/>    ports:<br\/>      - 8086:8086<br\/><br\/>  grafana:<br\/>    container_name: grafana<br\/>    image: grafana\/grafana:latest<br\/>    restart: unless-stopped<br\/>    volumes:<br\/>      - \/etc\/myelectricaldata\/grafana_data:\/var\/lib\/grafana<br\/>      - \/etc\/myelectricaldata\/grafana_certs:\/etc\/grafana\/certs:ro<br\/>    environment:<br\/>      GF_SECURITY_ADMIN_USER: admin<br\/>      GF_SECURITY_ADMIN_PASSWORD: mot-de-passe <br\/>      GF_SERVER_PROTOCOL: https<br\/>      GF_SERVER_CERT_FILE: \/etc\/grafana\/certs\/grafana.crt<br\/>      GF_SERVER_CERT_KEY: \/etc\/grafana\/certs\/grafana.key<br\/>      GF_SERVER_DOMAIN: ultra.kervao.fr<br\/>    ports:<br\/>      - 3000:3000<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Et le fichier <strong>config.yaml <\/strong>qui regroupe la configuration des 3 outils, plac\u00e9 aussi sous <strong>\/etc\/myelectricdata,<\/strong> devient du coup :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">port: 5000<br\/>debug: true<br\/>log2file: false<br\/>wipe_influxdb: false # Work only with influxdb &gt; 2.X<br\/># Par d\u00e9faut le backend en local dans le \/data\/cache.db du conteneur.<br\/># Mais il est possible de basculer sur une base de donn\u00e9es externe de type SQLite ou PostgreSQL<br\/># Exemple pour Postgres :<br\/>#storage_uri: postgresql:\/\/myelectricaldata:myelectricaldata@postgres:5432\/myelectricaldata<br\/>home_assistant: # WITH MQTT DISCOVERY<br\/>  enable: false <br\/>  discovery: true<br\/>  discovery_prefix: homeassistant<br\/>home_assistant_ws: # FOR ENERGY TAB<br\/>  enable: false<br\/>  ssl: true<br\/>  token: HOME_ASSISTANT_TOKEN_GENERATE_IN_PROFILE_TABS_(BOTTOM)<br\/>  url: myhomeassistant.domain.fr<br\/>  max_date: &quot;2021-06-01&quot;<br\/>  purge: false<br\/>ssl:<br\/>  gateway: true <br\/>  certfile: \/data\/fullchain.pem <br\/>  keyfile: \/data\/privkey.pem <br\/>tempo:<br\/>  enable: true<br\/>influxdb:<br\/>  enable: true <br\/>  scheme: https<br\/>  hostname: influxdb<br\/>  port: 8086  # 8086 pour influxdb, 8428 pour victoriametrics<br\/>  token: MonTokenInfluxDB<br\/>  org: myelectricaldata<br\/>  bucket: myelectricaldata<br\/>  ssl: true<br\/>  ssl_verify: false<br\/>  # ATTENTION, L&#039;activation de l&#039;importation asynchrone va r\u00e9duire fortement le temps d&#039;importation dans InfluxDB<br\/>  # mais va augmenter la consommation m\u00e9moire &amp; CPU et donc \u00e0 activer uniquement sur un hardware robuste.<br\/>  method: synchronous    # Mode disponible : synchronous \/ asynchronous \/ batching<br\/>  version: 2<br\/>  vm_mode: false        # Active le mode VictoriaMetrics true sinon false pour influxdb<br\/>  # batching_options permet uniquement de configurer la methode `batching`.<br\/>  # Pour plus d&#039;information : https:\/\/github.com\/influxdata\/influxdb-client-python#batching<br\/>  batching_options:<br\/>    batch_size: 1000<br\/>    flush_interval: 1000<br\/>    jitter_interval: 0<br\/>    retry_interval: 5000<br\/>    max_retry_time: 180_000<br\/>    max_retries: 5<br\/>    max_retry_delay: 125_000<br\/>    exponential_base: 2<br\/>mqtt:<br\/>  enable: false<br\/>  hostname: mosquitto<br\/>  port: 1883<br\/>  username: null<br\/>  password: null<br\/>  prefix: myelectricaldata<br\/>  client_id: myelectricaldata     # DOIT ETRE UNIQUE SUR LA TOTALITE DES CLIENTS CONNECTE AU SERVEUR MQTT<br\/>  retain: true<br\/>  qos: 0<br\/>#  ca_cert: \/certs\/ca.pem         # Certificate Authority a utiliser pour etablir une connection SSL au server MQTT<br\/># Configuration SSL optionnel.<br\/>#ssl:<br\/>#  keyfile: &quot;\/data\/key.pem&quot;<br\/>#  certfile: &quot;\/data\/cert.pem&quot;<br\/>myelectricaldata:<br\/>  # Configuration de mon point de livraison (ne pas oublier d&#039;adapter MON_PDL_1 avec votre num\u00e9ro de PDL)<br\/>  &quot;num\u00e9ro-point-livraison&quot;:<br\/>    enable: &#039;true&#039;<br\/>    token: montokenmyelectricaldata<br\/>    name: &quot;Maison&quot;<br\/>    addresses: &#039;true&#039;<br\/>    cache: &#039;true&#039;<br\/>    consumption: &#039;true&#039;<br\/>    consumption_detail: &#039;true&#039;<br\/>    consumption_price_base: &#039;0.145907&#039;<br\/>    consumption_price_hc: &#039;0.124364&#039;<br\/>    consumption_price_hp: &#039;0.164915&#039;<br\/>    consumption_max_date: &quot;2021-06-01&quot;<br\/>    consumption_detail_max_date: &quot;2021-06-01&quot;<br\/>    offpeak_hours_0: 22H00-6H00               # LUNDI<br\/>    offpeak_hours_1: 22H00-6H00               # MARDI<br\/>    offpeak_hours_2: 22H00-6H00               # MERCREDI<br\/>    offpeak_hours_3: 22H00-6H00               # JEUDI<br\/>    offpeak_hours_4: 22H00-6H00               # VENDREDI<br\/>    offpeak_hours_5: 22H00-6H00               # SAMEDI<br\/>    offpeak_hours_6: 22H00-6H00               # DIMANCHE<br\/>    #plan: HC\/HP<br\/>    # Configuration sp\u00e9cifique pour le tarif TEMPO<br\/>    plan: &quot;tempo&quot;<br\/>    heures_creuses:<br\/>      # Les heures creuses Tempo d&#039;EDF sont nationales et fixes : 22h00 \u00e0 6h00<br\/>      tempo: &quot;22:00-06:00&quot;<br\/>    production: &#039;false&#039;<br\/>    production_detail: &#039;false&#039;<br\/>    production_price: &#039;0.0&#039;<br\/>    production_max_date: &quot;2021-06-01&quot;<br\/>    production_detail_max_date: &quot;2021-06-01&quot;<br\/>    refresh_addresse: &#039;false&#039;<br\/>    refresh_contract: &#039;false&#039;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">On cr\u00e9era \u00e9galement les r\u00e9pertoires suivants<strong> \/etc\/myelectricaldata\/grafana_certs<\/strong>\/ pour y mettre le certificat et la cl\u00e9 de chiffrement pour une connexion s\u00e9curis\u00e9e, <strong>\/etc\/myelectricaldata\/grafana_data<\/strong>\/ pour les donn\u00e9es de <strong>Grafana<\/strong> comme son nom l&rsquo;indique. <strong>Grafana<\/strong> tourne avec l&rsquo;utilisateur avec l&rsquo;UID 472 que j&rsquo;ai cr\u00e9\u00e9 en tapant <strong>adduser &#8211;system &#8211;uid 472 grafana<\/strong>. Cet utilisateur doit \u00eatre propri\u00e9taire de deux r\u00e9pertoires pr\u00e9c\u00e9dents. Pour <strong>InfluxDB<\/strong>, on trouvera <strong> \/etc\/myelectricaldata\/influxdb_data<\/strong> pour les donn\u00e9es et \/<strong>etc\/myelectricaldata\/influxdb_certs<\/strong> pour le certificat et la cl\u00e9 de chiffrement. <strong>InfluxDB<\/strong> tourne avec l&rsquo;utilisateur  avec l&rsquo;UID 1000, qu&rsquo;on cr\u00e9era pr\u00e9alablement avec la commande <strong>adduser &#8211;system &#8211;uid 1000 influxdb<\/strong>. Il doit \u00eatre propri\u00e9taire des deux r\u00e9pertoires pr\u00e9c\u00e9dents.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la connexion s\u00e9curis\u00e9e avec <strong>MyElectricalData<\/strong> sur le port par d\u00e9faut 5000, j&rsquo;ai copi\u00e9 le certificat et la cl\u00e9 de <a href=\"https:\/\/letsencrypt.org\/fr\/\">Let&rsquo;s Encrypt<\/a> que j&rsquo;ai plac\u00e9 sous <strong>\/etc\/myelectricaldata\/config<\/strong>. Ce n&rsquo;est pas une solution p\u00e9renne car les mises \u00e0 jour des fichiers ne seront pas prises en compte et comme les liens ne marchent pas il faudrait rendre accessible<strong> \/etc\/letsencrypt\/live\/<\/strong> dans l&rsquo;environnement isol\u00e9 <strong>docker<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la cr\u00e9ation des certificats et des cl\u00e9s pour avoir une connexion s\u00e9curis\u00e9e avec  <strong>Grafana<\/strong> sur le port par d\u00e9faut 3000, j&rsquo;ai choisi de les autosigner, ils ne seront valables que sur mon r\u00e9seau local :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \\<br\/>  -keyout \/etc\/myelectricaldata\/grafana_certs\/grafana.key \\<br\/>  -out \/etc\/myelectricaldata\/grafana_certs\/grafana.crt \\<br\/>  -subj &quot;\/CN=ultra.kervao.fr&quot;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">on fera de m\u00eame pour <strong>InfluxDB<\/strong> pour une connexion sur le port par d\u00e9faut 8086, en tapant la commande :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \\<br\/>  -keyout \/etc\/myelectricaldata\/influxdb_certs\/influxdb-selfsigned.key \\<br\/>  -out \/etc\/myelectricaldata\/influxdb_certs\/influxdb-selfsigned.crt \\<br\/>  -subj &quot;\/CN=ultra.kervao.fr&quot; \\<br\/>  -addext &quot;subjectAltName = DNS:ultra.kervao.fr,DNS:influxdb,DNS:localhost,IP:127.0.0.1&quot;<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Il y a une subtilit\u00e9, que m&rsquo;a souffl\u00e9 l&rsquo;IA, dans la cr\u00e9ation de ce certificat et cl\u00e9 car j&rsquo;ai rencontr\u00e9 des difficult\u00e9s avec <strong>myelectricaldata<\/strong> qui n&rsquo;arrivait pas \u00e0 envoyer des donn\u00e9es \u00e0 <strong>InfluxDB<\/strong>. Depuis <strong>Python 3.10+<\/strong>, la v\u00e9rification <strong>SSL<\/strong> standard rejette les certificats qui ne poss\u00e8dent pas d&rsquo;extension Subject Alternative Name, d&rsquo;o\u00f9 la cr\u00e9ation du SAN et pour la r\u00e9solution r\u00e9seau interne, j&rsquo;ai mis toutes les noms et adresses possibles. Ce n&rsquo;est pas n\u00e9cessaire avec la commande de cr\u00e9ation pour <strong>Grafana<\/strong>, car c&rsquo;est via <strong>Firefox<\/strong> qu&rsquo;on accepte le certificat en acceptant le risque. Ce n&rsquo;est pas fini pour <strong>InfluxDB<\/strong>, on tapera aussi la commande :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-markup code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-markup code-embed-code\">cat \/etc\/ssl\/certs\/ca-bundle.crt \/etc\/myelectricaldata\/influxdb_certs\/influxdb-selfsigned.crt &gt; \/etc\/myelectricaldata\/influxdb_certs\/combined-ca-bundle.crt<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est \u00e9galement une subtilit\u00e9 souffl\u00e9e par l&rsquo;IA pour que <strong>Python<\/strong> valide \u00e0 la fois le certificat auto-sign\u00e9 local et les certificats publics d&rsquo;internet et ne rejette pas le certificat de <strong>myelectricaldata.fr<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant pour v\u00e9rifier que tout ce beau monde cohabite bien, les logs de <strong>myelectricaldata<\/strong> doivent renvoyer que l&rsquo;envoi vers <strong>InfluxDB<\/strong> est bien effectif :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">2026-11-13 14:04:36.388 -     INFO : Envoi des donn\u00e9es &quot;CONSUMPTION&quot; dans influxdb<br\/>2026-11-13 14:04:36.514 -     INFO :  =&gt; Donn\u00e9es synchronis\u00e9es (1098 valeurs)<br\/>2026-11-13 14:04:36.516 -     INFO : Envoi des donn\u00e9es &quot;CONSUMPTION_DETAIL&quot; dans influxdb<br\/>2026-11-13 14:04:36.737 -     INFO :  Cache : 3524 \/ InfluxDb : 3477<br\/>2026-11-13 14:04:36.737 -     INFO :  - 2026-06<br\/>2026-11-13 14:04:42.342 -     INFO :  - 2026-07<br\/>2026-11-13 14:05:06.241 -     INFO :  - 2026-08<br\/>2026-11-13 14:05:29.857 -     INFO :  - 2026-09<br\/>2026-11-13 14:05:53.305 -     INFO :  - 2026-10<br\/>2026-11-13 14:06:18.495 -     INFO :  - 2026-11<br\/>2026-11-13 14:06:31.530 -     INFO :  =&gt; OK<br\/>2026-11-13 14:06:31.540 -     INFO : Envoi des donn\u00e9es &quot;TEMPO&quot; dans influxdb<br\/>2026-11-13 14:07:08.553 -     INFO :  =&gt; OK<br\/>2026-11-13 14:07:08.557 -     INFO : Envoi des donn\u00e9es &quot;ECOWATT&quot; dans influxdb<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Le point d\u00e9licat est \u00e9galement la connexion sous <strong>Grafana<\/strong> \u00e0 la base <strong>InfluxDB<\/strong>, voici quelques copies d&rsquo;\u00e9cran si \u00e7a peut aider :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7288\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?resize=1024%2C479&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?resize=300%2C140&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?resize=768%2C359&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?resize=1536%2C718&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?w=1861&amp;ssl=1 1861w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb1.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7289\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?resize=1024%2C479&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?resize=300%2C140&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?resize=768%2C359&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?resize=1536%2C718&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?w=1861&amp;ssl=1 1861w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb2.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7290\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?resize=1024%2C479&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?resize=300%2C140&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?resize=768%2C359&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?resize=1536%2C718&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?w=1860&amp;ssl=1 1860w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-connexion-influxdb3.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Pour cr\u00e9er une vue, il faudra d&rsquo;abord mettre en place la requ\u00eate de r\u00e9cup\u00e9ration des donn\u00e9es avec l&rsquo;interface d&rsquo;<strong>InfluxDB<\/strong>, ici la consommation en kWh :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7291\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?resize=1024%2C479&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?resize=300%2C140&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?resize=768%2C359&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?resize=1536%2C718&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?w=1856&amp;ssl=1 1856w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view1.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En cliquant sur <strong>SCRIPT EDITOR<\/strong>, on r\u00e9cup\u00e8re la commande qu&rsquo;il faudra copier ensuite dans <strong>Grafana<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"222\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?resize=474%2C222&#038;ssl=1\" alt=\"\" class=\"wp-image-7292\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?resize=1024%2C480&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?resize=300%2C141&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?resize=768%2C360&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?resize=1536%2C720&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?w=1862&amp;ssl=1 1862w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/influxdb-view2.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">sous <strong>Grafana<\/strong> on reporte ensuite la formule pour cr\u00e9er une vue d&rsquo;un tableau de bord :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"223\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit-1024x481.png?resize=474%2C223&#038;ssl=1\" alt=\"\" class=\"wp-image-7293\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?resize=1024%2C481&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?resize=300%2C141&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?resize=768%2C361&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?resize=1536%2C722&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?w=1862&amp;ssl=1 1862w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-edit.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il y a ensuite plein d&rsquo;options possibles comme la forme du graphique et tout un tas de param\u00e8tres accessibles sur le panneau \u00e0 droite.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour mixer les donn\u00e9es de deux sources, c&rsquo;est un peu plus complexe, il faut installer le plugin <a href=\"https:\/\/grafana.com\/grafana\/plugins\/yesoreyeram-infinity-datasource\/\">infinity<\/a>. Ensuite on cr\u00e9e une source de donn\u00e9es <strong>Mixed<\/strong>, puis on cr\u00e9e deux requ\u00eates, la requ\u00eate <strong>myelectricaldata<\/strong> \u00e9quivalente \u00e0 l&rsquo;image ci-dessus et une requ\u00eate <strong>infinity<\/strong> qui ira chercher les informations sur les jours Tempo \u00e0 l&rsquo;URL indiqu\u00e9 dans l&rsquo;image ci-dessous :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"227\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?resize=474%2C227&#038;ssl=1\" alt=\"\" class=\"wp-image-7299\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?resize=1024%2C491&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?resize=300%2C144&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?resize=768%2C368&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?resize=1536%2C737&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?w=1881&amp;ssl=1 1881w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete-1.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il y a des options suppl\u00e9mentaires \u00e0 indiquer dans <strong>Parsing options &amp; Result fields<\/strong> :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"178\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?resize=474%2C178&#038;ssl=1\" alt=\"\" class=\"wp-image-7298\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?resize=1024%2C384&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?resize=300%2C113&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?resize=768%2C288&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?w=1200&amp;ssl=1 1200w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete2.png?w=948&amp;ssl=1 948w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Maintenant pour lui indiquer de remplir la couleur de la barre de consommation avec la couleur Tempo du jour, tout se passe dans le panneau de contr\u00f4le \u00e0 droite avec les champs \u00e0 saisir :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"227\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?resize=474%2C227&#038;ssl=1\" alt=\"\" class=\"wp-image-7300\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?resize=1024%2C491&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?resize=300%2C144&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?resize=768%2C368&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?resize=1536%2C736&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?w=1880&amp;ssl=1 1880w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/grafana-double-requete3.png?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Il me reste \u00e0 r\u00e9gler un probl\u00e8me de stabilit\u00e9, le conteneur <strong>myelectricaldata<\/strong> ne tient pas 24h et part en erreur avec l&rsquo;affichage du message suivant :<\/p>\n\n\n<div class=\"wp-block-wab-pastacode\">\n\t<div class=\"code-embed-wrapper\"> <pre class=\"language-bash code-embed-pre line-numbers\"  data-start=\"1\" data-line-offset=\"0\"><code class=\"language-bash code-embed-code\">2026-11-13 13:49:23.089 -     INFO : \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u25e6 \u2756 \u25e6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br\/>2026-11-13 13:49:23.089 -     INFO : R\u00c9CUP\u00c9RATION DU STATUT DE LA PASSERELLE :<br\/>2026-11-13 13:49:23.089 -     INFO : \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u25e6 \u2756 \u25e6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br\/>2026-11-13 13:49:27.093 -    ERROR : HTTPSConnectionPool(host=&#039;myelectricaldata.fr&#039;, port=443): Max retries exceeded with url: \/ping (Caused by NameResolutionError(&quot;&lt;urllib3.connection.HTTPSConnection object at 0x7f653a269670&gt;: Failed to resolve &#039;myelectricaldata.fr&#039; ([Errno -3] Temporary failure in name resolution)&quot;))<br\/>2026-11-13 13:59:27.099 -     INFO : \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u25e6 \u2756 \u25e6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br\/>2026-11-13 13:59:27.099 -     INFO : R\u00c9CUP\u00c9RATION DU STATUT DE LA PASSERELLE :<br\/>2026-11-13 13:59:27.099 -     INFO : \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501 \u25e6 \u2756 \u25e6 \u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501<br\/>2026-11-13 13:59:31.104 -    ERROR : HTTPSConnectionPool(host=&#039;myelectricaldata.fr&#039;, port=443): Max retries exceeded with url: \/ping (Caused by NameResolutionError(&quot;&lt;urllib3.connection.HTTPSConnection object at 0x7f653a2686b0&gt;: Failed to resolve &#039;myelectricaldata.fr&#039; ([Errno -3] Temporary failure in name resolution)&quot;))<\/code><\/pre> <div class=\"code-embed-infos\"> <\/div> <\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Je n&rsquo;ai pas d&rsquo;autres solutions que de relancer le service <strong>docker<\/strong> pour que tout rentre dans l&rsquo;ordre.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le pr\u00e9c\u00e9dent \u00e9pisode j&rsquo;avais mis en place un pilotage de la consommation \u00e9lectrique avec MyElectricalData, sauf qu&rsquo;il manquait quelque chose. Le tableau de bord n&rsquo;est pas corr\u00e9l\u00e9 avec les jours bleu, blanc, rouge d&rsquo;un abonnement EDF Tempo, l&rsquo;objectif est d&rsquo;aller r\u00e9cup\u00e9rer les donn\u00e9es Tempo sur un autre site pour pouvoir relier tout \u00e7a. Pour &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=7284\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Piloter sa consommation \u00e9lectrique (2\u00e8me \u00e9pisode)<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_hide_featured_image":false,"_jetpack_featured_image_duplicate_dismissed":0,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5],"tags":[],"class_list":["post-7284","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres"],"share_on_mastodon":{"url":"https:\/\/mastodon.social\/@funix\/117614426629626232","error":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-1Tu","jetpack_likes_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/7284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7284"}],"version-history":[{"count":8,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/7284\/revisions"}],"predecessor-version":[{"id":7305,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/7284\/revisions\/7305"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7284"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7284"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}