Files
docker-configs/freshRSS/data/cache/1e06c256e587130d11d39c8a23e34a84955486d2.spc

5933 lines
273 KiB
Plaintext
Executable File
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
a:6:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:3:"
";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:49:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:3:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:10:"Domo rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:22:"https://domo.rem81.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:22:"La domotique pour tous";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:13:"lastBuildDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Wed, 22 Nov 2023 13:28:16 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:5:"fr-FR";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:30:"https://wordpress.org/?v=6.4.3";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"item";a:10:{i:0;a:6:{s:4:"data";s:91:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:27:"PV-Routeur Solaire ESP Home";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:53:"https://domo.rem81.com/2023/07/18/pv-routeur-solaire/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:62:"https://domo.rem81.com/2023/07/18/pv-routeur-solaire/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 18 Jul 2023 09:15:18 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:7:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:15:"Photovoltaïque";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:5:"esp32";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:7:"ESPHOME";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:6;a:5:{s:4:"data";s:10:"routeur pv";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2703";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:202:"Intro Dans un article précédent, je décrivais une première version de routeur PV monté sur la base d’une mesure de puissance tiers, dans mon cas, délivrée par mon onduleur Victron, … ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:39326:"
<h1 class="wp-block-heading">Intro</h1>
<p>Dans un<a rel="noreferrer noopener" href="https://domo.rem81.com/2023/04/14/ha-routeur-solaire/" data-type="URL" data-id="https://domo.rem81.com/2023/04/14/ha-routeur-solaire/" target="_blank"> article précédent</a>, je décrivais une première version de routeur PV monté sur la base d&rsquo;une mesure de puissance tiers, dans mon cas, délivrée par mon onduleur Victron, et un pilotage de Triac via esp8266 délocalisé. </p>
<p>Dans cette version je vous propose un montage développé sous ESP Home donc complètement intégré à HA.</p>
<h1 class="wp-block-heading">Mise à Jour:</h1>
<ul>
<li>01/08/2023: Remplacement de de « restore_value » par « restore_mode » dans les « switch » suite à rupture dans la version 2023-07 ESPHOME.</li>
</ul>
<h1 class="wp-block-heading">Liste des courses:</h1>
<p>Dans cette version vous aurez besoin à minima:</p>
<p>nota: les liens sont donnés à titre d&rsquo;exemple, je n&rsquo;ai aucune relation commerciale avec ces vendeurs</p>
<ul>
<li>Un ESP32</li>
</ul>
<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="409" height="288" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-5.png" alt="" class="wp-image-2719" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-5.png 409w, https://domo.rem81.com/wp-content/uploads/2023/05/image-5-300x211.png 300w" sizes="(max-width: 409px) 100vw, 409px" /></figure>
<ul>
<li>Un module de mesure de puissance communiquant <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005005396796284.html?spm=a2g0o.order_list.order_list_main.71.21ef5e5bT8MKC9&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/1005005396796284.html?spm=a2g0o.order_list.order_list_main.71.21ef5e5bT8MKC9&amp;gatewayAdapt=glo2fra" target="_blank">Modbus JSY-MK-194T</a></li>
</ul>
<figure class="wp-block-image size-full"><img decoding="async" width="446" height="274" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-4.png" alt="" class="wp-image-2718" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-4.png 446w, https://domo.rem81.com/wp-content/uploads/2023/05/image-4-300x184.png 300w, https://domo.rem81.com/wp-content/uploads/2023/05/image-4-348x215.png 348w" sizes="(max-width: 446px) 100vw, 446px" /></figure>
<ul>
<li>Un triac <a href="https://fr.aliexpress.com/item/32802025086.html?spm=a2g0o.order_list.order_list_main.17.21ef5e5bT8MKC9&amp;gatewayAdapt=glo2fra" target="_blank" rel="noreferrer noopener">RobotDyn 24A</a> </li>
</ul>
<figure class="wp-block-image size-full"><img decoding="async" width="457" height="457" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-3.png" alt="" class="wp-image-2716" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-3.png 457w, https://domo.rem81.com/wp-content/uploads/2023/05/image-3-300x300.png 300w, https://domo.rem81.com/wp-content/uploads/2023/05/image-3-150x150.png 150w" sizes="(max-width: 457px) 100vw, 457px" /></figure>
<ul>
<li>Un <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005003352858467.html?spm=a2g0o.order_list.order_list_main.5.21ef5e5bT8MKC9&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/1005003352858467.html?spm=a2g0o.order_list.order_list_main.5.21ef5e5bT8MKC9&amp;gatewayAdapt=glo2fra" target="_blank">dissipateur thermique </a></li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="507" height="349" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-6.png" alt="" class="wp-image-2720" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-6.png 507w, https://domo.rem81.com/wp-content/uploads/2023/05/image-6-300x207.png 300w, https://domo.rem81.com/wp-content/uploads/2023/05/image-6-135x93.png 135w" sizes="(max-width: 507px) 100vw, 507px" /></figure>
<ul>
<li>Une sonde de température Dallas&nbsp;<a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-temp%C3%A9rature-num%C3%A9rique-Inoxydable-Raspberry/dp/B07KNQJ3D7/ref=sr_1_4?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=17KFL3RYWI30H&amp;keywords=ds18b20&amp;qid=1669044567&amp;qu=eyJxc2MiOiI1LjIwIiwicXNhIjoiNC41MiIsInFzcCI6IjQuNTIifQ%3D%3D&amp;s=industrial&amp;sprefix=ds18b20%2Cindustrial%2C90&amp;sr=1-4" target="_blank">ds18b20.</a></li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="407" height="407" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-7.png" alt="" class="wp-image-2486" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-7.png 407w, https://domo.rem81.com/wp-content/uploads/2023/01/image-7-300x300.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-7-150x150.png 150w" sizes="(max-width: 407px) 100vw, 407px" /></figure>
<ul>
<li>En option, et je vous le conseille, prenez un afficheur comme <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005001450817946.html?spm=a2g0o.productlist.main.3.48cc12c58raGiD&amp;algo_pvid=ad12ff3f-cd17-4d36-a352-bf18407d5a08&amp;algo_exp_id=ad12ff3f-cd17-4d36-a352-bf18407d5a08-1&amp;pdp_npi=3%40dis%21EUR%215.79%215.5%21%21%21%21%21%402100b1a616853461598361185d0783%2112000016162747543%21sea%21FR%21833459399&amp;curPageLogUid=Al4jZWJLnmzO" target="_blank">celui-ci</a>:</li>
</ul>
<p>Vous pouvez choisir d&rsquo;autres modèles, mais il vous faudra modifier le code.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="367" height="308" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-7.png" alt="" class="wp-image-2721" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-7.png 367w, https://domo.rem81.com/wp-content/uploads/2023/05/image-7-300x252.png 300w" sizes="(max-width: 367px) 100vw, 367px" /></figure>
<h1 class="wp-block-heading">Principe de fonctionnement</h1>
<p>La pince du module JSY est connectée en tête de votre tableau électrique principal en sortie de Linky, il mesure en permanence plusieurs grandeurs électriques, mais les deux qui nous intéressent principalement sont la mesure de puissance et le sens du courant dans la pince. L&rsquo;ESP interroge en permanence (toutes les 750ms) le module via un port UART sous le protocole Modbus.</p>
<p>Avec ces deux grandeurs, l&rsquo;ESP calcule le niveau de charge du triac sur une échelle de 0 à 100%.</p>
<p>Par convention , la puissance injectée sur le réseau est négative et la puissance soutirée est positive.</p>
<p>Donc plus la puissance est négative plus on ouvre le triac, on tend vers les 100%. L&rsquo;algorithme retenu est plutôt simple: S= S+P*Coeff/1000 avec S la sortie triac, P, la puissance mesurée et Coeff un coefficient de réactivité.</p>
<p>A chaque lecture de la puissance la sortie S vers le triac est incrémentée ou décrémentée selon le signe de la puissance mesurée. Le coefficient « Coeff » rend l&rsquo;algorithme plus ou moins réactif, il faut trouver le compromis pour une plus grande réactivité sans entrer dans un système oscillatoire.</p>
<h1 class="wp-block-heading">La Partie Matérielle</h1>
<h2 class="wp-block-heading">Schéma Electronique:</h2>
<p>Dans le schéma électronique qui suit vous retrouverez le câblage des différents éléments, vous y trouverez également des éléments non programmés comme le Triac 2 et le relais, c&rsquo;est en prévision d&rsquo;extension logicielle.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="950" height="554" src="https://domo.rem81.com/wp-content/uploads/2023/07/image-1.png" alt="" class="wp-image-2761" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/image-1.png 950w, https://domo.rem81.com/wp-content/uploads/2023/07/image-1-300x175.png 300w, https://domo.rem81.com/wp-content/uploads/2023/07/image-1-768x448.png 768w" sizes="(max-width: 950px) 100vw, 950px" /></figure>
<h2 class="wp-block-heading">Modification du refroidissement du triac</h2>
<p>Si vous souhaitez exploiter pleinement les capacités de votre triac 24A vous devez remplacer le refroidisseur en aluminium d&rsquo;origine par un refroidisseur plus important.</p>
<p>La modification est clairement expliquez par le <a rel="noreferrer noopener" href="https://sites.google.com/view/le-professolaire/routeur-professolaire" target="_blank">prof&rsquo;solaire</a> dans cette<a rel="noreferrer noopener" href="https://www.youtube.com/watch?v=9NCN-5LjdzM&amp;t=9s" target="_blank"> video.</a></p>
<h1 class="wp-block-heading">La partie logicielle:</h1>
<h2 class="wp-block-heading">Capteur JSY-MK-194T</h2>
<p>Ce module communique en modbus via un port serie. Il permet de remonter de nombreuses grandeurs physiques électriques via un tore déporté, avec lequel je mesure la puissance soutirée ou injectée sur le réseau, placé directement en sortie Linky, et un tore soudé sur la carte, avec lequel je mesure la puissance soutirée par l&rsquo;ECS (Ballon Eau Chaude Sanitaire).</p>
<p>Sur chaque Tore, vous pouvez lire, la puissance, l&rsquo;intensité, la tension, la fréquence, l&rsquo;énergie.</p>
<p>Vous remarquez que la trame Modbus lit la totalité des grandeurs physiques du JSY (14 registres), cela optimise le temps de lecture en n&rsquo;envoyant qu&rsquo;une seule trame Modbus, le fait de supprimer des registres, segmenterai les trames et augmenterai le temps de réponse,cela étant, je n&rsquo;affiche pas toutes les grandeurs mais libre à vous de les visualiser.</p>
<p>J&rsquo;interroge le module toutes les 750 ms, ce qui donne une réactivité du système plutôt satisfaisante, en dessous, je rencontre des erreurs de lecture.</p>
<p>Vous trouverez ci après le descriptif des trames modbus du capteur: </p>
<div data-wp-interactive="" class="wp-block-file"><object data-wp-bind--hidden="!selectors.core.file.hasPdfPreview" hidden class="wp-block-file__embed" data="https://domo.rem81.com/wp-content/uploads/2023/07/JSY-MK-194T.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Contenu embarqué JSY-MK-194T."></object><a id="wp-block-file--media-db47431f-9c35-4f2f-a60f-e61430b7be5f" href="https://domo.rem81.com/wp-content/uploads/2023/07/JSY-MK-194T.pdf">JSY-MK-194T</a><a href="https://domo.rem81.com/wp-content/uploads/2023/07/JSY-MK-194T.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-db47431f-9c35-4f2f-a60f-e61430b7be5f">Télécharger</a></div>
<p>Afin que le capteur JSY soit plus réactif, il faut augmenter sa vitesse de communication à 38400 bauds qui par défaut est à 4800 bauds.</p>
<p>La manipulation est très bien décrite sur le site du <a rel="noreferrer noopener" href="https://sites.google.com/view/le-professolaire/routeur-professolaire" data-type="URL" data-id="https://sites.google.com/view/le-professolaire/routeur-professolaire" target="_blank">prof&rsquo;Solair</a>. Perso, j&rsquo;ai utilisé le logiciel Windows et ce <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/4000492274243.html?spm=a2g0o.productlist.main.37.2c471f73qEqhg6&amp;algo_pvid=1ffed911-0c73-4df5-9920-ce93791a9524&amp;algo_exp_id=1ffed911-0c73-4df5-9920-ce93791a9524-18&amp;pdp_ext_f=%7B%22sku_id%22%3A%2210000002208891354%22%7D&amp;pdp_npi=2%40dis%21EUR%211.91%211.68%21%21%21%21%21%402100b76616732599821855166d06ba%2110000002208891354%21sea&amp;curPageLogUid=800oAxGbCbzg" data-type="URL" data-id="https://fr.aliexpress.com/item/4000492274243.html?spm=a2g0o.productlist.main.37.2c471f73qEqhg6&amp;algo_pvid=1ffed911-0c73-4df5-9920-ce93791a9524&amp;algo_exp_id=1ffed911-0c73-4df5-9920-ce93791a9524-18&amp;pdp_ext_f=%7B%22sku_id%22%3A%2210000002208891354%22%7D&amp;pdp_npi=2%40dis%21EUR%211.91%211.68%21%21%21%21%21%402100b76616732599821855166d06ba%2110000002208891354%21sea&amp;curPageLogUid=800oAxGbCbzg" target="_blank">convertisseur USB&lt;-&gt;Port série</a>.&nbsp;</p>
<h2 class="wp-block-heading">Codage ESP</h2>
<p>Vous trouverez ci après le code de l&rsquo;ESP, c&rsquo;est en service depuis quelques semaines avec des résultats très satisfaisants. </p>
<pre class="wp-block-code"><code>substitutions:
device_name: "esp176-esp32-routeur-1r"
friendly_name: esp176
adress_ip: "192.168.0.176"
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
platform: ESP32
board: esp32dev
project:
name: "rem81.esp176-esp32-routeur"
version: "1.0.0"
on_boot:
priority: 800
# Force mode auto et tempok au demmarrage
then:
- switch.turn_on: modeauto
- binary_sensor.template.publish:
id: tempok
state: ON
wifi:
networks:
- ssid: !secret wifi
password: !secret mdpwifi
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
# Enable logging
logger:
baud_rate: 0
level: DEBUG
# logs:
# modbus.component: INFO
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
# Protocole afficheur
i2c:
sda: GPIO21
scl: GPIO22
scan: True
id: bus_a
# Protocole du JSK
uart:
id: mod_bus
tx_pin: 17
rx_pin: 16
baud_rate: 38400
stop_bits: 1
# debug:
# direction: BOTH
# dummy_receiver: false
# after:
# timeout: 150ms
# sequence:
# - lambda: |-
# UARTDebug::log_string(direction, bytes);
modbus:
#flow_control_pin: 5
#send_wait_time: 200ms
id: modbus1
modbus_controller:
- id: jsymk
## the Modbus device addr
address: 0x1
modbus_id: modbus1
update_interval: 0.75s
command_throttle: 50ms
# setup_priority: -10
globals:
- id: increment
type: float
restore_value: no
initial_value: '0'
- id: striac
type: float
restore_value: yes
# Sonde Temperature Dallas
dallas:
- pin: GPIO27 #
update_interval: 60s
# Informations supplementaires sur le WIFI
#text_sensor:
# - platform: wifi_info
# ip_address:
# name: ${friendly_name}_ESP IP Address
# ssid:
# name: ${friendly_name}_ESP Connected SSID
# bssid:
# name: ${friendly_name}_ESP Connected BSSID
# mac_address:
# name: ${friendly_name}_ESP Mac Wifi Address
# scan_results:
# name: ${friendly_name}_ESP Latest Scan Results
binary_sensor:
#Etat de la connection
- platform: status
name: "${friendly_name}_Status"
- platform: template
name: "${friendly_name} Temp Ok"
id: tempok
# Input Number
number:
# Seuil Min/Max sortie triac
- platform: template
name: "${friendly_name} P Max"
id: pmax
optimistic: true
restore_value: true
mode: box
min_value: 50
max_value: 100
unit_of_measurement: "%"
step: 1
- platform: template
name: "${friendly_name} P Min"
id: pmin
optimistic: true
restore_value: true
mode: box
min_value: 0
max_value: 25
unit_of_measurement: "%"
step: 1
# Seuil MAX temperature
- platform: template
name: "${friendly_name} T Max"
id: tmax
optimistic: true
restore_value: true
mode: box
min_value: 0
max_value: 75
unit_of_measurement: "C°"
step: 0.1
# Coeff Réactivité
- platform: template
name: "${friendly_name} Coeff R"
id: coeff_r
optimistic: true
restore_value: true
mode: box
min_value: 0
max_value: 1000
unit_of_measurement: ""
step: 0.1
sensor:
# tension de l'alimentation
- platform: modbus_controller
modbus_controller_id: jsymk
id: Tension
#name: "${friendly_name} Tension JSYMK"
address: 0x0048
unit_of_measurement: "V"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Intensité traversant le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: Itore
name: "${friendly_name} I_ECS JSYMK"
address: 0x0049
unit_of_measurement: "A"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Puissance traversant le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: puecs
name: "${friendly_name} P_ECS JSYMK"
address: 0x004A
unit_of_measurement: "W"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Energie lue dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: energietore
name: "${friendly_name} Energie ECS JSYMK"
address: 0x004B
unit_of_measurement: "kWh"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Energie lue dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: fptore
#name: "${friendly_name} FP Tore JSYMK"
address: 0x004C
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Energie NEG lue dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: energietoren
name: "${friendly_name} Energie ECS Neg JSYMK"
address: 0x004D
unit_of_measurement: "kWh"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Sens du courant dans la pince
- platform: modbus_controller
modbus_controller_id: jsymk
id: senspince
#name: "${friendly_name} Sens_Pince JSYMK"
address: 0x004E
register_type: holding
value_type: U_DWORD
bitmask: 0X00010000
filters:
- multiply: 1
register_count: 1
response_size: 4
# Sens du courant dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: senstor
#name: "${friendly_name} Sens_Tore JSYMK"
address: 0x004E
register_type: holding
value_type: U_DWORD
accuracy_decimals: 0
bitmask: 0X01000000
filters:
- multiply: 1
register_count: 1
response_size: 4
# Fréquence de l'alimentation
- platform: modbus_controller
modbus_controller_id: jsymk
id: frequence
#name: "${friendly_name} Frequence JSYMK"
address: 0x004F
unit_of_measurement: "hz"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.01
register_count: 1
response_size: 4
# tension de l'alimentation
- platform: modbus_controller
modbus_controller_id: jsymk
id: Tension2
#name: "${friendly_name} U_Reseau JSYMK"
address: 0x0050
unit_of_measurement: "V"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Intensité lue dans la pince
- platform: modbus_controller
modbus_controller_id: jsymk
id: Ireseau
#name: "${friendly_name} I_Reseau JSYMK"
address: 0x0051
unit_of_measurement: "A"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# puissance lue dans la pince
- platform: modbus_controller
modbus_controller_id: jsymk
id: pureseau
#name: "${friendly_name} P_Reseau JSYMK"
address: 0x0052
unit_of_measurement: "W"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
on_value:
then:
- lambda: |-
if ( id(senspince).state == 1 ) {
id(pureseau1).publish_state( id(pureseau).state *-1);
} else {
id(pureseau1).publish_state( id(pureseau).state );
}
- lambda: id(afincrement).publish_state( id(increment) );
- script.execute: calcul_injectionv2
- script.execute: etat_production
- lambda: id(afstriac).publish_state( id(striac) );
# Energie lue dans la pince
- platform: modbus_controller
modbus_controller_id: jsymk
id: energiepince
#name: "${friendly_name} Energie Reseau JSYMK"
address: 0x0053
unit_of_measurement: "kWh"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Energie lue dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: fppince
#name: "${friendly_name} FP Pince JSYMK"
address: 0x0054
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Energie NEG lue dans le tore
- platform: modbus_controller
modbus_controller_id: jsymk
id: energienegpince
#name: "${friendly_name} Energie ECS Neg JSYMK"
address: 0x0055
unit_of_measurement: "kWh"
register_type: holding
value_type: U_DWORD
accuracy_decimals: 1
filters:
- multiply: 0.0001
register_count: 1
response_size: 4
# Informations WI_FI
- platform: wifi_signal # Affiche le signal WiFi strength/RSSI en dB
name: "${friendly_name} WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: copy # Affiche le signal WiFi strength en %
source_id: wifi_signal_db
name: "${friendly_name} WiFi Signal Percent"
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
unit_of_measurement: "Signal %"
entity_category: "diagnostic"
############### TEMPLATE ######################"
# Affichage dans HA et sur l'afficheur
- platform: template
name: "${friendly_name} Pu Reseau"
id: pureseau1
unit_of_measurement: "W"
state_class: "measurement"
- platform: template
name: "${friendly_name} Increment"
id: afincrement
unit_of_measurement: ""
accuracy_decimals: 2
state_class: "measurement"
- platform: template
name: "${friendly_name} Sortie Triac"
id: afstriac
unit_of_measurement: "%"
state_class: "measurement"
accuracy_decimals: 2
# Sonde Temperature radiateur
- platform: dallas
address: 0xeb012112e461b128
name: "${friendly_name} Temp triac"
id: temp_triac
filters:
- filter_out: NAN
on_value:
then:
if:
condition:
lambda: 'return id(temp_triac).state &lt; id(tmax).state;'
# Si Temp Triac inferieur au seuil alors OK
then:
- binary_sensor.template.publish:
id: tempok
state: ON
# Sinon attendre 60s avant retour à la normal
else:
- binary_sensor.template.publish:
id: tempok
state: OFF
- delay: 60s
switch:
- platform: gpio
name: "${friendly_name} Relais"
pin: GPIO5
id: relais
- platform: template
name: "${friendly_name} Validation Router"
id: val_router
optimistic: true
restore_mode: RESTORE_INVERTED_DEFAULT_OFF
- platform: template
name: "${friendly_name} Mode Auto"
id: modeauto
optimistic: true
restore_mode: always_on
- platform: restart
name: "${friendly_name} Restart"
output:
#LEDS --------------------------------------
- id: led_conso
platform: gpio
pin: GPIO32
- id: led_injec
platform: gpio
pin: GPIO25
# Pilotage du Dimmer ------------------------
- platform: ac_dimmer
id: ecs
gate_pin: GPIO33
method: leading
zero_cross_pin:
number: GPIO34
mode:
input: true
inverted: yes
min_power: 5%
light:
- platform: monochromatic
name: "${friendly_name}+STriac"
output: ecs
id: gradateur
default_transition_length: 50ms
# Affichage
display:
- platform: lcd_pcf8574
dimensions: 20x4
address: 0x27
update_interval: 2s
lambda: |-
it.printf(0,0,"Pr=%0.0fW",id(pureseau1).state);
it.printf(10,0,"Pe=%0.0fW ",id(puecs).state);
it.printf(0,1,"Tr=%0.1f%%",id(striac));
it.printf(10,1,"Val:%s", id(val_router).state ? "OK" : "NOK");
it.printf(0,2,"Tp=%0.1fc", id(temp_triac).state);
it.printf(10,2,"Etat=%s", id(tempok).state ? "OK" : "NOK");
it.printf(0,3,"Mode=%s", id(modeauto).state ? "Auto" : "Manu");
it.printf(10,3,"Inc=%0.1f ",id(increment));
#interval:
# - interval: 0.5s
# then:
# - script.execute:
# ------------------------ Scripts
script:
#
# ------------------------ Calcul puissance injection V2
- id: calcul_injectionv2
mode: single
then:
- lambda: |-
id(increment) = id(pureseau1).state*id(coeff_r).state/1000*-1;
- lambda: |-
id(striac) = id(striac)+id(increment);
- logger.log:
format: "Log S Triac= %f"
args: &#091; 'id(striac)']
- lambda: |-
if (id(striac) &lt;= 0){
id(striac) = 0;
} else if(id(striac)>=id(pmax).state){
id(striac) = id(pmax).state;
}
# Si mode routeur validé et mode auto et temp OK alors on active le triac et Sortie Triac superieur au mini
- if:
condition:
and:
- switch.is_on: val_router
- switch.is_on: modeauto
- binary_sensor.is_on: tempok
- lambda: 'return id(striac) >= id(pmin).state;'
then:
- light.turn_on:
id: gradateur
brightness: !lambda |-
return id(striac)/100 ;
# Si mode routeur devalidé ou temp NOK alors on désactive le triac
- if:
<a href="condition: and: - switch.is_on: modeauto - or: - switch.is_off: val_router - binary_sensor.is_off: temperatureok"> condition:</a>
and:
- switch.is_on: modeauto
- or:
- switch.is_off: val_router
- binary_sensor.is_off: tempok <a href="condition: and: - switch.is_on: modeauto - or: - switch.is_off: val_router - binary_sensor.is_off: temperatureok">
</a>
then:
- lambda: |-
id(striac) = 0;
id(increment) = 0;
- light.turn_on:
id: gradateur
brightness: !lambda |-
return id(0) ;
# ------------------------------------------- Pilotage led
- id: etat_production
mode: single
then:
- if:
condition:
sensor.in_range:
id: pureseau1
below: 50
above: -50
then:
- output.turn_on: led_conso
- output.turn_on: led_injec
- if:
condition:
sensor.in_range:
id: pureseau1
above: 50
then:
- output.turn_off: led_injec
- output.turn_on: led_conso
- if:
condition:
sensor.in_range:
id: pureseau1
below: -50
then:
- output.turn_off: led_conso
- output.turn_on: led_injec
</code></pre>
<h2 class="wp-block-heading">Paramètres:</h2>
<p>Vous pouvez régler:</p>
<ul>
<li>La puissance maximum que peut délivrer le triac. Je l&rsquo;ai limité à 80% ce qui correspond à 2000 W dans mon cas (Ballon ECS de 300l). Pour l&rsquo;estimer au mieux, passer en mode MANUEL et augmenter progressivement la sortie triac tout en visualisant l&rsquo;intensité absorbée par l&rsquo;ECS, perso je me limite à 10/11A. Au delà le triac monte trop en température.</li>
<li>la puissance minimum: Valeur en dessous laquelle le triac ne donne rien</li>
<li>le coefficient R (réactivité): Voir explication dans « Principe de Fonctionnement ».</li>
<li>la température maximum du refroidisseur du triac: Si supérieure à ce seuil, met la sortie triac à 0%.</li>
</ul>
<p>Vous pouvez piloter:</p>
<ul>
<li>Le relais: Je ne l&rsquo;utilise pas pour l&rsquo;instant</li>
<li>La validation du routeur: dans mon cas, c&rsquo;est un automatisme qui valide la routeur quand la charge des batteries est quasi à 100%</li>
<li>Un mode Manuel/Auto: Manuel vous donne la possibilité de piloter la sortie triac.</li>
<li>Le triac.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="432" height="511" src="https://domo.rem81.com/wp-content/uploads/2023/07/image-2.png" alt="" class="wp-image-2763" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/image-2.png 432w, https://domo.rem81.com/wp-content/uploads/2023/07/image-2-254x300.png 254w" sizes="(max-width: 432px) 100vw, 432px" /></figure>
<h2 class="wp-block-heading">Grandeurs physiques:</h2>
<p>Vous retrouverez:</p>
<ul>
<li>Dans mon cas j&rsquo;affiche la température de l&rsquo;ECS, mesurée avec un autre ESP.</li>
<li>La puissance soutirée ou injectée sur le réseau.</li>
<li>La puissance et l&rsquo;intensité de l&rsquo;ECS.</li>
<li>La valeur de lincrément.</li>
<li>La sortie Triac.</li>
<li>Lénergie soutirée par l&rsquo;ECS sur le réseau.</li>
<li>L&rsquo;énergie économisée par le routeur par jour et totale. L&rsquo;énergie par jour est calculé dans une entrée HA: voir mon article <strong><a href="https://domo.rem81.com/2022/06/06/ha-compteur-de-service-utility-meter/" target="_blank" rel="noreferrer noopener">https://domo.rem81.com/2022/06/06/ha-compteur-de-service-utility-meter/</a></strong>.</li>
<li>L&rsquo;état du binary-sensor: température Ok.</li>
<li>La température du triac.</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="418" height="582" src="https://domo.rem81.com/wp-content/uploads/2023/07/image-3.png" alt="" class="wp-image-2766" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/image-3.png 418w, https://domo.rem81.com/wp-content/uploads/2023/07/image-3-215x300.png 215w" sizes="(max-width: 418px) 100vw, 418px" /></figure>
<h2 class="wp-block-heading">Automatisation:</h2>
<p>La validation du router dépend de votre configuration: Si votre installation solaire ne comporte pas de batteries, vous pouvez vous inspirer de cet article <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/" target="_blank">https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/</a>. Depuis cet article, mon installation PV a évoluée avec l&rsquo;ajout de batteries de stockage, depuis leur mise en service je valide le routeur lorsque les batteries sont chargées.Voici le code de cette automatisation pour information:</p>
<pre class="wp-block-code"><code>alias: 01-2-4 ECS Validation Routeur sur Absorption V2
description: float alors routeur ECS Actif
trigger:
- platform: time_pattern
minutes: /1
condition: &#091;]
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: sensor.mp2_status_bus_ve
above: 3
below: 6
enabled: true
- condition: state
entity_id: input_boolean.ecs_av_pv
state: "off"
- condition: numeric_state
entity_id: sensor.mp2_pc_ac_couplet_on_l1
above: 1000
- condition: numeric_state
entity_id: sensor.mp2_niveau_charge_batteries
above: input_number.mp2_seuil_validation_routeur
enabled: false
sequence:
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.ecs_av_pv
- service: switch.turn_on
data: {}
target:
entity_id:
- switch.esp176_validation_router
- service: notify.telegram
data:
message: &gt;-
Bus VE={{states('sensor.mp2_affichage_status_bus_ve')}}
{{-"\n"-}}SOC={{states('sensor.mp2_niveau_charge_batteries')}}%
{{-"\n"-}}{{states("sensor.date_time") }}
title: Validation Routeur ECS
- conditions:
- condition: not
conditions:
- condition: numeric_state
entity_id: sensor.mp2_status_bus_ve
above: 3
below: 6
enabled: true
- condition: state
entity_id: input_boolean.ecs_av_pv
state: "on"
- condition: numeric_state
entity_id: sensor.mp2_niveau_charge_batteries
below: input_number.mp2_seuil_devalidation_routeur
enabled: false
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.ecs_av_pv
- service: switch.turn_off
data: {}
target:
entity_id:
- switch.esp176_validation_router
- service: notify.telegram
data:
message: &gt;-
Bus VE={{states('sensor.mp2_affichage_status_bus_ve')}}
{{-"\n"-}}SOC={{states('sensor.mp2_niveau_charge_batteries')}}%
{{-"\n"-}}{{states("sensor.date_time") }}
title: De-Validation Routeur ECS
mode: single
trace:
stored_traces: 10
</code></pre>
<h2 class="wp-block-heading">Affichage Local:</h2>
<p>Localement j&rsquo;affiche:</p>
<ul>
<li>Pr: Puissance sur le réseau (sortie Linky)</li>
<li>Pe: Puissance Absorbée par le ballon ECS</li>
<li>Tr: Valeur pilotage triac</li>
<li>Val: Routeur Validée</li>
<li>Tp: Température triac</li>
<li>Etat: OK si Température Triac inférieur au seuil sinon NOK</li>
<li>Mode: Automatique ou Manuel</li>
<li>Inc: Valeur de l&rsquo;increment</li>
<li>LED Rouge et Jaune allumées: Puissance Réseau entre -50 et 50 W</li>
<li>LED Rouge allumée et Jaune éteinte: On rejette plus de 50 W sur le réseau</li>
<li>LED Rouge éteinte et Jaune allumée: On soutire plus de 50 W sur le réseau</li>
<li>LED Verte allumée: Coffret sous tension</li>
</ul>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-1024x1024.jpg" alt="" class="wp-image-2790" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/07/routeur_pv-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2 class="wp-block-heading">Résultats:</h2>
<p>La courbe ci dessous (extraite de Graphana) illustre l&rsquo;efficacité et la réactivité du routeur. Ce jour là, à partir de 16:40 l&rsquo;ECS ne chauffe plus, il a atteint ses 70°C, conclusion: on injecter sur le réseau.</p>
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="911" height="289" src="https://domo.rem81.com/wp-content/uploads/2023/07/image-4.png" alt="" class="wp-image-2771" style="width:842px;height:267px" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/image-4.png 911w, https://domo.rem81.com/wp-content/uploads/2023/07/image-4-300x95.png 300w, https://domo.rem81.com/wp-content/uploads/2023/07/image-4-768x244.png 768w" sizes="(max-width: 911px) 100vw, 911px" /></figure>
<p>Le graphique suivant illustre les économies réalisées en kWh, les jours à 0 sont dû à un faible ensoleillement, dans mon cas je privilégie la charge des batteries avant de router vers l&rsquo;ECS.</p>
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="848" height="292" src="https://domo.rem81.com/wp-content/uploads/2023/07/image-5.png" alt="" class="wp-image-2772" style="width:843px;height:290px" srcset="https://domo.rem81.com/wp-content/uploads/2023/07/image-5.png 848w, https://domo.rem81.com/wp-content/uploads/2023/07/image-5-300x103.png 300w, https://domo.rem81.com/wp-content/uploads/2023/07/image-5-768x264.png 768w" sizes="(max-width: 848px) 100vw, 848px" /></figure>
<h1 class="wp-block-heading">Liens vers des routeurs à monter soi-même:</h1>
<p>Bien entendu cette liste est non exhaustive, si vous avez d&rsquo;autres liens, n&rsquo;hésiter pas à me les transmettre, je les ajouterai.</p>
<ul>
<li><a rel="noreferrer noopener" href="https://sites.google.com/view/le-professolaire/routeur-professolaire" data-type="URL" data-id="https://sites.google.com/view/le-professolaire/routeur-professolaire" target="_blank">Le Prof&rsquo;Solaire</a>. </li>
<li><a rel="noreferrer noopener" href="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" data-type="URL" data-id="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" target="_blank">Association P&rsquo;TIWATT</a> (celui que j&rsquo;ai longtemps utilisé)</li>
<li><a rel="noreferrer noopener" href="https://pvrouteur.apper-solaire.org/" data-type="URL" data-id="https://pvrouteur.apper-solaire.org/" target="_blank">Le Routeur/Dimmer de Cyril</a></li>
<li><a href="https://github.com/bidouilleurs/routeur_solaire" data-type="URL" data-id="https://github.com/bidouilleurs/routeur_solaire" target="_blank" rel="noreferrer noopener">Les bidouilleurs Solaire</a></li>
<li><a href="http://pvrouteur.free.fr/" data-type="URL" data-id="http://pvrouteur.free.fr/" target="_blank" rel="noreferrer noopener">pvrouteur pour les nuls</a></li>
<li><a href="https://f1atb.fr/index.php/fr/2023/07/07/u-x-i-routeur-solaire-pour-gerer-la-surproduction-photovoltaique-diy/" data-type="URL" data-id="https://f1atb.fr/index.php/fr/2022/12/03/realisez-un-routeur-solaire-pour-gerer-la-surproduction/" target="_blank" rel="noreferrer noopener">F1ATB</a></li>
<li><a href="https://github.com/Jetblack31/MaxPV" data-type="URL" data-id="https://github.com/Jetblack31/MaxPV" target="_blank" rel="noreferrer noopener">MaxPv</a></li>
<li><a rel="noreferrer noopener" href="https://mk2pvrouter.co.uk/shop.html" data-type="URL" data-id="https://mk2pvrouter.co.uk/shop.html" target="_blank">Mk2PVrouter</a></li>
</ul>
<h2 class="wp-block-heading">Conclusion</h2>
<p>Un routeur solaire de plus! Celui ci est complément intégré à Home Assistant, et en plus il coûte pas trop cher. Nhésitez par me faire par de vos remarques.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:58:"https://domo.rem81.com/2023/07/18/pv-routeur-solaire/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:2:"22";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:1;a:6:{s:4:"data";s:97:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:18:"HA-Routeur Solaire";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:53:"https://domo.rem81.com/2023/04/14/ha-routeur-solaire/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:62:"https://domo.rem81.com/2023/04/14/ha-routeur-solaire/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 14 Apr 2023 17:39:07 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:9:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Faire soi-même";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:11:"Non classé";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:15:"Photovoltaïque";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:5:"esp32";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:6;a:5:{s:4:"data";s:7:"ESP8266";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:7;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:8;a:5:{s:4:"data";s:6:"router";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2601";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:231:"Intro. Dans un article précédent, jabordais le sujet des routeurs solaires, ces systèmes qui redirige le surplus de production de votre installation photovoltaïque vers généralement un ballon eau chaude sanitaire. &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:37183:"
<h1 class="wp-block-heading">Intro.</h1>
<p>Dans un <a href="https://domo.rem81.com/2022/10/13/pv-photovoltaique/" data-type="URL" data-id="https://domo.rem81.com/2022/10/13/pv-photovoltaique/" target="_blank" rel="noreferrer noopener">article précédent</a>, jabordais le sujet des routeurs solaires, ces systèmes qui redirige le surplus de production de votre installation photovoltaïque vers généralement un ballon eau chaude sanitaire.</p>
<p>Depuis plusieurs années, j&rsquo;utilise le modèle <a rel="noreferrer noopener" href="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" data-type="URL" data-id="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" target="_blank">P&rsquo;TIWATT</a> qui remplit parfaitement son role mais qui malheureusement n&rsquo;offre pas la possibilité d&rsquo;envoyer des informations de monitoring vers HA par exemple.</p>
<p>Après quelques recherches, j&rsquo;ai découvert, il y a quelques mois, un routeur à monter soit même chez<a rel="noreferrer noopener" href="https://pvrouteur.apper-solaire.org/" target="_blank"> https://pvrouteur.apper-solaire.org/</a> , la particularité étant que le routeur, l&rsquo;élément qui mesure la puissance est séparé du triac, l&rsquo;élément qui fait varier la puissance aux bornes des résistances du ballon d&rsquo;ECS, ce que j&rsquo;avais trouvé sur le coup intéressant. Après quelques essais j&rsquo;ai été convaincu par la solution mais je suis resté avec mon « P&rsquo;Titwatt » le temps de la réflexion.</p>
<h1 class="wp-block-heading">Présentation du PVROUTEUR de Cyril.</h1>
<p>La mise en oeuvre est très bien expliquée dans la <a rel="noreferrer noopener" href="https://pvrouteur.apper-solaire.org/books/pv-routeur-et-dimmer-numerique" data-type="URL" data-id="https://pvrouteur.apper-solaire.org/books/pv-routeur-et-dimmer-numerique" target="_blank">documentation</a>. Le flashage initiale des ESP peut se faire depuis une interface WEB ou pour les plus aguerris, vous pouvez personnaliser et télécharger le code avec Visual Studio Code.</p>
<p>Cyril a fait un énorme boulot, il propose les circuits imprimés du routeur et du dimmer à petit prix, par le biais de son association APPER, donnant par la même occasion la possibilité d&rsquo;en déduire une partie de vos impots.</p>
<p>Vous pouvez « chainer » plusieurs dimmers, soit en parallèle, soit en cascade, quand le premier ballon est chaud, vous basculer vers le second.</p>
<p>La configuration du dimmer se fait depuis une page WEB.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="893" height="629" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-26.png" alt="" class="wp-image-2626" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-26.png 893w, https://domo.rem81.com/wp-content/uploads/2023/04/image-26-300x211.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-26-768x541.png 768w" sizes="(max-width: 893px) 100vw, 893px" /></figure>
<p>Enfin, la dernière version de son dimmer communique avec HA via MQTT nativement (aucune déclaration .yaml) à écrire dans HA.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="657" height="585" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-28.png" alt="" class="wp-image-2632" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-28.png 657w, https://domo.rem81.com/wp-content/uploads/2023/04/image-28-300x267.png 300w" sizes="(max-width: 657px) 100vw, 657px" /></figure>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1022" height="607" data-id="2627" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-27.png" alt="" class="wp-image-2627" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-27.png 1022w, https://domo.rem81.com/wp-content/uploads/2023/04/image-27-300x178.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-27-768x456.png 768w" sizes="(max-width: 1022px) 100vw, 1022px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="710" height="453" data-id="2634" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-29.png" alt="" class="wp-image-2634" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-29.png 710w, https://domo.rem81.com/wp-content/uploads/2023/04/image-29-300x191.png 300w" sizes="(max-width: 710px) 100vw, 710px" /></figure>
</figure>
<h1 class="wp-block-heading">Ma solution.</h1>
<p>Dernièrement, toujours aussi frustré d&rsquo;avoir un routeur seul dans son coin sans remontée d&rsquo;information, j&rsquo;ai ré-ouvert le dossier du « pvrouter » et opté pour une solution mixte.</p>
<p>Mon installation PV est équipée de panneaux PV et de micro onduleur ainsi qu&rsquo;un onduleur chargeur Victron Multiplus 2, je récupère donc très facilement la puissance injectée ou soutirée sur le réseau en interrogeant cycliquement l&rsquo;onduleur via le protocole Modbus. Il ne me restait plus qu&rsquo;a piloter le dimmer en fonction de cette puissance en lui envoyant trame URL « htpp://IP_dimmer/?POWER=xx » avec XX de 0 à 100%.</p>
<h2 class="wp-block-heading">La partie matériel:</h2>
<p> Pour le dimmer j&rsquo;utilise un module ESP12F précablé avec alimentation en 220 VCA et un module relais. J&rsquo;ai décrit ce produit dans un <a rel="noreferrer noopener" href="https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/" data-type="URL" data-id="https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/" target="_blank">article précédent</a>. </p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-2 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2443" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1024x1024.jpg" alt="" class="wp-image-2443" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="823" height="558" data-id="2444" src="https://domo.rem81.com/wp-content/uploads/2023/01/image.png" alt="" class="wp-image-2444" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image.png 823w, https://domo.rem81.com/wp-content/uploads/2023/01/image-300x203.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-768x521.png 768w, https://domo.rem81.com/wp-content/uploads/2023/01/image-135x93.png 135w" sizes="(max-width: 823px) 100vw, 823px" /></figure>
</figure>
<p>C&rsquo;est compact et facile à raccorder, cependant il est indispensable de réaffecter les broches définies par défaut dans le code d&rsquo;origine en les adaptant à la carte. Pour cela il faut modifier le fichier « config.h » avec Visual Studio Code. </p>
<p>Vous trouverez ci après les lignes concernées: les lignes 32 à 40 sont à passer en commentaire et 44 à 49 sont à ajouter.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="720" height="461" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-23.png" alt="" class="wp-image-2606" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-23.png 720w, https://domo.rem81.com/wp-content/uploads/2023/04/image-23-300x192.png 300w" sizes="(max-width: 720px) 100vw, 720px" /></figure>
<p>Ce mapping vous permet de définir facilement le câblage utilisé pour le triac.</p>
<p>Avec cette solution vous avez à câbler 4 fils entre la carte et triac, alimenter la carte (220 Vca, 5V, 12V), intercaler votre triac sur la ligne d&rsquo;alimentation du ballon. Dans cet <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/" data-type="URL" data-id="https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/" target="_blank">article</a>, j&rsquo;explique mon approche sur le sujet mais rien n&rsquo;est figé et chacun l&rsquo;adapte à sa configuration.</p>
<p>Pour le triac j&rsquo;ai pris <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/32802025086.html?spm=a2g0o.order_list.order_list_main.290.74315e5bWSJRyY&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/32802025086.html?spm=a2g0o.order_list.order_list_main.290.74315e5bWSJRyY&amp;gatewayAdapt=glo2fra" target="_blank">celui-ci</a>,</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="433" height="380" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-33.png" alt="" class="wp-image-2669" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-33.png 433w, https://domo.rem81.com/wp-content/uploads/2023/04/image-33-300x263.png 300w" sizes="(max-width: 433px) 100vw, 433px" /></figure>
<p> Il existe d&rsquo;autres modèles plus ou moins performants, Cyril les présente dans sa documentation. Concernant les risques de surchauffe à haute intensité, il est prévu une sortie de commande d&rsquo;un ventilateur de refroidissement du triac, c&rsquo;est très bien, mais personnellement je préfère surdimensionner le radiateur et rester avec un refroidissement statique sans risque de panne.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-3 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2637" src="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-1024x1024.jpg" alt="" class="wp-image-2637" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183017-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2636" src="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-1024x1024.jpg" alt="" class="wp-image-2636" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230409_183027-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<p>Provisoirement le raccordement entre le triac et la carte ESP est réalisé avec des fils Dupont. Vous remarquerez l&rsquo;ajout du gros radiateur à ailettes sur le triac et la sonde DS18B20 qui mesure la température du radiateur. A terme, je dois encapsuler le tout dans un boitier.</p>
<p>La mise en oeuvre de la sonde est décrite dans cet <a rel="noreferrer noopener" href="https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/" data-type="URL" data-id="https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/" target="_blank">article</a>.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-4 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2485" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1024x1024.jpg" alt="" class="wp-image-2485" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2484" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1024x1024.jpg" alt="" class="wp-image-2484" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<h2 class="wp-block-heading">La partie logiciel:</h2>
<p>Je souhaitais, pour des raisons pratiques implanté l&rsquo;algorithme dans HA, je me suis tourné vers<a rel="noreferrer noopener" href="https://nodered.org/" data-type="URL" data-id="https://nodered.org/" target="_blank"> Node red</a>, ce module complémentaire HA est très pratique, puissant et facile à installer, il existe de nombreux tuto sur le net concernant la programmation Node Red. Je ne suis pas fan, mais le pour le coup, il m&rsquo;a bien rendu service, de plus, NR est universel et s&rsquo;installe sur beaucoup de systèmes.</p>
<h3 class="wp-block-heading">Code Node red.</h3>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="801" height="558" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-35.png" alt="" class="wp-image-2690" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-35.png 801w, https://domo.rem81.com/wp-content/uploads/2023/04/image-35-300x209.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-35-768x535.png 768w, https://domo.rem81.com/wp-content/uploads/2023/04/image-35-135x93.png 135w" sizes="(max-width: 801px) 100vw, 801px" /></figure>
<p>Il est décomposé en 6 Nodes (ou noeuds) principaux:</p>
<ul>
<li>Un Node « Modbus read » permet d&rsquo;acquérir la puissance du réseau, négative si injection, positive si soutirage. Je lis l&rsquo;information dans mon cerbo GX (le systéme central de mon installation Victron) toutes les 2 secondes.</li>
<li>Un Node « convertion » qui convertit un entier non signé en un entier signé.</li>
<li>Un Node « Etat Dimmer » qui me remonte, depuis HA, si le dimmer est en fonctionnement ou pas, dans ce cas la sortie, le compteur interne, l&rsquo;incrément sont forcés à zéro.</li>
<li>un Node « Calcul Sortie % ». C&rsquo;est ici que je calcule la sortie vers mon dimmer entre 0 et 100%. Il contient également la mise en forme de l&rsquo;URL.</li>
<li>Un Node « transfert de l&rsquo;URL »</li>
<li>Un Node « envoi de la requète HTTP » au dimmer. </li>
<li>Quelques Nodes de mise au point et d&rsquo;affichage sur le dasboard.</li>
</ul>
<p>Et c&rsquo;est tout, j&rsquo;ai quand même ajouté un Dahsborad Node Red, histoire de visualiser le résultat et de se donner la possibilité de simuler la sortie ou la puissance réseau.</p>
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-25.png" alt="" class="wp-image-2612" width="735" height="522" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-25.png 977w, https://domo.rem81.com/wp-content/uploads/2023/04/image-25-300x213.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-25-768x546.png 768w" sizes="(max-width: 735px) 100vw, 735px" /></figure>
<p>Pour utiliser le code que je vous propose, il faut installer ces deux palettes complémentaires dans NR:</p>
<ul>
<li>node-red-contrib-modbus</li>
<li>node-red-dashboard</li>
</ul>
<p>Vous trouver en annexe le code NR à copier/coller dans « import nodes ».</p>
<h3 class="wp-block-heading">Algorithme de régulation.</h3>
<p>J&rsquo;ai fait simple, le principe retenu est le suivant: </p>
<ul>
<li>Je compare la valeur absolue de la mesure de puissance à 7 plages de valeurs et selon la plage concernée, je donne une valeur à un incrément. Avec cette valeur, jincrémente ou je décrémente ma sortie % du triac au rythme des lectures de puissance, cadencées à 2 secondes.</li>
<li>Plus la puissance est proche de zéro, plus l&rsquo;incrément est petit, plus la puissance s&rsquo;éloigne du zéro, plus l&rsquo;incrément est grand.</li>
<li>Les plages de puissance et les valeurs des incréments, définies arbitrairement, sont à ajuster, j&rsquo;attends plus de production solaire pour affiner les réglages.</li>
<li>Je n&rsquo;exclue pas, si les résultats sont non satisfaisants de revoir complètement cet algorithme.</li>
</ul>
<figure class="wp-block-table"><table><tbody><tr><td><strong>Palier</strong></td><td><strong>Pu (W)</strong></td><td><strong>Incrément</strong></td></tr><tr><td>Palier 0</td><td>0</td><td>0</td></tr><tr><td>Palier 1</td><td>10</td><td>1</td></tr><tr><td>Palier 2</td><td>50</td><td>1</td></tr><tr><td>Palier 3</td><td>100</td><td>2</td></tr><tr><td>Palier 4</td><td>200</td><td>3</td></tr><tr><td>Palier 5</td><td>300</td><td>4</td></tr><tr><td>Palier 6</td><td>600</td><td>6</td></tr><tr><td>Palier 7</td><td>900</td><td>7</td></tr></tbody></table><figcaption class="wp-element-caption">Tableau des paliers programmés dans NR</figcaption></figure>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-5 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="580" height="338" data-id="2695" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-36.png" alt="" class="wp-image-2695" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-36.png 580w, https://domo.rem81.com/wp-content/uploads/2023/04/image-36-300x175.png 300w" sizes="(max-width: 580px) 100vw, 580px" /></figure>
</figure>
<p>Un des avantages de Node Red est qu&rsquo;il vous permet de réaliser des tests en temps réels et revenir très facilement en arrière.</p>
<p>J&rsquo;ai fait quelques tentatives de régulation avec un PID, sans résultat, mais c&rsquo;est une piste que je compte explorer plus en avant.</p>
<h2 class="wp-block-heading">Courbes de résultat:</h2>
<p>A compléter quand j&rsquo;aurai d&rsquo;autres courbes significatives à montrer.</p>
<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-32-1024x437.png" alt="" class="wp-image-2663" width="896" height="382" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-32-1024x437.png 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/image-32-300x128.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-32-768x328.png 768w, https://domo.rem81.com/wp-content/uploads/2023/04/image-32.png 1308w" sizes="(max-width: 896px) 100vw, 896px" /></figure>
<h2 class="wp-block-heading">Vue HA:</h2>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="387" height="610" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-31.png" alt="" class="wp-image-2641" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-31.png 387w, https://domo.rem81.com/wp-content/uploads/2023/04/image-31-190x300.png 190w" sizes="(max-width: 387px) 100vw, 387px" /></figure>
<h2 class="wp-block-heading">Solution alternative.</h2>
<p>Vous l&rsquo;avez compris, ma solution est simplifiée par le fait que la puissance réseau est disponible en Modbus dans mon onduleur, ce qui n&rsquo;est pas le cas le plus répandu, j&rsquo;en convient, mais vous pouvez très bien exemple vous équiper d&rsquo;un compteur de puissance communiquant en Modbus ou autre protocole, l&rsquo;important étant d&rsquo;avoir un temps de rafraîchissement de la mesure de puissance de quelques secondes (2 dans mon cas).</p>
<p>J&rsquo;anticipe la question, non on ne peut pas utiliser le Linky qui ne délivre qu&rsquo;une puissance apparente en VA, à une cadence non maîtrisée et aux valeurs incertaines.</p>
<p>La solution avec un <a rel="noreferrer noopener" href="https://domo.rem81.com/2021/02/24/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique/" data-type="URL" data-id="https://domo.rem81.com/2021/02/24/home-assistant-gestion-piscine-2_mesure-de-puissance-electrique/" target="_blank">module PZEM</a> ne convient pas non plus, la mesure est toujours positive.</p>
<h1 class="wp-block-heading">Liens vers des routeurs à monter soi-même:</h1>
<p>Bien entendu cette liste est non exhaustive, si vous avez d&rsquo;autres liens, n&rsquo;hésiter pas à me les transmettre, je les ajouterai.</p>
<ul>
<li><a rel="noreferrer noopener" href="https://sites.google.com/view/le-professolaire/routeur-professolaire" data-type="URL" data-id="https://sites.google.com/view/le-professolaire/routeur-professolaire" target="_blank">Le Prof&rsquo;Solaire</a>. </li>
<li><a rel="noreferrer noopener" href="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" data-type="URL" data-id="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" target="_blank">Association P&rsquo;TIWATT</a> (celui que j&rsquo;ai longtemps utilisé)</li>
<li><a rel="noreferrer noopener" href="https://pvrouteur.apper-solaire.org/" data-type="URL" data-id="https://pvrouteur.apper-solaire.org/" target="_blank">Le Routeur/Dimmer de Cyril</a> (celui décrit dans cet article)</li>
<li><a href="https://github.com/bidouilleurs/routeur_solaire" data-type="URL" data-id="https://github.com/bidouilleurs/routeur_solaire" target="_blank" rel="noreferrer noopener">Les bidouilleurs Solaire</a></li>
<li><a href="http://pvrouteur.free.fr/" data-type="URL" data-id="http://pvrouteur.free.fr/" target="_blank" rel="noreferrer noopener">pvrouteur pour les nuls</a></li>
<li><a href="https://f1atb.fr/index.php/fr/2022/12/03/realisez-un-routeur-solaire-pour-gerer-la-surproduction/" data-type="URL" data-id="https://f1atb.fr/index.php/fr/2022/12/03/realisez-un-routeur-solaire-pour-gerer-la-surproduction/" target="_blank" rel="noreferrer noopener">F1ATB</a> </li>
<li><a href="https://github.com/Jetblack31/MaxPV" data-type="URL" data-id="https://github.com/Jetblack31/MaxPV" target="_blank" rel="noreferrer noopener">MaxPv</a></li>
<li><a href="https://mk2pvrouter.co.uk/shop.html" data-type="URL" data-id="https://mk2pvrouter.co.uk/shop.html" target="_blank" rel="noreferrer noopener">Mk2PVrouter</a></li>
</ul>
<h1 class="wp-block-heading">Conclusion:</h1>
<p>Cette solution est destinée à ceux qui aiment bricoler, mais finalement pas tant que ça. Il existe beaucoup de routeurs prêt à l&#8217;emploi, certainement plus performant vu leur prix. Celui ci vous coûtera quelques euros, surtout si vous avez un compteur communiquant. </p>
<h1 class="wp-block-heading">Annexe:</h1>
<p>Code .JSON du Flow Node Red:</p>
<pre class="wp-block-code"><code>&#091;{"id":"99c8e0165e0d303e","type":"tab","label":"Router","disabled":false,"info":"","env":&#091;]},{"id":"d5bb5a6fbe8a8900","type":"http request","z":"99c8e0165e0d303e","name":"","method":"GET","ret":"txt","paytoqs":"ignore","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":&#091;{"keyType":"msg","keyValue":"payload","valueType":"other","valueValue":""}],"x":710,"y":100,"wires":&#091;&#091;]]},{"id":"f3351be463b175be","type":"function","z":"99c8e0165e0d303e","name":"function 1","func":"var value=msg.payload;\n\nif (value &lt; 0) {\n value = 0;\n} else if (value &gt; 100) {\n value = 100;\n}\n\n\nmsg.payload = \"http://192.168.0.77/?POWER=\"+value;\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":&#091;],"x":300,"y":80,"wires":&#091;&#091;"5317965d8acbf016"]]},{"id":"5317965d8acbf016","type":"change","z":"99c8e0165e0d303e","name":"","rules":&#091;{"t":"set","p":"url","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":490,"y":220,"wires":&#091;&#091;"d5bb5a6fbe8a8900","efd318f8.965d28","e7032485600e2013"]]},{"id":"1ae1ff1136b1ce65","type":"debug","z":"99c8e0165e0d303e","name":"Increment","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":700,"y":380,"wires":&#091;]},{"id":"90a44f2c9d4a8c4d","type":"debug","z":"99c8e0165e0d303e","name":"PU grid","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":420,"y":360,"wires":&#091;]},{"id":"efd318f8.965d28","type":"debug","z":"99c8e0165e0d303e","name":"URL","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":730,"y":160,"wires":&#091;]},{"id":"3215c48483a96014","type":"function","z":"99c8e0165e0d303e","name":"Calcul Sortie %","func":"var pu = Math.abs(msg.pu);\nvar pu_net = msg.pu;\nvar pourcentage;\nvar increment;\nvar count;\nvar Palier0 = 0;\nvar Palier1 = 10;\nvar Palier2 = 50;\nvar Palier3 = 100;\nvar Palier4 = 200;\nvar Palier5 = 350;\nvar Palier6 = 600;\nvar Palier7 = 900;\nvar etat = msg.dimmer; // Etat dimmer\n\nif (etat === \"on\") {\n\n if (context.get('count') === undefined) {\n context.set('count', 0);\n }\n\n if (pu &gt;= Palier1 &amp;&amp; pu &lt; Palier2) {\n increment = 1;\n }\n else if (pu &gt;= Palier2 &amp;&amp; pu &lt; Palier3) {\n increment = 1; \n }\n else if (pu &gt;= Palier3 &amp;&amp; pu &lt; Palier4) {\n increment = 2; \n }\n else if (pu &gt;= Palier4 &amp;&amp; pu &lt; Palier5) {\n increment = 3; \n }\n else if (pu &gt;= Palier5 &amp;&amp; pu &lt; Palier6) {\n increment = 5;\n }\n else if (pu &gt;= Palier6 &amp;&amp; pu &lt; Palier7) {\n increment = 6;\n }\n else if (pu &gt;= Palier7) {\n increment = 7;\n }\n else {\n increment = 0;\n }\n\n if (pu_net &lt; 0) {\n count = context.get('count') + increment;\n } else {\n count = context.get('count') - increment;\n }\n context.set('count', count);\n pourcentage = Math.trunc(Math.min(100, count));\n\n if (context.get('count') &lt; 0) {\n context.set('count', 0);\n pourcentage = 0;\n }\n if (context.get('count') &gt; 100) {\n context.set('count', 100);\n pourcentage = 100;\n }\n} else {\n pourcentage = 0;\n increment = 0;\n context.set('count', 0)\n}\n\n\nmsg.payload = \"http://192.168.0.77/?POWER=\" + pourcentage;\n\nvar msg2 = { payload: increment }\nvar msg3 = { payload: pourcentage }\nreturn &#091;msg, msg2, msg3];","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":&#091;],"x":440,"y":420,"wires":&#091;&#091;"5317965d8acbf016"],&#091;"1ae1ff1136b1ce65","46f7a8fd5e230c2f"],&#091;"d94c0ff96671f33a","bf0712cff0298b48"]]},{"id":"46f7a8fd5e230c2f","type":"ui_gauge","z":"99c8e0165e0d303e","name":"","group":"dedd34935ebbcdc1","order":1,"width":"3","height":"3","gtype":"gage","title":"Increment","label":"units","format":"{{value}}","min":0,"max":"20","colors":&#091;"#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":700,"y":440,"wires":&#091;]},{"id":"d94c0ff96671f33a","type":"ui_gauge","z":"99c8e0165e0d303e","name":"","group":"dedd34935ebbcdc1","order":2,"width":"3","height":"3","gtype":"gage","title":"Sortie V1","label":"units","format":"{{value}}","min":0,"max":"100","colors":&#091;"#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":700,"y":480,"wires":&#091;]},{"id":"8a52316c884dd04e","type":"modbus-read","z":"99c8e0165e0d303e","name":"Pu grid","topic":"Pu_grid","showStatusActivities":true,"logIOActivities":false,"showErrors":false,"showWarnings":true,"unitid":"100","dataType":"HoldingRegister","adr":"820","quantity":"1","rate":"2","rateUnit":"s","delayOnStart":false,"startDelayTime":"5","server":"af1b6fc455ed5ad2","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":true,"x":90,"y":200,"wires":&#091;&#091;"d4c7e3e3.526538"],&#091;]]},{"id":"d4c7e3e3.526538","type":"function","z":"99c8e0165e0d303e","name":"Convertion","func":"// Entrée : msg.payload (entier non signé)\n// Sortie : msg.payload (entier signé)\n\n// Récupérer la valeur de l'entier non signé\nvar unsignedInt = msg.payload;\n\n// Créer un tableau tampon (Buffer) pour stocker les données\nvar buffer = Buffer.allocUnsafe(2);\n\n// Écrire la valeur de l'entier non signé dans le tampon\nbuffer.writeUInt16BE(unsignedInt, 0);\n\n// Lire la valeur de l'entier signé depuis le tampon\nvar signedInt = buffer.readInt16BE(0);\n\n// Mettre à jour la valeur du message avec l'entier signé\nmsg.payload = signedInt;\n\n// Renvoyer le message modifié\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":&#091;],"x":130,"y":300,"wires":&#091;&#091;"90a44f2c9d4a8c4d","af31ae510b0e868b","fe46843e5a1bd030","62c4bfac1802aab7"]]},{"id":"d485d8cc726be5c8","type":"ui_slider","z":"99c8e0165e0d303e","name":"","label":"Simul Sortie","tooltip":"","group":"378299f3e47d4d20","order":2,"width":0,"height":0,"passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":"0","max":"100","step":1,"className":"","x":110,"y":80,"wires":&#091;&#091;"f3351be463b175be"]]},{"id":"af31ae510b0e868b","type":"ui_chart","z":"99c8e0165e0d303e","name":"","group":"13956cf323d720cd","order":2,"width":0,"height":0,"label":"Pu Réseau","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"5","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"useUTC":false,"colors":&#091;"#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":710,"y":280,"wires":&#091;&#091;]]},{"id":"e7032485600e2013","type":"ui_text","z":"99c8e0165e0d303e","group":"dedd34935ebbcdc1","order":4,"width":0,"height":0,"name":"","label":"Trame","format":"{{msg.payload}}","layout":"row-spread","className":"","x":690,"y":220,"wires":&#091;]},{"id":"bf0712cff0298b48","type":"ui_chart","z":"99c8e0165e0d303e","name":"","group":"dedd34935ebbcdc1","order":3,"width":0,"height":0,"label":"Sortie GV1","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"15","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"useUTC":false,"colors":&#091;"#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":710,"y":520,"wires":&#091;&#091;]]},{"id":"b746980fc02e1b13","type":"ui_slider","z":"99c8e0165e0d303e","name":"","label":"Simul Puissance","tooltip":"","group":"378299f3e47d4d20","order":1,"width":0,"height":0,"passthru":true,"outs":"all","topic":"topic","topicType":"msg","min":"-1000","max":"1000","step":1,"className":"","x":130,"y":140,"wires":&#091;&#091;"3215c48483a96014"]]},{"id":"eb37db9b39905dbc","type":"function","z":"99c8e0165e0d303e","name":"essai","func":"var etat = msg.pu;\nvar msg1;\n\nif (etat === \"on\") {\n msg1 = msg.payload;\n } \n else{\n msg1=0;\n }\n \n\nmsg = { payload:etat};\n\nreturn &#091;msg];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":&#091;],"x":490,"y":540,"wires":&#091;&#091;"621b588ed3d71afe"]]},{"id":"fe46843e5a1bd030","type":"api-current-state","z":"99c8e0165e0d303e","name":"Etat Dimmer","server":"45bc8be7.a4f0a4","version":3,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","entity_id":"switch.dimmer_on_off_4630","state_type":"str","blockInputOverrides":false,"outputProperties":&#091;{"property":"dimmer","propertyType":"msg","value":"","valueType":"entityState"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":130,"y":360,"wires":&#091;&#091;"be258b9d8eefcd93"]]},{"id":"be258b9d8eefcd93","type":"change","z":"99c8e0165e0d303e","name":"payload-&gt;Pu","rules":&#091;{"t":"set","p":"pu","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":210,"y":420,"wires":&#091;&#091;"eb37db9b39905dbc","ea6ab9ee1fa0e3f6","3215c48483a96014"]]},{"id":"621b588ed3d71afe","type":"debug","z":"99c8e0165e0d303e","name":"debug 5","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":700,"y":580,"wires":&#091;]},{"id":"ea6ab9ee1fa0e3f6","type":"debug","z":"99c8e0165e0d303e","name":"Pu","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"payload","statusType":"auto","x":470,"y":480,"wires":&#091;]},{"id":"f531da7a37f7ebd6","type":"comment","z":"99c8e0165e0d303e","name":"Routeur PV","info":"","x":390,"y":40,"wires":&#091;]},{"id":"62c4bfac1802aab7","type":"ui_gauge","z":"99c8e0165e0d303e","name":"","group":"13956cf323d720cd","order":1,"width":"3","height":"3","gtype":"gage","title":"Pu reseau","label":"units","format":"{{value}}","min":"-1000","max":"1000","colors":&#091;"#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","diff":false,"className":"","x":710,"y":320,"wires":&#091;]},{"id":"dedd34935ebbcdc1","type":"ui_group","name":"1","tab":"35ebc542aeecc309","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"af1b6fc455ed5ad2","type":"modbus-client","name":"Victron","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"192.168.0.86","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showWarnings":true,"showLogs":true},{"id":"378299f3e47d4d20","type":"ui_group","name":"4","tab":"35ebc542aeecc309","order":4,"disp":true,"width":"6","collapse":false,"className":""},{"id":"13956cf323d720cd","type":"ui_group","name":"2","tab":"35ebc542aeecc309","order":2,"disp":true,"width":"6","collapse":false,"className":""},{"id":"45bc8be7.a4f0a4","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":"at: ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"h23","statusTimeFormat":"h:m","enableGlobalContextStore":true},{"id":"35ebc542aeecc309","type":"ui_tab","name":"Victron","icon":"dashboard","disabled":false,"hidden":false}]</code></pre>
<p></p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:58:"https://domo.rem81.com/2023/04/14/ha-routeur-solaire/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"9";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:2;a:6:{s:4:"data";s:100:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:24:"HA-ESP8266 sur Batterie.";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:59:"https://domo.rem81.com/2023/03/25/ha-esp8266-sur-batteries/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:68:"https://domo.rem81.com/2023/03/25/ha-esp8266-sur-batteries/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Sat, 25 Mar 2023 15:45:00 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:10:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Faire soi-même";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:15:"Photovoltaïque";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:10:"Prototypes";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:5:"Eagle";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:6;a:5:{s:4:"data";s:7:"ESP8266";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:7;a:5:{s:4:"data";s:7:"ESPHOME";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:8;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:9;a:5:{s:4:"data";s:8:"wemos d1";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2516";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:184:"Intro Dans cet article je vous propose de partager mon expérience dans la mise en oeuvre d&#8217;un ESP8266 (ou Wemos D1) alimenté par une batterie et un panneau solaire. Le &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:21933:"
<h1 class="wp-block-heading">Intro</h1>
<p>Dans cet article je vous propose de partager mon expérience dans la mise en oeuvre d&rsquo;un ESP8266 (ou Wemos D1) alimenté par une batterie et un panneau solaire. Le but est de le rendre indépendant de toute source dalimentation, la limite étant celle du Wi-Fi. </p>
<h1 class="wp-block-heading">Partie matérielle</h1>
<p>L&rsquo;objectif de ce montage est de pouvoir relever des températures élevées dans un barbecue au gaz, c&rsquo;est pourquoi j&rsquo;ai utilisé un module thermocouple, bien évidemment vous pouvez l&rsquo;adapter avec d&rsquo;autres types de capteur, la <a href="https://esphome.io/index.html" target="_blank" rel="noreferrer noopener">bibliothèque ESPHome</a> en contient un grand nombre.</p>
<p>Je l&rsquo;ai également utilisé cet été pour mesurer la température des panneaux photovoltaïques installés sur le toit, plus de 70°C en plein soleil et en ce&nbsp;moment je surveille la température de mes plans potagés dans une petite serre.</p>
<h2 class="wp-block-heading">Liste des courses</h2>
<p>Les articles nécessaires à la réalisation de ce montage sont facilement trouvables sur le Net, je vous donne des liens Ali Express, mais Amazon vous les propose également en plus cher.</p>
<p><strong>Un panneau solaire 6V</strong> de 1 ou 2W, plus il est puissant, plus vite la batterie sera chargée, plus sa surface est importante. Vous en trouvez <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005002326120433.html?spm=a2g0o.productlist.main.1.6b806155bSx9B6&amp;algo_pvid=15bdb46e-f928-4606-81fc-0c9b93ec9a12&amp;aem_p4p_detail=2023040105492511102525816105520010997633&amp;algo_exp_id=15bdb46e-f928-4606-81fc-0c9b93ec9a12-0&amp;pdp_ext_f=%7B%22sku_id%22%3A%2212000020099392676%22%7D&amp;pdp_npi=3%40dis%21EUR%2110.37%215.6%21%21%21%21%21%402145288516803533657211480d0710%2112000020099392676%21sea%21FR%21833459399&amp;curPageLogUid=tsYnjJERRxaO&amp;ad_pvid=2023040105492511102525816105520010997633_1&amp;ad_pvid=2023040105492511102525816105520010997633_1" target="_blank">Ici par exemple</a></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="485" height="305" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-2.png" alt="" class="wp-image-2521" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-2.png 485w, https://domo.rem81.com/wp-content/uploads/2023/04/image-2-300x189.png 300w" sizes="(max-width: 485px) 100vw, 485px" /></figure>
<p><strong>Un module de chargeur de batterie</strong> au Lithium, Type c/Micro/Mini USB 5V 1A 18650 TP4056, carte de charge avec Protection, double fonction 1A Li-ion. Ce chargeur protège votre batterie 18650 tout en délivrant une tension de 5V à partir du 3.7V de la batterie.</p>
<p>Vous en trouvez <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005005114469893.html?spm=a2g0o.productlist.main.1.5dc652264bT8Ff&amp;algo_pvid=340c60cb-4a15-451b-b6af-4168b3146ef0&amp;aem_p4p_detail=202304010600064949459412040430010647505&amp;algo_exp_id=340c60cb-4a15-451b-b6af-4168b3146ef0-0&amp;pdp_ext_f=%7B%22sku_id%22%3A%2212000031966085554%22%7D&amp;pdp_npi=3%40dis%21EUR%213.08%212.86%21%21%21%21%21%402145279016803540069372618d0715%2112000031966085554%21sea%21FR%21833459399&amp;curPageLogUid=6JW2N4ixk1qT&amp;ad_pvid=202304010600064949459412040430010647505_1&amp;ad_pvid=202304010600064949459412040430010647505_1" target="_blank">ici par exemple</a> </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="379" height="305" src="https://domo.rem81.com/wp-content/uploads/2023/04/image.png" alt="" class="wp-image-2519" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image.png 379w, https://domo.rem81.com/wp-content/uploads/2023/04/image-300x241.png 300w" sizes="(max-width: 379px) 100vw, 379px" /></figure>
<p><strong>Un module Wemos D1,</strong> vous en trouvez facilement sur Amazon ou Ali Express.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="199" height="166" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-3.png" alt="" class="wp-image-2522"/></figure>
<p><strong>Un module 4 entrées analogiques</strong> ADS1115, vous en trouvez facilement sur Amazon ou Ali Express. Il n&rsquo;est pas indispensable, je m&rsquo;en sert pour remonter vers HA la tension délivrée par le panneau photovoltaïque. Vous en trouvez <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005001621657760.html?spm=a2g0o.productlist.main.1.a4ee19bdtEo8z2&amp;algo_pvid=455c2121-df29-4736-85ef-58b93ac3a129&amp;aem_p4p_detail=20230401061242235178593433420011056661&amp;algo_exp_id=455c2121-df29-4736-85ef-58b93ac3a129-0&amp;pdp_ext_f=%7B%22sku_id%22%3A%2212000016846178951%22%7D&amp;pdp_npi=3%40dis%21EUR%212.57%212.13%21%21%21%21%21%402100bc5c16803547621028288d0737%2112000016846178951%21sea%21FR%21833459399&amp;curPageLogUid=tXstcoW1LNf2&amp;ad_pvid=20230401061242235178593433420011056661_1&amp;ad_pvid=20230401061242235178593433420011056661_1" target="_blank">ici par exemple</a>.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="195" height="209" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-4.png" alt="" class="wp-image-2524"/></figure>
<p><strong>Une batterie 18650</strong>, 3000 mAh minimum, 4500mAh est plus courant.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="398" height="203" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-7.png" alt="" class="wp-image-2529" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-7.png 398w, https://domo.rem81.com/wp-content/uploads/2023/04/image-7-300x153.png 300w" sizes="(max-width: 398px) 100vw, 398px" /></figure>
<p><strong>Un support de batterie 18650.</strong> Vous en trouverez <a href="https://fr.aliexpress.com/item/1005005207627561.html?spm=a2g0o.productlist.main.5.477f796cx02yF0&amp;algo_pvid=88c6f83a-689a-4fa6-8090-8d7004438738&amp;aem_p4p_detail=202304010944263228197501919150011300655&amp;algo_exp_id=88c6f83a-689a-4fa6-8090-8d7004438738-2&amp;pdp_ext_f=%7B%22sku_id%22%3A%2212000032170440885%22%7D&amp;pdp_npi=3%40dis%21EUR%2111.39%2111.28%21%21%21%21%21%402145279016803674664643468d0715%2112000032170440885%21sea%21FR%21833459399&amp;curPageLogUid=AeUuFLhEbrBZ&amp;ad_pvid=202304010944263228197501919150011300655_3&amp;ad_pvid=202304010944263228197501919150011300655_3" target="_blank" rel="noreferrer noopener">ici par exemple.</a></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="459" height="308" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-8.png" alt="" class="wp-image-2530" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-8.png 459w, https://domo.rem81.com/wp-content/uploads/2023/04/image-8-300x201.png 300w" sizes="(max-width: 459px) 100vw, 459px" /></figure>
<p><strong>Un module thermocouple</strong> « max31855 » 0-800°C. Vous en trouverez <a href="https://fr.aliexpress.com/item/1902975189.html?spm=a2g0o.order_list.order_list_main.5.58635e5bHXAF2q&amp;gatewayAdapt=glo2fra">ici par exemple</a></p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="358" height="260" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-5.png" alt="" class="wp-image-2527" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-5.png 358w, https://domo.rem81.com/wp-content/uploads/2023/04/image-5-300x218.png 300w" sizes="(max-width: 358px) 100vw, 358px" /></figure>
<p><strong>Un bouton poussoir</strong> de réinitialisation avec un contact normalement ouvert. Pas indispensable, mais j&rsquo;en met systématiquement, cela évite d&rsquo;avoir à ouvrir le boitier pour réinitialiser le Wemos. Vous en trouverez <a href="https://fr.aliexpress.com/item/32711341102.html?spm=a2g0o.productlist.main.77.703e2af9Dj2zOi&amp;algo_pvid=3386dae9-4146-4fa2-8600-002982aba42c&amp;algo_exp_id=3386dae9-4146-4fa2-8600-002982aba42c-38&amp;pdp_ext_f=%7B%22sku_id%22%3A%2261006852655%22%7D&amp;pdp_npi=3%40dis%21EUR%212.42%212.18%21%21%21%21%21%402100b77316803565873478016d0720%2161006852655%21sea%21FR%21833459399&amp;curPageLogUid=gHlgQJkJxipe" target="_blank" rel="noreferrer noopener">ici par exemple</a>.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="108" height="204" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-11.png" alt="" class="wp-image-2536"/></figure>
<h2 class="wp-block-heading">Schéma électronique</h2>
<p>Une fois le matériel acheté, vous pouvez commencer à les raccorder entre eux via le schéma suivant. Ce schéma a été élaboré avec « Eagle de Autodesk ». </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="253" height="79" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-9.png" alt="" class="wp-image-2532"/></figure>
<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-10.png" alt="" class="wp-image-2533" width="878" height="472" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-10.png 964w, https://domo.rem81.com/wp-content/uploads/2023/04/image-10-300x162.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-10-768x413.png 768w" sizes="(max-width: 878px) 100vw, 878px" /></figure>
<p>Le 5V+ est relié à la broche A0 du Wemos afin de mesurer sa tension d&rsquo;alimentation.</p>
<p>Le +6V du panneau PV est relié à l&rsquo;entrée A0 du module ADS1115.</p>
<h2 class="wp-block-heading">Circuit Imprimé</h2>
<p>Élaboré avec Eagle, vous pouvez sous traiter la fabrication de ce type de PCB à <a href="https://jlcpcb.com/" target="_blank" rel="noreferrer noopener">https://jlcpcb.com/</a> ça coûte que dalle, c&rsquo;est du travail de pro, il faut pas être pressé et c&rsquo;est quantité 5 minimum.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-6 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="244" height="310" data-id="2539" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-12.png" alt="" class="wp-image-2539" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-12.png 244w, https://domo.rem81.com/wp-content/uploads/2023/04/image-12-236x300.png 236w" sizes="(max-width: 244px) 100vw, 244px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="247" height="312" data-id="2540" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-13.png" alt="" class="wp-image-2540" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-13.png 247w, https://domo.rem81.com/wp-content/uploads/2023/04/image-13-238x300.png 238w" sizes="(max-width: 247px) 100vw, 247px" /></figure>
</figure>
<p>Et ça coute vraiment pas cher! 2€ pour 5 PCB.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="915" height="355" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-14.png" alt="" class="wp-image-2541" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-14.png 915w, https://domo.rem81.com/wp-content/uploads/2023/04/image-14-300x116.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-14-768x298.png 768w" sizes="(max-width: 915px) 100vw, 915px" /></figure>
<p>Je mets à votre disposition en téléchargement le fichier Gerber qui permet de faire fabriquer le PCB.</p>
<div class="wp-block-file"><a id="wp-block-file--media-7eaf6d71-bf64-4bb2-bebb-0a42491038e0" href="https://domo.rem81.com/wp-content/uploads/2023/04/CAMOutputs.zip">CAMOutputs</a><a href="https://domo.rem81.com/wp-content/uploads/2023/04/CAMOutputs.zip" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-7eaf6d71-bf64-4bb2-bebb-0a42491038e0">Télécharger</a></div>
<h2 class="wp-block-heading">Mise en oeuvre</h2>
<p>J&rsquo;ai mis le PCB dans une boite plastique délectricité 100*100, on voit sur la photo qu&rsquo;elle à vécue ainsi que le panneau mais ils tiennent le choc.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-7 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2556" src="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-1024x1024.jpg" alt="" class="wp-image-2556" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163101-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2555" src="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-1024x1024.jpg" alt="" class="wp-image-2555" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/04/IMG_20230401_163127-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<h1 class="wp-block-heading">Partie Logicielle</h1>
<p>C&rsquo;est sans surprise, le Wemos est codé avec ESphome. J&rsquo;ai décrit le premier flashage d&rsquo;un ESP dans cet <a rel="noreferrer noopener" href="https://domo.rem81.com/2021/03/25/" target="_blank">article</a>.</p>
<p>Rien d&rsquo;exceptionnel si ce n&rsquo;est la mise en veille de l&rsquo;ESP et la mesure VCC</p>
<h2 class="wp-block-heading">Mise en veille de l&rsquo;ESP:</h2>
<p>Il faut savoir que l&rsquo;ESP se met en veille par logiciel, mais pour le sortir de sa torpeur, la broche D0 doit être reliée à la broche RST, d&rsquo;ou la présence du cavalier, si vous l&rsquo;enlevez, il ne se réveille pas.</p>
<p>Lorsque que le Wemos est en veille, il ne communique plus donc impossible de télécharger une mise à jour par exemple, c&rsquo;est pourquoi par programme, je « bloque » sa mis en veille avec un « input_boolean.reveil_esp127_thermocouple » déclaré dans HA. Sur ON, la mise en veille est bloquée. Une fois le téléchargement de la mise à jour terminé vous le remettez sur OFF.</p>
<p>Vous pouvez déclarer l&rsquo;input_boolean dans « ../config/helpers. ».</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="707" height="504" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-16.png" alt="" class="wp-image-2548" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-16.png 707w, https://domo.rem81.com/wp-content/uploads/2023/04/image-16-300x214.png 300w" sizes="(max-width: 707px) 100vw, 707px" /></figure>
<h2 class="wp-block-heading">Mesure VCC</h2>
<p>Tout est dit dans la <a rel="noreferrer noopener" href="https://esphome.io/components/sensor/adc.html#adc-esp8266-vcc" target="_blank">documentation ESP</a>, vous mesurez au max 3.3 V bien que ce soit 5V de relier à la broche A0.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="678" height="454" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-15.png" alt="" class="wp-image-2546" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-15.png 678w, https://domo.rem81.com/wp-content/uploads/2023/04/image-15-300x201.png 300w" sizes="(max-width: 678px) 100vw, 678px" /></figure>
<p>Un exemple de la mesure de tension fluctuant avec le niveau de charge de la batterie:</p>
<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-21-1024x451.png" alt="" class="wp-image-2558" width="946" height="416" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-21-1024x451.png 1024w, https://domo.rem81.com/wp-content/uploads/2023/04/image-21-300x132.png 300w, https://domo.rem81.com/wp-content/uploads/2023/04/image-21-768x338.png 768w, https://domo.rem81.com/wp-content/uploads/2023/04/image-21.png 1316w" sizes="(max-width: 946px) 100vw, 946px" /></figure>
<p>Le panneau, bien que très bon marché, produit des que le jour se lève même par temps couvert:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="549" height="453" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-22.png" alt="" class="wp-image-2560" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-22.png 549w, https://domo.rem81.com/wp-content/uploads/2023/04/image-22-300x248.png 300w" sizes="(max-width: 549px) 100vw, 549px" /></figure>
<h2 class="wp-block-heading">Code YAML</h2>
<p>Dans mon exemple, l&rsquo;ESP se « réveille » pendant 60s (<strong>duree_reveil</strong>) toutes les 5mn (<strong>duree_sommeil</strong>). A adapter selon vos besoins dans « substitutions ».</p>
<pre class="wp-block-code"><code>substitutions:
device_name: esp127-thermocouple
adress_ip: "192.168.0.127"
friendly_name: esp127
duree_sommeil: "5min"
duree_reveil: "60s"
esphome:
name: ${device_name}
platform: ESP8266
board: d1_mini
on_boot:
then:
- script.execute: exec_deep_sleep
wifi:
networks:
- ssid: !secret wifi_esp
password: !secret mdpwifi_esp
priority: 2
- ssid: !secret wifi
password: !secret mdpwifi
priority: 0
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
deep_sleep:
sleep_duration: ${duree_sommeil}
id: control_deep_sleep
i2c:
sda: GPIO4 #D2
scl: GPIO5 #D1
scan: true
id: bus_a
logger:
api:
ota:
web_server:
port: 80
spi:
miso_pin: D5
clk_pin: D8 #ex D1
ads1115:
- address: 0x48
sensor:
- platform: ads1115
multiplexer: 'A0_GND'
gain: 6.144
name: "${friendly_name} U Panneau"
update_interval: 10s
- platform: max31855
name: "${friendly_name} Temperature"
cs_pin: D3
update_interval: 10s
accuracy_decimals: 2
filters:
- median:
window_size: 8
send_every: 4
send_first_at: 1
- platform: adc
pin: VCC
name: "${friendly_name} U Alim"
update_interval: 10s
binary_sensor:
- platform: homeassistant
entity_id: input_boolean.reveil_esp127_thermocouple
id: prevent_deep_sleep
#Etat de la connection
- platform: status
name: "${friendly_name} Status"
script:
- id: exec_deep_sleep
mode: queued
then:
- delay: ${duree_reveil}
- logger.log: 'execute script'
- if:
condition:
binary_sensor.is_on: prevent_deep_sleep
then:
- logger.log: 'Eviter la mise en sommeil par prevent_deep_sleep'
- deep_sleep.prevent: control_deep_sleep
else:
- logger.log: 'Autorise la mise en sommeil par deep_sleep_enter'
- deep_sleep.enter:
id: control_deep_sleep
sleep_duration: ${duree_sommeil}
- script.execute: exec_deep_sleep
</code></pre>
<h2 class="wp-block-heading">Quelques vues d&rsquo;exemple:</h2>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="445" height="316" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-20.png" alt="" class="wp-image-2553" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-20.png 445w, https://domo.rem81.com/wp-content/uploads/2023/04/image-20-300x213.png 300w" sizes="(max-width: 445px) 100vw, 445px" /></figure>
<pre class="wp-block-code"><code>type: entities
entities:
- entity: sensor.esp127_temperature
secondary_info: last-updated
- entity: sensor.esp127_u_alim
secondary_info: last-updated
- entity: sensor.esp127_u_panneau
secondary_info: last-updated
- entity: input_boolean.reveil_esp127_thermocouple
- entity: binary_sensor.esp127_status
secondary_info: last-updated
title: Esp127-thermocouple
</code></pre>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="452" height="339" src="https://domo.rem81.com/wp-content/uploads/2023/04/image-19.png" alt="" class="wp-image-2552" srcset="https://domo.rem81.com/wp-content/uploads/2023/04/image-19.png 452w, https://domo.rem81.com/wp-content/uploads/2023/04/image-19-300x225.png 300w" sizes="(max-width: 452px) 100vw, 452px" /></figure>
<pre class="wp-block-code"><code>type: history-graph
entities:
- entity: sensor.esp127_u_alim
name: Alim
- entity: sensor.esp127_u_panneau
name: Panneau
title: ESP127
hours_to_show: 12</code></pre>
<h1 class="wp-block-heading">Conclusion:</h1>
<p>Tuto tout simple qui, je lespère, vous aidera à résoudre vos problèmes d&rsquo;ESP Isolé à l&rsquo;extérieur.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:64:"https://domo.rem81.com/2023/03/25/ha-esp8266-sur-batteries/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"8";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:3;a:6:{s:4:"data";s:88:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:26:"HA-Platines Relais ESP8266";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:60:"https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:68:"https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/#respond";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 09 Jan 2023 14:27:29 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:6:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Faire soi-même";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:7:"ESP8266";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:7:"ESPHOME";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2441";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:181:"Intro Je vous propose de découvrir la mise en oeuvre de platine relais à base ESP8266 équipée de 1 (ou plusieurs relais) sur ESPHOME. Liste des courses Un module relais &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:23316:"
<h1 class="wp-block-heading">Intro</h1>
<p>Je vous propose de découvrir la mise en oeuvre de platine relais à base ESP8266 équipée de 1 (ou plusieurs relais) sur ESPHOME.</p>
<h1 class="wp-block-heading">Liste des courses</h1>
<p>Un module relais ESP8266 directement alimenté en 220 Vca ou en courant conctinu de 7 à 12 VCC ou en 5 VCC par prise USB acheté <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005004645865800.html?spm=a2g0o.order_list.order_list_main.17.21ef5e5bfOS9hp&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/1005004645865800.html?spm=a2g0o.order_list.order_list_main.17.21ef5e5bfOS9hp&amp;gatewayAdapt=glo2fra" target="_blank">ici</a>.</p>
<p>Ce module est très pratique puisqu&rsquo;il suffit de le configurer, l&rsquo;alimenter et le coupler à HA.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1024x1024.jpg" alt="" class="wp-image-2443" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_082612-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Les modules commandés sont livrés avec les broches à souder et un pont nécessaire à la première programmation. Peut être pourriez vous en trouver avec les broches déjà soudées. Si c&rsquo;est le cas, merci de laisser le lien en commentaire.</p>
<h1 class="wp-block-heading">Présentation du Module</h1>
<p>Vous trouverez ci après une rapide présentation du module</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="823" height="558" src="https://domo.rem81.com/wp-content/uploads/2023/01/image.png" alt="" class="wp-image-2444" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image.png 823w, https://domo.rem81.com/wp-content/uploads/2023/01/image-300x203.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-768x521.png 768w, https://domo.rem81.com/wp-content/uploads/2023/01/image-135x93.png 135w" sizes="(max-width: 823px) 100vw, 823px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="578" height="399" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-1.png" alt="" class="wp-image-2445" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-1.png 578w, https://domo.rem81.com/wp-content/uploads/2023/01/image-1-300x207.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-1-135x93.png 135w" sizes="(max-width: 578px) 100vw, 578px" /></figure>
<p><strong>Descriptif du Module</strong></p>
<p></p>
<ul>
<li>1.L, N: alimentation AC90-250V</li>
<li>2.AC90-250V à DC5V alimentation à découpage (lors de l&rsquo;utilisation de l&rsquo;alimentation secteur, veuillez ne pas le toucher directement avec vos mains!!)</li>
<li>3.VCC, GND: alimentation DC7-12V;</li>
<li>4.Micro USB: alimentation USB DC5V;</li>
<li>5.Bouton 5.6X6mm: bouton de réinitialisation ESP8266;</li>
<li>6. port de téléchargement du programme UART: GND, RX, Tx, 5V .</li>
<li>7. Broches accessibles, voir détail ci après.</li>
<li>8. Contacts du relais:Normalement ouvert et Normalement Fermé.</li>
<li>9. Indicateur d&rsquo;alimentation LED;</li>
<li>10. LED Programmable;</li>
<li>11. Témoin de relais LED: s&rsquo;allume quand il est fermé.</li>
</ul>
<p><strong>Descriptif des Broches surlignées en 7 (de gauche à droite):</strong></p>
<p>Ces broches permettent détendre les possibilités de la carte.</p>
<ul>
<li>1.GND: 0 Volt ou GND</li>
<li>2.Relais: le relais est par défaut connecté au GPIO5. Pour piloter le relais avec un autre GPIO, il faut supprimer R14 puis brancher le relais sur le GPIO souhaité avec un <a href="https://fr.aliexpress.com/item/4000203371860.html?spm=a2g0o.order_list.order_list_main.173.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/4000203371860.html?spm=a2g0o.order_list.order_list_main.173.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" target="_blank" rel="noreferrer noopener">cable Dupont</a> par exemple.</li>
<li>3.IO2: GPIO2: UARTI-TXD</li>
<li>4.IO4: GPIO4</li>
<li>5.RX: UARTO-RXD: GPIO3</li>
<li>6.3V3: alimentation 3.3V</li>
<li>7. SCLK: horloge</li>
<li>8.IO15: GPIO15: MTDO; HSPICS; UARTO-RTS</li>
<li>9.IO0: GPIO0</li>
<li>10.IO5: GPIO5</li>
<li>11.TX: UARTO-TXD; GPIO1</li>
<li>12.5V: alimentation 5V</li>
<li>13.IO10: GPIO10</li>
<li>14.MISO: sortie esclave et entrée hôte</li>
<li>15.IO13: GPIO13; HSPI-MOSI; UARTO-CTS</li>
<li>16.1IO14: GPIO14; HSPI-CLK</li>
<li>17. ADC: résultat de conversion a/d. Gamme de tension d&rsquo;entrée: 0 ~ 1V, gamme de valeur: 0 ~ 1024</li>
<li>18.3V3: alimentation 3.3V</li>
<li>19.MOSI: sortie hôte et entrée esclave</li>
<li>20.IO9: GPIO9</li>
<li>21. CSO: sélection de puce</li>
<li>22.IO12: GPIO12; HSPI-MISO</li>
<li>23.IO16: GPIO16</li>
<li>24.GND: 0 Volt ou GND</li>
</ul>
<h1 class="wp-block-heading">Utilisation du module</h1>
<h2 class="wp-block-heading">Premier flashage du module:</h2>
<p>Afin d&rsquo;utiliser ce module avec HA, nous devons télécharger le programme ESP HOME via son port série. Le module que j&rsquo;utilise est ce <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/4000492274243.html?spm=a2g0o.productlist.main.37.2c471f73qEqhg6&amp;algo_pvid=1ffed911-0c73-4df5-9920-ce93791a9524&amp;algo_exp_id=1ffed911-0c73-4df5-9920-ce93791a9524-18&amp;pdp_ext_f=%7B%22sku_id%22%3A%2210000002208891354%22%7D&amp;pdp_npi=2%40dis%21EUR%211.91%211.68%21%21%21%21%21%402100b76616732599821855166d06ba%2110000002208891354%21sea&amp;curPageLogUid=800oAxGbCbzg" data-type="URL" data-id="https://fr.aliexpress.com/item/4000492274243.html?spm=a2g0o.productlist.main.37.2c471f73qEqhg6&amp;algo_pvid=1ffed911-0c73-4df5-9920-ce93791a9524&amp;algo_exp_id=1ffed911-0c73-4df5-9920-ce93791a9524-18&amp;pdp_ext_f=%7B%22sku_id%22%3A%2210000002208891354%22%7D&amp;pdp_npi=2%40dis%21EUR%211.91%211.68%21%21%21%21%21%402100b76616732599821855166d06ba%2110000002208891354%21sea&amp;curPageLogUid=800oAxGbCbzg" target="_blank">type de module.</a>, c&rsquo;est un convertisseur USB&lt;-&gt;Port série.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="504" height="365" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-3.png" alt="" class="wp-image-2451" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-3.png 504w, https://domo.rem81.com/wp-content/uploads/2023/01/image-3-300x217.png 300w" sizes="(max-width: 504px) 100vw, 504px" /></figure>
<p>Vous devez le brancher à votre carte selon le mapping suivant (utilisation des <a href="https://fr.aliexpress.com/item/4000203371860.html?spm=a2g0o.order_list.order_list_main.173.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/4000203371860.html?spm=a2g0o.order_list.order_list_main.173.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" target="_blank" rel="noreferrer noopener">câbles Dupont</a>):</p>
<ul>
<li><strong>Carte relais (connecteur P3 en 6 ci dessus)&lt;-&gt; Convertisseur</strong>
<ul>
<li>GND &lt;-&gt; GND</li>
<li>Tx &lt;-&gt; Rx</li>
<li>Rx &lt;-&gt; Tx</li>
<li>5 V &lt;-&gt; Vcc</li>
</ul>
</li>
<li>Nota 1: Sur la carte relais, Il faut ponter les broches GND et I00 (uniquement pour ce premier flashage)</li>
<li>Nota 2: Sur le convertisseur, positionner un cavalier sur le 5V.</li>
</ul>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-8 is-layout-flex wp-block-gallery-is-layout-flex"></figure>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-9 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2453" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-1024x1024.jpg" alt="" class="wp-image-2453" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083454-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2455" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-1024x1024.jpg" alt="" class="wp-image-2455" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_083405-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<p>Le téléchargement est décrit dans mon article <a rel="noreferrer noopener" href="https://domo.rem81.com/2021/03/25/home-assistant_esp-home/" target="_blank"> </a><a rel="noreferrer noopener" href="https://domo.rem81.com/2021/03/25/home-assistant_esp-home/" data-type="URL" data-id="https://domo.rem81.com/2021/03/25/home-assistant_esp-home/" target="_blank">https://domo.rem81.com/2021/03/25/home-assistant_esp-home/</a></p>
<p>Une fois le premier flashage réalisée avec succés, vous devez débrancher le convertisseur, retirer le cavalier entre GND et GPIO00, puis alimenter votre module, vous avez le choix entre le 240 VCA, du courant continu 5VCC ou de 7 à 12 VCC.</p>
<p>Une fois ce code chargé, l&rsquo;intégration validée dans HA, la communication est établie et la led GPIO10 est éteinte.</p>
<h2 class="wp-block-heading">Programme ESPHOME</h2>
<p>Je vous propose ci après un programme à télécharger, libre à vous de le modifier, dans ce programme j&rsquo;ai configuré:</p>
<ul>
<li>Une adresse IP fixe (c&rsquo;est un choix personnel)</li>
<li>Le status de communication sur la led programmable (GPIO16) qui clignote s&rsquo;il y a des avertissements (lent) ou des erreurs (rapide)</li>
<li>Trois entrés logiques sur les GPIO10, GPIO13 et GPIO14: A relier au GND pour devenir « On »</li>
<li>Une entrée « OnWire » sur le GPIO02 (voir ci après le chapitre dédié)</li>
<li>Le relais sur le GPIO5: Relais normalement au repos.</li>
</ul>
<pre class="wp-block-code"><code>substitutions:
device_name: esp172-esp8266-1-relais-1
friendly_name: esp172
adress_ip: "192.168.0.172"
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
platform: ESP8266
board: d1_mini
wifi:
networks:
- ssid: !secret wifi_esp
password: !secret mdpwifi_esp
priority: 1
- ssid: !secret wifi
password: !secret mdpwifi
priority: 0
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
# Configuration Dallas
dallas:
- pin: GPIO2
update_interval: 10s
# Utilisez la LED bleue de l'appareil comme LED d'état, qui clignotera s'il y a des avertissements (lent) ou des erreurs (rapide)
status_led:
pin:
number: GPIO16
inverted: true
binary_sensor:
# 3 Entrées logiques permettant de lire des contacts ou des BP
- platform: gpio
pin:
number: GPIO10
inverted: True
mode:
input: true
pullup: true
name: "${friendly_name}_bp1"
- platform: gpio
pin:
number: GPIO13
inverted: True
mode:
input: true
pullup: true
name: "${friendly_name}_bp2"
- platform: gpio
pin:
number: GPIO14
inverted: True
mode:
input: true
pullup: true
name: "${friendly_name}_bp3"
#Etat de la connection
- platform: status
name: "${friendly_name}_Status"
sensor:
# DS18B20 15/12/2021
- platform: dallas
address: 0xab0321117f919d28
name: "${friendly_name} Temperature"
id: temp
- platform: wifi_signal
name: "${friendly_name} WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: "${friendly_name} Uptime Sensor"
update_interval: 60s
switch:
# Pilotage du relais
- platform: gpio
name: "${friendly_name} Relais"
pin: GPIO5
id: relay
- platform: restart
name: "${friendly_name} Restart"
</code></pre>
<p>Une fois la communication établie, vous avez accès à la page Web embarquée:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="343" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-5-1024x343.png" alt="" class="wp-image-2480" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-5-1024x343.png 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/image-5-300x100.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-5-768x257.png 768w, https://domo.rem81.com/wp-content/uploads/2023/01/image-5-1536x514.png 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/image-5.png 1554w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Vous pouvez tester votre relais</p>
<p>Vous avez également accès depuis l&rsquo;intégration ESPHOME dans HA:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="584" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-6-1024x584.png" alt="" class="wp-image-2482" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-6-1024x584.png 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/image-6-300x171.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-6-768x438.png 768w, https://domo.rem81.com/wp-content/uploads/2023/01/image-6.png 1310w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Exemple d&rsquo;utilisation:</p>
<p>Comme décrit précédemment, j&rsquo;ai choisi d&rsquo;ajouter une sonde de température Dallas <a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-temp%C3%A9rature-num%C3%A9rique-Inoxydable-Raspberry/dp/B07KNQJ3D7/ref=sr_1_4?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=17KFL3RYWI30H&amp;keywords=ds18b20&amp;qid=1669044567&amp;qu=eyJxc2MiOiI1LjIwIiwicXNhIjoiNC41MiIsInFzcCI6IjQuNTIifQ%3D%3D&amp;s=industrial&amp;sprefix=ds18b20%2Cindustrial%2C90&amp;sr=1-4" target="_blank">ds18b20.</a> </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="407" height="407" src="https://domo.rem81.com/wp-content/uploads/2023/01/image-7.png" alt="" class="wp-image-2486" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/image-7.png 407w, https://domo.rem81.com/wp-content/uploads/2023/01/image-7-300x300.png 300w, https://domo.rem81.com/wp-content/uploads/2023/01/image-7-150x150.png 150w" sizes="(max-width: 407px) 100vw, 407px" /></figure>
<p> Ces sondes communiquent avec le bus WireOne. Le cablage est simple:</p>
<ul>
<li>Fil rouge: Alim 3.3 V</li>
<li>Fil jaune: GPIO</li>
<li>Fil Noir: GND</li>
<li>Il faut également souder une résistance de 4.7 kOhm entre le fil rouge et le fil jaune.</li>
</ul>
<p>Vous pouvez en mettre plusieurs sur un même GPIO. Il suffit de relier les raccorder en parallèle.</p>
<p>Pour cette mise en oeuvre, j&rsquo;ai utilisé un connecteur à souder à plugger directement sur la carte. J&rsquo;utilise le GPIO2 situé entre GND et 3.3V.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-10 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2485" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1024x1024.jpg" alt="" class="wp-image-2485" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124506-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2484" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1024x1024.jpg" alt="" class="wp-image-2484" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_124434-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<h1 class="wp-block-heading">Autres cartes:</h1>
<p>J&rsquo;ai testé d&rsquo;autres cartes, achetées <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005003582666158.html?spm=a2g0o.order_list.order_list_main.28.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/1005003582666158.html?spm=a2g0o.order_list.order_list_main.28.24e05e5b3wWmm4&amp;gatewayAdapt=glo2fra" target="_blank">ici</a>. Perso, je préfére celle équipées d&rsquo;une alimentation en courant alternatif, elles sont plus faciles à mettre en oeuvre.</p>
<p>Le principe de programmation est toujours le même, mais cependant elles ont quelques particularités:</p>
<h2 class="wp-block-heading">Un relais mais pas d&rsquo;alim Courant Alternatif.</h2>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="768" height="1024" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-768x1024.jpg" alt="" class="wp-image-2488" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-768x1024.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-225x300.jpg 225w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-1152x1536.jpg 1152w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-1536x2048.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150022_Bokeh-scaled.jpg 1920w" sizes="(max-width: 768px) 100vw, 768px" /></figure>
<h2 class="wp-block-heading">Deux relais mais pas d&rsquo;alim Courant Alternatif.</h2>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-1024x768.jpg" alt="" class="wp-image-2489" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-1024x768.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-300x225.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-768x576.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-1536x1152.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150100_Bokeh-2048x1536.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Les relais doivent être associés au GPIO par des cavaliers, voir le code ci-dessous à ajouter dans les switch:</p>
<pre class="wp-block-code"><code>switch:
- platform: gpio
name: "${friendly_name} Relais1"
pin: GPIO4
id: relais1
- platform: gpio
name: "${friendly_name} Relais2"
pin: GPIO5
id: relais2</code></pre>
<h2 class="wp-block-heading">Quatre relais avec alim Courant Alternatif.</h2>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-1024x768.jpg" alt="" class="wp-image-2491" srcset="https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-1024x768.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-300x225.jpg 300w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-768x576.jpg 768w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-1536x1152.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2023/01/IMG_20230109_150202_Bokeh-2048x1536.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p><strong>Attention lors de la première programmation, il faut mettre le cavalier du convertisseur sur le 3.3V et non 5V, sinon ça plante.</strong></p>
<p>Comme pour la 2 relais, les relais doivent être associés au GPIO par des cavaliers, voir le code ci-dessous à ajouter dans les switch:</p>
<pre class="wp-block-code"><code>switch:
- platform: gpio
name: "${friendly_name} Relais1"
pin: GPIO16
id: relais1
- platform: gpio
name: "${friendly_name} Relais2"
pin: GPIO14
id: relais2
- platform: gpio
name: "${friendly_name} Relais3"
pin: GPIO12
id: relais3
- platform: gpio
name: "${friendly_name} Relais4"
pin: GPIO13
id: relais4</code></pre>
<h1 class="wp-block-heading">Conclusion</h1>
<p>Dans cet article, il y a des éléments qui paraîtrons basiques ou évidents pour certain, j&rsquo;en convient mais il sadresse aux moins expérimentés qui souhaitent mettre un peu les mains dans le pâté en s&rsquo;équipant de module presque prêts à l&#8217;emploi tout en offrant un maximum de possibilités pour quelques euros.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:65:"https://domo.rem81.com/2023/01/09/ha-platine-relais-esp8266/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:4;a:6:{s:4:"data";s:94:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:31:"HA-Gestion Eau Chaude Sanitaire";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:66:"https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:75:"https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 25 Nov 2022 16:51:29 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:8:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Faire soi-même";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:7:"ESPHOME";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:5:"Linky";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:6;a:5:{s:4:"data";s:8:"lovelace";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:7;a:5:{s:4:"data";s:10:"routeur pv";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2359";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:197:"Intro Lorsque la production d&#8217;Eau Chaude Sanitaire est comme chez moi produite par un ballon eau chaude électrique classique , elle peut être très énergivore et coûter un max si &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:26451:"
<h1 class="wp-block-heading">Intro</h1>
<p>Lorsque la production d&rsquo;Eau Chaude Sanitaire est comme chez moi produite par un ballon eau chaude électrique classique , elle peut être très énergivore et coûter un max si elle n&rsquo;est pas maîtrisée.</p>
<p>C&rsquo;est pourquoi je tente de la réduire au minimum, pour ce faire, j&rsquo;utilise au mieux le surplus de production générée par mon installation photovoltaïque décrite dans mon article <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/11/13/pv-photovoltaique/" target="_blank">https://domo.rem81.com/2022/11/13/pv-photovoltaique/</a> et bien entendu mon système domotique préféré <strong>Home Assistant</strong>.</p>
<h1 class="wp-block-heading">Terminologie:</h1>
<p>Commençons par décrire les termes communément employés dans cet article:</p>
<ul>
<li>HA: Home Assistant</li>
<li>PV: photoVoltaique</li>
<li>RPV: Routeur PhotoVoltaique</li>
<li>BECS: Ballon Eau Chaude sanitaire</li>
<li>RPE: Réseau Electrique Public, réseau Enedis (anciennement réseau EDF).</li>
</ul>
<h1 class="wp-block-heading">Solution proposée</h1>
<h2 class="wp-block-heading">Mis en oeuvre d&rsquo;un routeur photovoltaïque. </h2>
<p>Un RPV est un système électronique par lequel transite lalimentation de votre BECS (on dit qu&rsquo;il est raccordé en série). Ce système module la puissance du signal électrique transmise au BECS en fonction du surplus de puissance injecté dans le RPE. Des que le système détecte une injection supérieure à un seuil généralement paramétrable, il calcul la puissance du signal de sortie du RPV dans une fourchette Min/Max les deux étant aussi généralement paramétrable: Min = 0%, Max est fonction de la puissance du BECS et du RPV. De ce fait la consommation va augmenter jusquà ce le RPV calcul un soutirage dans le RPE, il adapte ainsi en permanence la puissance appliqué au BECS.</p>
<p>Vous trouverez dans cet article publié par <a rel="noreferrer noopener" href="https://ptiwatt.kyna.eu/post/2022/07/09/Construction-d-un-Power-Router-pas-%C3%A0-pas" target="_blank">l&rsquo;association &lsquo;P&rsquo;TITWATT&rsquo;</a> des explications bien plus compréhensible que la mienne.</p>
<p>Cet d&rsquo;ailleurs ce routeur que j&rsquo;utilise mais j&rsquo;y reviendrai dans un article spécifique.</p>
<h2 class="wp-block-heading">Modifications électriques du tableau principal</h2>
<p>Comme je n&rsquo;aime pas mélanger les sources électriques, j&rsquo;ai modifié alimentation de mon BECS comme suit:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="688" height="509" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-1.png" alt="" class="wp-image-2364" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-1.png 688w, https://domo.rem81.com/wp-content/uploads/2022/11/image-1-300x222.png 300w" sizes="(max-width: 688px) 100vw, 688px" /></figure>
<p>le disjoncteur Q23 protège électriquement le BECS, le disjoncteur Q28 protège électriquement le circuit de mesure tension du routeur et le circuit de commande des contacteurs. J&rsquo;aurai également tout alimenter depuis le Q23 mais mon Q28 était disponible!.</p>
<p>Les contacteur PV et Réseau sont des contacteurs type chauffe-eau avec le mode Arret/Auto/Marche, pratique si la domotique est hors service.</p>
<p>Ils sont commandés par HA via un module Wago mais ce peut être bien entendu n&rsquo;importe quel « switch » de puissance pilotés par HA.</p>
<p>Vous avez compris que le contacteur PV alimente le BECS via le routeur et que le contacteur « Réseau » l&rsquo;alimente en direct depuis le réseau.</p>
<h2 class="wp-block-heading">Modification électrique du ballon</h2>
<h3 class="wp-block-heading">Thermostat électromécanique</h3>
<p>Si votre ballon est équipé d&rsquo;un thermostat électromécanique comme le mien, il n&rsquo;y a rien à faire et surtout il faut garder le thermostat opérationnel sous risque de le transformer en cocote minute si HA venait à déconner.</p>
<h3 class="wp-block-heading">Thermostat électronique</h3>
<p>Si votre ballon est équipé d&rsquo;un thermostat Electronique, c&rsquo;est plus compliqué, il faudra dissocier l&rsquo;alimentation électrique de lélectronique du thermostat, de l&rsquo;alimentation électrique des résistances. La première devra toujours etre alimenté directement depuis le réseau, la deuxième pourra transiter par le RPV. Là encore il faut garder le thermostat opérationnel.</p>
<h3 class="wp-block-heading">Ballon Thermodynamique</h3>
<p>Dans ce cas c&rsquo;est plus compliqué car vous ne pouvez pas l&rsquo;alimenter électriquement directement via le RPV sans effectuer de modifications, vous risquez tout simplement de le cramer.</p>
<p>Malheureusement, je ne saurai pas vous aider sur ce coup, mais GOOGLE est votre ami, il vous apportera certainement la solution.</p>
<h2 class="wp-block-heading">Mesure de température de l&rsquo;eau</h2>
<h3 class="wp-block-heading">Solution</h3>
<p>De mon point de vue il est intéressant de connaitre la température de l&rsquo;eau à l&rsquo;intérieur du BECS. Mon ballon n&rsquo;étant pas équipé d&rsquo;une sonde ni même d&rsquo;un emplacement pour y loger une sonde, j&rsquo;ai utilisé un <a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-ESP8266-Arduino-Raspberry-microcontr%C3%B4leur/dp/B074RL7YR3/ref=sr_1_6?keywords=esp01&amp;qid=1669044627&amp;qu=eyJxc2MiOiI0LjU1IiwicXNhIjoiNC4xMiIsInFzcCI6IjMuODQifQ%3D%3D&amp;sr=8-6" target="_blank">ESP01</a> avec une sonde <a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-temp%C3%A9rature-num%C3%A9rique-Inoxydable-Raspberry/dp/B07KNQJ3D7/ref=sr_1_4?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;crid=17KFL3RYWI30H&amp;keywords=ds18b20&amp;qid=1669044567&amp;qu=eyJxc2MiOiI1LjIwIiwicXNhIjoiNC41MiIsInFzcCI6IjQuNTIifQ%3D%3D&amp;s=industrial&amp;sprefix=ds18b20%2Cindustrial%2C90&amp;sr=1-4" target="_blank">ds18b20.</a> J&rsquo;ai fait un trou de 8mm à mi-hauteur dans lenveloppe extérieur du ballon et j&rsquo;ai glissé ma sonde dans l&rsquo;isolant au contact de la cuve métallique contenant l&rsquo;eau chaude. J&rsquo;ai étalonné la chaîne de mesure avec la température de l&rsquo;eau chaude sortie robinet en jouant sur <strong> filters: &#8211; offset: 8.0</strong> dans le code ESP, cela donne une bonne indication, et je ne suis pas au degré prêt. </p>
<h3 class="wp-block-heading">Schéma Electronique</h3>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-3-1024x576.png" alt="" class="wp-image-2372" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-3-1024x576.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/11/image-3-300x169.png 300w, https://domo.rem81.com/wp-content/uploads/2022/11/image-3-768x432.png 768w, https://domo.rem81.com/wp-content/uploads/2022/11/image-3.png 1074w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Les sondes peuvent se mettre en parallèle, j&rsquo;en ai prévu trois dans mon schéma. La led n&rsquo;est pas obligatoire</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="382" height="519" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-4.png" alt="" class="wp-image-2373" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-4.png 382w, https://domo.rem81.com/wp-content/uploads/2022/11/image-4-221x300.png 221w" sizes="(max-width: 382px) 100vw, 382px" /><figcaption class="wp-element-caption">Exemple de circuit imprimé conçu avec EAGLE</figcaption></figure>
<p>Vous pouvez sous traiter la fabrication de ce type de PCB à https://jlcpcb.com/ ça coûte que dalle, c&rsquo;est du travail de pro, faut pas etre pressé et c&rsquo;est quantité 5 minimum, exemple en dessous pour ce PCB: 1.99+3.46€!!</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="442" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-5-1024x442.png" alt="" class="wp-image-2374" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-5-1024x442.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/11/image-5-300x129.png 300w, https://domo.rem81.com/wp-content/uploads/2022/11/image-5-768x331.png 768w, https://domo.rem81.com/wp-content/uploads/2022/11/image-5.png 1462w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h3 class="wp-block-heading">Code de l&rsquo;ESP01</h3>
<pre class="wp-block-code"><code>substitutions:
device_name: esp126-temp-ecs
friendly_name: esp126
adress_ip: "192.168.0.126"
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
platform: ESP8266
board: esp01_1m
wifi:
networks:
- ssid: !secret wifi_mi4
password: !secret mdpwifi_mi4
priority: 2
- ssid: !secret wifi_esp
password: !secret mdpwifi_esp
priority: 1
- ssid: !secret wifi
password: !secret mdpwifi
priority: 0
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
# Configuration Dalas
dallas:
- pin: GPIO0
#Etat de la connection
binary_sensor:
- platform: status
name: "${friendly_name} Status"
switch:
- platform: restart
name: "${friendly_name} Restart"
sensor:
- platform: dallas
address: 0xCA00AA2D00000328
name: "${friendly_name} temp_ecs"
filters:
- offset: 8.0
- platform: wifi_signal
name: "${friendly_name} WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: "${friendly_name} Uptime Sensor"
update_interval: 60s
text_sensor:
# IP address #
- platform: wifi_info
ip_address:
name: "${friendly_name} IP address"
icon: "mdi:network-outline"
ssid:
name: "${friendly_name} Connected SSID"
bssid:
name: "${friendly_name} Connected BSSID"
</code></pre>
<h2 class="wp-block-heading">Automatismes</h2>
<h3 class="wp-block-heading">Cahier des charges:</h3>
<ul>
<li>Rester maître du système en pilotant depuis HA et non depuis le Linky</li>
<li>Privilégier la charge des batteries PhotoVoltaique, puis la chauffe du ballon: Lorsque les batteries seront pleines et si production PV supérieure à Conso, alors on va injecter dans le réseau et le router PV réagira en conséquence.</li>
<li>Chauffer le ballon la nuit en heure creuse si pas assez chaud par manque densoleillement dans les jours précédents.</li>
<li>Avoir un mode secours si la production PV n&rsquo;est pas suffisante sur le long terme.</li>
<li>Trois modes de fonctionnement:
<ul>
<li>Auto (Automatique)</li>
<li>Arret (Arret Forcé)</li>
<li>Marche (Marche forcée).</li>
</ul>
</li>
</ul>
<h3 class="wp-block-heading">Mode Automatique:</h3>
<p>Dans ce mode, je distingue le jour et la nuit, le jour est réservé à l&rsquo;utilisation du routeur, la nuit, uniquement en mode secours, si l&rsquo;eau n&rsquo;est pas assez chaude.</p>
<p>La nuit, choix 1:</p>
<ul>
<li>si ECS est en mode automatique</li>
<li>si nous sommes après le couché du soleil et avant le levé du soleil</li>
<li>si la température du BECS descend en dessous du seuil température basse</li>
<li>si le linky est en heure Creuse
<ul>
<li><strong>Alors j&rsquo;enclenche le relais ECS_Réseau donc, je chauffe plein pot.</strong></li>
</ul>
</li>
</ul>
<p>La nuit, choix 2:</p>
<ul>
<li>si nous sommes après le coucher du soleil et avant le levé du soleil
<ul>
<li><strong>ET</strong></li>
</ul>
</li>
<li>si la température du BECS monte au dessus du seuil température haute
<ul>
<li><strong>OU</strong></li>
</ul>
</li>
<li>si le linky passe en heure pleine
<ul>
<li><strong>Alors je coupe le relais ECS_Réseau, j&rsquo;arrete de chauffer.</strong></li>
</ul>
</li>
</ul>
<p>Le jour, choix 3:</p>
<ul>
<li>si ECS est en mode automatique</li>
<li>si nous sommes après le levé du soleil et avant le couché du soleil</li>
<li>si le input.boolean « validation du routeur PV » est sur ON</li>
</ul>
<p>Le jour, choix 4:</p>
<ul>
<li>si le input.boolean « validation du routeur PV » passe de ON à OFF
<ul>
<li><strong>Alors je coupe le relais ECS_PV</strong></li>
</ul>
</li>
</ul>
<h3 class="wp-block-heading">Mode Arrêt Forcé:</h3>
<p>Dans ce mode, je coupe les relais ECS_Réseau et ECS_PV.</p>
<h3 class="wp-block-heading">Mode Marche Forcé:</h3>
<p>Dans ce mode, je coupe le relais ECS_PV et j&rsquo;active le relais ECS_Réseau, je force le chauffage via le réseau avec bien sur le thermostat électromécanique intégré au BECS en sécurité.</p>
<h2 class="wp-block-heading">Script gestion relais</h2>
<p>Afin déviter un chevauchement des relais PV et Réseau, j&rsquo;ai créé trois scripts que je lance depuis les automatismes ou depuis le tableau de bord:</p>
<ul>
<li>ECS_OFF: les deux relais sont sur Off</li>
<li>ECS_PV: Désactivation du relais ECS_PV, délai 2s, activation du relais ECS_Réseau</li>
<li>ECS_Réseau: Désactivation du relais ECS_réseau, délai 2s, activation du relais ECS_PV</li>
</ul>
<h2 class="wp-block-heading">Code de l&rsquo;automatisme:</h2>
<pre class="wp-block-code"><code>alias: 1_2_3 ECS Automatismes
description: ""
trigger:
- platform: state
entity_id:
- input_select.ecs_ssol
- platform: sun
event: sunrise
offset: 0
id: levee_soleil
- platform: sun
event: sunset
offset: 0
id: couche_soleil
- platform: state
entity_id:
- sensor.linky_ptec
from: HC..
to: HP..
id: HC-HP
- platform: state
entity_id:
- sensor.linky_ptec
from: HP..
to: HC..
id: HP-HC
- platform: numeric_state
entity_id: sensor.esp126_temp_ecs
id: t_bas
below: 40
- platform: numeric_state
entity_id: sensor.esp126_temp_ecs
above: 45
id: t_haut
- platform: state
entity_id:
- input_boolean.ecs_av_pv
from: "on"
to: "off"
id: arret_pv_routeur
- platform: state
entity_id:
- input_boolean.ecs_av_pv
from: "off"
to: "on"
id: avect_pv_routeur
condition: &#091;]
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.ecs_ssol
state: Auto
- condition: sun
before: sunrise
after: sunset
- condition: numeric_state
entity_id: sensor.esp126_temp_ecs
below: 40
- condition: state
entity_id: sensor.linky_ptec
state: HC..
sequence:
- service: script.ecs_on
data: {}
- conditions:
- condition: state
entity_id: input_select.ecs_ssol
state: Auto
- condition: or
conditions:
- condition: trigger
id: HC-HP
- condition: numeric_state
entity_id: sensor.esp126_temp_ecs
above: 45
- condition: sun
before: sunrise
after: sunset
sequence:
- service: script.ecs_off_off
data: {}
- conditions:
- condition: state
entity_id: input_select.ecs_ssol
state: Auto
- condition: sun
before: sunset
after: sunrise
- condition: state
entity_id: input_boolean.ecs_av_pv
state: "on"
sequence:
- service: script.ecs_off
data: {}
- conditions:
- condition: trigger
id: arret_pv_routeur
- condition: state
entity_id: input_select.ecs_ssol
state: Auto
sequence:
- service: script.ecs_off_off
data: {}
- conditions:
- condition: state
entity_id: input_select.ecs_ssol
state: At Forcé
sequence:
- service: script.ecs_off_off
data: {}
- conditions:
- condition: state
entity_id: input_select.ecs_ssol
state: Ma Forcée
sequence:
- service: script.ecs_on
data: {}
default: &#091;]
mode: single
</code></pre>
<h1 class="wp-block-heading">Tableau de bord:</h1>
<h2 class="wp-block-heading">Exemple de carte</h2>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="436" height="570" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-9.png" alt="" class="wp-image-2407" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-9.png 436w, https://domo.rem81.com/wp-content/uploads/2022/11/image-9-229x300.png 229w" sizes="(max-width: 436px) 100vw, 436px" /></figure>
<h2 class="wp-block-heading">Code de la carte</h2>
<pre class="wp-block-code"><code>type: entities
entities:
- entities:
- entity: input_select.ecs_ssol
name: Mode
- entity: input_boolean.ecs_av_pv
name: Roteur PV
entity: input_select.ecs_ssol
icon: mdi:flash
name: Fonctionnement
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: sensor.ecocompteur_ecs
name: Pu
- entity: sensor.mp2_charge_batteries
name: Ch Bat
entity: sensor.ecocompteur_ecs
icon: mdi:flash
name: Puissance
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: sensor.energie_ecs_jour
name: Res+PV
- entity: sensor.energie_ecs_reseau_jour
name: Reseau
- entity: sensor.energie_ecs_pv_jour
name: PV
entity: sensor.energie_ecs_jour
icon: mdi:flash
name: Conso Jour
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: sensor.esp126_temp_ecs
name: T°
- entity: sensor.ecs_chauffage_ce_jour
name: Tps Ch
entity: sensor.energie_ecs_jour
icon: mdi:temperature-celsius
name: Temp
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: binary_sensor.ecs_chauffe
name: Chauffage
- entity: switch.cde_relais_ecs
name: Rel ECS
- entity: switch.cde_relais_ecs_router_pv
name: Rel PV
entity: switch.cde_relais_ecs
icon: mdi:water-boiler
name: Cde
show_state: false
type: custom:multiple-entity-row
- entities:
- entity: switch.cde_relais_ecs
name: Relais ECS
- entity: switch.cde_relais_ecs_router_pv
name: Relais Routeur PV
- entity: script.ecs_reseau
- entity: script.ecs_pv
- entity: script.ecs_off
head:
label: Commandes
type: section
padding: 0
type: custom:fold-entity-row
how_header_toggle: false
show_header_toggle: false
</code></pre>
<h2 class="wp-block-heading">Déclaration de entités:</h2>
<ul>
<li>sensor.ecocompteur_ecs: est le sensor de mesure de puissance du BECS</li>
</ul>
<pre class="wp-block-code"><code>####################################################
# #
# EAU CHAUDE SANITAIRE #
# #
####################################################
input_select:
ecs_ssol:
name: Ecs_SSol
icon: mdi:water-boiler
options:
- Auto
- At Forcé
- Ma Forcée
input_boolean:
ecs_av_pv:
name: Ecs PV(=1 avec Routeur PV)
sensor:
# Affichage du temps de fonctionnement ce jour
- platform: history_stats
name: ECS Chauffage ce jour
entity_id: binary_sensor.ecs_chauffe
state: 'on'
type: time
start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
template:
####################################
# Si puissance superieur à 500w = ECS en Marche
- binary_sensor:
- name: "ecs_chauffe"
unique_id: "ecs_chauffe"
device_class: heat
state: &gt;-
{% set a=states('sensor.ecocompteur_ecs')|float(default=0) %}
{{ a &gt; 500 }}
#
- sensor:
############################################ 21/12/2022
# sensor.ecocompteur_ecs:
# Si switch.cde_relais_ecs-&gt;
# template: sensor.puissance_ecs_reseau_w-&gt;
# template: sensor.puissance_ecs_reseau_kw
# Integration en kW: sensor.energie_ecs_reseau-&gt;
# utility_meter: energy_ecs_reseau_usage_daily-&gt;
# sensor.energy_ecs_reseau_usage_daily_hp
# sensor.energy_ecs_reseau_usage_daily_hc
# Si switch.cde_relais_ecs_router_pv-&gt;
# template: sensor.puissance_ecs_pv_w-&gt;
# template: sensor.puissance_ecs_pv_kw
# Integration en kW: sensor.energie_ecs_pv-&gt;
# utility_meter: energy_ecs_pv_usage_daily-&gt;
# sensor.energy_ecs_pv_usage_daily_hp
# sensor.energy_ecs_pv_usage_daily_hc
# Calcul puissance ECS si mode réseau
# L'integrale de rieumman et les utily_meter sont déclarés dans "/config/helpers"
- name: puissance_ecs_reseau_w
unique_id: "puissance_ecs_reseau_w"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "W"
state: &gt;-
{% set pu_ecs=states('sensor.ecocompteur_ecs')|float(default=0) %}
{% set rel_ecs=states('switch.cde_relais_ecs')%}
{% if (pu_ecs&gt;0) and (rel_ecs=="on")%}
{{ pu_ecs }}
{%else%}
0
{%endif%}
- name: puissance_ecs_reseau_kw
unique_id: "puissance_ecs_reseau_kw"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "kW"
state: &gt;-
{% set p=states('sensor.puissance_ecs_reseau_w')|float(default=0) %}
{{ p/1000 }}
- name: "energie ecs reseau jour"
unique_id: "energie_ecs_reseau_jour"
state: &gt;-
{% set p = states('sensor.energy_ecs_reseau_usage_daily_hp') | float(default=0) | round(2) %}
{% set o = states('sensor.energy_ecs_reseau_usage_daily_hc') | float(default=0) | round(2) %}
{{ (o + p) | round(2) }}
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total"
# Calcul puissance ECS si mode PV
- name: puissance_ecs_pv_w
unique_id: "puissance_ecs_pv_w"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "W"
state: &gt;-
{% set pu_ecs=states('sensor.ecocompteur_ecs')|float(default=0) %}
{% set rel_ecs=states('switch.cde_relais_ecs_router_pv')%}
{% if (pu_ecs&gt;0) and (rel_ecs=="on")%}
{{ pu_ecs }}
{%else%}
0
{%endif%}
- name: puissance_ecs_pv_kw
unique_id: "puissance_ecs_pv_kw"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "kW"
state: &gt;-
{% set p=states('sensor.puissance_ecs_pv_w')|float(default=0) %}
{{ p/1000 }}
- name: "Energie ecs pv jour"
unique_id: "energie_ecs_pv_jour"
state: &gt;-
{% set p = states('sensor.energy_ecs_pv_usage_daily_hp') | float(default=0) | round(2) %}
{% set o = states('sensor.energy_ecs_pv_usage_daily_hc') | float(default=0) | round(2) %}
{{ (o + p) | round(2) }}
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total"
# Cumul de Energie ECS Reseau et PV
- name: "Energie ECS Jour"
unique_id: "energie_ecs_jour"
state: &gt;-
{% set p = states('sensor.energie_ecs_reseau_jour') | float(default=0) | round(2) %}
{% set o = states('sensor.energie_ecs_pv_jour') | float(default=0) | round(2) %}
{{ (o + p) | round(2) }}
unit_of_measurement: "kWh"
device_class: "energy"
state_class: "total"
###########################################################
# Puissance produite en surplus et injectée dans l'ECS en mode PV en W
- name: puissance_ecs_surplus_injectee_w
unique_id: "puissance_ecs_surplus_injectee_w"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "W"
state: &gt;-
{% set pu_ecs=states('sensor.ecocompteur_ecs')|float(default=0) %}
{% set prod=states('sensor.envoy_122103023124_current_power_production')|float(default=0) %}
{% set rel_ecs=states('switch.cde_relais_ecs_router_pv')%}
{% if (pu_ecs&gt;0) and (prod&gt;10) and (rel_ecs=="on")%}
{{ pu_ecs }}
{%else%}
0
{%endif%}
# Puissance produite en surplus et injectée dans l'ECS en mode PV en kW
- name: puissance_ecs_surplus_injectee
unique_id: "puissance_ecs_surplus_injectee"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "kW"
state: &gt;-
{% set a=states('sensor.puissance_ecs_surplus_injectee_w')|float(default=0) %}
{% if (a&gt;0) %}
{{ a/1000 }}
{%else%}
0
{%endif%}
# Puissance disponible sans routeur ecs
# Utilisé dans esp141-affichage_pv
- name: puissance_dispo_sans ecs
unique_id: "puissance_dispo_sans_ecs"
device_class: "power"
state_class: "measurement"
unit_of_measurement: "W"
state: &gt;-
{% set pu_ecs=states('sensor.ecocompteur_ecs')|float(default=0) %}
{% set prod=states('sensor.envoy_122103023124_current_power_production')|float(default=0) %}
{% set conso = states('sensor.envoy_122103023124_today_s_energy_consumption') | float(default=0) | round(2) %}
{% set rel_ecs=states('switch.cde_relais_ecs_router_pv')%}
{% if (prod&gt;conso) and (pu_ecs&gt;0) and (rel_ecs=="on")%}
{{ prod-conso+pu_ecs }}
{%else%}
0
{%endif%}
</code></pre>
<h1 class="wp-block-heading">Conclusion:</h1>
<p>Ca peut paraître un peu compliqué pour certain, mais tout n&rsquo;est pas à prendre, surtout si vous n&rsquo;avez pas de batteries, dans ce cas il faut modifier l&rsquo;automatisme</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:71:"https://domo.rem81.com/2022/11/25/ha-gestion-eau-chaude-sanitaire/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"8";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:5;a:6:{s:4:"data";s:88:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:17:"PV-Photovoltaique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:52:"https://domo.rem81.com/2022/10/13/pv-photovoltaique/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:60:"https://domo.rem81.com/2022/10/13/pv-photovoltaique/#respond";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Thu, 13 Oct 2022 10:57:57 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:6:{i:0;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Photovoltaïque";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:14:"Micro Onduleur";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:25:"Panneaux Photovoltaîques";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:2:"PV";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2318";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:221:"Intro Je commence avec cet article une nouvelle série sur le Photovoltaïque. Après une description de mon installation, je continuerai vers une série d&#8217;articles décrivant mes solutions mises en oeuvre. &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:11425:"
<h1 class="wp-block-heading">Intro</h1>
<p>Je commence avec cet article une nouvelle série sur le Photovoltaïque. Après une description de mon installation, je continuerai vers une série d&rsquo;articles décrivant mes solutions mises en oeuvre. Bien entendu HA est toujours de la partie.</p>
<h1 class="wp-block-heading">Terminologie</h1>
<p>Commençons par décrire les termes communement employés dans ce domaine:</p>
<ul>
<li>MO: Micro Onduleurs. ils convertissent le courant continu des PV en courant alternatif compatible avec votre installation électrique domestique en tension et en fréquence,</li>
<li>Onduleur: Même fonctions que les MO, mais il centralise la production des PV. Il peut, selon les configurations, y en avoir plusieurs sur une installation,</li>
<li>PV: Panneaux Photovoltaïques,</li>
<li>CA: Courant Alternatif (typiquement en sortie de onduleurs et MO),</li>
<li>CC: Courant Continu (typiquement en sortie de vos panneaux ou/et batteries),</li>
<li>VJ: Couleur Vert jaune des fils de mise à la terre,</li>
<li>TI: Transformateur d&rsquo;Intensité,</li>
<li>kWh: Puissance électrique intégrée sur 1 heure. Un consommateur de 1000 W soutire 1 kWh en une heure. C&rsquo;est l&rsquo;unité utilisée sur vos facture d&rsquo;électricité,</li>
<li>Wc: Watt Crète. Unité de la puissance crête. Cest la puissance maximale que peut atteindre un panneau solaire à un instant T. La puissance crête (Wc) vous sert à comparer plusieurs capteurs photovoltaïques entre eux,</li>
<li>Production: Exprimée en kWh, c&rsquo;est l&rsquo;énergie produite par votre installation,</li>
<li>Soutirage: Exprimée en kWh, c&rsquo;est l&rsquo;énergie soutirée sur le réseau, </li>
<li>Injection: Exprimée en kWh, c&rsquo;est l&rsquo;énergie produite par votre installation et injectée sur le réseau (gratuitement si en autoconsommation).</li>
</ul>
<h1 class="wp-block-heading">Descriptif de mon installation</h1>
<p>Commencée en mai 2021, la première phase de mon installation comprend:</p>
<ul>
<li>6 panneaux photovoltaïques Trina Solar de 375 Wc</li>
<li>Un ensemble de fixation en toiture système ESDEC</li>
<li>6 micro onduleurs Enphase IQ7+</li>
<li>1 Passerelle Enphase Metered S</li>
<li>1 coffret CA comprenant entre autres le relais de découplage QRelais obligatoire et indispensable à la sécurisation de l&rsquo;installation. voir schéma ci-après.</li>
<li>Les démarches administratives auprès de la Mairie et Enedis. Pas de consuel à ce stade, une simple déclaration sur l&rsquo;honneur suffi.
<ul>
<li></li>
</ul>
</li>
</ul>
<p><strong>Schéma électrique du coffret.</strong></p>
<div data-wp-interactive="" class="wp-block-file"><object data-wp-bind--hidden="!selectors.core.file.hasPdfPreview" hidden class="wp-block-file__embed" data="https://domo.rem81.com/wp-content/uploads/2022/11/M_CAQM1-coffret-AC-Mono-1-Qrelais_1Wiland.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Contenu embarqué M_CAQM1-coffret-AC-Mono-1-Qrelais_1Wiland."></object><a id="wp-block-file--media-68a416c0-ed24-49ca-8036-c5d80ec1c946" href="https://domo.rem81.com/wp-content/uploads/2022/11/M_CAQM1-coffret-AC-Mono-1-Qrelais_1Wiland.pdf">M_CAQM1-coffret-AC-Mono-1-Qrelais_1Wiland</a><a href="https://domo.rem81.com/wp-content/uploads/2022/11/M_CAQM1-coffret-AC-Mono-1-Qrelais_1Wiland.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-68a416c0-ed24-49ca-8036-c5d80ec1c946">Télécharger</a></div>
<p>Le matériel a été commandé chez Oscaro Power, à l&rsquo;époque pas de problème de délai. </p>
<p><strong>Détail du matériel utilisé</strong>.</p>
<div data-wp-interactive="" class="wp-block-file"><object data-wp-bind--hidden="!selectors.core.file.hasPdfPreview" hidden class="wp-block-file__embed" data="https://domo.rem81.com/wp-content/uploads/2022/11/2021-001294-2.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Contenu embarqué 2021-001294-2."></object><a id="wp-block-file--media-9316b7cb-e529-4698-8ac0-d0336f3c4804" href="https://domo.rem81.com/wp-content/uploads/2022/11/2021-001294-2.pdf">2021-001294-2</a><a href="https://domo.rem81.com/wp-content/uploads/2022/11/2021-001294-2.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-9316b7cb-e529-4698-8ac0-d0336f3c4804">Télécharger</a></div>
<h2 class="wp-block-heading">Choix des micro onduleurs</h2>
<h3 class="wp-block-heading">Points positifs:</h3>
<p>Pourquoi des MO? </p>
<p>En premier lieu, la configuration de ma toiture fait que je dispose de 4 pans exposés plein Sud et Sud Ouest. Sur chaque pans je peux installé 6 PV max. Donc avec un onduleur centrale, il m&rsquo;aurait fallu 2 puis 4 entrées MPPT (en prévision des extensions), la modularité des MO est précieuse dans ce cas.</p>
<p>En deux, par souci de simplicité, en effet la mise en oeuvre électrique est simplifiée au maximum:</p>
<ul>
<li>Les MO se montent sous les panneaux (1 par PV chez Enphase), vous connectez dessus le + et le &#8211; du panneau.</li>
<li>Vous connectez le câble CA sur le MO. Vous aurez au préalable commandé ce câble avec le nombre de connecteurs correspondant au nombre de MO (6 dans mon cas).</li>
<li>Une mise à la terre des structures support avec 1 cable 6mm2 vert/jaune. La mise à la terre des PV se fait par une griffe encliquetée dans le rail support (Gratter la peinture du PV à cet endroit afin de favoriser la connexion).</li>
<li>Ces deux cables sont connectés au niveau du coffret CA.</li>
<li>Le coffret CA est raccordé sous un disjoncteur 20A de votre tableau électrique (disjoncteur de production).</li>
<li>La passerelle Web Envoys S Metered est alimentée en 230 AC depuis le coffre CA (ou votre tableau électrique). Ses deux TI mesurent pour l&rsquo;un l&rsquo;intensité soutirée au réseau, donc à placer directement sous le disjoncteur principal sur le cable de la phase, et pour l&rsquo;autre le TI mesure la production de installation solaire, à placer sous le disjoncteur 20A de production.</li>
</ul>
<p>En trois, pas de configuration compliquée, vous branchez, vous enclenchez les disjoncteurs et ça produit (si soleil, bien entendu), à ce stade la passerelle n&rsquo;est pas obligatoire.</p>
<p>En quatre, la possibilité d&rsquo;extension du système, j&rsquo;ai ajouté par la suite six PV (voir ci-après)</p>
<p>J&rsquo;ai choisi la Marque Enphase car la fiabilité de ses produits est mondialement reconnue, une garantie de 25 ans, et enfin il existe une<a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/enphase_envoy" target="_blank"> intégration Envoy</a> officielle Home Assistant.</p>
<h3 class="wp-block-heading">Points négatifs:</h3>
<p>Tous n&rsquo;est pas tout rose dans cette solution, il y a également des points négatifs:</p>
<ul>
<li>En un, le coût, un MO c&rsquo;est environ 150€, un onduleur centralisé des 3 kWc, il en existe à partir de 500€, le calcul est vite fait.</li>
<li>En deux, la puissance limitée des MO, 290 VA pour un IQ7+, les IQ7A sont plus puissants et donc plus chers, à venir les IQ8 (début 2023 semble-t&rsquo;il).</li>
<li>En trois si problème sur un MO, il faut déposer le panneau.</li>
<li>En quatre, la configuration de la passerelle, il faut créer un compte installateur et un compte utilisateur, simple à posteriori, mais il faut d&rsquo;abord comprendre la philosophie Enphase.</li>
</ul>
<h3 class="wp-block-heading">Remarques sur les MO:</h3>
<p>La législation oblige la déconnexion du réseau de votre installation Photovoltaïque et ce pour éviter de renvoyer du courant sur la réseau en cas de perte de celui ci et surtout si intervention des techniciens Enedis. Les onduleurs centraux répondant à la norme Française intègre cette fonctionalité, dans notre cas, c&rsquo;est le relais Qrelais qui remplit ce rôle, donc vous ne pouvez et surtout ne devez pas en faire l&rsquo;économie. C&rsquo;est d&rsquo;ailleurs le certificat de conformité de ce relais que vous devez fournir à Enedis lors de déclaration.</p>
<p>Remarque: La garantie de 25 ans ne s&rsquo;applique que si le système est supervisé par une passerelle Metered. A ce propos, deux types de passerelle sont commercialisées:</p>
<ul>
<li>la passerelle WEB Envoy S Standard permet de superviser uniquement la production.</li>
<li>la passerelle WEB Envoy S Metered permet de superviser la production et le soutirage sur réseau</li>
</ul>
<h1 class="wp-block-heading">Extension Août 2022</h1>
<p>Comme évoqué précédemment, j&rsquo;ai installé en Août 2022, 6 PV de 395 Wc supplémentaires, sur un deuxième pan de la toiture, orienté différemment par rapport au premier, d&rsquo;ou l&rsquo;avantage des MO.</p>
<p>Installation identique à la précédente, mise à part:</p>
<ul>
<li>La puissance des panneaux, 395 Wc, inutile avec mes MO car bridés à 290 VA mais j&rsquo;envisage un remodelage complet de mon installation. Nous y reviendrons dans un autre article.</li>
<li>Le système de fixation, ESDEC dans la premiere phase, K2 dans celle-ci. Plutôt déçu car pas très adapté à mes tuiles. Pour faire simple, avec l&rsquo;ESDEC, vous avez un support crochet qui vient prendre en sandwich le littau et la tuile, vous le positionnez dans le creux de la tuile, vous serrez (au couple), réglez la hauteur et c&rsquo;est OK. Sur le K2, les supports sont à fixés sur les chevrons de la charpente (fermette dans mon cas), malgré une possibilité de réglage en latitude, il m&rsquo;a fallu ajouté des bouts de chevrons, etc.. Je pense les remplacer par la suite quand les ESDEC seront de nouveau disponibles.</li>
</ul>
<p>J&rsquo;ai donc acheté ce coup-ci les PV, les MO, un cable CA six MO, le systeme K2 et c&rsquo;est tout. La passerelle Envoy, le coffret CA étaient compatibles.</p>
<p>Liste du matériel acheté:</p>
<div data-wp-interactive="" class="wp-block-file"><object data-wp-bind--hidden="!selectors.core.file.hasPdfPreview" hidden class="wp-block-file__embed" data="https://domo.rem81.com/wp-content/uploads/2022/11/2022-007478.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Contenu embarqué 2022-007478."></object><a id="wp-block-file--media-83a8cb0d-7bf5-4fdb-ba67-bd869343c126" href="https://domo.rem81.com/wp-content/uploads/2022/11/2022-007478.pdf">2022-007478</a><a href="https://domo.rem81.com/wp-content/uploads/2022/11/2022-007478.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-83a8cb0d-7bf5-4fdb-ba67-bd869343c126">Télécharger</a></div>
<p>Le câble CA de cette deuxième série est raccordé en parallèle sur le premier. Attention, mettre hors tension le coffret CA avant d&rsquo;intervenir.</p>
<p>Vous remettez sous tension, attendre la synchronisation des MO et ça produit.</p>
<h1 class="wp-block-heading">Conclusion</h1>
<p>Voici une présentation simplifiée de mon installation. </p>
<p>Avec le mauvais temps qui arrive, je vais avoir plus de disponibilité pour écrire quelques articles.</p>
<p>Les prochains aborderont, l&rsquo;intégration dans HA, les routeurs solaires, Etc.. </p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:57:"https://domo.rem81.com/2022/10/13/pv-photovoltaique/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:6;a:6:{s:4:"data";s:82:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:30:"HA-ESP HOME-Flashage WT01-ETH0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:65:"https://domo.rem81.com/2022/09/06/ha-esp-home-flashage-wt01-eth0/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:74:"https://domo.rem81.com/2022/09/06/ha-esp-home-flashage-wt01-eth0/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Tue, 06 Sep 2022 07:55:06 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:4:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:5:"esp32";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2260";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:217:"Intro J&#8217;utilise depuis longtemps des ESP32 ou ESP01 flashés avec ESP HOME. Ces petites bestioles sont très pratiques pour des petites conceptions DIY. Cependant celles-ci sont dépendantes du WIFI qui &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:19113:"
<h1 class="wp-block-heading">Intro</h1>
<p>J&rsquo;utilise depuis longtemps des ESP32 ou ESP01 flashés avec ESP HOME. Ces petites bestioles sont très pratiques pour des petites conceptions DIY. Cependant celles-ci sont dépendantes du WIFI qui en terme de fiabilité et de disponibilité peut faire mieux.</p>
<p>Dernièrement j&rsquo;ai utilisé un <a href="https://fr.aliexpress.com/item/1005001930750808.html?spm=a2g0o.order_list.0.0.17125e5bv824H8&amp;gatewayAdapt=glo2fra" target="_blank" rel="noreferrer noopener">WT32-ETH01</a> qui permet de connecter l&rsquo;ESP à un réseau ethernet câblé, pas en POE mais c&rsquo;est déjà un premier pas vers la fiabilisation.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="500" height="500" src="https://domo.rem81.com/wp-content/uploads/2022/09/module-de-reseau-sans-fil-mcu-esp32-wt32-eth01-port-serie-integre-ethernet-wifi-combo-gateway-partie-reseau-carte-2081151343_L.jpg" alt="" class="wp-image-2290" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/module-de-reseau-sans-fil-mcu-esp32-wt32-eth01-port-serie-integre-ethernet-wifi-combo-gateway-partie-reseau-carte-2081151343_L.jpg 500w, https://domo.rem81.com/wp-content/uploads/2022/09/module-de-reseau-sans-fil-mcu-esp32-wt32-eth01-port-serie-integre-ethernet-wifi-combo-gateway-partie-reseau-carte-2081151343_L-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/09/module-de-reseau-sans-fil-mcu-esp32-wt32-eth01-port-serie-integre-ethernet-wifi-combo-gateway-partie-reseau-carte-2081151343_L-150x150.jpg 150w" sizes="(max-width: 500px) 100vw, 500px" /></figure>
<p>L&rsquo;inconvénient, c&rsquo;est qu&rsquo;il n&#8217;embarque pas de port USB permettant de le flasher la première fois, il faut donc passer par un convertisseur USB/Port Série.</p>
<p>Autre inconvénient, le nom de pin utilisable est limité car beaucoup sont réservées au port Ethernet (en gris ci-dessous).</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="787" height="787" src="https://domo.rem81.com/wp-content/uploads/2022/09/6174af8800167.jpg" alt="" class="wp-image-2288" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/6174af8800167.jpg 787w, https://domo.rem81.com/wp-content/uploads/2022/09/6174af8800167-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/09/6174af8800167-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/09/6174af8800167-768x768.jpg 768w" sizes="(max-width: 787px) 100vw, 787px" /></figure>
<h1 class="wp-block-heading">Premier Flashage</h1>
<p>Il faut utiliser un convertisseur USB/Port série, perso jutilise un FTDI232, le même que pour mes ESP01, je vous mets le lien vers<a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-Adaptateur-FT232RL-s%C3%A9rie-book/dp/B088C4FN56" target="_blank"> Amazon</a> ou <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/32460118879.html?spm=a2g0o.productlist.0.0.72791f73TAFyHX&amp;algo_pvid=ac1983db-9869-406d-abc5-51637d14ad0e&amp;algo_exp_id=ac1983db-9869-406d-abc5-51637d14ad0e-1&amp;pdp_ext_f=%7B%22sku_id%22%3A%2257041576669%22%7D&amp;pdp_npi=2%40dis%21EUR%211.65%211.46%21%21%211.51%21%21%402100bde316624519439081388edffd%2157041576669%21sea&amp;curPageLogUid=LR0yvLildngZ" target="_blank">Aliexpress</a> mais Google peut vous aider: mot clef « FTDI232 ».</p>
<p>Il faut maintenant le raccorder au WT32.</p>
<ul>
<li><strong>FTDI232 &lt;&#8212;-&gt; WT32</strong></li>
<li>GND &lt;&#8212;-&gt; GND</li>
<li>VCC &lt;&#8212;-&gt; +5v</li>
<li>TX &lt;&#8212;-&gt; RX0 la pin à coté de I00</li>
<li>RX &lt;&#8212;-&gt; TX0 la pin à coté de RX0</li>
<li></li>
<li>Faire un pont sur le WT32 entre I00 et un GND</li>
<li>Positionner le cavalier du FDTI 232 sur 5V</li>
</ul>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-11 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2264" src="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-1024x1024.jpg" alt="" class="wp-image-2264" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085812-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2265" src="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-1024x1024.jpg" alt="" class="wp-image-2265" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085826-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2263" src="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-1024x1024.jpg" alt="" class="wp-image-2263" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/09/IMG_20220906_085837-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<p>Puis Il faut vous rendre sur ESPHOME et déclarer votre WT32.</p>
<p>Vous trouverez ci-après un code en exemple (mesure de niveau d&rsquo;eau dans un puit).</p>
<p>J&rsquo;utilise ce type de <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/32950057764.html?spm=a2g0o.order_list.order_list_main.220.6b1c5e5bKrRHBZ&amp;gatewayAdapt=glo2fra" data-type="URL" data-id="https://fr.aliexpress.com/item/32950057764.html?spm=a2g0o.order_list.order_list_main.220.6b1c5e5bKrRHBZ&amp;gatewayAdapt=glo2fra" target="_blank">capteur à ultrason commandé sur Ali</a>. Pas cher et efficace.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="451" height="540" src="https://domo.rem81.com/wp-content/uploads/2023/05/image-2.png" alt="" class="wp-image-2711" srcset="https://domo.rem81.com/wp-content/uploads/2023/05/image-2.png 451w, https://domo.rem81.com/wp-content/uploads/2023/05/image-2-251x300.png 251w" sizes="(max-width: 451px) 100vw, 451px" /></figure>
<p>A vous de le personnaliser « device_name, adresse ip,..). Ne pas modifier la partie « Ethernet » </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="177" height="111" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-8.png" alt="" class="wp-image-2283"/></figure>
<p>Voici le code.</p>
<pre class="wp-block-code"><code>substitutions:
device_name: esp144-test-wt32-eth01
adress_ip: "192.168.0.144"
friendly_name: esp144
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
platform: ESP32
board: esp-wrover-kit
# Enable logging
logger:
# Enable Home Assistant API
api:
web_server:
port: 80
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO0_IN
phy_addr: 1
power_pin: GPIO16
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.254
subnet: 255.255.255.0
sensor:
- platform: ultrasonic
trigger_pin: GPIO2
echo_pin: GPIO4
name: "niveau puit"
accuracy_decimals: 2
id: niveau_eau
update_interval: 60s
filters:
- lambda: return 3.5 - x;
- sliding_window_moving_average:
window_size: 5 # moyenne sur x lectures
send_every: 5 # envoi toutes les x lectures
send_first_at: 1 # envoi à la premiere lecture
# Calcul du niveau d'eau H total
# longueur du tube=2.3 m
# hauteur total puit=5.8 m
# d'ou 5.80-2.3=3.5
############### TEMPLATE ######################"
# Calcul volume eau
- platform: template
name: "volume_puit"
id: volume
icon: mdi:flash
unit_of_measurement: "m3"
accuracy_decimals: 2
lambda: |-
return (id(niveau_eau).state*0.6*0.6*3.14159);
#Etat de la connection
binary_sensor:
- platform: status
name: "${friendly_name} Status"
switch:
- platform: restart
name: "${friendly_name} Restart"
</code></pre>
<p>Apres avoir connecté votre FTDI232 à votre PC HA avec le cordon USB qui va bien, vous lancer « install »:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="479" src="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-09-28-13-1024x479.png" alt="" class="wp-image-2271" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-09-28-13-1024x479.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-09-28-13-300x140.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-09-28-13-768x359.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-09-28-13.png 1279w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Dans mon cas je choisis l&rsquo;option 3 « Plug into the computer running ESPHome Dashboard »:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="454" height="425" src="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15.png" alt="" class="wp-image-2268" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15.png 454w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15-300x281.png 300w" sizes="(max-width: 454px) 100vw, 454px" /></figure>
<p>Sélectionner le port USB correspondant à votre FDTI232, <strong>FT232R USB UART</strong> dans mon cas:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="448" height="350" src="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-35.png" alt="" class="wp-image-2270" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-35.png 448w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-35-300x234.png 300w" sizes="(max-width: 448px) 100vw, 448px" /></figure>
<p>ESP HOME compile puis transfert vert le FTDI232:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="468" src="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-57-39-1024x468.png" alt="" class="wp-image-2269" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-57-39-1024x468.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-57-39-300x137.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-57-39-768x351.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-57-39.png 1229w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Et voila c&rsquo;est terminé.</p>
<h1 class="wp-block-heading">Exploitation</h1>
<p>Il suffit maintenant de débrancher le WT232, le connecter au réseau cablé et de l&rsquo;alimenter en 5 ou 3.2 VCC.</p>
<p>Sur ESP HOME, si il est reconnu sur votre réseau, il est déclaré « ONLINE »:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="429" height="134" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-1.png" alt="" class="wp-image-2274" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-1.png 429w, https://domo.rem81.com/wp-content/uploads/2022/09/image-1-300x94.png 300w" sizes="(max-width: 429px) 100vw, 429px" /></figure>
<h1 class="wp-block-heading">Intégration dans HA</h1>
<p>Normalement HA doit vous le proposer comme une nouvelle intégration </p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="910" height="638" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-3.png" alt="" class="wp-image-2276" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-3.png 910w, https://domo.rem81.com/wp-content/uploads/2022/09/image-3-300x210.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/image-3-768x538.png 768w" sizes="(max-width: 910px) 100vw, 910px" /></figure>
<p>Cliquer sur configurer</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="648" height="199" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-4.png" alt="" class="wp-image-2277" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-4.png 648w, https://domo.rem81.com/wp-content/uploads/2022/09/image-4-300x92.png 300w" sizes="(max-width: 648px) 100vw, 648px" /></figure>
<p>Cliquer sur « Soumettre »</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="405" height="315" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-5.png" alt="" class="wp-image-2278" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-5.png 405w, https://domo.rem81.com/wp-content/uploads/2022/09/image-5-300x233.png 300w" sizes="(max-width: 405px) 100vw, 405px" /></figure>
<p>Choisir une pièce, c&rsquo;est facultatif mais recommandé.</p>
<p>Vous le retrouver dans les intégrations/appareils.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="597" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-6-1024x597.png" alt="" class="wp-image-2279" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-6-1024x597.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/image-6-300x175.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/image-6-768x448.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/image-6.png 1205w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Une fois intégré dans HA, vous pouvez visualiser les logs ou la page WEB embarquée.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="488" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-2-1024x488.png" alt="" class="wp-image-2275" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-2-1024x488.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/image-2-300x143.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/image-2-768x366.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/image-2.png 1271w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>ou bien la page WEB embarquée</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="415" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-7-1024x415.png" alt="" class="wp-image-2281" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-7-1024x415.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/image-7-300x122.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/image-7-768x311.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/image-7-1536x623.png 1536w, https://domo.rem81.com/wp-content/uploads/2022/09/image-7.png 1549w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Si pas découvert automatiquement par HA, essayer de l&rsquo;intégrer manuellement:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="434" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-9-1024x434.png" alt="" class="wp-image-2294" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-9-1024x434.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/09/image-9-300x127.png 300w, https://domo.rem81.com/wp-content/uploads/2022/09/image-9-768x326.png 768w, https://domo.rem81.com/wp-content/uploads/2022/09/image-9-1536x651.png 1536w, https://domo.rem81.com/wp-content/uploads/2022/09/image-9.png 1580w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Cliquer sur « <strong>+ Ajouter intégration</strong>« :</p>
<p>Chercher « ESPHOME », saisir l&rsquo;adresse IP puis soumettre:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="502" height="316" src="https://domo.rem81.com/wp-content/uploads/2022/09/image-10.png" alt="" class="wp-image-2295" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/image-10.png 502w, https://domo.rem81.com/wp-content/uploads/2022/09/image-10-300x189.png 300w" sizes="(max-width: 502px) 100vw, 502px" /></figure>
<p>Cela devrait fonctionner, la cas échéant, vérifier votre adresse IP.</p>
<h1 class="wp-block-heading">Mise à Jour</h1>
<p>Une fois connecté à votre réseau, plus besoin d&rsquo;utiliser le FTDI232, la mise à jour est à transférer comme dhabitude, via la « Wirelessly ».</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="454" height="425" src="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15.png" alt="" class="wp-image-2268" srcset="https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15.png 454w, https://domo.rem81.com/wp-content/uploads/2022/09/Capture-decran-du-2022-09-06-08-56-15-300x281.png 300w" sizes="(max-width: 454px) 100vw, 454px" /></figure>
<h1 class="wp-block-heading">Conclusion</h1>
<p>J&rsquo;en utilise un depuis quelque semaines et rien à signaler, il tourne comme une horloge. </p>
<p>N&rsquo;hésitez par me faire part de vos commentaires.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:70:"https://domo.rem81.com/2022/09/06/ha-esp-home-flashage-wt01-eth0/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"4";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:7;a:6:{s:4:"data";s:88:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:39:"HA-Modification statistiques long terme";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:74:"https://domo.rem81.com/2022/06/20/ha-modification-statistiques-long-terme/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:83:"https://domo.rem81.com/2022/06/20/ha-modification-statistiques-long-terme/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 20 Jun 2022 09:04:01 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:6:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:5:"mysql";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:10:"phpmyadmin";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:3:"sql";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2193";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:214:"Intro J&#8217;ai récemment eu la désagréable surprise de constater une valeur anormalement élevée dans mon tableau « energy », en effet la conso totale jour HP était supérieure à 10000 kWh bien &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:14446:"
<h1 class="wp-block-heading">Intro</h1>
<p>J&rsquo;ai récemment eu la désagréable surprise de constater une valeur anormalement élevée dans mon tableau « energy », en effet la conso totale jour HP était supérieure à 10000 kWh bien loin des valeurs habituelles.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="324" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-29-1024x324.png" alt="" class="wp-image-2201" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-29-1024x324.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-29-300x95.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-29-768x243.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-29.png 1344w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h1 class="wp-block-heading">Méthodologie apres 2022-04</h1>
<p>Depuis la version 2022-04, HA offre la possibilité de modifier simplement les statistiques « longue durée ». Il faut vous rendre dans « outils de développement/statistiques ».</p>
<p>Vous cherchez votre entité corrompue avec la loupe</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="209" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-11-1024x209.png" alt="" class="wp-image-2421" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-11-1024x209.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/11/image-11-300x61.png 300w, https://domo.rem81.com/wp-content/uploads/2022/11/image-11-768x157.png 768w, https://domo.rem81.com/wp-content/uploads/2022/11/image-11.png 1332w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Vous cliquez sur l&rsquo;icone de droite:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="485" height="614" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-12.png" alt="" class="wp-image-2422" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-12.png 485w, https://domo.rem81.com/wp-content/uploads/2022/11/image-12-237x300.png 237w" sizes="(max-width: 485px) 100vw, 485px" /></figure>
<p>Vous sélectionnez la date, l&rsquo;heure, vous cliquez sur la flèche correspondante à la valeur à rectifier:</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="421" height="350" src="https://domo.rem81.com/wp-content/uploads/2022/11/image-13.png" alt="" class="wp-image-2423" srcset="https://domo.rem81.com/wp-content/uploads/2022/11/image-13.png 421w, https://domo.rem81.com/wp-content/uploads/2022/11/image-13-300x249.png 300w" sizes="(max-width: 421px) 100vw, 421px" /></figure>
<p>Vous saisissez la nouvelle valeur et c&rsquo;est terminé!</p>
<p>Merci HA, c&rsquo;est quand même plus simple.</p>
<h1 class="wp-block-heading">Modifications des données avant 2022-04</h1>
<p><strong>Méthode OBSOLETE</strong></p>
<p>A ma connaissance, la seule méthode permettant de corriger les données est d&rsquo;intervenir directement dans la base de données.</p>
<h2 class="wp-block-heading">Prè requis pour ce tuto</h2>
<ul>
<li>Utiliser mysql comme base de données (voir mon <a rel="noreferrer noopener" href="https://domo.rem81.com/2020/12/17/home-assistant-deporter-la-base-de-donnees/" data-type="URL" data-id="https://domo.rem81.com/2020/12/17/home-assistant-deporter-la-base-de-donnees/" target="_blank">article</a> sur le sujet)</li>
<li>Avoir installer l&rsquo;addon « phpMyadmin », c&rsquo;est beaucoup plus simple et sécure de l&rsquo;utiliser que de saisir les commandes avec le terminal!!</li>
</ul>
<h2 class="wp-block-heading">Avertissements</h2>
<ul>
<li>Ce tuto applique à des utility-meter, il peut être différents pour d&rsquo;autres type d&rsquo;entités, mais j&rsquo;ai pas testé. En effet le mode de calcul du « sum » est différent d&rsquo;un type d&rsquo;entité à l&rsquo;autre.</li>
<li>Faites une sauvegarde de votre base de données, des modifications avec une requête SQL peuvent être dévastatrices et il n&rsquo;y a pas de possibilité de retour en arrière.</li>
</ul>
<h2 class="wp-block-heading">Mode opératoire</h2>
<ul>
<li>1- recherche de l&rsquo;ID de l&rsquo;entité concerné</li>
<li>2-modification de la table « statistics »</li>
<li>3-modification de la table « statistics_short_term »</li>
</ul>
<h3 class="wp-block-heading">Recherche de l&rsquo;ID de l&rsquo;entité concerné</h3>
<p>Pour rappel, les entités éligibles aux « <a rel="noreferrer noopener" href="https://data.home-assistant.io/docs/statistics" data-type="URL" data-id="https://data.home-assistant.io/docs/statistics" target="_blank">statistiques au long terme</a> » sont stockées dans des tables spécifiques indépendamment des statistiques « temps réels » purgées par défaut tous les 10 jours.</p>
<p>Toutes les heures, les entités sont calculées et stockées dans une table « statistics ». Dans cette table chaque entité est identifiée par un « id » que vous allez récupérerez dans la table « statistics-meta »</p>
<p>Dans mon exemple, je cherche le « sensor.energy_total_usage_dayly_hp », vous sélectionnez la table « statistics-meta » , onglet « rechercher », saisir le nom de votre sensor dans le champ « statistic_id », vous pouvez utilisez le signe % comme générique.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="554" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-25-1024x554.png" alt="" class="wp-image-2194" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-25-1024x554.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-25-300x162.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-25-768x415.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-25.png 1045w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Exécuter (en bas à gauche).</p>
<p>Si pas derreur de saisie vous retrouverez l&rsquo;ID de votre sensor.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="550" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-26-1024x550.png" alt="" class="wp-image-2196" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-26-1024x550.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-26-300x161.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-26-768x413.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-26.png 1126w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Dans mon cas, je note ID=28</p>
<h3 class="wp-block-heading">Modification de la table « statistics »</h3>
<p>Dans la table « statistics » vous « recherchez » les enregistrements relatifs à votre id.</p>
<p>Dans le champ « metada-id » vous saisissez l' »id » de votre sensor, 28 dans mon cas.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="992" height="711" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-30.png" alt="" class="wp-image-2203" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-30.png 992w, https://domo.rem81.com/wp-content/uploads/2022/06/image-30-300x215.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-30-768x550.png 768w" sizes="(max-width: 992px) 100vw, 992px" /></figure>
<p>Vous délimitez le champ de recherche avec la date de création en sélectionnant dans le champ « created », « between », vous saisissez vos dates min/max, ajuster l&rsquo;heure.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1018" height="625" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-27.png" alt="" class="wp-image-2197" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-27.png 1018w, https://domo.rem81.com/wp-content/uploads/2022/06/image-27-300x184.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-27-768x472.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-27-348x215.png 348w" sizes="(max-width: 1018px) 100vw, 1018px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1016" height="685" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-28.png" alt="" class="wp-image-2198" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-28.png 1016w, https://domo.rem81.com/wp-content/uploads/2022/06/image-28-300x202.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-28-768x518.png 768w" sizes="(max-width: 1016px) 100vw, 1016px" /></figure>
<p>Exécuter (en bas à gauche).</p>
<p>Vous devriez voir apparaître votre « anomalie » dans les colonnes « state » et « sum » 10103 et 14451 dans mon cas, ce sont ces valeurs qu&rsquo;il faut rectifier.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="255" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-31-1024x255.png" alt="" class="wp-image-2205" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-31-1024x255.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-31-300x75.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-31-768x191.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-31.png 1308w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Pour modifier c&rsquo;est pas compliqué, vous cliquez sur « Editer » de la ligne concernée. </p>
<p>Vous mettez à jour « state » et/ou « sum » avec vos valeur et vous « exécuter ». </p>
<p>Remarque: Pour « state », inspirez vous des valeurs des lignes environnantes pour vous donner une idée de la consommation à linstant T.</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="598" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-32-1024x598.png" alt="" class="wp-image-2207" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-32-1024x598.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-32-300x175.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-32-768x448.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-32.png 1155w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Remarque: pour « sum » vous additionner votre « state » à la « sum » de la ligne précédente. </p>
<p>Vous constaterez que les « sum » postérieures à cette erreur sont toutes créditées d&rsquo;un surplus de consommation. Vous pouvez les modifier à la main, ligne par ligne, en soustrayant le surplus à la « sum ». Cela peut être long et fastidieux si comme moi vous avez mis trop de temps à réagir. </p>
<h3 class="wp-block-heading">Requete SQL:</h3>
<p>L&rsquo;autre solution est dexécuter une requête SQL.</p>
<p>Attention à ce que vous faites, prenez bien soi de vérifier votre requête avant de lexécuter, sauvegarder votre base de données.</p>
<p>Ce que nous voulons, dans la table « statistics », c&rsquo;est soustraire une valeur, par exemple 10101, pour le sensor dont l&rsquo;ID=28, aux valeurs de la colonne « sum » et partir d&rsquo;un certaine date et si sum&gt;10000, la requête SQL est dans ce cas:</p>
<pre class="wp-block-code"><code>UPDATE statistics SET sum = sum - '10006.0' WHERE metadata_id = '29' AND created &gt;= '2022-06-18 00:00:00.0' AND SUM&gt;'10000';</code></pre>
<p>Cette requête est à saisir dans l&rsquo;onglet « SQL » après avoir sélectionner la table « statistics ».</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="499" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-34-1024x499.png" alt="" class="wp-image-2215" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-34-1024x499.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-34-300x146.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-34-768x374.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-34.png 1282w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Vous pouvez simuler la requête avant exécution, pratique pour s&rsquo;assurer du résultat avant application définitive (pas de possibilité de retour en arrière!).</p>
<p>Si les résultats vous conviennent, vérifier notamment si le nombre de ligne concernée par la modification est cohérent, vous « exécuter ».</p>
<p>Visualiser le résultat de vos modifications dans le tableau « energy ».</p>
<h2 class="wp-block-heading">Modification de la table « statistics_short_term »</h2>
<p>Cette table est utiliser pour calculer les statistiques long terme, elle est purgée sur une période que vous avez défini dans votre configuration avec « purge_keep_days », le cas échéant c&rsquo;est 10 jours par défaut.</p>
<p>Il faut donc également rectifier les « sum » et les « state » de cette table. Soit à la mano, soit avec une requête SQL du genre:</p>
<pre class="wp-block-code"><code>UPDATE statistics_short_term SET sum = sum - '10006.0' WHERE metadata_id = '28' AND created &gt;= '2022-06-18 00:00:00.0' AND SUM&gt;'10000';</code></pre>
<pre class="wp-block-code"><code>UPDATE statistics_short_term SET state = state - '10006.0' WHERE metadata_id = '28' AND created &gt;= '2022-06-18 00:00:00.0' AND state&gt;'10000';</code></pre>
<p>C&rsquo;est exactement le même principe que la table « statistics »</p>
<h1 class="wp-block-heading">Conclusion</h1>
<p>Je ne vous cache pas que c&rsquo;est un peu galère, notamment dans le calcul du « sum » qui est un cumul du « sum » précédent avec le « state « en cours, donc normalement le « sum » doit toujours croître, sinon vous retrouverez une conso négative.</p>
<p>PhpMyadmin est très puissant et permet de manipuler facilement les données, donc à utiliser avec prudence.</p>
<p>Si ce tuto n&rsquo;est pas assez explicite, n&rsquo;hésitez pas à me le faire remonter dans les commentaires.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:79:"https://domo.rem81.com/2022/06/20/ha-modification-statistiques-long-terme/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"8";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:8;a:6:{s:4:"data";s:85:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:38:"HA-Compteur de service (utility meter)";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:71:"https://domo.rem81.com/2022/06/06/ha-compteur-de-service-utility-meter/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:80:"https://domo.rem81.com/2022/06/06/ha-compteur-de-service-utility-meter/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Mon, 06 Jun 2022 16:09:44 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:5:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:3:"kWh";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:5:"Linky";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:30:"https://domo.rem81.com/?p=2098";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:252:"Intro Le comptage d&#8217;énergie est souvent évoqué sur les réseaux sociaux, qu&#8217;il s&#8217;agisse de kWh ou autres grandeurs physiques et semble être l&#8217;objet d&#8217;interrogations récurrentes. Récemment HA, dans sa version &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:20922:"
<h1 class="wp-block-heading">Intro</h1>
<p>Le comptage d&rsquo;énergie est souvent évoqué sur les réseaux sociaux, qu&rsquo;il s&rsquo;agisse de kWh ou autres grandeurs physiques et semble être l&rsquo;objet d&rsquo;interrogations récurrentes.</p>
<p>Récemment HA, dans sa version <a rel="noreferrer noopener" href="https://www.home-assistant.io/blog/2022/04/06/release-20224/#now-available-in-the-ui-groups" data-type="URL" data-id="https://www.home-assistant.io/blog/2022/04/06/release-20224/#now-available-in-the-ui-groups" target="_blank">2022-04</a> a ajouté des intégrations directement configurables depuis l&rsquo;interface utilisateur, simplifiant de fait leur déclaration, c&rsquo;est ce que je vous invite à découvrir dans cet article. J&rsquo;ai déjà abordé le sujet avec l&rsquo;intégration <a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/threshold" target="_blank">«&nbsp;entrées threshold&nbsp;»</a> dans cet <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/04/02/ha-asservissement-des-volets-a-la-position-du-soleil/" data-type="URL" data-id="https://domo.rem81.com/2022/04/02/ha-asservissement-des-volets-a-la-position-du-soleil/" target="_blank">article</a> .</p>
<p>Un des avantages est qu&rsquo;il n&rsquo;est besoin de rebooter le système pour leur prise en compte.</p>
<p>Un des inconvénients, est qu&rsquo;une fois créé et c&rsquo;est regrettable, tous les paramètres ne sont pas modifiables et à ma connaissance la seul solution est de les supprimer puis de recréer une entité avec le même nom, de fait vous ne perdrez pas l&rsquo;historique.</p>
<h1 class="wp-block-heading">Conversion de la puissance en énergie</h1>
<p>Comme pré requis il faut commencer par déclarer l&rsquo;entité que vous souhaitez comptabiliser. En général nous nous intéressons au kWh mais c&rsquo;est également valable pour des m3 d&rsquo;eau ou de gaz.</p>
<p>Rappelons qu&rsquo;un kilo watt heure correspond à une consommation de 1000 W ou 1 kW pendant 1 heure, il s&rsquo;agit d&rsquo;une énergie et non d&rsquo;une puissance. Si votre capteur fournit uniquement une puissance en W ou kW, vous devez convertir la convertir en Wh ou kWh avec l&rsquo;une des deux méthodes suivantes:</p>
<h2 class="wp-block-heading">Methode de Riemann</h2>
<p>HA dispose d&rsquo;une intégration « <a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/integration" target="_blank">intégration par le </a><a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/integration" target="_blank">méthode de</a><a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/integration" target="_blank"> Riemann</a> » configurable depuis une interface utilisateur.</p>
<p>Pour cela vous allez dans « paramètres/appareils et service/entrées » puis « Ajouter un capteur d&rsquo;intégrale de Riemann ».</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="693" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-14-1024x693.png" alt="" class="wp-image-2105" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-14-1024x693.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-14-300x203.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-14-768x520.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-14.png 1080w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"><div class="wp-block-group__inner-container">
<p>Vous saisissez:</p>
<ul>
<li>le nom que vous souhaitez donner à l&rsquo;entité</li>
<li>le capteur qui vous délivre des W.</li>
<li>la méthode de calcul de l&rsquo;intégrale:
<ul>
<li>Trapézoïdal si la grandeur physique mesurée évolue régulièrement dans le temps.</li>
<li>Left ou right si votre grandeur évolue avec des alternance de pics de puissance et de valeurs plus faibles voir nulles, une machine à laver par exemple.</li>
</ul>
</li>
<li>la précision</li>
<li>le préfixe métrique (k en général)</li>
<li>l&rsquo;unité de temps (h en général).</li>
</ul>
</div></div>
<p>HA définit automatiquement les attributs de l&rsquo;entité indispensable à sa classification (state_class, device_class,..)</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="575" height="580" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-15.png" alt="" class="wp-image-2109" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-15.png 575w, https://domo.rem81.com/wp-content/uploads/2022/06/image-15-297x300.png 297w, https://domo.rem81.com/wp-content/uploads/2022/06/image-15-150x150.png 150w" sizes="(max-width: 575px) 100vw, 575px" /></figure>
<h2 class="wp-block-heading">Autre méthode de calcul</h2>
<p>Vous trouverez dans <a rel="noreferrer noopener" href="https://github.com/gb53smith/Hass/blob/master/python_scripts/energy.py" target="_blank">ce lien</a>, un script python, qui daprès l&rsquo;auteur calcule plus précisément les kWh,. J&rsquo;ai testé, il fonctionne, mais plus compliqué à mettre en oeuvre, perso je ne cours pas après le kWh au 100 eme pret.</p>
<h1 class="wp-block-heading">Configuration des compteurs de service.</h1>
<p>Votre entité en kWh (ou Wh) est maintenant créée, vous pouvez configurer votre compteur de service via une interface utilisateur.</p>
<p>Pour ce faire, allez dans « paramètres/appareils et service/entrées », puis ajouter « un compteur de services publics (eau, gaz, électricité…) ».</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="604" height="723" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-17.png" alt="" class="wp-image-2128" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-17.png 604w, https://domo.rem81.com/wp-content/uploads/2022/06/image-17-251x300.png 251w" sizes="(max-width: 604px) 100vw, 604px" /></figure>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"><div class="wp-block-group__inner-container">
<p>Vous saisissez:</p>
<ul>
<li>le nom que vous souhaitez donner à l&rsquo;entité</li>
<li>le capteur que vous souhaitez comptabiliser (celui calculé avec l&rsquo;intégrale de rieuman par ex)</li>
<li>le cycle de remise à zéro (15 mn, heure, semaine,mois,..)</li>
<li>le décalage de remise à zéro (laisser zéro par défaut sauf cas particulier)</li>
<li>les tarifs pris en charge, laisser vide si un seul tarif, sinon saisissez « hc » et hp » par exemple, ceux sont ces tarifs que vous utiliserez dans l&rsquo;automatisme.</li>
<li>cocher « consommation nette » si la valeur évolue en positif/négatif</li>
<li>cocher « valeur delta » si les valeurs de la source sont des valeurs delta depuis la dernière lecture au lieu de valeurs absolues, Lorsque cette option est activée, chaque nouvelle valeur reçue sera ajoutée telle quelle au compteur au lieu d&rsquo;ajouter la&nbsp;<em>différence</em>&nbsp;entre la nouvelle valeur et la valeur précédente. Par exemple, vous devez l&rsquo;activer lorsque le capteur source renvoie des lectures telles que «&nbsp;1&nbsp;», «&nbsp;0,5&nbsp;», «&nbsp;0,75&nbsp;» contre «&nbsp;1&nbsp;», «&nbsp;1,5&nbsp;», «&nbsp;2,25&nbsp;»</li>
</ul>
</div></div>
<p>Vous obtiendrez des informations complémentaires sur « utility meter » dans <a rel="noreferrer noopener" href="https://www.home-assistant.io/integrations/utility_meter" target="_blank">ce lien</a>.</p>
<p>HA définit automatiquement les attributs de l&rsquo;entité indispensable à sa classification (state_class, device_class,..)</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="435" height="618" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-19.png" alt="" class="wp-image-2141" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-19.png 435w, https://domo.rem81.com/wp-content/uploads/2022/06/image-19-211x300.png 211w" sizes="(max-width: 435px) 100vw, 435px" /></figure>
<p>A noter que vous devez déclarer autant de compteur que de cycles de remise à zéro (jour, semaine, mois année, ..) nécessaires.</p>
<h1 class="wp-block-heading">Exploitation des compteurs</h1>
<p>Une fois créé, HA ajoute une entité par compteur, par ex « linky » et, si vous les avez déclaré, une entité supplémentaire par tarif , « linky_hc » et « linky_hp ».</p>
<p>Si vous avez un seul tarif, vous n&rsquo;avez rien à faire de plus, votre compteur sera remis à zéro en fonction de votre unité de temps (jour, semaine,..).</p>
<p>Si vous avez un double tarif, vous devez indiquer au compteur quel tarif est en cours, pour ce faire vous pouvez utiliser un automatisme.</p>
<p>Les déclencheurs peuvent être des plages horaires ou encore mieux le tarif en cours dans votre linky par exemple.</p>
<h2 class="wp-block-heading">Selon une plage horaire fixe</h2>
<p>Il faut créer un automatisme:</p>
<p>Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service.</p>
<pre class="wp-block-code"><code>alias: 6_1_0 Energie Changement HP&lt;-&gt;HC (Dupliquer)
description: ''
trigger:
- platform: time
id: tarif_hc
at: '01:00:00'
- platform: time
id: tarif_hp
at: '02:00:00'
condition: &#091;]
action:
- choose:
- conditions:
- condition: trigger
id: tarif_hc
sequence:
- service: select.select_option
data:
option: hc
target:
entity_id:
- select.linky_energie_jour
- conditions:
- condition: trigger
id: tarif_hp
sequence:
- service: select.select_option
data:
option: hp
target:
entity_id:
- select.linky_energie_jour
default: &#091;]
mode: single
</code></pre>
<p>Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous les ajoutez les entités dans les <strong>« target: entity_id »</strong>.</p>
<h2 class="wp-block-heading">Selon plusieurs plages horaires fixes</h2>
<pre class="wp-block-code"><code>alias: 6_1_0 Energie Changement HP&lt;-&gt;HC (Dupliquer)
description: ''
trigger:
- platform: time
id: tarif_hc1
at: '01:00:00'
- platform: time
id: tarif_hp2
at: '02:00:00'
- platform: time
at: '05:00:00'
id: tarif_hc2
- platform: time
at: '06:00:00'
id: tarif_hp2
condition: &#091;]
action:
- choose:
- conditions:
- condition: trigger
id: tarif_hc1
- condition: trigger
id: tarif_hc2
sequence:
- service: select.select_option
data:
option: hc
target:
entity_id:
- select.linky_energie_jour
- select.linky_energie_mois
- conditions:
- condition: trigger
id: tarif_hp1
- condition: trigger
id: tarif_hp2
sequence:
- service: select.select_option
data:
option: hp
target:
entity_id:
- select.linky_energie_jour
- select.linky_energie_mois
default: &#091;]
mode: single</code></pre>
<h2 class="wp-block-heading">Selon une plage horaire paramétrable</h2>
<p>Commencer par créer le deux « input_datetime » qui vont définir le début et la fin de la plage horaire des heures creuses.</p>
<p>Pour ce faire, allez dans « paramètres/appareils et service/entrées », puis ajouter « une date et/ou heure »:</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="726" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-23-1024x726.png" alt="" class="wp-image-2168" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-23-1024x726.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-23-300x213.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-23-768x545.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-23.png 1028w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>Saisir</p>
<ul>
<li>Le nom de l&rsquo;entité que vous souhaitez</li>
<li>Cocher « heure »</li>
</ul>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"><div class="wp-block-group__inner-container">
<p>J&rsquo;ai ainsi créé deux entités:</p>
<ul>
<li>input_datetime.debut_heure_creuse</li>
<li>input_datetime.fin_heure_creuse</li>
</ul>
</div></div>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="428" height="211" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-21.png" alt="" class="wp-image-2158" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-21.png 428w, https://domo.rem81.com/wp-content/uploads/2022/06/image-21-300x148.png 300w" sizes="(max-width: 428px) 100vw, 428px" /></figure>
<p>que l&rsquo;on va pouvoir exploiter dans un automatisme:</p>
<p>Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service.</p>
<p>Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous ajoutez les entités dans les <strong>« target: entity_id »</strong>.</p>
<pre class="wp-block-code"><code>alias: 6_1_0 Energie Changement HP&lt;-&gt;HC
description: ''
trigger:
- platform: time
id: tarif_hc
at: input_datetime.debut_heure_creuse
- platform: time
id: tarif_hp
at: input_datetime.fin_heure_creuse
condition: &#091;]
action:
- choose:
- conditions:
- condition: trigger
id: tarif_hc
sequence:
- service: select.select_option
data:
option: hc
target:
entity_id:
- select.linky_energie_jour
- conditions:
- condition: trigger
id: tarif_hp
sequence:
- service: select.select_option
data:
option: hp
target:
entity_id:
- select.linky_energie_jour
default: &#091;]
mode: single
</code></pre>
<h2 class="wp-block-heading">Avec l&rsquo;information HP/HC du Linky</h2>
<p>L&rsquo;automatisme est déclenché par une information délivrée par le Linky, qui, rappelons le, peux fonctionner sous 2 modes:</p>
<ul>
<li>En mode historique (mode par défaut):
<ul>
<li> voir mon article <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/01/03/ha-teleinformation-linky-mode-historique/" target="_blank">https://domo.rem81.com/2022/01/03/ha-teleinformation-linky-mode-historique/</a></li>
<li>C&rsquo;est le « sensor.linky_ptec » qui prend la valeur « HC.. » ou « HP.. » et qu&rsquo;il faut tester</li>
</ul>
</li>
<li><a rel="noreferrer noopener" href="https://domo.rem81.com/2022/01/03/ha-teleinformation-linky-mode-historique/" target="_blank"> </a>En mode standard (en faire la demande au fournisseur d&rsquo;énergie)
<ul>
<li><a rel="noreferrer noopener" href="https://domo.rem81.com/2022/01/12/ha-teleinformation-linky-mode-standard/" target="_blank">https://domo.rem81.com/2022/01/12/ha-teleinformation-linky-mode-standard/</a></li>
<li>C&rsquo;est le « sensor.linky_n_tarif » qui prend la valeur 1 en HC et 2 en HP.</li>
<li>Il peut également valoir 3 et plus selon votre abonnement tarifaire auprès de votre fournisseur d&rsquo;énergie.</li>
</ul>
</li>
</ul>
<div class="wp-block-group is-layout-flow wp-block-group-is-layout-flow"><div class="wp-block-group__inner-container"></div></div>
<p>Les options « hc » et « hp » correspondent à celles que vous avez déclarées dans le compteur de service</p>
<p>Si vous avez déclaré plusieurs compteurs avec les mêmes tarifs, vous ajoutez les entités dans les <strong>« target: entity_id »</strong>.</p>
<pre class="wp-block-code"><code>alias: 6_1_0 Energie Changement HP&lt;-&gt;HC
description: ''
trigger:
- platform: state
entity_id: sensor.linky_n_tarif
id: tarif_hc
from: '2'
to: '1'
- platform: state
entity_id: sensor.linky_n_tarif
from: '1'
id: tarif_hp
to: '2'
condition: &#091;]
action:
- choose:
- conditions:
- condition: trigger
id: tarif_hc
sequence:
- service: select.select_option
data:
option: hc
target:
entity_id:
- select.linky_energie_jour
- conditions:
- condition: trigger
id: tarif_hp
sequence:
- service: select.select_option
data:
option: hp
target:
entity_id:
- select.linky_energie_jour
default: &#091;]
mode: single
</code></pre>
<h2 class="wp-block-heading">Calcul du cout de l&rsquo;énergie</h2>
<p>Il faut commencer par créer deux inputs permettant des saisir le prix du kWh HP et HC</p>
<pre class="wp-block-code"><code>input_number:
# Calcul des coûts journaliers
cout_kwh_hp:
name: Cout du Kwh HP
min: 0
max: 10
unit_of_measurement: €
icon: mdi:currency-eur
step: 0.00001
mode: box
cout_kwh_hc:
name: Cout du Kwh HC
min: 0
max: 10
unit_of_measurement: €
icon: mdi:currency-eur
step: 0.00001
mode: box
</code></pre>
<p>Puis utiliser trois templates pour le calcul: HP+HC, HP, HC.</p>
<pre class="wp-block-code"><code>template:
- sensor:
# Cout de l'Energie
- name: "Cout Energy Total Jour HPHC"
state: &gt;-
{% set hp = states('sensor.energy_total_usage_daily_hp') | float(default=0) | round(2) %}
{% set hc = states('sensor.energy_total_usage_daily_hc') | float(default=0) | round(2) %}
{% set chp = states('input_number.cout_kwh_hp') | float(default=0) | round(5) %}
{% set chc = states('input_number.cout_kwh_hc') | float(default=0) | round(5) %}
{{((hc*chc) + (hp*chp)) | round(2) }}
unit_of_measurement: "€"
device_class: "monetary"
state_class: "total"
unique_id: "cout_energy_total_jour_hphc"
- name: "Cout Energy Total Jour HP"
state: &gt;-
{% set hp = states('sensor.energy_total_usage_daily_hp') | float(default=0) | round(2) %}
{% set chp = states('input_number.cout_kwh_hp') | float(default=0) | round(5) %}
{{(hp*chp) | round(2) }}
unit_of_measurement: "€"
device_class: "monetary"
state_class: "total"
unique_id: "cout_energy_total_jour_hp"
- name: "Cout Energy Total Jour HC"
state: &gt;-
{% set hc = states('sensor.energy_total_usage_daily_hc') | float(default=0) | round(2) %}
{% set chc = states('input_number.cout_kwh_hc') | float(default=0) | round(5) %}
{{(hc*chc) | round(2) }}
unit_of_measurement: "€"
device_class: "monetary"
state_class: "total"
unique_id: "cout_energy_total_jour_hc"</code></pre>
<h1 class="wp-block-heading">Tableau de bord</h1>
<p>Exemple avec l&rsquo;excellente intégration « <a rel="noreferrer noopener" href="https://github.com/kalkih/mini-graph-card" target="_blank">mini-graph-card</a> » disponible dans HACS.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="434" height="245" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-24.png" alt="" class="wp-image-2171" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-24.png 434w, https://domo.rem81.com/wp-content/uploads/2022/06/image-24-300x169.png 300w" sizes="(max-width: 434px) 100vw, 434px" /></figure>
<pre class="wp-block-code"><code>type: custom:mini-graph-card
entities:
- entity: sensor.linky_energie_jour_hp
name: HP
show_state: true
- entity: sensor.linky_energie_jour_hc
name: HC
show_state: true
name: Conso Linky 7j
hours_to_show: 168
aggregate_func: max
group_by: date
show:
graph: bar
icon: mdi:flash
</code></pre>
<p>Vous trouverez d&rsquo;autres exemples dans mon article <a rel="noreferrer noopener" href="https://domo.rem81.com/2022/01/12/ha-teleinformation-linky-mode-standard/" target="_blank">https://domo.rem81.com/2022/01/12/ha-teleinformation-linky-mode-standard/</a> .</p>
<h1 class="wp-block-heading">Conclusion</h1>
<p>Tuto tout simple qui, je lespère, vous aidera à définir vos compteurs.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:76:"https://domo.rem81.com/2022/06/06/ha-compteur-de-service-utility-meter/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"9";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}i:9;a:6:{s:4:"data";s:91:"
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:47:"HA-Mesure Qualité de lair PM1.0-PM2.5-M10.0";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:78:"https://domo.rem81.com/2022/06/03/ha-mesure-qualite-de-lair-pm1-0-pm2-5-m10-0/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:87:"https://domo.rem81.com/2022/06/03/ha-mesure-qualite-de-lair-pm1-0-pm2-5-m10-0/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubDate";a:1:{i:0;a:5:{s:4:"data";s:31:"Fri, 03 Jun 2022 06:00:59 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:7:{i:0;a:5:{s:4:"data";s:9:"Domotique";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:15:"Faire soi-même";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:2;a:5:{s:4:"data";s:14:"Home Assistant";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:3;a:5:{s:4:"data";s:3:"CO2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:4;a:5:{s:4:"data";s:7:"ESPHOME";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:5;a:5:{s:4:"data";s:2:"HA";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:6;a:5:{s:4:"data";s:5:"PM2.5";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:29:"https://domo.rem81.com/?p=984";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"isPermaLink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:232:"Intro Dans un article précédent, j&#8217;abordais le détournement du boitier de mesure de qualité de l&#8217;air Vindriktning commercialisé par IKEA. Celui ci est équipé d&#8217;un capteur Pm2.5 pm1006 qui fonctionne &#8230; ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:5:"rem81";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:29464:"
<h1 class="wp-block-heading">Intro</h1>
<p>Dans <a href="https://domo.rem81.com/2021/11/01/ha-mesure-de-la-qualite-de-lair-co2-et-pm2-5/" target="_blank" rel="noreferrer noopener">un article précédent</a>, j&rsquo;abordais le détournement du boitier de mesure de qualité de l&rsquo;air <a rel="noreferrer noopener" href="https://www.ikea.com/fr/fr/p/vindriktning-capteur-qualite-de-lair-70498242/" target="_blank">Vindriktning</a> commercialisé par IKEA. Celui ci est équipé d&rsquo;un capteur Pm2.5 <a rel="noreferrer noopener" href="https://esphome.io/components/sensor/pm1006.html" target="_blank">pm1006</a> qui fonctionne correctement mais la gamme de mesure se limite au PM2.5 et la précision semble t&rsquo;il n&rsquo;est pas au rendez vous.</p>
<p>En parcourant les sensors « Air Quality » de EspHome, j&rsquo;ai découvert le PMS5003 qui propose lui une étendue de mesures bien supérieure pour un prix raisonnable. J&rsquo;en ai profité pour y associer un MHZ-19B qui lui mesure le taux de CO2 plus un afficheur local et un bandeau de 8 leds.</p>
<p>L&rsquo;ensemble est raccordé à un ESP32 Mini qui assure une puissance de traitement supérieure à un ESP8266.</p>
<p>Enfin j&rsquo;ai intégré le tout sur un joli circuit imprimé dont j&rsquo;ai sous traité la fabrication à <a rel="noreferrer noopener" href="https://jlcpcb.com/" target="_blank">https://jlcpcb.com/</a> pour un rapport qualité prix très attrayant.</p>
<h1 class="wp-block-heading">Descriptif matériel</h1>
<h2 class="wp-block-heading">Capteur de particules PMS 5003</h2>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="292" height="293" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-12.png" alt="" class="wp-image-2095" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-12.png 292w, https://domo.rem81.com/wp-content/uploads/2022/06/image-12-150x150.png 150w" sizes="(max-width: 292px) 100vw, 292px" /></figure>
<p>Mesure fiable et en temps réel des concentrations de poussières PM2,5 ! Ce capteur utilise la diffusion laser pour rayonner les particules en suspension dans l&rsquo;air, puis recueille la lumière diffusée pour obtenir la courbe de la variation de la lumière diffusée dans le temps. Le microprocesseur calcule le diamètre équivalent des particules et le nombre de particules de diamètre différent par unité de volume.</p>
<p>&nbsp;&nbsp;&nbsp; Concentrations de PM1,0, PM2,5 et PM10,0 dans les unités standard et environnementales<br>&nbsp;&nbsp;&nbsp; Particules par 0,1 L d&rsquo;air, classées en bacs de 0,3 um, 0,5 um, 1,0 um, 2,5 um, 5,0 um et 10 um.</p>
<p>&nbsp;&nbsp; Plage de mesure : 0,3~1,01.0~2,52.5~10 μ m<br>&nbsp;&nbsp;&nbsp; Portée effective : 0~500 μ g/m³<br>&nbsp;&nbsp;&nbsp; Portée maximale : * ≥1000 μ g/m³<br>&nbsp;&nbsp;&nbsp; Résolution : 1 μ g/m³<br>&nbsp;&nbsp;&nbsp; Volume standard : 0.1L<br>&nbsp;&nbsp;&nbsp; Alimentation en courant continu : Typ:5.0 / Min:4.5 / Max : 5.5V<br>&nbsp;&nbsp;&nbsp; Courant actif : ≤100 mA<br>&nbsp;&nbsp;&nbsp; Courant de veille : ≤200 μ μ A<br>&nbsp;&nbsp;&nbsp; Plage de température de fonctionnement : -10~+60 ℃<br>&nbsp;&nbsp;&nbsp; Plage d&rsquo;humidité de travail : 0~99%<br>&nbsp;&nbsp;&nbsp; Plage de température de stockage : -40~+80 ℃<br>&nbsp;&nbsp;&nbsp; Dimensions du module capteur : 50 × 38 × 21mm<br>&nbsp;&nbsp;&nbsp; Poids (câble et adaptateur inclus) : 42.2g</p>
<p><strong>Fiche technique</strong></p>
<div data-wp-interactive="" class="wp-block-file"><object data-wp-bind--hidden="!selectors.core.file.hasPdfPreview" hidden class="wp-block-file__embed" data="https://domo.rem81.com/wp-content/uploads/2022/06/pms5003-english-v2.3.pdf" type="application/pdf" style="width:100%;height:600px" aria-label="Contenu embarqué pms5003-english-v2.3."></object><a id="wp-block-file--media-0c61b3a7-fb7f-4569-8d3a-0761442540e6" href="https://domo.rem81.com/wp-content/uploads/2022/06/pms5003-english-v2.3.pdf">pms5003-english-v2.3</a><a href="https://domo.rem81.com/wp-content/uploads/2022/06/pms5003-english-v2.3.pdf" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-0c61b3a7-fb7f-4569-8d3a-0761442540e6">Télécharger</a></div>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="595" height="538" src="https://domo.rem81.com/wp-content/uploads/2022/01/image-20.png" alt="" class="wp-image-1387" srcset="https://domo.rem81.com/wp-content/uploads/2022/01/image-20.png 595w, https://domo.rem81.com/wp-content/uploads/2022/01/image-20-300x271.png 300w" sizes="(max-width: 595px) 100vw, 595px" /></figure>
<ul id="block-423fadce-5872-4cc5-a139-19a8eb0ff517">
<li>Sur le PMS-5003:
<ul>
<li><strong>PMS-5003 &lt;&#8211;&gt; ESP32 Mini</strong></li>
<li>Validation <strong>&lt;&#8211;&gt;</strong> SET (IO27)</li>
<li>TX <strong>&lt;&#8211;&gt;</strong> RX (IO25)</li>
<li>GND <strong>&lt;&#8211;&gt;</strong> GND </li>
<li>VCC (+5v) <strong>&lt;&#8211;&gt;</strong> VCC</li>
</ul>
</li>
</ul>
<h2 class="wp-block-heading">Capteur de Co2</h2>
<p>Le capteur Co2 est un <a rel="noreferrer noopener" href="https://fr.aliexpress.com/item/1005002125913199.html?spm=a2g0s.9042311.0.0.715e6c37KAOSxq" target="_blank">MH-Z19B</a> qui mesure la teneur de CO2 sur une échelle de 400 à 10000 ppm et communique en UART.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="869" height="567" src="https://domo.rem81.com/wp-content/uploads/2021/12/image.png" alt="" class="wp-image-1110" srcset="https://domo.rem81.com/wp-content/uploads/2021/12/image.png 869w, https://domo.rem81.com/wp-content/uploads/2021/12/image-300x196.png 300w, https://domo.rem81.com/wp-content/uploads/2021/12/image-768x501.png 768w" sizes="(max-width: 869px) 100vw, 869px" /></figure>
<ul id="block-4162a44b-54ca-4048-ad07-102079155d7a">
<li>Sur le MH-Z19:
<ul>
<li><strong>MH-Z19 &lt;&#8211;&gt; ESP32 Mini</strong></li>
<li>TX <strong>&lt;&#8211;&gt;</strong> RX (IO16)</li>
<li>RX <strong>&lt;&#8211;&gt;</strong> TX (IO17)</li>
<li>GND <strong>&lt;&#8211;&gt;</strong> GND </li>
<li>VCC (+5v) <strong>&lt;&#8211;&gt;</strong> VCC</li>
</ul>
</li>
</ul>
<h2 class="wp-block-heading">ESP32 Mini</h2>
<p>J&rsquo;ai choisi un <a href="https://www.amazon.fr/gp/product/B08TBPBJGV/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&amp;psc=1" data-type="URL" target="_blank" rel="noreferrer noopener">ESP32 Mini</a>, car l&rsquo;ESP8266 est trop juste en puissance de calcul si on utilise l&rsquo;intégration ESPHOME plus un afficheur plus un bandeau Led, j&rsquo;ai galéré avec, je ne le recommande pas.</p>
<h2 class="wp-block-heading">Afficheur Oled</h2>
<p>Vous en trouverez sans problème sur <a rel="noreferrer noopener" href="https://www.amazon.fr/AZDelivery-128x64-Arduino-Raspberry-microcontr%C3%B4leur/dp/B074N9VLZX/ref=pd_day0fbt_img_sccl_1/260-2074638-0290232?pd_rd_w=mpOgy&amp;content-id=amzn1.sym.eb575755-8305-4dca-a190-ccf98a29b2c2&amp;pf_rd_p=eb575755-8305-4dca-a190-ccf98a29b2c2&amp;pf_rd_r=QZ9PGK7FZSZCJ270F8P3&amp;pd_rd_wg=PuT1Y&amp;pd_rd_r=37d75cc4-096b-4efb-aa99-ff2d765e0773&amp;pd_rd_i=B074N9VLZX&amp;th=1" target="_blank">Amazon</a> ou en chine</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="381" height="264" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-10.png" alt="" class="wp-image-2089" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-10.png 381w, https://domo.rem81.com/wp-content/uploads/2022/06/image-10-300x208.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-10-135x93.png 135w" sizes="(max-width: 381px) 100vw, 381px" /></figure>
<p>L&rsquo;afficheur utilise une police de caractère « Arial », vous pouvez télécharger le fichier arial.ttf <a rel="noreferrer noopener" href="https://www.freefontspro.com/fr/14454/arial.ttf" data-type="URL" data-id="https://www.freefontspro.com/fr/14454/arial.ttf" target="_blank">ici</a> puis le transférer dans un dossier « fonts » de votre « /config/esphome ». Bien entendu vous pouvez utiliser une autre police de caractéres, « size » détermine la taille des caractères.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="314" height="655" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-6.png" alt="" class="wp-image-2076" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-6.png 314w, https://domo.rem81.com/wp-content/uploads/2022/06/image-6-144x300.png 144w" sizes="(max-width: 314px) 100vw, 314px" /></figure>
<h2 class="wp-block-heading">Bandeau led</h2>
<p>Il n&rsquo;est pas indispensable mais il permet de visualiser rapidement d&rsquo;un simple coup dœil le niveau de pollution.</p>
<p>Stick NeoPixel RGB 8 leds</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="600" height="600" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-7.png" alt="" class="wp-image-2078" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-7.png 600w, https://domo.rem81.com/wp-content/uploads/2022/06/image-7-300x300.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-7-150x150.png 150w" sizes="(max-width: 600px) 100vw, 600px" /></figure>
<h1 class="wp-block-heading">Mise en oeuvre</h1>
<p>j&rsquo;utilise le logiciel Eagle d&rsquo;Autodesk pour la création des circuits imprimé, puis je sous traite la fabrication chez <a rel="noreferrer noopener" href="https://jlcpcb.com/" target="_blank">https://jlcpcb.com/</a> pour un rapport qualité prix très attrayant et un rendu « professionnel »</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-1024x1024.jpg" alt="" class="wp-image-2070" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_085326-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2 class="wp-block-heading">Schéma Electronique</h2>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="574" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-3-1024x574.png" alt="" class="wp-image-2068" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-3-1024x574.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-3-300x168.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-3-768x430.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-3.png 1103w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2 class="wp-block-heading">Circuit imprimé</h2>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="365" height="634" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-4.png" alt="" class="wp-image-2069" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-4.png 365w, https://domo.rem81.com/wp-content/uploads/2022/06/image-4-173x300.png 173w" sizes="(max-width: 365px) 100vw, 365px" /></figure>
<h2 class="wp-block-heading">Mise en boitier</h2>
<p>Ca reste à faire, je cherche le boitier idéal!</p>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-1024x1024.jpg" alt="" class="wp-image-2082" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_091932-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h1 class="wp-block-heading">Logiciel</h1>
<p>J&rsquo;ai raccordé un bouton poussoir me permettant ainsi de faire défiler différentes pages de mesure sur l&rsquo;ecran Oled.</p>
<figure class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-12 is-layout-flex wp-block-gallery-is-layout-flex">
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2081" src="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-1024x1024.jpg" alt="" class="wp-image-2081" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092001-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" data-id="2080" src="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-1024x1024.jpg" alt="" class="wp-image-2080" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-1024x1024.jpg 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-300x300.jpg 300w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-150x150.jpg 150w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-768x768.jpg 768w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-1536x1536.jpg 1536w, https://domo.rem81.com/wp-content/uploads/2022/06/IMG_20220603_092008-2048x2048.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
</figure>
<h2 class="wp-block-heading">Code ESP Home</h2>
<pre class="wp-block-code"><code>substitutions:
device_name: esp138-qualite-air
adress_ip: "192.168.0.138"
friendly_name: esp138
time_timezone: "Europe/Paris"
esphome:
name: ${device_name}
platform: ESP32
board: mhetesp32minikit
#board: wemos_d1_mini32
platformio_options:
lib_deps: NeoPixelBus@2.6.0
on_boot:
then:
- light.control:
id: rgb_led
brightness: 0.25
state: on
wifi:
networks:
- ssid: !secret wifi_mi4
password: !secret mdpwifi_mi4
priority: 2
- ssid: !secret wifi_esp
password: !secret mdpwifi_esp
priority: 1
- ssid: !secret wifi
password: !secret mdpwifi
priority: 0
reboot_timeout: 5min
manual_ip:
static_ip: ${adress_ip}
gateway: 192.168.0.1
subnet: 255.255.255.0
# Enable logging
logger:
baud_rate: 0
# Enable Home Assistant API
api:
ota:
web_server:
port: 80
font:
- file: "fonts/arial.ttf"
id: arial
size: 15
# Led WS2812 RGB
light:
- platform: neopixelbus
num_leds: 8
pin: GPIO4 #gpio0
name: "RGB strip"
variant: ws2812
id: rgb_led
default_transition_length: 0s
i2c:
sda: GPIO21 #
scl: GPIO22 #
scan: True
id: bus_a
uart:
- id: uart_a
rx_pin: GPIO25 #
baud_rate: 9600
- id: uart_b
rx_pin: GPIO16 # GPIO16
tx_pin: GPIO17 # GPIO17
baud_rate: 9600
# debug:
# direction: BOTH
globals:
- id: bp_mode
type: int
initial_value: '1'
sensor:
- platform: pmsx003
uart_id: uart_a
type: PMSX003
pm_1_0:
name: "Concentration de particules &lt;1.0µm"
id: pm1_0
accuracy_decimals: 0
filters:
- sliding_window_moving_average:
window_size: 15
send_every: 10
send_first_at: 1
pm_2_5:
name: "Concentration de particules &lt;2.5µm"
id: pm2_5
accuracy_decimals: 0
filters:
- sliding_window_moving_average:
window_size: 15
send_every: 10
send_first_at: 1
on_value:
# de 0 à 7 / 8 leds
# Led 0
- if:
condition:
sensor.in_range:
id: pm2_5
below: 25
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 0
red: 0%
green: 100%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 1
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# led 1
- if:
condition:
sensor.in_range:
id: pm2_5
above: 25
below: 35
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 1
red: 0%
green: 100%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 2
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# Led 2
- if:
condition:
sensor.in_range:
id: pm2_5
above: 35
below: 45
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 2
red: 0%
green: 100%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 3
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# led 3
- if:
condition:
sensor.in_range:
id: pm2_5
above: 45
below: 55
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 3
red: 75%
green: 75%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 4
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# led 4
- if:
condition:
sensor.in_range:
id: pm2_5
above: 55
below: 65
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 4
red: 75%
green: 75%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 5
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# led 5
- if:
condition:
sensor.in_range:
id: pm2_5
above: 65
below: 75
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 5
red: 100%
green: 0%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 6
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# led 6
- if:
condition:
sensor.in_range:
id: pm2_5
above: 75
below: 85
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 6
red: 100%
green: 0%
blue: 0%
color_brightness: 100%
- light.addressable_set:
id: rgb_led
range_from: 7
range_to: 7
red: 0%
green: 0%
blue: 0%
color_brightness: 0%
# Led 7
- if:
condition:
sensor.in_range:
id: pm2_5
above: 85
then:
- light.addressable_set:
id: rgb_led
range_from: 0
range_to: 7
red: 100%
green: 0%
blue: 0%
color_brightness: 100%
pm_10_0:
name: "Concentration de particules &lt;10.0µm"
id: pm10_0
accuracy_decimals: 0
filters:
- sliding_window_moving_average:
window_size: 15
send_every: 10
send_first_at: 1
pm_0_3um:
name: "Nb de particules &gt;0.3"
id: pm_03_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
pm_0_5um:
name: "Nb de particules &gt;0.5"
id: pm_05_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
pm_1_0um:
name: "Nb de particules &gt;1.0"
id: pm_10_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
pm_2_5um:
name: "Nb de particules &gt;2.5"
id: pm_25_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
pm_5_0um:
name: "Nb de particules &gt;5.0"
id: pm_50_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
pm_10_0um:
name: "Nb de particules &gt;10.0"
id: pm_100_um
unit_of_measurement: "ppd"
accuracy_decimals: 0
- platform: wifi_signal
name: "${friendly_name} WiFi Signal Sensor"
update_interval: 60s
- platform: uptime
name: "${friendly_name} Uptime Sensor"
update_interval: 60s
- platform: mhz19
uart_id: uart_b
id: mh_z19
co2:
name: "MH-Z19 CO2 Value"
id: co2
accuracy_decimals: 0
filters:
- sliding_window_moving_average:
window_size: 12 # moyenne sur 12 lecture
send_every: 6 # envoi toutes les 6 lectures
send_first_at: 1 # envoi à la premiere lecture
temperature:
name: "MH-Z19 Temperature"
id: temp
filters:
- sliding_window_moving_average:
window_size: 24
send_every: 12
send_first_at: 1
update_interval: 10s
automatic_baseline_calibration: false
# Il s'agit d'un modèle de capteur qui effectue une moyenne mobile de 30 minutes de PM2,5
# il supprime les valeurs aberrantes et de rendre le contrôle plus fluide
- platform: template
name: "Concentration de particules &lt;2.5µm median"
id: pm2_5_median
icon: mdi:chemical-weapon
unit_of_measurement: µg/m³
lambda: |-
return id(pm2_5).state;
update_interval: 60s
filters:
- median:
window_size: 30
send_every: 30
send_first_at: 15
binary_sensor:
- platform: gpio
name: bp_mod
id: button
pin:
number: GPIO14 # GPIO 15TMS
inverted: true
mode:
input: true
pullup: true
on_click:
- min_length: 25ms
max_length: 500ms
then:
- lambda: |-
if (id(bp_mode) &lt; 3) { id(bp_mode) += 1; }
else { id(bp_mode) = 1; }
- platform: gpio
name: bp_mod2
id: button2
pin:
number: GPIO13 # TCK
inverted: true
mode:
input: true
pullup: true
#Etat de la connection
- platform: status
name: "${friendly_name} Status"
interval:
- interval: 60s
then:
- switch.turn_on: val_mes
- delay: 10s
# - switch.turn_on: val_mes
- switch.turn_off: val_mes
- delay: 30s
switch:
- platform: gpio
pin:
number: GPIO27 #
id: val_mes
name: "${friendly_name} Validation mesure"
- platform: template
name: "Calibration zero Mh-Z19 CO2"
turn_on_action:
- mhz19.calibrate_zero: mh_z19
- switch.turn_off: co2_cal
id: co2_cal
- platform: restart
name: "${friendly_name} Restart"
# gestion afficheur
display:
- platform: ssd1306_i2c
model: "SSD1306 128x64"
address: 0x3C
brightness: 100%
lambda: |-
if (id(bp_mode) == 1 )
{
it.printf(0,0,id(arial),"PM1.0=%.2f",id(pm1_0).state);
it.printf(0,15,id(arial),"PM2.5=%.2f",id(pm2_5).state);
it.printf(0,30,id(arial),"PM10.0=%.2f",id(pm10_0).state);
it.printf(0,45,id(arial),"CO2=%.0f",id(co2).state);
}
else if (id(bp_mode) == 2 )
{
it.printf(0,0,id(arial),"0.3UM=%.1f",id(pm_03_um).state);
it.printf(0,15,id(arial),"0.5UM=%.1f",id(pm_05_um).state);
it.printf(0,30,id(arial),"1.0UM=%.1f",id(pm_10_um).state);
it.printf(0,45,id(arial),"2.5UM=%.1f",id(pm_25_um).state);
}
else if (id(bp_mode) == 3 )
{
it.printf(0,0,id(arial),"5.0UM=%.1f",id(pm_50_um).state);
it.printf(0,15,id(arial),"10.0UM=%.1f",id(pm_100_um).state);
}
</code></pre>
<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="493" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-8-1024x493.png" alt="" class="wp-image-2083" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-8-1024x493.png 1024w, https://domo.rem81.com/wp-content/uploads/2022/06/image-8-300x144.png 300w, https://domo.rem81.com/wp-content/uploads/2022/06/image-8-768x370.png 768w, https://domo.rem81.com/wp-content/uploads/2022/06/image-8-1536x739.png 1536w, https://domo.rem81.com/wp-content/uploads/2022/06/image-8.png 1560w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h1 class="wp-block-heading">Affichage Local</h1>
<p>Un exemple minimaliste.</p>
<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="427" height="632" src="https://domo.rem81.com/wp-content/uploads/2022/06/image-5.png" alt="" class="wp-image-2075" srcset="https://domo.rem81.com/wp-content/uploads/2022/06/image-5.png 427w, https://domo.rem81.com/wp-content/uploads/2022/06/image-5-203x300.png 203w" sizes="(max-width: 427px) 100vw, 427px" /></figure>
<pre class="wp-block-code"><code>type: entities
entities:
- entity: sensor.concentration_de_particules_1_0um
- entity: sensor.concentration_de_particules_10_0um
- entity: sensor.concentration_de_particules_2_5um
- entity: sensor.concentration_de_particules_2_5um_median
- entity: sensor.mh_z19_co2_value
- entity: sensor.mh_z19_temperature
- entity: sensor.nb_de_particules_0_3
- entity: sensor.nb_de_particules_0_5
- entity: sensor.nb_de_particules_1_0
- entity: sensor.nb_de_particules_10_0
- entity: sensor.nb_de_particules_2_5
- entity: sensor.nb_de_particules_5_0
- entity: binary_sensor.bp_mod
- entity: binary_sensor.bp_mod2
- entity: automation.vmc_niv0_automatismes
title: esp138-qualite-air
</code></pre>
<h1 class="wp-block-heading">Conclusion</h1>
<p>Après quelques semaines d&rsquo;expérience, les retours sont positifs, reste à valider la véracité des mesures, mais sans mesure étalon, on ne peut que faire confiance aux constructeurs.</p>
<p>J&rsquo;ai remarqué que de temps en temps, la mesure de CO2 ne varie plus, j&rsquo;active le switch « calibration zero mh-z19 ».</p>
<p>je l&rsquo;utilise pour piloter ma VMC en cas de valeur PM2.5 ou de CO2 trop élévée.</p>
";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/CommentAPI/";a:1:{s:10:"commentRss";a:1:{i:0;a:5:{s:4:"data";s:83:"https://domo.rem81.com/2022/06/03/ha-mesure-qualite-de-lair-pm1-0-pm2-5-m10-0/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:1:"2";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}s:27:"http://www.w3.org/2005/Atom";a:1:{s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:3:{s:4:"href";s:28:"https://domo.rem81.com/feed/";s:3:"rel";s:4:"self";s:4:"type";s:19:"application/rss+xml";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:44:"http://purl.org/rss/1.0/modules/syndication/";a:2:{s:12:"updatePeriod";a:1:{i:0;a:5:{s:4:"data";s:9:"
hourly ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:15:"updateFrequency";a:1:{i:0;a:5:{s:4:"data";s:4:"
1 ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}}}}}}}s:4:"type";i:128;s:7:"headers";a:12:{s:6:"server";s:9:"openresty";s:4:"date";s:29:"Sat, 03 Feb 2024 16:54:02 GMT";s:12:"content-type";s:34:"application/rss+xml; charset=UTF-8";s:14:"content-length";s:5:"57255";s:12:"x-powered-by";s:10:"PHP/8.0.28";s:13:"last-modified";s:29:"Fri, 26 Jan 2024 10:26:27 GMT";s:4:"etag";s:39:""c3b2d72b112adbfb588eb3bd1ad9389d-gzip"";s:4:"link";s:57:"<https://domo.rem81.com/wp-json/>; rel=https://api.w.org/";s:4:"vary";s:15:"Accept-Encoding";s:16:"content-encoding";s:4:"gzip";s:25:"strict-transport-security";s:25:"max-age=63072000; preload";s:11:"x-served-by";s:14:"domo.rem81.com";}s:5:"build";s:14:"20231030185604";s:5:"mtime";i:1706979242;s:3:"md5";s:32:"d6a21b576455c2037a395c3180b02cce";}