<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[Forum KNX francophone / English KNX forum - Home Assistant]]></title>
		<link>https://www.knx-fr.com/</link>
		<description><![CDATA[Forum KNX francophone / English KNX forum - https://www.knx-fr.com]]></description>
		<pubDate>Sat, 02 May 2026 17:28:07 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[HA & Hager TE331]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=13198</link>
			<pubDate>Thu, 09 Apr 2026 14:53:01 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=2645">pollux06</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=13198</guid>
			<description><![CDATA[Comme je me suis mis depuis peu à Home assistant, je suis entrain d'intégrer dans HA toutes mes GA KNX.<br />
<br />
Etant donné que je ne suis pas encore très au point en HA, est-ce que l'un d'entre vous aurait déjà intégré ce "compteur" et si oui pourriez-vous m'indiquer les différentes étapes à suivre ?<br />
<br />
Merci par avance.]]></description>
			<content:encoded><![CDATA[Comme je me suis mis depuis peu à Home assistant, je suis entrain d'intégrer dans HA toutes mes GA KNX.<br />
<br />
Etant donné que je ne suis pas encore très au point en HA, est-ce que l'un d'entre vous aurait déjà intégré ce "compteur" et si oui pourriez-vous m'indiquer les différentes étapes à suivre ?<br />
<br />
Merci par avance.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Retour d'état volets Zigbee -> KNX sur Home assistant]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=13194</link>
			<pubDate>Tue, 31 Mar 2026 17:50:12 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=5676">BigYo</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=13194</guid>
			<description><![CDATA[Bonjour,<br />
<br />
Je viens de migrer vers Home assistant depuis Jeedom. J'ai intégré 99% de mes appareils, mais je bute encore sur une chose : mes volets roulants ZigBee  <img src="https://www.knx-fr.com/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /><br />
<br />
Ils remontent sur HA via un dongle SLZB-06, aucun problème à ce niveau. <br />
J'arrive à les piloter depuis mes boutons KNX aussi via Node Red, pas de problème particulier non plus.<br />
<br />
Par contre, j'ai un soucis avec le retour d'état sur mes écrans tactiles Schneider Multitouch qui ont affichage visuel type curseurs :<br />
<a href="https://postimg.cc/JD0J4xb6" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/JD0J4xb6/Curseur.jpg" loading="lazy"  alt="[Image: Curseur.jpg]" class="mycode_img" /></a><br />
<br />
Lorsque j'envoie ma commande, le retour d'état ne se fait pas. Plus précisément :<br />
- lorsque je change le position d'un volet sur un écran, la position ne suit pas sur le second (ils pilotent les mêmes volets)<br />
- lorsque je change la position d'un volet sur HA, la position ne suit sur aucun des deux<br />
<br />
Par contre, sur mon moniteur de bus, j'ai bien un groupvalueWrite de la valeur de la position du volet qui remonte sur mon GA.<br />
<br />
Je pense qu'il doit y avoir un problème au niveau de ma config de retour d'état sur Node Red, et le bus KNX ne doit pas lire/recevoir l'info correctement. Mais étant clairement novice sur HA, je sèche :/<br />
<br />
Je vous mets mes GA depuis ETS (pour un volet, mais identique pour tous) :<br />
<img src="https://i.postimg.cc/q75FWGf5/GA-ETS.jpg" loading="lazy"  alt="[Image: GA-ETS.jpg]" class="mycode_img" /><br />
Et ma config sous Node Red :<br />
<img src="https://i.postimg.cc/htJG7c8m/Node-red.jpg" loading="lazy"  alt="[Image: Node-red.jpg]" class="mycode_img" /><br />
<br />
Et mes noeuds :<br />
<br />
Event : states<br />
[img]<a href="https://i.postimg.cc/9RK0T8FW" target="_blank" rel="noopener" class="mycode_url">https://i.postimg.cc/9RK0T8FW/Event-1.jpg</a>[/img]<br />
[img]<a href="https://i.postimg.cc/r03sWny7/Event-2.jpg" target="_blank" rel="noopener" class="mycode_url">https://i.postimg.cc/r03sWny7/Event-2.jpg</a>[/img]<br />
<br />
Change :<br />
<a href="https://postimg.cc/G8H94wRZ" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/G8H94wRZ/Change.jpg" loading="lazy"  alt="[Image: Change.jpg]" class="mycode_img" /></a><br />
<br />
<br />
KNX Device :<br />
<a href="https://postimg.cc/ph4r8GV4" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/ph4r8GV4/KNX1.jpg" loading="lazy"  alt="[Image: KNX1.jpg]" class="mycode_img" /></a><br />
<a href="https://postimg.cc/sBnvffkY" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/sBnvffkY/KNX2.jpg" loading="lazy"  alt="[Image: KNX2.jpg]" class="mycode_img" /></a>]]></description>
			<content:encoded><![CDATA[Bonjour,<br />
<br />
Je viens de migrer vers Home assistant depuis Jeedom. J'ai intégré 99% de mes appareils, mais je bute encore sur une chose : mes volets roulants ZigBee  <img src="https://www.knx-fr.com/images/smilies/dodgy.gif" alt="Dodgy" title="Dodgy" class="smilie smilie_14" /><br />
<br />
Ils remontent sur HA via un dongle SLZB-06, aucun problème à ce niveau. <br />
J'arrive à les piloter depuis mes boutons KNX aussi via Node Red, pas de problème particulier non plus.<br />
<br />
Par contre, j'ai un soucis avec le retour d'état sur mes écrans tactiles Schneider Multitouch qui ont affichage visuel type curseurs :<br />
<a href="https://postimg.cc/JD0J4xb6" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/JD0J4xb6/Curseur.jpg" loading="lazy"  alt="[Image: Curseur.jpg]" class="mycode_img" /></a><br />
<br />
Lorsque j'envoie ma commande, le retour d'état ne se fait pas. Plus précisément :<br />
- lorsque je change le position d'un volet sur un écran, la position ne suit pas sur le second (ils pilotent les mêmes volets)<br />
- lorsque je change la position d'un volet sur HA, la position ne suit sur aucun des deux<br />
<br />
Par contre, sur mon moniteur de bus, j'ai bien un groupvalueWrite de la valeur de la position du volet qui remonte sur mon GA.<br />
<br />
Je pense qu'il doit y avoir un problème au niveau de ma config de retour d'état sur Node Red, et le bus KNX ne doit pas lire/recevoir l'info correctement. Mais étant clairement novice sur HA, je sèche :/<br />
<br />
Je vous mets mes GA depuis ETS (pour un volet, mais identique pour tous) :<br />
<img src="https://i.postimg.cc/q75FWGf5/GA-ETS.jpg" loading="lazy"  alt="[Image: GA-ETS.jpg]" class="mycode_img" /><br />
Et ma config sous Node Red :<br />
<img src="https://i.postimg.cc/htJG7c8m/Node-red.jpg" loading="lazy"  alt="[Image: Node-red.jpg]" class="mycode_img" /><br />
<br />
Et mes noeuds :<br />
<br />
Event : states<br />
[img]<a href="https://i.postimg.cc/9RK0T8FW" target="_blank" rel="noopener" class="mycode_url">https://i.postimg.cc/9RK0T8FW/Event-1.jpg</a>[/img]<br />
[img]<a href="https://i.postimg.cc/r03sWny7/Event-2.jpg" target="_blank" rel="noopener" class="mycode_url">https://i.postimg.cc/r03sWny7/Event-2.jpg</a>[/img]<br />
<br />
Change :<br />
<a href="https://postimg.cc/G8H94wRZ" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/G8H94wRZ/Change.jpg" loading="lazy"  alt="[Image: Change.jpg]" class="mycode_img" /></a><br />
<br />
<br />
KNX Device :<br />
<a href="https://postimg.cc/ph4r8GV4" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/ph4r8GV4/KNX1.jpg" loading="lazy"  alt="[Image: KNX1.jpg]" class="mycode_img" /></a><br />
<a href="https://postimg.cc/sBnvffkY" target="_blank" rel="noopener" class="mycode_url"><img src="https://i.postimg.cc/sBnvffkY/KNX2.jpg" loading="lazy"  alt="[Image: KNX2.jpg]" class="mycode_img" /></a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[HA et KNX]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9848</link>
			<pubDate>Wed, 14 Jan 2026 09:57:06 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=4111">richardpub</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9848</guid>
			<description><![CDATA[quelqu'un est il déjà revenu dans le nouvelle emplacement de KNX dans HA.<br />
Emplacement dans paramètres système:<br />
je découvre ce matin la richesse nouvelle pour moi en tout cas de l'interface de création d'entité comme ici<br />
Désolé pour la définition de l'image<br />
<br />
<a href="https://www.casimages.com/i/26011411213825602918705548.png.html" target="_blank" rel="noopener" class="mycode_url"><img src="https://nsm09.casimages.com/img/2026/01/14//26011411213825602918705548.png" loading="lazy"  alt="[Image: 26011411213825602918705548.png]" class="mycode_img" /></a>]]></description>
			<content:encoded><![CDATA[quelqu'un est il déjà revenu dans le nouvelle emplacement de KNX dans HA.<br />
Emplacement dans paramètres système:<br />
je découvre ce matin la richesse nouvelle pour moi en tout cas de l'interface de création d'entité comme ici<br />
Désolé pour la définition de l'image<br />
<br />
<a href="https://www.casimages.com/i/26011411213825602918705548.png.html" target="_blank" rel="noopener" class="mycode_url"><img src="https://nsm09.casimages.com/img/2026/01/14//26011411213825602918705548.png" loading="lazy"  alt="[Image: 26011411213825602918705548.png]" class="mycode_img" /></a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Avez vous déjà utiliser une "scene"]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9836</link>
			<pubDate>Thu, 08 Jan 2026 14:55:44 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=2290">NicNac</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9836</guid>
			<description><![CDATA[L'utilisation scene avec KNX est d'usage aisé et intéressant.<br />
<br />
Pour tester son utilisation avec HA j'ai configuré un 8 swich MDT et l'utilisation de l'option scene pour commander 2 sorties en fonction du numéro de scene.<br />
Envoyer par un bouton un numéro en KNX OK.<br />
<br />
Mais avec HA ?<br />
<br />
Essai j'ai créé sur HA<br />
<br />
  scene:<br />
  # Gestion Ores Boiler ou Eolienne<br />
  - name: "Boiler Ores"<br />
    address: 6/0/1<br />
    scene_number: 1<br />
      <br />
  - name: "Boiler Eolienne"<br />
    address: 6/0/2<br />
    scene_number: 2<br />
<br />
Que faire maintenant ?]]></description>
			<content:encoded><![CDATA[L'utilisation scene avec KNX est d'usage aisé et intéressant.<br />
<br />
Pour tester son utilisation avec HA j'ai configuré un 8 swich MDT et l'utilisation de l'option scene pour commander 2 sorties en fonction du numéro de scene.<br />
Envoyer par un bouton un numéro en KNX OK.<br />
<br />
Mais avec HA ?<br />
<br />
Essai j'ai créé sur HA<br />
<br />
  scene:<br />
  # Gestion Ores Boiler ou Eolienne<br />
  - name: "Boiler Ores"<br />
    address: 6/0/1<br />
    scene_number: 1<br />
      <br />
  - name: "Boiler Eolienne"<br />
    address: 6/0/2<br />
    scene_number: 2<br />
<br />
Que faire maintenant ?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Event KNX]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9819</link>
			<pubDate>Sat, 27 Dec 2025 20:40:58 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=5877">XeNo</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9819</guid>
			<description><![CDATA[Bonsoir à tous,<br />
<br />
Quelqu'un a-t-il déjà reussi à faire un event KNX dans HA ?<br />
<br />
En gros j'ai un bouton sur un interrupteur et je voudrais déclencher une automation HA avec mais je fais chou blanc..<br />
<br />
J'ai intégré ceci en dans les yaml knx :<br />
<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>##################<br />
#    Event<br />
##################<br />
  event:<br />
    - address:<br />
      - '5/12/8'<br />
##################</code></div></div><br />
Et j'ai intégré ceci dans mon automation :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>trigger:<br />
  platform: event<br />
  event_type: knx_event<br />
conditions:<br />
  - condition: template<br />
    value_template: "{{ trigger.event.data.destination == '5/12/8' }}"</code></div></div><br />
Mais l'automation ne se déclenche pas.. <br />
<br />
Si vous avez une idée je suis preneur. Merci !]]></description>
			<content:encoded><![CDATA[Bonsoir à tous,<br />
<br />
Quelqu'un a-t-il déjà reussi à faire un event KNX dans HA ?<br />
<br />
En gros j'ai un bouton sur un interrupteur et je voudrais déclencher une automation HA avec mais je fais chou blanc..<br />
<br />
J'ai intégré ceci en dans les yaml knx :<br />
<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>##################<br />
#    Event<br />
##################<br />
  event:<br />
    - address:<br />
      - '5/12/8'<br />
##################</code></div></div><br />
Et j'ai intégré ceci dans mon automation :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>trigger:<br />
  platform: event<br />
  event_type: knx_event<br />
conditions:<br />
  - condition: template<br />
    value_template: "{{ trigger.event.data.destination == '5/12/8' }}"</code></div></div><br />
Mais l'automation ne se déclenche pas.. <br />
<br />
Si vous avez une idée je suis preneur. Merci !]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Home Assistant avec une instance de secours]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9773</link>
			<pubDate>Thu, 11 Dec 2025 13:53:09 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=4111">richardpub</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9773</guid>
			<description><![CDATA[Dans ma domotique j'ai Home Assistant comme superviseur. Toujours prudent, j'ai 2 NUC qui tourne sur proxmox afin d'avoir toujours une version de HA de secours en cas de panne du premier NUC.<br />
Par contre j'aimerai pourvoir faire facilement et régulièrement la mise a jour du NUC de secours.<br />
J'ai des sauvegardes locales des VMs de HA sur mon PC, des sauvegardes de HA dans ma VM HA et des sauvegardes sur mon compte NabuCasa.<br />
Ces 2 2 dernières sont régulièrement mises a jour.<br />
J'aimerais pouvoir faire la mise a jour de ma NUC de Secours directement à partir soit des sauvegardes de HA dans ma VM HA et soit des sauvegardes de mon compte NabuCasa. <br />
Pourtant je n'arrive pas à le faire de la sauvegardes HA  du NUC principal sur mon compte NabuCasa, vers le NUC de secours. <br />
Ca doit pourtant pouvoir se faire??<br />
Quelqu'un pour me mettre sur la voie?]]></description>
			<content:encoded><![CDATA[Dans ma domotique j'ai Home Assistant comme superviseur. Toujours prudent, j'ai 2 NUC qui tourne sur proxmox afin d'avoir toujours une version de HA de secours en cas de panne du premier NUC.<br />
Par contre j'aimerai pourvoir faire facilement et régulièrement la mise a jour du NUC de secours.<br />
J'ai des sauvegardes locales des VMs de HA sur mon PC, des sauvegardes de HA dans ma VM HA et des sauvegardes sur mon compte NabuCasa.<br />
Ces 2 2 dernières sont régulièrement mises a jour.<br />
J'aimerais pouvoir faire la mise a jour de ma NUC de Secours directement à partir soit des sauvegardes de HA dans ma VM HA et soit des sauvegardes de mon compte NabuCasa. <br />
Pourtant je n'arrive pas à le faire de la sauvegardes HA  du NUC principal sur mon compte NabuCasa, vers le NUC de secours. <br />
Ca doit pourtant pouvoir se faire??<br />
Quelqu'un pour me mettre sur la voie?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Piloter forcage sortie DPT2.001]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9759</link>
			<pubDate>Thu, 04 Dec 2025 07:25:38 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=4090">drik56</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9759</guid>
			<description><![CDATA[Bonjour,<br />
<br />
Je viens de basculer sur HA et je voulais pouvoir piloter le forçage de mes sorties lumières qui sont temporiser pour les forcer allumée de temps en temps.<br />
Sauf que le DPT  2.001 (2 Bit) ne se pilote pas dans HA.<br />
<br />
Des idées ?]]></description>
			<content:encoded><![CDATA[Bonjour,<br />
<br />
Je viens de basculer sur HA et je voulais pouvoir piloter le forçage de mes sorties lumières qui sont temporiser pour les forcer allumée de temps en temps.<br />
Sauf que le DPT  2.001 (2 Bit) ne se pilote pas dans HA.<br />
<br />
Des idées ?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Create a binary_sensor via l'app KNX-Projet]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9583</link>
			<pubDate>Sat, 09 Aug 2025 15:30:50 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=2290">NicNac</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9583</guid>
			<description><![CDATA[Hello,<br />
<br />
c'est super efficace. <br />
Mais où (quel fichier) est configuré le binary_sensor.yaml  automatisé par cet application.?<br />
<br />
Chez moi j'ai un répertoire "/homeassistant/knxfiles/binary_sensor.yaml" dans lequel j'ai créé tous mes binary_sensor manuellement.<br />
Pas ceux automatisés.]]></description>
			<content:encoded><![CDATA[Hello,<br />
<br />
c'est super efficace. <br />
Mais où (quel fichier) est configuré le binary_sensor.yaml  automatisé par cet application.?<br />
<br />
Chez moi j'ai un répertoire "/homeassistant/knxfiles/binary_sensor.yaml" dans lequel j'ai créé tous mes binary_sensor manuellement.<br />
Pas ceux automatisés.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Bouton pour DPT 1.007]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9537</link>
			<pubDate>Wed, 16 Jul 2025 16:27:45 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=6853">Polo46</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9537</guid>
			<description><![CDATA[Salut à tous<br />
<br />
Dans HA, j'aimerais créer un bouton à 3 positions qui revient en position médiane où :<br />
<ul class="mycode_list"><li>la position gauche envoie le payload 0<br />
</li>
<li>la position droite envoie le payload 1<br />
</li>
</ul>
Pour l'instant je n'arrive à réaliser l'action que sous forme de liste dans une tuile mais franchement ce n'est pas ergonomique du tout.<br />
<br />
Quelqu'un a déjà réalisé un truc plus joli pour ça ?<br />
<br />
Merci à tous]]></description>
			<content:encoded><![CDATA[Salut à tous<br />
<br />
Dans HA, j'aimerais créer un bouton à 3 positions qui revient en position médiane où :<br />
<ul class="mycode_list"><li>la position gauche envoie le payload 0<br />
</li>
<li>la position droite envoie le payload 1<br />
</li>
</ul>
Pour l'instant je n'arrive à réaliser l'action que sous forme de liste dans une tuile mais franchement ce n'est pas ergonomique du tout.<br />
<br />
Quelqu'un a déjà réalisé un truc plus joli pour ça ?<br />
<br />
Merci à tous]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Freeze de Node Red]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9492</link>
			<pubDate>Sat, 28 Jun 2025 21:44:32 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=2840">Jonathan007</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9492</guid>
			<description><![CDATA[<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Hello,</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">Je rencontre un problème spécial dans mon installation.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">J'utilise HA avec Node Red sur une installation KNX.</span></span></span></span><br />
<br />
<br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Il s'avère que après 30min, 60min ou plus, le Node Red ne répond plus aux évenements KNX.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">J'utilise KNX Ultimate.</span></span></span></span><br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">L'info circule bien sur le bus, je le vois dans mon ETS, mais pas de réaction dans node red.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">Il suffit que je le redémarre ou que je déploie pour que ca reparte pour 30 minutes.</span></span></span></span><br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Une idée ?</span></span></span></span>]]></description>
			<content:encoded><![CDATA[<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Hello,</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">Je rencontre un problème spécial dans mon installation.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">J'utilise HA avec Node Red sur une installation KNX.</span></span></span></span><br />
<br />
<br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Il s'avère que après 30min, 60min ou plus, le Node Red ne répond plus aux évenements KNX.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">J'utilise KNX Ultimate.</span></span></span></span><br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">L'info circule bien sur le bus, je le vois dans mon ETS, mais pas de réaction dans node red.</span><br />
<span style="font-family: system-ui, -apple-system,;" class="mycode_font">Il suffit que je le redémarre ou que je déploie pour que ca reparte pour 30 minutes.</span></span></span></span><br />
<span style="color: #080809;" class="mycode_color"><span style="font-size: small;" class="mycode_size"><span style="font-family: system-ui, -apple-system,;" class="mycode_font"><span style="font-family: system-ui, -apple-system,;" class="mycode_font">Une idée ?</span></span></span></span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[HAGER TE332 + Réjection réseau]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9321</link>
			<pubDate>Sun, 30 Mar 2025 08:01:57 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=1251">Ives</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9321</guid>
			<description><![CDATA[Bonjour,<br />
<br />
Je souhaite fournir au Dashboard Energy de Home Assistant (Réseau électrique/Retourné au réseau) une entité de l'index croissant de l'énergie renvoyée au réseau par des panneaux solaires.<br />
Sauf erreur de ma part, le TE332 ne gère pas directement ce type d'index mais un index qui est croissant lorsque l'énergie vient du réseau et décroissant lorsqu'elle est injectée sur le réseau.<br />
Peut-être que quelqu'un a déjà mis en place une solution avec HA ou Node-Red pour disposer de cet index croissant de réjection basé sur l'index général de consommation.]]></description>
			<content:encoded><![CDATA[Bonjour,<br />
<br />
Je souhaite fournir au Dashboard Energy de Home Assistant (Réseau électrique/Retourné au réseau) une entité de l'index croissant de l'énergie renvoyée au réseau par des panneaux solaires.<br />
Sauf erreur de ma part, le TE332 ne gère pas directement ce type d'index mais un index qui est croissant lorsque l'énergie vient du réseau et décroissant lorsqu'elle est injectée sur le réseau.<br />
Peut-être que quelqu'un a déjà mis en place une solution avec HA ou Node-Red pour disposer de cet index croissant de réjection basé sur l'index général de consommation.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[TUTO] Programmer une période date/heure vers le KNX]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9319</link>
			<pubDate>Fri, 28 Mar 2025 18:33:15 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=5877">XeNo</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9319</guid>
			<description><![CDATA[Bonjour,<br />
<br />
Un petit tuto pour une fonction plutôt utile à savoir programmer une période date/heure depuis HA vers le KNX.<br />
C'est très utile pour toutes les automations (souvent à base de ABA S1.2.1) qui ont besoin d'avoir des consignes de date et/ou d'heure.<br />
<br />
On va prendre un exemple concret : programmer une période d'absence (le knx ensuite, gère la maison en fonction de ce vous lui avez demandé de faire)<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">Prérequis KNX :</span></span><br />
Dans les prérequis, on a besoin au niveau KNX de plusieurs objets (à modifier en fonction de vos besoins) mais personnellement je trouve qu'il s'agit des objets à avoir au minimum.<br />
<ul class="mycode_list"><li>Une entrée date pour le départ<br />
</li>
<li>Une entrée date pour le retour<br />
</li>
<li>Une entrée time pour le départ<br />
</li>
<li>Une entrée time pour le retour<br />
</li>
<li>Une entrée switch pour activer/desactiver la programmation<br />
</li>
<li>Un état de la programmation en cours (pour savoir si elle est dans sa période active)<br />
</li>
</ul>
<br />
(Pour des raisons techniques pour le ABA S1.2.1, il n'est pas possible de travailler avec un objet Date/Time dans les calendriers de comparaison, d'où les objets scindés date et heure - A voir si quelqu'un peut faire évoluer la chose !)<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">Prérequis KNX/HA :</span></span><br />
Il est nécessaire de créer des objets spécifiques pour que HA puisse écrire dans les GA concernées. <span style="font-style: italic;" class="mycode_i">Pour ceux qui connaisse la méthode "expose" de knx sous HA, ce n'est pas adapté à ce contexte. Cela sert <span style="text-decoration: underline;" class="mycode_u">uniquement</span> (dans le cas de date/time) à exposer l'heure et la date <span style="text-decoration: underline;" class="mycode_u">courante</span> (pour remplacer un participant qui n'aurait pas cette fonctionnalité pour l'envoyer à tous les participants sur le bus).</span><br />
Pour envoyer une date et/ou heure différent de la date/heure courante (ce que l'on cherche ici) c'est un formatage dédié en yaml date: et time:<br />
<br />
Voici un exemple pour ce tuto avec les objets attendus :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>knx:<br />
##################<br />
#  Dates et heures KNX<br />
##################<br />
  date:<br />
    - name: "Date depart vacances"<br />
      address: "8/5/2"<br />
      state_address: "8/5/2"<br />
    - name: "Date retour vacances"<br />
      address: "8/5/3"<br />
      state_address: "8/5/3"<br />
  time:<br />
    - name: "Heure depart vacances"<br />
      address: "8/5/4"<br />
      state_address: "8/5/4"<br />
    - name: "Heure retour vacances"<br />
      address: "8/5/5"<br />
      state_address: "8/5/5"<br />
<br />
##################<br />
#     Boutons<br />
##################<br />
  switch:<br />
    - name: 'Prog Mode Vacances'<br />
      address: '8/5/6'<br />
<br />
##################<br />
#     Binary Sensor<br />
##################<br />
  binary_sensor:<br />
    - name: "Mode vacances status"<br />
      state_address: '8/5/7'<br />
      sync_state: true<br />
      device_class: presence<br />
      invert: false</code></div></div><br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Prérequis HA :</span></span><br />
On a besoin de pouvoir saisir les dates et les heures de départ et de retour.<br />
On crée donc 4 input_datetime dans HA. <br />
<span style="font-style: italic;" class="mycode_i">Paramètres-&gt;Appareils et services-&gt;Entrées</span><br />
Bouton "<span style="font-style: italic;" class="mycode_i">Créer une entrée</span>" puis choisir "<span style="font-style: italic;" class="mycode_i">Date et/ou heure</span>"<br />
<br />
On va les appeler comme ceci :<br />
<ul class="mycode_list"><li>"prog_vacances_date_depart" en mode date uniquement<br />
</li>
<li>"prog_vacances_date_retour" en mode date uniquement<br />
</li>
<li>"prog_vacances_heure_depart" en mode heure uniquement<br />
</li>
<li>"prog_vacances_heure_retour" en mode heure uniquement<br />
</li>
</ul>
<br />
On aura aussi besoin d'un script qui va copier ces input_datetime dans les objets HA précédemment créés.<br />
Pour rappel pour créer le script :<br />
<span style="font-style: italic;" class="mycode_i">Paramètres-&gt;Automatisations et scènes-&gt;Scripts</span><br />
Bouton <span style="font-style: italic;" class="mycode_i">"Cré</span><span style="font-style: italic;" class="mycode_i">er un script"</span><span style="font-style: italic;" class="mycode_i">, </span>passer en édition yaml et copier/coller le code suivant :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>sequence:<br />
  - action: date.set_value<br />
    target:<br />
      entity_id: date.date_depart_vacances<br />
    data:<br />
      date: "{{ states('input_datetime.prog_vacances_date_depart') }}"<br />
  - action: date.set_value<br />
    target:<br />
      entity_id: date.date_retour_vacances<br />
    data:<br />
      date: "{{ states('input_datetime.prog_vacances_date_retour') }}"<br />
  - action: time.set_value<br />
    target:<br />
      entity_id: time.heure_depart_vacances<br />
    data:<br />
      time: "{{ states('input_datetime.prog_vacances_heure_depart') }}"<br />
  - action: time.set_value<br />
    target:<br />
      entity_id: time.heure_retour_vacances<br />
    data:<br />
      time: "{{ states('input_datetime.prog_vacances_heure_retour') }}"<br />
  - action: switch.turn_on<br />
    target:<br />
      entity_id: switch.prog_mode_vacances<br />
    data: {}<br />
alias: Validation Programmation Vacances<br />
description: ""</code></div></div><br />
<br />
On a presque terminé, il ne reste qu'à interagir avec tout cela.<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Visuel HA :</span></span><br />
Comme à mon habitude, je suis adapte des cards mushroom. <br />
J'ai fait simple pour celle-ci, cela nécessite quand même quelques add-ons (que tout le monde doit avoir j'imagine)<ul class="mycode_list"><li>mushroom-card<br />
</li>
<li>browser-mod<br />
</li>
<li>card-mod<br />
</li>
<li>time-picker-card<br />
</li>
</ul>
<br />
Ensuite la carte est simple, voici le fonctionnement :<br />
Une carte unique, lorsqu'on clic dessus, une fenêtre supplémentaire s'ouvre et demande date/heure départ et date/heure retour ainsi qu'un bouton de validation. On valide (avec une confirmation) et la programmation se met en place et active la programmation. <br />
Un double clic permet de désactiver la programmation.<br />
Un badge_icon indique le fonctionnement de la période si c'est le cas.<br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i">A noter, un bug existe dans brower_mod qui n'affiche pas le popup date_picker de l'input_datetime pour une raison inconnue. En attendant il faut cliquer sur le nom plutôt que le champ. Cela ouvre le input_date, la le datepicker fonctionne, choisissez la date et revenir ensuite sur la programmation.</span><br />
<span style="font-style: italic;" class="mycode_i">En réalité HA a un peu de retard (en natif) pour créer des beaux date/time picker et permettre d'utiliser des popup. Ici pour palier les manques de HA, il faut donc utiliser browser_mod pour le popup et time-picker-card pour faire défiler les heures. Il n'existe pas encore d'équivalent 'date picker' malheureusement.</span><br />
<span style="font-style: italic;" class="mycode_i">Il faut donc prendre son mal en patience pour le bug rencontré qui j'espère sera corrigé bientôt.</span><br />
<br />
Voici donc le code de la carte :<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: vertical-stack<br />
title: Programmation Absence<br />
cards:<br />
  - type: horizontal-stack<br />
    cards:<br />
      - type: custom:mushroom-template-card<br />
        icon: mdi:airplane-clock<br />
        name: Programmation<br />
        layout: vertical<br />
        multiline_secondary: true<br />
        primary: Programmer une période d'absence<br />
        secondary: |<br />
          Programmer une période avec un clic<br />
          Active/désactive la programmation par un double clic<br />
        badge_icon: |<br />
          {% if (states("binary_sensor.mode_vacances_status") == "on" )  %}<br />
            mdi:calendar-check-outline            <br />
          {% endif %}<br />
        badge_color: |<br />
          {% if (states("binary_sensor.mode_vacances_status") == "on" )  %}<br />
            green<br />
          {% endif %}<br />
        icon_color: |<br />
          {% if (states("switch.mode_vacances") == "off" )  %}<br />
            grey<br />
          {% elif (states("switch.mode_vacances") == "on") %}<br />
            green<br />
          {% endif %}        <br />
        hold_action:<br />
          action: call-service<br />
          service: switch.toggle<br />
          data:<br />
            entity_id: switch.mode_vacances<br />
        double_tap_action:<br />
          action: call-service<br />
          service: switch.toggle<br />
          data:<br />
            entity_id: switch.mode_vacances<br />
        card_mod:<br />
          style:<br />
            .: |<br />
              ha-card {<br />
                padding-bottom: 5px !important;<br />
              }              <br />
            mushroom-badge-icon&#36;: |<br />
              .badge {<br />
                --badge-icon-size: 18px;<br />
                --badge-size: 22px;<br />
              }<br />
            mushroom-shape-icon&#36;: |<br />
              .shape {<br />
                --icon-symbol-size: 40px;<br />
                --icon-size: 60px;<br />
              }<br />
        tap_action:<br />
          action: fire-dom-event<br />
          browser_mod:<br />
            service: browser_mod.popup<br />
            data:<br />
              title: Programmer la période d'absence<br />
              content:<br />
                type: custom:vertical-stack-in-card<br />
                cards:<br />
                  - type: vertical-stack<br />
                    cards:<br />
                      - type: custom:mushroom-title-card<br />
                        title: null<br />
                        subtitle: Choisir la date et l'heure du départ<br />
                        card_mod:<br />
                          style: |<br />
                            ha-card {<br />
                              margin-left: 30px;<br />
                              margin-right: 30px;<br />
                            }<br />
                      - type: entities<br />
                        entities:<br />
                          - entity: input_datetime.prog_vacances_date_depart<br />
                            name: Date départ<br />
                          - type: custom:time-picker-card<br />
                            entity: input_datetime.prog_vacances_heure_depart<br />
                            name: Heure départ<br />
                            layout:<br />
                              name: inside<br />
                              align_controls: right<br />
                              embedded: true<br />
                              thin: true<br />
                      - type: custom:mushroom-title-card<br />
                        title: null<br />
                        subtitle: Choisir la date et l'heure du retour<br />
                        card_mod:<br />
                          style: |<br />
                            ha-card {<br />
                              margin-left: 30px;<br />
                              margin-right: 30px;<br />
                            }<br />
                      - type: entities<br />
                        entities:<br />
                          - entity: input_datetime.prog_vacances_date_retour<br />
                            name: Date retour<br />
                          - type: custom:time-picker-card<br />
                            entity: input_datetime.prog_vacances_heure_retour<br />
                            name: Heure retour<br />
                            layout:<br />
                              name: inside<br />
                              align_controls: right<br />
                              embedded: true<br />
                              thin: true<br />
                      - type: horizontal-stack<br />
                        cards:<br />
                          - type: custom:gap-card<br />
                          - type: custom:mushroom-template-card<br />
                            icon: mdi:tooltip-check-outline<br />
                            primary: Valider<br />
                            fill_container: false<br />
                            icon_color: green<br />
                            tap_action:<br />
                              action: call-service<br />
                              confirmation:<br />
                                text: &gt;-<br />
                                  Valider et activer la programmation de la<br />
                                  période d'absence indiquée ?<br />
                              service: script.validation_programmation_vacances<br />
                            card_mod:<br />
                              style:<br />
                                .: |<br />
                                  ha-card {<br />
                                    margin-top: 30px;<br />
                                    margin-bottom: 30px;<br />
                                  }<br />
                          - type: custom:gap-card</code></div></div> <br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Résultats et visuels :</span></span><br />
La carte lovelace<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2907" target="_blank" title="">prog_absence.JPG</a> (Taille : 15,88 Ko / Téléchargements : 13)
<!-- end: postbit_attachments_attachment --><br />
<br />
La carte si une programmation est activée<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2910" target="_blank" title="">prog_absence3.JPG</a> (Taille : 11,66 Ko / Téléchargements : 10)
<!-- end: postbit_attachments_attachment --><br />
<br />
La carte si la programmation demandée est en cours<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2911" target="_blank" title="">prog_absence4.JPG</a> (Taille : 11,32 Ko / Téléchargements : 8)
<!-- end: postbit_attachments_attachment --><br />
<br />
La fenêtre de programmation<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2908" target="_blank" title="">prog_absence1.JPG</a> (Taille : 39,22 Ko / Téléchargements : 15)
<!-- end: postbit_attachments_attachment --><br />
<br />
La validation de la programmation<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2909" target="_blank" title="">prog_absence2.JPG</a> (Taille : 17,89 Ko / Téléchargements : 6)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Bonjour,<br />
<br />
Un petit tuto pour une fonction plutôt utile à savoir programmer une période date/heure depuis HA vers le KNX.<br />
C'est très utile pour toutes les automations (souvent à base de ABA S1.2.1) qui ont besoin d'avoir des consignes de date et/ou d'heure.<br />
<br />
On va prendre un exemple concret : programmer une période d'absence (le knx ensuite, gère la maison en fonction de ce vous lui avez demandé de faire)<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">Prérequis KNX :</span></span><br />
Dans les prérequis, on a besoin au niveau KNX de plusieurs objets (à modifier en fonction de vos besoins) mais personnellement je trouve qu'il s'agit des objets à avoir au minimum.<br />
<ul class="mycode_list"><li>Une entrée date pour le départ<br />
</li>
<li>Une entrée date pour le retour<br />
</li>
<li>Une entrée time pour le départ<br />
</li>
<li>Une entrée time pour le retour<br />
</li>
<li>Une entrée switch pour activer/desactiver la programmation<br />
</li>
<li>Un état de la programmation en cours (pour savoir si elle est dans sa période active)<br />
</li>
</ul>
<br />
(Pour des raisons techniques pour le ABA S1.2.1, il n'est pas possible de travailler avec un objet Date/Time dans les calendriers de comparaison, d'où les objets scindés date et heure - A voir si quelqu'un peut faire évoluer la chose !)<br />
<br />
<span style="font-weight: bold;" class="mycode_b"><span style="text-decoration: underline;" class="mycode_u">Prérequis KNX/HA :</span></span><br />
Il est nécessaire de créer des objets spécifiques pour que HA puisse écrire dans les GA concernées. <span style="font-style: italic;" class="mycode_i">Pour ceux qui connaisse la méthode "expose" de knx sous HA, ce n'est pas adapté à ce contexte. Cela sert <span style="text-decoration: underline;" class="mycode_u">uniquement</span> (dans le cas de date/time) à exposer l'heure et la date <span style="text-decoration: underline;" class="mycode_u">courante</span> (pour remplacer un participant qui n'aurait pas cette fonctionnalité pour l'envoyer à tous les participants sur le bus).</span><br />
Pour envoyer une date et/ou heure différent de la date/heure courante (ce que l'on cherche ici) c'est un formatage dédié en yaml date: et time:<br />
<br />
Voici un exemple pour ce tuto avec les objets attendus :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>knx:<br />
##################<br />
#  Dates et heures KNX<br />
##################<br />
  date:<br />
    - name: "Date depart vacances"<br />
      address: "8/5/2"<br />
      state_address: "8/5/2"<br />
    - name: "Date retour vacances"<br />
      address: "8/5/3"<br />
      state_address: "8/5/3"<br />
  time:<br />
    - name: "Heure depart vacances"<br />
      address: "8/5/4"<br />
      state_address: "8/5/4"<br />
    - name: "Heure retour vacances"<br />
      address: "8/5/5"<br />
      state_address: "8/5/5"<br />
<br />
##################<br />
#     Boutons<br />
##################<br />
  switch:<br />
    - name: 'Prog Mode Vacances'<br />
      address: '8/5/6'<br />
<br />
##################<br />
#     Binary Sensor<br />
##################<br />
  binary_sensor:<br />
    - name: "Mode vacances status"<br />
      state_address: '8/5/7'<br />
      sync_state: true<br />
      device_class: presence<br />
      invert: false</code></div></div><br />
<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Prérequis HA :</span></span><br />
On a besoin de pouvoir saisir les dates et les heures de départ et de retour.<br />
On crée donc 4 input_datetime dans HA. <br />
<span style="font-style: italic;" class="mycode_i">Paramètres-&gt;Appareils et services-&gt;Entrées</span><br />
Bouton "<span style="font-style: italic;" class="mycode_i">Créer une entrée</span>" puis choisir "<span style="font-style: italic;" class="mycode_i">Date et/ou heure</span>"<br />
<br />
On va les appeler comme ceci :<br />
<ul class="mycode_list"><li>"prog_vacances_date_depart" en mode date uniquement<br />
</li>
<li>"prog_vacances_date_retour" en mode date uniquement<br />
</li>
<li>"prog_vacances_heure_depart" en mode heure uniquement<br />
</li>
<li>"prog_vacances_heure_retour" en mode heure uniquement<br />
</li>
</ul>
<br />
On aura aussi besoin d'un script qui va copier ces input_datetime dans les objets HA précédemment créés.<br />
Pour rappel pour créer le script :<br />
<span style="font-style: italic;" class="mycode_i">Paramètres-&gt;Automatisations et scènes-&gt;Scripts</span><br />
Bouton <span style="font-style: italic;" class="mycode_i">"Cré</span><span style="font-style: italic;" class="mycode_i">er un script"</span><span style="font-style: italic;" class="mycode_i">, </span>passer en édition yaml et copier/coller le code suivant :<br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>sequence:<br />
  - action: date.set_value<br />
    target:<br />
      entity_id: date.date_depart_vacances<br />
    data:<br />
      date: "{{ states('input_datetime.prog_vacances_date_depart') }}"<br />
  - action: date.set_value<br />
    target:<br />
      entity_id: date.date_retour_vacances<br />
    data:<br />
      date: "{{ states('input_datetime.prog_vacances_date_retour') }}"<br />
  - action: time.set_value<br />
    target:<br />
      entity_id: time.heure_depart_vacances<br />
    data:<br />
      time: "{{ states('input_datetime.prog_vacances_heure_depart') }}"<br />
  - action: time.set_value<br />
    target:<br />
      entity_id: time.heure_retour_vacances<br />
    data:<br />
      time: "{{ states('input_datetime.prog_vacances_heure_retour') }}"<br />
  - action: switch.turn_on<br />
    target:<br />
      entity_id: switch.prog_mode_vacances<br />
    data: {}<br />
alias: Validation Programmation Vacances<br />
description: ""</code></div></div><br />
<br />
On a presque terminé, il ne reste qu'à interagir avec tout cela.<br />
<br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Visuel HA :</span></span><br />
Comme à mon habitude, je suis adapte des cards mushroom. <br />
J'ai fait simple pour celle-ci, cela nécessite quand même quelques add-ons (que tout le monde doit avoir j'imagine)<ul class="mycode_list"><li>mushroom-card<br />
</li>
<li>browser-mod<br />
</li>
<li>card-mod<br />
</li>
<li>time-picker-card<br />
</li>
</ul>
<br />
Ensuite la carte est simple, voici le fonctionnement :<br />
Une carte unique, lorsqu'on clic dessus, une fenêtre supplémentaire s'ouvre et demande date/heure départ et date/heure retour ainsi qu'un bouton de validation. On valide (avec une confirmation) et la programmation se met en place et active la programmation. <br />
Un double clic permet de désactiver la programmation.<br />
Un badge_icon indique le fonctionnement de la période si c'est le cas.<br />
<br />
<br />
<span style="font-style: italic;" class="mycode_i">A noter, un bug existe dans brower_mod qui n'affiche pas le popup date_picker de l'input_datetime pour une raison inconnue. En attendant il faut cliquer sur le nom plutôt que le champ. Cela ouvre le input_date, la le datepicker fonctionne, choisissez la date et revenir ensuite sur la programmation.</span><br />
<span style="font-style: italic;" class="mycode_i">En réalité HA a un peu de retard (en natif) pour créer des beaux date/time picker et permettre d'utiliser des popup. Ici pour palier les manques de HA, il faut donc utiliser browser_mod pour le popup et time-picker-card pour faire défiler les heures. Il n'existe pas encore d'équivalent 'date picker' malheureusement.</span><br />
<span style="font-style: italic;" class="mycode_i">Il faut donc prendre son mal en patience pour le bug rencontré qui j'espère sera corrigé bientôt.</span><br />
<br />
Voici donc le code de la carte :<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: vertical-stack<br />
title: Programmation Absence<br />
cards:<br />
  - type: horizontal-stack<br />
    cards:<br />
      - type: custom:mushroom-template-card<br />
        icon: mdi:airplane-clock<br />
        name: Programmation<br />
        layout: vertical<br />
        multiline_secondary: true<br />
        primary: Programmer une période d'absence<br />
        secondary: |<br />
          Programmer une période avec un clic<br />
          Active/désactive la programmation par un double clic<br />
        badge_icon: |<br />
          {% if (states("binary_sensor.mode_vacances_status") == "on" )  %}<br />
            mdi:calendar-check-outline            <br />
          {% endif %}<br />
        badge_color: |<br />
          {% if (states("binary_sensor.mode_vacances_status") == "on" )  %}<br />
            green<br />
          {% endif %}<br />
        icon_color: |<br />
          {% if (states("switch.mode_vacances") == "off" )  %}<br />
            grey<br />
          {% elif (states("switch.mode_vacances") == "on") %}<br />
            green<br />
          {% endif %}        <br />
        hold_action:<br />
          action: call-service<br />
          service: switch.toggle<br />
          data:<br />
            entity_id: switch.mode_vacances<br />
        double_tap_action:<br />
          action: call-service<br />
          service: switch.toggle<br />
          data:<br />
            entity_id: switch.mode_vacances<br />
        card_mod:<br />
          style:<br />
            .: |<br />
              ha-card {<br />
                padding-bottom: 5px !important;<br />
              }              <br />
            mushroom-badge-icon&#36;: |<br />
              .badge {<br />
                --badge-icon-size: 18px;<br />
                --badge-size: 22px;<br />
              }<br />
            mushroom-shape-icon&#36;: |<br />
              .shape {<br />
                --icon-symbol-size: 40px;<br />
                --icon-size: 60px;<br />
              }<br />
        tap_action:<br />
          action: fire-dom-event<br />
          browser_mod:<br />
            service: browser_mod.popup<br />
            data:<br />
              title: Programmer la période d'absence<br />
              content:<br />
                type: custom:vertical-stack-in-card<br />
                cards:<br />
                  - type: vertical-stack<br />
                    cards:<br />
                      - type: custom:mushroom-title-card<br />
                        title: null<br />
                        subtitle: Choisir la date et l'heure du départ<br />
                        card_mod:<br />
                          style: |<br />
                            ha-card {<br />
                              margin-left: 30px;<br />
                              margin-right: 30px;<br />
                            }<br />
                      - type: entities<br />
                        entities:<br />
                          - entity: input_datetime.prog_vacances_date_depart<br />
                            name: Date départ<br />
                          - type: custom:time-picker-card<br />
                            entity: input_datetime.prog_vacances_heure_depart<br />
                            name: Heure départ<br />
                            layout:<br />
                              name: inside<br />
                              align_controls: right<br />
                              embedded: true<br />
                              thin: true<br />
                      - type: custom:mushroom-title-card<br />
                        title: null<br />
                        subtitle: Choisir la date et l'heure du retour<br />
                        card_mod:<br />
                          style: |<br />
                            ha-card {<br />
                              margin-left: 30px;<br />
                              margin-right: 30px;<br />
                            }<br />
                      - type: entities<br />
                        entities:<br />
                          - entity: input_datetime.prog_vacances_date_retour<br />
                            name: Date retour<br />
                          - type: custom:time-picker-card<br />
                            entity: input_datetime.prog_vacances_heure_retour<br />
                            name: Heure retour<br />
                            layout:<br />
                              name: inside<br />
                              align_controls: right<br />
                              embedded: true<br />
                              thin: true<br />
                      - type: horizontal-stack<br />
                        cards:<br />
                          - type: custom:gap-card<br />
                          - type: custom:mushroom-template-card<br />
                            icon: mdi:tooltip-check-outline<br />
                            primary: Valider<br />
                            fill_container: false<br />
                            icon_color: green<br />
                            tap_action:<br />
                              action: call-service<br />
                              confirmation:<br />
                                text: &gt;-<br />
                                  Valider et activer la programmation de la<br />
                                  période d'absence indiquée ?<br />
                              service: script.validation_programmation_vacances<br />
                            card_mod:<br />
                              style:<br />
                                .: |<br />
                                  ha-card {<br />
                                    margin-top: 30px;<br />
                                    margin-bottom: 30px;<br />
                                  }<br />
                          - type: custom:gap-card</code></div></div> <br />
<span style="text-decoration: underline;" class="mycode_u"><span style="font-weight: bold;" class="mycode_b">Résultats et visuels :</span></span><br />
La carte lovelace<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2907" target="_blank" title="">prog_absence.JPG</a> (Taille : 15,88 Ko / Téléchargements : 13)
<!-- end: postbit_attachments_attachment --><br />
<br />
La carte si une programmation est activée<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2910" target="_blank" title="">prog_absence3.JPG</a> (Taille : 11,66 Ko / Téléchargements : 10)
<!-- end: postbit_attachments_attachment --><br />
<br />
La carte si la programmation demandée est en cours<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2911" target="_blank" title="">prog_absence4.JPG</a> (Taille : 11,32 Ko / Téléchargements : 8)
<!-- end: postbit_attachments_attachment --><br />
<br />
La fenêtre de programmation<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2908" target="_blank" title="">prog_absence1.JPG</a> (Taille : 39,22 Ko / Téléchargements : 15)
<!-- end: postbit_attachments_attachment --><br />
<br />
La validation de la programmation<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2909" target="_blank" title="">prog_absence2.JPG</a> (Taille : 17,89 Ko / Téléchargements : 6)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Sujet : Automatiser un portail ancien avec HA]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9317</link>
			<pubDate>Fri, 28 Mar 2025 15:45:13 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=11509">djoe</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9317</guid>
			<description><![CDATA[Bonjour à tous,<br />
<br />
Je me lance dans un projet un peu particulier : intégrer la gestion de mon vieux portail en bois (sans motorisation existante) à Home Assistant. Le défi technique vient du mécanisme antique qui nécessite :<br />
<br />
1. Un bras motorisé custom pour pousser/tirer le portail<br />
2. Un boîtier étanche pour abriter un ESP32 + relais KNX<br />
3. Des supports en aluminium pour fixer le tout sans abîmer le bois<br />
<br />
Après avoir galéré à adapter des pièces du commerce, j'envisage de faire usiner les composants sur mesure. Des plateformes comme <a href="https://www.metalockengineering.com/fr/services" target="_blank" rel="noopener" class="mycode_url"><span style="color: #333333;" class="mycode_color">Metalock Engineering</span></a> permettent de soumettre ses plans pour obtenir des pièces en alu ou nylon découpées au laser/CNC - très utile pour ce genre de projet "niche" !<br />
<br />
Auriez-vous des conseils sur :<br />
- Les capteurs les plus fiables pour détecter la position d'un portail lourd ?<br />
- Des expériences en motorisation de portails non standards ?<br />
- Des retours sur l'usinage de pièces pour ce type d'installation ?]]></description>
			<content:encoded><![CDATA[Bonjour à tous,<br />
<br />
Je me lance dans un projet un peu particulier : intégrer la gestion de mon vieux portail en bois (sans motorisation existante) à Home Assistant. Le défi technique vient du mécanisme antique qui nécessite :<br />
<br />
1. Un bras motorisé custom pour pousser/tirer le portail<br />
2. Un boîtier étanche pour abriter un ESP32 + relais KNX<br />
3. Des supports en aluminium pour fixer le tout sans abîmer le bois<br />
<br />
Après avoir galéré à adapter des pièces du commerce, j'envisage de faire usiner les composants sur mesure. Des plateformes comme <a href="https://www.metalockengineering.com/fr/services" target="_blank" rel="noopener" class="mycode_url"><span style="color: #333333;" class="mycode_color">Metalock Engineering</span></a> permettent de soumettre ses plans pour obtenir des pièces en alu ou nylon découpées au laser/CNC - très utile pour ce genre de projet "niche" !<br />
<br />
Auriez-vous des conseils sur :<br />
- Les capteurs les plus fiables pour détecter la position d'un portail lourd ?<br />
- Des expériences en motorisation de portails non standards ?<br />
- Des retours sur l'usinage de pièces pour ce type d'installation ?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Card Auto entities dans HA]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=9183</link>
			<pubDate>Fri, 07 Feb 2025 09:47:00 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=4111">richardpub</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=9183</guid>
			<description><![CDATA[<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:auto-entities<br />
show_empty: false<br />
card:<br />
  show_name: true<br />
  show_icon: true<br />
  show_state: true<br />
  type: glance<br />
  title: auto-entities<br />
  columns: 1<br />
filter:<br />
  include:<br />
    - name: "*"<br />
    - entity_id: ""</code></div></div><br />
La Carte Auto entities dans HA, permet de retourner toutes les entities sur votre HA.<br />
Il y a beaucoup de monde!!!]]></description>
			<content:encoded><![CDATA[<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:auto-entities<br />
show_empty: false<br />
card:<br />
  show_name: true<br />
  show_icon: true<br />
  show_state: true<br />
  type: glance<br />
  title: auto-entities<br />
  columns: 1<br />
filter:<br />
  include:<br />
    - name: "*"<br />
    - entity_id: ""</code></div></div><br />
La Carte Auto entities dans HA, permet de retourner toutes les entities sur votre HA.<br />
Il y a beaucoup de monde!!!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Tuto : Mesure du niveau d'eau dans un puits]]></title>
			<link>https://www.knx-fr.com/showthread.php?tid=8849</link>
			<pubDate>Mon, 20 Jan 2025 16:00:25 +0000</pubDate>
			<dc:creator><![CDATA[<a href="https://www.knx-fr.com/member.php?action=profile&uid=1251">Ives</a>]]></dc:creator>
			<guid isPermaLink="false">https://www.knx-fr.com/showthread.php?tid=8849</guid>
			<description><![CDATA[Bonjour,<br />
<br />
L'objectif est de mesurer le niveau d'eau dans un puits et d'afficher la hauteur d'eau dans Home Assistant avec deux alertes pour les niveaux bas et haut.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">A) Le matériel</span><br />
<span style="font-weight: bold;" class="mycode_b">1) Une sonde pressostatique </span>qui permet mesurer le niveau d’eau en fonction de la pression exercée par la colonne d’eau au-dessus du capteur. Ce principe repose sur la relation entre la hauteur d'eau et la pression hydrostatique qu'elle génère.<br />
La pression exercée au fond d’un récipient par un liquide est proportionnelle à la hauteur de ce liquide. Cette pression est donnée par la formule : P=ρ x g x h<br />
P est la pression (en Pascals, Pa),<br />
ρ est la densité du liquide (en kg/m³, pour l’eau : ρ=1000),<br />
g est l'accélération gravitationnelle (9,81 en m/s²),<br />
h est la hauteur de la colonne d’eau (en mètres)<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2828" target="_blank" title="">Sonde presostatique.jpg</a> (Taille : 50 Ko / Téléchargements : 16)
<!-- end: postbit_attachments_attachment --><br />
<br />
Pour choisir la sonde il faut considérer la hauteur maximale du niveau d'eau qui doit être le plus proche possible du "range" et également le type de sortie (4-20 mA, 0-10V,..).<br />
Je ne souhaitais pas utiliser Home Assistant pour effectuer des conversions et dans ce domaine les possibilités de l'ABA/1.2.1 sont limitées ; j'ai donc choisi une 1m Range avec 5 mètres de câble (le puisard qui recueille de l'eau de source fait 3,50 m de profondeur et je limite la hauteur d 'eau à 1 m (pour ne pas inonder le sous-sol) et une sortie 0-10 v pour ne pas avoir à compenser le -4 mA.<br />
<br />
A noter que dans le câble de la sonde (cf. photo ci-dessous) il y a un tuyau de ventilation pour équilibrer la pression à l'intérieur de la sonde avec la pression atmosphérique extérieure. Sans cette compensation, la mesure du niveau d'eau pourrait être faussée par la pression atmosphérique ambiante.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2829" target="_blank" title="">tuyau sonde pression.jpg</a> (Taille : 13,7 Ko / Téléchargements : 18)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="font-weight: bold;" class="mycode_b">2) Une</span> <span style="font-weight: bold;" class="mycode_b">alimentation 24 V DC pour alimenter la sonde</span><br />
Je souhaitais un modèle clipsable sur rail DIN.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2830" target="_blank" title="">alimentation 24 V DC.jpg</a> (Taille : 39,19 Ko / Téléchargements : 20)
<!-- end: postbit_attachments_attachment --><br />
<br />
(je ne mets pas les liens Ali express et Amazon car ils sont trop éphémères)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3)</span> <span style="font-weight: bold;" class="mycode_b">Un module d'entrée analogique 0-10 V </span><br />
J'ai choisi<span style="font-weight: bold;" class="mycode_b"> </span>le <a href="https://www.zennio.com/fr/produit/minibox-0-10v-x1" target="_blank" rel="noopener" class="mycode_url">Zennio Minibox 0-10 V </a> à 132 € chez <a href="https://www.light-domotique.fr/Zennio%20MINiBOX%200-10V%20X1%20Actionneur%20multifonction%20avec%201%20bloc%20de%20sortie/entr%C3%A9e%20analogique%20de%200-10%20V%20-%20ZIO1X010" target="_blank" rel="noopener" class="mycode_url">Light &amp; Domotique </a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">B) Le câblage</span><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2831" target="_blank" title="">schéma sonde puits.jpg</a> (Taille : 22,97 Ko / Téléchargements : 21)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="font-weight: bold;" class="mycode_b">C) ETS</span><br />
1) Paramétrage de l'entrée analogique du Zennio <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2832" target="_blank" title="">ETS-puisard.jpg</a> (Taille : 90,42 Ko / Téléchargements : 9)
<!-- end: postbit_attachments_attachment --><br />
<br />
2) Les adresses de groupes<br />
Il y 3 GA, 7/3/0 avec l'objet "Seuil inférieur", 7/3/1 avec l'objet "Seuil supérieur" et 7/3/2 avec l'objet "Valeur mesurée" (cf. copie d'écran). Je n'utilise pas pour l'instant les valeurs des seuils au format 1 byte (j'ai coché l'option dans la configuration uniquement pour montrer les objets) <br />
<a href="https://zupimages.net/viewer.php?id=25/04/3882.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/3882.jpg" loading="lazy"  alt="[Image: 3882.jpg]" class="mycode_img" /></a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">D) Home Assistant</span><br />
1) La carte dans le Dashboard<br />
<a href="https://zupimages.net/viewer.php?id=25/04/c9gw.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/c9gw.jpg" loading="lazy"  alt="[Image: c9gw.jpg]" class="mycode_img" /></a><br />
<br />
A noter sur les cartes la flèche de tendance qui s'affiche en bas du graphique de hauteur d'eau et qui permet de savoir si la dernière valeur a augmenté ou diminué par rapport à la précédente (la flèche est dirigée vers le haut si la valeur a augmenté et vers le bas si elle a diminué). Si la valeur reste stable pendant un certain temps, la flèche disparaît.<br />
<br />
2) Le code<br />
- Dans le fichier binary_sensor.yaml<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>#################################<br />
#                Puisard        #<br />
#################################<br />
  - name: puisard_alarme_niveau_bas<br />
    state_address: "7/3/0"<br />
<br />
  - name: puisard_alarme_niveau_haut<br />
    state_address: "7/3/1</code></div></div><br />
<br />
- Dans le fichier sensor.yaml<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>############################<br />
#Puisard<br />
####################<br />
  - name: puisard_hauteur_eau<br />
    state_address: "7/3/2"<br />
    type: "percent"</code></div></div><br />
<br />
- La carte du puits :<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:bar-card<br />
entities:<br />
  - entity: sensor.puisard_hauteur_eau<br />
    positions:<br />
      icon: "off"<br />
      name: "off"<br />
      value: inside<br />
    unit_of_measurement: cm<br />
    target: 1000<br />
    direction: up<br />
    height: 300px<br />
    severity:<br />
      - color: "#ff6b00"<br />
        from: 0<br />
        to: 15<br />
      - color: "#0d6e79"<br />
        from: 16<br />
        to: 45<br />
      - color: "#ee1010"<br />
        from: 46<br />
        to: 100</code></div></div><br />
- La carte du niveau bas<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:button-card<br />
state:<br />
  - value: "on"<br />
    color: red<br />
    icon: mdi:hydraulic-oil-level<br />
    styles:<br />
      icon:<br />
        - animation:<br />
            - blink 1s linear infinite<br />
  - value: "off"<br />
    color: null<br />
entity: binary_sensor.puisard_alarme_niveau_bas<br />
icon: mdi:hydraulic-oil-level<br />
name: Niv Bas</code></div></div><br />
<br />
- La carte du niveau haut<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:button-card<br />
state:<br />
  - value: "on"<br />
    color: red<br />
    icon: mdi:hydraulic-oil-level<br />
    styles:<br />
      icon:<br />
        - animation:<br />
            - blink 1s linear infinite<br />
  - value: "off"<br />
    color: null<br />
entity: binary_sensor.puisard_alarme_niveau_haut<br />
icon: mdi:hydraulic-oil-level<br />
name: Niv. Haut Puits  </code></div></div><br />
- La carte complète<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: horizontal-stack<br />
cards:<br />
  - type: custom:bar-card<br />
    entities:<br />
      - entity: sensor.puisard_hauteur_eau<br />
        positions:<br />
          icon: "off"<br />
          name: "off"<br />
          value: inside<br />
        unit_of_measurement: cm<br />
        target: 1000<br />
        direction: up<br />
        height: 300px<br />
        severity:<br />
          - color: "#ff6b00"<br />
            from: 0<br />
            to: 15<br />
          - color: "#0d6e79"<br />
            from: 16<br />
            to: 45<br />
          - color: "#ee1010"<br />
            from: 46<br />
            to: 100<br />
  - type: vertical-stack<br />
    cards:<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_haut<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv. Haut<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_bas<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv Bas<br />
title: Hauteur d'eau dans le puits</code></div></div><br />
<br />
J'ai également une carte plus compacte pour ma page d'accueil.<br />
<br />
<a href="https://zupimages.net/viewer.php?id=25/04/ija3.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/ija3.jpg" loading="lazy"  alt="[Image: ija3.jpg]" class="mycode_img" /></a><br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: vertical-stack<br />
cards:<br />
  - type: markdown<br />
    content: &gt;<br />
      &lt;span style="font-size: 16px; font-weight: bold;"&gt;Hauteur d'eau dans le<br />
      puits et alarmes&lt;/span&gt;<br />
  - type: horizontal-stack<br />
    cards:<br />
      - type: custom:bar-card<br />
        entities:<br />
          - entity: sensor.puisard_hauteur_eau<br />
            positions:<br />
              icon: "off"<br />
              name: "off"<br />
              value: inside<br />
            unit_of_measurement: cm<br />
            target: 1000<br />
            direction: up<br />
            height: 50px<br />
            severity:<br />
              - color: "#ff6b00"<br />
                from: 0<br />
                to: 15<br />
              - color: "#0d6e79"<br />
                from: 16<br />
                to: 45<br />
              - color: "#ee1010"<br />
                from: 46<br />
                to: 100<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_haut<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv. Haut Puits<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_bas<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv Bas Puits</code></div></div>]]></description>
			<content:encoded><![CDATA[Bonjour,<br />
<br />
L'objectif est de mesurer le niveau d'eau dans un puits et d'afficher la hauteur d'eau dans Home Assistant avec deux alertes pour les niveaux bas et haut.<br />
<br />
<span style="font-weight: bold;" class="mycode_b">A) Le matériel</span><br />
<span style="font-weight: bold;" class="mycode_b">1) Une sonde pressostatique </span>qui permet mesurer le niveau d’eau en fonction de la pression exercée par la colonne d’eau au-dessus du capteur. Ce principe repose sur la relation entre la hauteur d'eau et la pression hydrostatique qu'elle génère.<br />
La pression exercée au fond d’un récipient par un liquide est proportionnelle à la hauteur de ce liquide. Cette pression est donnée par la formule : P=ρ x g x h<br />
P est la pression (en Pascals, Pa),<br />
ρ est la densité du liquide (en kg/m³, pour l’eau : ρ=1000),<br />
g est l'accélération gravitationnelle (9,81 en m/s²),<br />
h est la hauteur de la colonne d’eau (en mètres)<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2828" target="_blank" title="">Sonde presostatique.jpg</a> (Taille : 50 Ko / Téléchargements : 16)
<!-- end: postbit_attachments_attachment --><br />
<br />
Pour choisir la sonde il faut considérer la hauteur maximale du niveau d'eau qui doit être le plus proche possible du "range" et également le type de sortie (4-20 mA, 0-10V,..).<br />
Je ne souhaitais pas utiliser Home Assistant pour effectuer des conversions et dans ce domaine les possibilités de l'ABA/1.2.1 sont limitées ; j'ai donc choisi une 1m Range avec 5 mètres de câble (le puisard qui recueille de l'eau de source fait 3,50 m de profondeur et je limite la hauteur d 'eau à 1 m (pour ne pas inonder le sous-sol) et une sortie 0-10 v pour ne pas avoir à compenser le -4 mA.<br />
<br />
A noter que dans le câble de la sonde (cf. photo ci-dessous) il y a un tuyau de ventilation pour équilibrer la pression à l'intérieur de la sonde avec la pression atmosphérique extérieure. Sans cette compensation, la mesure du niveau d'eau pourrait être faussée par la pression atmosphérique ambiante.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2829" target="_blank" title="">tuyau sonde pression.jpg</a> (Taille : 13,7 Ko / Téléchargements : 18)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="font-weight: bold;" class="mycode_b">2) Une</span> <span style="font-weight: bold;" class="mycode_b">alimentation 24 V DC pour alimenter la sonde</span><br />
Je souhaitais un modèle clipsable sur rail DIN.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2830" target="_blank" title="">alimentation 24 V DC.jpg</a> (Taille : 39,19 Ko / Téléchargements : 20)
<!-- end: postbit_attachments_attachment --><br />
<br />
(je ne mets pas les liens Ali express et Amazon car ils sont trop éphémères)<br />
<br />
<span style="font-weight: bold;" class="mycode_b">3)</span> <span style="font-weight: bold;" class="mycode_b">Un module d'entrée analogique 0-10 V </span><br />
J'ai choisi<span style="font-weight: bold;" class="mycode_b"> </span>le <a href="https://www.zennio.com/fr/produit/minibox-0-10v-x1" target="_blank" rel="noopener" class="mycode_url">Zennio Minibox 0-10 V </a> à 132 € chez <a href="https://www.light-domotique.fr/Zennio%20MINiBOX%200-10V%20X1%20Actionneur%20multifonction%20avec%201%20bloc%20de%20sortie/entr%C3%A9e%20analogique%20de%200-10%20V%20-%20ZIO1X010" target="_blank" rel="noopener" class="mycode_url">Light &amp; Domotique </a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">B) Le câblage</span><br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2831" target="_blank" title="">schéma sonde puits.jpg</a> (Taille : 22,97 Ko / Téléchargements : 21)
<!-- end: postbit_attachments_attachment --><br />
<br />
<span style="font-weight: bold;" class="mycode_b">C) ETS</span><br />
1) Paramétrage de l'entrée analogique du Zennio <br />
<!-- start: postbit_attachments_attachment -->
<br /><!-- start: attachment_icon -->
<img src="https://www.knx-fr.com/images/attachtypes/image.gif" title="JPG Image" border="0" alt=".jpg" />
<!-- end: attachment_icon -->&nbsp;&nbsp;<a href="attachment.php?aid=2832" target="_blank" title="">ETS-puisard.jpg</a> (Taille : 90,42 Ko / Téléchargements : 9)
<!-- end: postbit_attachments_attachment --><br />
<br />
2) Les adresses de groupes<br />
Il y 3 GA, 7/3/0 avec l'objet "Seuil inférieur", 7/3/1 avec l'objet "Seuil supérieur" et 7/3/2 avec l'objet "Valeur mesurée" (cf. copie d'écran). Je n'utilise pas pour l'instant les valeurs des seuils au format 1 byte (j'ai coché l'option dans la configuration uniquement pour montrer les objets) <br />
<a href="https://zupimages.net/viewer.php?id=25/04/3882.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/3882.jpg" loading="lazy"  alt="[Image: 3882.jpg]" class="mycode_img" /></a><br />
<br />
<span style="font-weight: bold;" class="mycode_b">D) Home Assistant</span><br />
1) La carte dans le Dashboard<br />
<a href="https://zupimages.net/viewer.php?id=25/04/c9gw.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/c9gw.jpg" loading="lazy"  alt="[Image: c9gw.jpg]" class="mycode_img" /></a><br />
<br />
A noter sur les cartes la flèche de tendance qui s'affiche en bas du graphique de hauteur d'eau et qui permet de savoir si la dernière valeur a augmenté ou diminué par rapport à la précédente (la flèche est dirigée vers le haut si la valeur a augmenté et vers le bas si elle a diminué). Si la valeur reste stable pendant un certain temps, la flèche disparaît.<br />
<br />
2) Le code<br />
- Dans le fichier binary_sensor.yaml<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>#################################<br />
#                Puisard        #<br />
#################################<br />
  - name: puisard_alarme_niveau_bas<br />
    state_address: "7/3/0"<br />
<br />
  - name: puisard_alarme_niveau_haut<br />
    state_address: "7/3/1</code></div></div><br />
<br />
- Dans le fichier sensor.yaml<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>############################<br />
#Puisard<br />
####################<br />
  - name: puisard_hauteur_eau<br />
    state_address: "7/3/2"<br />
    type: "percent"</code></div></div><br />
<br />
- La carte du puits :<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:bar-card<br />
entities:<br />
  - entity: sensor.puisard_hauteur_eau<br />
    positions:<br />
      icon: "off"<br />
      name: "off"<br />
      value: inside<br />
    unit_of_measurement: cm<br />
    target: 1000<br />
    direction: up<br />
    height: 300px<br />
    severity:<br />
      - color: "#ff6b00"<br />
        from: 0<br />
        to: 15<br />
      - color: "#0d6e79"<br />
        from: 16<br />
        to: 45<br />
      - color: "#ee1010"<br />
        from: 46<br />
        to: 100</code></div></div><br />
- La carte du niveau bas<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:button-card<br />
state:<br />
  - value: "on"<br />
    color: red<br />
    icon: mdi:hydraulic-oil-level<br />
    styles:<br />
      icon:<br />
        - animation:<br />
            - blink 1s linear infinite<br />
  - value: "off"<br />
    color: null<br />
entity: binary_sensor.puisard_alarme_niveau_bas<br />
icon: mdi:hydraulic-oil-level<br />
name: Niv Bas</code></div></div><br />
<br />
- La carte du niveau haut<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: custom:button-card<br />
state:<br />
  - value: "on"<br />
    color: red<br />
    icon: mdi:hydraulic-oil-level<br />
    styles:<br />
      icon:<br />
        - animation:<br />
            - blink 1s linear infinite<br />
  - value: "off"<br />
    color: null<br />
entity: binary_sensor.puisard_alarme_niveau_haut<br />
icon: mdi:hydraulic-oil-level<br />
name: Niv. Haut Puits  </code></div></div><br />
- La carte complète<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: horizontal-stack<br />
cards:<br />
  - type: custom:bar-card<br />
    entities:<br />
      - entity: sensor.puisard_hauteur_eau<br />
        positions:<br />
          icon: "off"<br />
          name: "off"<br />
          value: inside<br />
        unit_of_measurement: cm<br />
        target: 1000<br />
        direction: up<br />
        height: 300px<br />
        severity:<br />
          - color: "#ff6b00"<br />
            from: 0<br />
            to: 15<br />
          - color: "#0d6e79"<br />
            from: 16<br />
            to: 45<br />
          - color: "#ee1010"<br />
            from: 46<br />
            to: 100<br />
  - type: vertical-stack<br />
    cards:<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_haut<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv. Haut<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_bas<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv Bas<br />
title: Hauteur d'eau dans le puits</code></div></div><br />
<br />
J'ai également une carte plus compacte pour ma page d'accueil.<br />
<br />
<a href="https://zupimages.net/viewer.php?id=25/04/ija3.jpg" target="_blank" rel="noopener" class="mycode_url"><img src="https://zupimages.net/up/25/04/ija3.jpg" loading="lazy"  alt="[Image: ija3.jpg]" class="mycode_img" /></a><br />
<br />
<div class="codeblock"><div class="title">Code :</div><div class="body" dir="ltr"><code>type: vertical-stack<br />
cards:<br />
  - type: markdown<br />
    content: &gt;<br />
      &lt;span style="font-size: 16px; font-weight: bold;"&gt;Hauteur d'eau dans le<br />
      puits et alarmes&lt;/span&gt;<br />
  - type: horizontal-stack<br />
    cards:<br />
      - type: custom:bar-card<br />
        entities:<br />
          - entity: sensor.puisard_hauteur_eau<br />
            positions:<br />
              icon: "off"<br />
              name: "off"<br />
              value: inside<br />
            unit_of_measurement: cm<br />
            target: 1000<br />
            direction: up<br />
            height: 50px<br />
            severity:<br />
              - color: "#ff6b00"<br />
                from: 0<br />
                to: 15<br />
              - color: "#0d6e79"<br />
                from: 16<br />
                to: 45<br />
              - color: "#ee1010"<br />
                from: 46<br />
                to: 100<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_haut<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv. Haut Puits<br />
      - type: custom:button-card<br />
        state:<br />
          - value: "on"<br />
            color: red<br />
            icon: mdi:hydraulic-oil-level<br />
            styles:<br />
              icon:<br />
                - animation:<br />
                    - blink 1s linear infinite<br />
          - value: "off"<br />
            color: null<br />
        entity: binary_sensor.puisard_alarme_niveau_bas<br />
        icon: mdi:hydraulic-oil-level<br />
        name: Niv Bas Puits</code></div></div>]]></content:encoded>
		</item>
	</channel>
</rss>