<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>Archives des automatisation - La programmation sur le web</title>
	<atom:link href="https://programmation.surleweb-france.fr/tag/automatisation/feed/" rel="self" type="application/rss+xml" />
	<link>https://programmation.surleweb-france.fr/tag/automatisation/</link>
	<description>La programmation gratuite pour tous</description>
	<lastBuildDate>Thu, 02 Mar 2023 16:29:49 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/08/cropped-19518430-icone-de-programmation-pour-votre-site-web-mobile-presentation-et-conception-de-logo-gratuit-vectoriel.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Archives des automatisation - La programmation sur le web</title>
	<link>https://programmation.surleweb-france.fr/tag/automatisation/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">176210735</site>	<item>
		<title>Python, la brève histoire</title>
		<link>https://programmation.surleweb-france.fr/python-la-breve-histoire/</link>
					<comments>https://programmation.surleweb-france.fr/python-la-breve-histoire/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 06 Mar 2023 17:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[bibliothèques Python]]></category>
		<category><![CDATA[chatbots]]></category>
		<category><![CDATA[communauté open source]]></category>
		<category><![CDATA[développement web]]></category>
		<category><![CDATA[évolution]]></category>
		<category><![CDATA[frameworks web]]></category>
		<category><![CDATA[haut niveau]]></category>
		<category><![CDATA[histoire]]></category>
		<category><![CDATA[intelligence artificielle]]></category>
		<category><![CDATA[interprété]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[langage de programmation]]></category>
		<category><![CDATA[orienté objet]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[science des données]]></category>
		<category><![CDATA[traitement du langage naturel]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1510</guid>

					<description><![CDATA[<p>Découvrez pourquoi Python est devenu un langage de programmation incontournable, utilisé dans de nombreuses industries telles que le développement Web, la science des données, l'automatisation et les jeux vidéo.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-la-breve-histoire/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-la-breve-histoire/">Python, la brève histoire</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Avant de commencer une longue série d&rsquo;article sur le langage que je préfère (c&rsquo;est-à-dire Python), je vais commencer par une petite présentation simple.</p>


<div class="wp-block-image">
<figure class="aligncenter size-large"><img data-recalc-dims="1" fetchpriority="high" decoding="async" width="900" height="900" src="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?resize=900%2C900&#038;ssl=1" alt="" class="wp-image-1511" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?resize=1024%2C1024&amp;ssl=1 1024w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?resize=300%2C300&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?resize=150%2C150&amp;ssl=1 150w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?resize=768%2C768&amp;ssl=1 768w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2023/03/kisspng-python-logo-programmer-fierce-python-cliparts-5ab7bde206fb71.9462244415219911380286.png?w=1200&amp;ssl=1 1200w" sizes="(max-width: 900px) 100vw, 900px" /></figure>
</div>


<p>Python est un langage de programmation interprété, orienté objet et de haut niveau. Il a été créé en 1991 par Guido van Rossum, un programmeur néerlandais, alors qu&rsquo;il travaillait au Centre de Mathématiques et d&rsquo;Informatique de l&rsquo;Université de Amsterdam. Depuis sa création, Python a connu une croissance et une popularité constantes en raison de sa syntaxe simple, de sa lisibilité et de son orientation vers la communauté open source.</p>



<p>Voici quelques dates clés dans l&rsquo;histoire de Python :</p>



<ul class="wp-block-list">
<li>1991 : la première version de Python, Python 0.9.0, est publiée.</li>



<li>2000 : la version 2.0 de Python est publiée, avec de nouvelles fonctionnalités telles que les compréhensions de listes et les générateurs.</li>



<li>2008 : la version 3.0 de Python est publiée, avec des changements majeurs dans la syntaxe, la gestion des chaînes et l&rsquo;encodage Unicode.</li>



<li>2020 : la version 3.9 de Python est publiée, avec de nouvelles fonctionnalités telles que l&rsquo;opérateur de fusion de dictionnaire et la réorganisation des bibliothèques standard.</li>
</ul>



<p>Python est utilisé dans de nombreuses applications, y compris :</p>



<ul class="wp-block-list">
<li>Développement Web : Python est utilisé pour le développement de sites Web, de frameworks Web tels que <a href="https://www.djangoproject.com/" target="_blank" rel="noreferrer noopener">Django </a>et <a href="https://flask.palletsprojects.com/en/2.2.x/" target="_blank" rel="noreferrer noopener">Flask</a>, ainsi que pour la création d&rsquo;APIs.</li>



<li>Science des données : Python est largement utilisé dans l&rsquo;analyse de données, la modélisation statistique, l&rsquo;apprentissage automatique et l&rsquo;intelligence artificielle. Des bibliothèques populaires telles que <a href="https://numpy.org/" target="_blank" rel="noreferrer noopener">NumPy</a>, <a href="https://pandas.pydata.org/" target="_blank" rel="noreferrer noopener">Pandas</a>, <a href="https://scikit-learn.org/" target="_blank" rel="noreferrer noopener">Scikit-learn</a>, <a href="https://www.tensorflow.org/learn" target="_blank" rel="noreferrer noopener">TensorFlow </a>et <a href="https://keras.io/" target="_blank" rel="noreferrer noopener">Keras </a>sont toutes écrites en Python.</li>



<li>Automatisation : Python est utilisé pour l&rsquo;automatisation de tâches, telles que la création de scripts pour la gestion des fichiers et des répertoires, l&rsquo;envoi d&rsquo;e-mails et la manipulation de données.</li>



<li>Jeux vidéo : Python est utilisé pour le développement de jeux vidéo, notamment grâce à des bibliothèques telles que <a href="https://www.pygame.org/" target="_blank" rel="noreferrer noopener">Pygame </a>et <a href="https://pyopengl.sourceforge.net/" target="_blank" rel="noreferrer noopener">PyOpenGL</a>.</li>
</ul>



<p>En résumé, Python est un langage de programmation populaire, utilisé dans de nombreuses applications, y compris le développement Web, la science des données, l&rsquo;automatisation et les jeux vidéo. Avec une communauté open source active et une syntaxe simple, Python est un choix idéal pour les débutants en programmation ainsi que pour les développeurs expérimentés.</p>



<p>Au fil des années, Python a connu une évolution dans l&rsquo;utilisation de son langage, passant d&rsquo;un langage de programmation généraliste à un outil incontournable pour de nombreuses industries.</p>



<p>Voici quelques tendances et évolutions dans l&rsquo;utilisation de Python :</p>



<ul class="wp-block-list">
<li>Python est de plus en plus utilisé dans la science des données et l&rsquo;intelligence artificielle. Les bibliothèques Python telles que <a href="https://numpy.org/" target="_blank" rel="noreferrer noopener">NumPy</a>, <a href="https://pandas.pydata.org/" target="_blank" rel="noreferrer noopener">Pandas</a>, <a href="https://matplotlib.org/" target="_blank" rel="noreferrer noopener">Matplotlib</a>, <a href="https://www.tensorflow.org/learn" target="_blank" rel="noreferrer noopener">TensorFlow </a>, <a href="https://keras.io/" target="_blank" rel="noreferrer noopener">Keras </a>et <a href="https://pytorch.org/">PyTorch </a>sont devenues les outils de prédilection pour les chercheurs et les professionnels de la science des données et de l&rsquo;IA.</li>



<li>Python est également largement utilisé pour la création de chatbots, d&rsquo;assistants virtuels et d&rsquo;applications de traitement du langage naturel. Les bibliothèques comme <a href="https://www.nltk.org/" target="_blank" rel="noreferrer noopener">NLTK</a>, <a href="https://spacy.io/" target="_blank" rel="noreferrer noopener">Spacy </a>et <a href="https://textblob.readthedocs.io/en/dev/" target="_blank" rel="noreferrer noopener">TextBlob </a>ont permis de faciliter le traitement du langage naturel.</li>



<li>Python est utilisé pour la création de sites Web, de frameworks Web et d&rsquo;applications Web. <a href="https://www.djangoproject.com/" target="_blank" rel="noreferrer noopener">Django </a>et <a href="https://flask.palletsprojects.com/" target="_blank" rel="noreferrer noopener">Flask </a>sont deux exemples de frameworks Web populaires écrits en Python.</li>



<li>Python est également utilisé pour l&rsquo;automatisation de tâches et de processus métier. Les développeurs peuvent utiliser Python pour automatiser des tâches répétitives telles que la manipulation de fichiers et la création de rapports.</li>



<li>Python est également utilisé pour le développement de jeux vidéo, grâce à des bibliothèques telles que <a href="https://www.pygame.org/" target="_blank" rel="noreferrer noopener">Pygame </a>et <a href="https://pyopengl.sourceforge.net/" target="_blank" rel="noreferrer noopener">PyOpenGL</a>.</li>



<li>L&rsquo;utilisation de Python pour l&rsquo;Internet des Objets (IoT) est en augmentation. Les développeurs peuvent utiliser Python pour la création de capteurs, de dispositifs IoT et de protocoles de communication.</li>
</ul>



<p>En somme, Python est un langage de programmation polyvalent, largement utilisé dans de nombreuses industries. Son utilisation est en constante évolution, avec de nouvelles applications et de nouveaux outils qui continuent de voir le jour.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-la-breve-histoire/">Python, la brève histoire</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-la-breve-histoire/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1510</post-id>	</item>
		<item>
		<title>Python, les avantages</title>
		<link>https://programmation.surleweb-france.fr/python-les-avantages/</link>
					<comments>https://programmation.surleweb-france.fr/python-les-avantages/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 06 Mar 2023 17:00:00 +0000</pubDate>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[apprentissage facile]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[communauté open source]]></category>
		<category><![CDATA[développement web]]></category>
		<category><![CDATA[évolutivité]]></category>
		<category><![CDATA[flexibilité]]></category>
		<category><![CDATA[intelligence artificielle]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[jeux vidéo]]></category>
		<category><![CDATA[langage de programmation]]></category>
		<category><![CDATA[performances]]></category>
		<category><![CDATA[portabilité]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[science des données]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=1531</guid>

					<description><![CDATA[<p>Découvrez pourquoi Python est le langage de programmation idéal pour les débutants et les développeurs expérimentés avec sa syntaxe simple, sa communauté active, sa polyvalence dans différents domaines, sa flexibilité et portabilité, et ses performances évolutives de pointe.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/python-les-avantages/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-avantages/">Python, les avantages</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Voici une petite présentation des avantages de Python comme langage de programmation. Cet article fait parti d&rsquo;un travail plus complet, vas vers le <a href="https://programmation.surleweb-france.fr/python-tous-les-articles-classes">sommaire</a>.</p>



<p>Il y a plusieurs avantages à apprendre le langage <a href="https://www.python.org/">Python </a>par rapport à d&rsquo;autres langages de programmation.</p>



<ul class="wp-block-list">
<li>Facilité d&rsquo;apprentissage : Python a une syntaxe simple et facile à apprendre, avec un nombre limité de mots-clés et une structure claire. Les débutants peuvent rapidement commencer à écrire du code Python et produire des résultats, ce qui en fait un choix populaire pour les débutants en programmation.</li>



<li>Communauté importante : Python dispose d&rsquo;une communauté open source importante et active, qui fournit des bibliothèques, des modules et des outils pour faciliter le développement de projets en Python. Cette communauté est également utile pour répondre aux questions, offrir du soutien et partager des connaissances, ce qui facilite l&rsquo;apprentissage et la résolution de problèmes.</li>



<li>Utilisation dans différents domaines : Python est largement utilisé dans de nombreux domaines, tels que la science des données, l&rsquo;IA, le développement Web, l&rsquo;automatisation, les jeux vidéo et l&rsquo;IoT. En apprenant Python, les développeurs ont accès à un large éventail d&rsquo;applications et peuvent choisir le domaine qui correspond le mieux à leurs intérêts et compétences.</li>



<li>Flexibilité et portabilité : Python est un langage de programmation interprété, ce qui signifie qu&rsquo;il n&rsquo;est pas nécessaire de compiler le code avant de l&rsquo;exécuter. De plus, Python est portable sur plusieurs systèmes d&rsquo;exploitation, ce qui signifie qu&rsquo;il peut être exécuté sur différentes plates-formes, ce qui le rend plus flexible et plus pratique pour les développeurs.</li>



<li>Évolutivité et performances : Python offre une grande évolutivité, avec des bibliothèques de pointe pour la gestion de données volumineuses et complexes, ainsi que des bibliothèques pour l&rsquo;optimisation des performances. De plus, Python peut être intégré à des langages de bas niveau, tels que C et C++, pour améliorer les performances et la vitesse d&rsquo;exécution.</li>
</ul>



<p>En somme, apprendre Python offre plusieurs avantages, notamment une facilité d&rsquo;apprentissage, une communauté importante et active, une utilisation dans différents domaines, une flexibilité et portabilité, ainsi que des performances et une évolutivité de pointe. Ces avantages en font un choix idéal pour les débutants en programmation ainsi que pour les développeurs expérimentés.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/python-les-avantages/">Python, les avantages</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/python-les-avantages/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1531</post-id>	</item>
		<item>
		<title>Home Assistant, création d&#8217;un Blueprint</title>
		<link>https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/</link>
					<comments>https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Tue, 04 May 2021 14:00:26 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[blueprint]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[création]]></category>
		<category><![CDATA[entité]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<category><![CDATA[trigger]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=938</guid>

					<description><![CDATA[<p>La création d'un blueprint pour Home Assistant est aussi simple que de créer son automation et permet de gagner du temps dans le développement de sa solution domotique</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/">Home Assistant, création d&rsquo;un Blueprint</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Dans un de mes premier article sur Home Assistant, j&rsquo;avais vu comment <a href="https://programmation.surleweb-france.fr/home-assistant-creer-sa-premiere-automatisation/" target="_blank" rel="noreferrer noopener">créer une automatisation en utilisant un blueprint</a>, ensuite, j&rsquo;ai montré, en utilisant en exemple l&rsquo;allumage d&rsquo;une lampe, <a href="https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/" target="_blank" rel="noreferrer noopener">comment créer une automatisation manuellement</a>. Il est temps de montrer comment créer son propre blueprint. Le blueprint, via une interface graphique, va te permettre de sélectionner tes différents éléments pour la mise en place de l&rsquo;automatisation sans avoir à aller coder dans les fichiers YAML.</p>



<p>La première question à laquelle je vais répondre est : « Pourquoi créer son Blueprint ? »</p>



<p>La réponse est des plus simple, j&rsquo;ai fait un exemple pour allumer une lampe après la détection d&rsquo;un mouvement entre deux heures, j&rsquo;imagine qu&rsquo;il n&rsquo;y a pas qu&rsquo;une lampe chez toi, le blueprint va te permettre de mettre tes automatisation en place plus rapidement, que ce soit pour des lampes, des capteurs, des interrupteurs &#8230;</p>



<p>Pour cet article, je vais reprendre l&rsquo;exemple de l&rsquo;automatisation créée précédemment :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">- id: Light-with-mvt 
  alias: Lumière avec mouvement 
  trigger:
  - platform: state
    entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
    from: 'off'
    to: 'on'
  condition:
  - condition: time
    after: "19:00:00"
    before: "07:00:00"
  action:
  - service: light.turn_on
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off
    data:
      color_temp: 200
      brightness_pct: 25
  - wait_for_trigger:
      platform: state
      entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
      from: "on"
      to: "off"
  - delay:
      seconds: 60
  - service: light.turn_off
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off
  mode: restart
  max_exceeded: silent</pre>



<p>Je ne vais pas revenir dessus, tu peux retrouver les informations sur <a href="https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/" target="_blank" rel="noreferrer noopener">cette page</a>. D&rsquo;ailleurs, je te conseille d&rsquo;aller jeter un petit coup d&rsquo;oeil, je me concentrerai seulement sur la partie de blueprint.</p>



<h2 class="wp-block-heading">Explication</h2>



<p>Je commence par fournir le blueprint, que je viendrai expliquer :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">blueprint:
  name: Lumière activée par le mouvement entre 2 heures
  description: Allume la lumière quand un mouvement est détecté entre deux heures.
  domain: automation
  input:
    motion_entity:
      name: Capteur de mouvement
      selector:
        entity:
          domain: binary_sensor
          device_class: motion
    light_target:
      name: Light
      selector:
        target:
          entity:
            domain: light
    no_motion_wait:
      name: "Temps d'attente"
      description: Temps après le dernier mouvement pour éteindre la lumière.
      default: 120
      selector:
        number:
          min: 0
          max: 3600
          unit_of_measurement: seconds
	time_after:
	  name: "Heure du début"
	  description: "Heure à laquelle commence l'allumage de la lumière"
	  selector:
	    time:
	time_before:
	  name: "Heure de fin"
	  description: "Heure à laquelle se termine le déclenchement l'allumage de la lumière"
	  selector:
	    time:

mode: restart
max_exceeded: silent

trigger:
  platform: state
  entity_id: !input motion_entity
  from: "off"
  to: "on"

condition:
  - condition: time
  after: !input time_after
  before: !input time_before

action:
  - service: light.turn_on
    target: !input light_target
  - wait_for_trigger:
      platform: state
      entity_id: !input motion_entity
      from: "on"
      to: "off"
  - delay: !input no_motion_wait
  - service: light.turn_off
    target: !input light_target
</pre>



<p>Le fichier doit commencer par <strong><em>blueprint</em></strong>, afin de clairement faire comprendre à Home Assistant ce qu&rsquo;il est. Ensuite, on lui donne un nom (<strong><em>name</em></strong>), une description (<strong><em>description</em></strong>) et un domaine (<strong><em>domain</em></strong>) :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">blueprint:
  name: Lumière activée par le mouvement entre 2 heures
  description: Allume la lumière quand un mouvement est détecté entre deux heures.
  domain: automation</pre>



<p>Dans la seconde partie, tu devras indiquer les entrées. Les entrées sont ce que tu devras saisir pour la mise en place de ton automatisation (capteur, zone, équipement, heure&#8230;). Pour chaque entrée, il faudra lui donner un nom (qui sera utilisé pour récupérer l&rsquo;entrée), un sélecteur (<strong><em>selector</em></strong>) qui permet de définir ce qui sera affiché sur la création de l&rsquo;automatisation pour cette entrée et les options de ce <strong><em>selector</em>. </strong>Dans cette partie, nous ne renseignons pas les entités ou groupes :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">input:
    motion_entity:
      name: Capteur de mouvement
      selector:
        entity:
          domain: binary_sensor
          device_class: motion
    light_target:
      name: Light
      selector:
        target:
          entity:
            domain: light
    no_motion_wait:
      name: "Temps d'attente"
      description: Temps après le dernier mouvement pour éteindre la lumière.
      default: 120
      selector:
        number:
          min: 0
          max: 3600
          unit_of_measurement: seconds
	time_after:
	  name: "Heure du début"
	  description: "Heure à laquelle commence l'allumage de la lumière"
	  selector:
	    time:</pre>



<p>Dans la seconde partie du code, nous retrouvons nos déclencheurs, nos actions et nos conditions, les informations qui sont habituellement saisie sont remplacées par une phrase de ce type : <strong><em>!input no_wait_motion</em></strong>. Cela permet de signifier que cette entité sera l&rsquo;entrée avec se nom (dans notre cas <strong><em>no_wait_motion</em></strong>).</p>



<h2 class="wp-block-heading">Conclusion</h2>



<p>La création d&rsquo;un blueprint n&rsquo;est pas plus compliqué que la création d&rsquo;une automatisation, elle est à privilégier surtout si l&rsquo;on sait que plusieurs automatisations y feront référence.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/">Home Assistant, création d&rsquo;un Blueprint</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/home-assistant-creation-dun-blueprint/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">938</post-id>	</item>
		<item>
		<title>Home Assistant, comprendre les automatisations manuelles</title>
		<link>https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/</link>
					<comments>https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/#respond</comments>
		
		<dc:creator><![CDATA[Zigomato]]></dc:creator>
		<pubDate>Mon, 03 May 2021 07:46:23 +0000</pubDate>
				<category><![CDATA[Domotique]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[automatisation]]></category>
		<category><![CDATA[Home Assistant]]></category>
		<guid isPermaLink="false">https://programmation.surleweb-france.fr/?p=917</guid>

					<description><![CDATA[<p>Mise en place d'une automatisation manuellement avec l'add-on File Editor. Explication sur une lumière avec une détection de mouvement.</p>
<p class="continue-reading-button"> <a class="continue-reading-link" href="https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/">Continuer la lecture<i class="crycon-right-dir"></i></a></p>
<p>L’article <a href="https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/">Home Assistant, comprendre les automatisations manuelles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Dans un précédent article qui date mais que tu peux retrouver sur ce <a href="https://programmation.surleweb-france.fr/home-assistant-creer-sa-premiere-automatisation/" target="_blank" rel="noreferrer noopener">lien</a>, on avait vu comment mettre en place une automatisation facilement en utilisant les <a href="https://www.home-assistant.io/docs/automation/using_blueprints/" target="_blank" rel="noreferrer noopener">Blueprints</a>. Maintenant, nous allons voir comment créer soit-même sont automatisation en allant écrire directement dans les fichiers <strong><a href="https://fr.wikipedia.org/wiki/YAML" target="_blank" rel="noreferrer noopener">YAML</a></strong>.</p>



<p>Les <a href="https://community.home-assistant.io/c/blueprints-exchange/53" target="_blank" rel="noreferrer noopener">Blueprints </a>ne nécessitent pas d&rsquo;avoir un grand niveau de maîtrise mais sont limitées à ce qui a été prévu dans le modèle, pour un ajout ou une modification, il faut aller modifier le modèle quitte à bousculer toutes les automatisations qui les utilisent.</p>



<h2 class="wp-block-heading">Organisation des automatisations</h2>



<p>Les automatisations se situe dans le dossier config de votre système, il écrit dans des fichiers YAML. </p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="419" height="378" src="//i2.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-8.png" alt="" class="wp-image-918" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-8.png?w=419&amp;ssl=1 419w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-8.png?resize=300%2C271&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-8.png?resize=150%2C135&amp;ssl=1 150w" sizes="(max-width: 419px) 100vw, 419px" /><figcaption>vue du dossier config</figcaption></figure></div>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>Pour avoir accès à tes dossiers HA sous Windows, je t&rsquo;invite à suivre les étapes de <a href="https://programmation.surleweb-france.fr/les-add-on-indispensables-pour-home-assistant/" target="_blank" rel="noreferrer noopener">cette page</a> (si ce n&rsquo;est pas déjà fait)</p></blockquote>



<p>Je ne vais pas détailler tous les dossiers et fichiers présents, ceux qui nous intéressent sont : </p>



<ul class="wp-block-list"><li><em>configuration.yaml</em></li><li><em>automations.yaml</em></li></ul>



<p>Le premier contient la configuration de ton HA :</p>



<div class="wp-block-image"><figure class="aligncenter size-large"><img decoding="async" width="498" height="354" src="//i3.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-9.png" alt="" class="wp-image-919" srcset="https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-9.png?w=498&amp;ssl=1 498w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-9.png?resize=300%2C213&amp;ssl=1 300w, https://i0.wp.com/programmation.surleweb-france.fr/wp-content/uploads/2021/04/image-9.png?resize=150%2C107&amp;ssl=1 150w" sizes="(max-width: 498px) 100vw, 498px" /></figure></div>



<p>Dans ce fichier, vous allez pouvoir y mettre vos automatisations, cependant, cela peut rapidement devenir incompréhensible. Pour cette raison, tu peux inclure des fichiers (ligne 15 à 18). Ces inclusions vont te permettre de mettre un peut d&rsquo;ordre à tes dossiers et t&rsquo;y retrouver rapidement.</p>



<p>De base, un fichier <em>automations.yaml</em> vide est créé et inclus dans le système.</p>



<p>C&rsquo;est dans ce fichier que nous allons venir intégrer nos automatisations.</p>



<h2 class="wp-block-heading">Ma première automatisation par l&rsquo;exemple</h2>



<p>Pour montrer comment doit être construit une automatisation, on va prendre un exemple : allumer une lumière à la présence d&rsquo;un mouvement entre 19 heures et 7 heures. La lumière s&rsquo;éteint dès qu&rsquo;il n&rsquo;y a plus de mouvement.</p>



<h3 class="wp-block-heading">Les prérequis</h3>



<p>Pour suivre cet article, vous allez avoir besoin :</p>



<ul class="wp-block-list"><li><a href="https://programmation.surleweb-france.fr/installer-home-assistant-sur-raspberry/" target="_blank" rel="noreferrer noopener">Home Assistant installé sur une machine</a> (type Raspberry)</li><li>Une ampoule, la mienne est de la gamme Aqara et permet de régler la chaleur et l&rsquo;intensité lumineuse, <a href="https://amzn.to/3u1Gh5T" target="_blank" rel="noreferrer noopener">ici</a>.</li><li>Un détecteur de mouvement Xiaomi, <a href="https://amzn.to/3u1Gh5T" target="_blank" rel="noreferrer noopener">ici</a>.</li></ul>



<p>Que ce soit pour le capteur ou la lampe, j&rsquo;utilise le protocole de communication Zigbee, pour le Raspberry, j&rsquo;utilise la passerelle Zigate, disposnible sur ce <a href="https://amzn.to/3xD3xsX" target="_blank" rel="noreferrer noopener">lien</a>.</p>



<h3 class="wp-block-heading">Le code et les explications</h3>



<p>J&rsquo;ai pris un exemple facilement utilisable et transposable, nombreux sont les kits disposant d&rsquo;un capteur et d&rsquo;une lampe, de plus ce genre d&rsquo;automatisation est l&rsquo;une des plus fréquentes (éclairage porte d&rsquo;entrée, toilettes &#8230;)</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">- id: Light-with-mvt 
  alias: Lumière avec mouvement 
  trigger:
  - platform: state
    entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
    from: 'off'
    to: 'on'
  condition:
  - condition: time
    after: "19:00:00"
    before: "07:00:00"
  action:
  - service: light.turn_on
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off
    data:
      color_temp: 200
      brightness_pct: 25
  - wait_for_trigger:
      platform: state
      entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
      from: "on"
      to: "off"
  - delay:
      seconds: 60
  - service: light.turn_off
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off
  mode: restart
  max_exceeded: silent</pre>



<p>Tout d&rsquo;abord, vous devez choisir un id <em><strong>unique </strong></em>pour chacune de vos automatisations du fichier <strong>automations.yaml</strong>. Cet <em>ID</em> est automatiquement générer lorsque tu passes par le générateur de code automatique.</p>



<p>L&rsquo;<em><strong>alias</strong></em> sera utilisé dans l&rsquo;affichage de toutes tes automatisations dans la liste disponible <strong>Configurations/Automations</strong>.</p>



<p>Le <strong><em>trigger</em></strong> (ou les triggers) permet le déclenchement de l&rsquo;automatisation. Dans notre cas, le capteur de mouvement détecte une occupation dans la zone (changement d&rsquo;état):</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">  trigger:
  - platform: state
    entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
    from: 'off'
    to: 'on'</pre>



<p>La condition (ou les conditions) identifie les circonstances pour lesquelles le trigger est pris en compte. J&rsquo;ai mis une condition de temps (après 19h00 et avant 07h00), en dehors de cette plage horaire, le mouvement est bien détecté mais ne lance pas l&rsquo;automatisation :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">  condition:
  - condition: time
    after: "19:00:00"
    before: "07:00:00"</pre>



<p>Dernier point, les actions, quant à elles, décrivent ce qui va se passer. Pour notre exemple, au déclenchement, la lumière s&rsquo;allume, on attend un trigger pendant 60 secondes (en l&rsquo;occurance, un changement d&rsquo;état sur le capteur de mouvement) et on éteint la lumière si il n&rsquo;y a pas de mouvement.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">  action:
  - service: light.turn_on
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off
    data:
      color_temp: 200
      brightness_pct: 25
  - wait_for_trigger:
      platform: state
      entity_id: binary_sensor.lumi_lumi_sensor_motion_81807f04_ias_zone
      from: "on"
      to: "off"
  - delay:
      seconds: 60
  - service: light.turn_off
    target:
      entity_id: light.lumi_lumi_light_aqcn02_c4865d04_level_light_color_on_off</pre>



<p>On finit par les deux dernières lignes qui permettent de gérer le mode de re-déclenchement, à partir d&rsquo;un nouveau trigger et si les conditions sont respectées, les actions redébutent, sans nombre de fois limites :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="yaml" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">  mode: restart
  max_exceeded: silent</pre>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>Fait attention à l&rsquo;indentation, elle est la principale cause d&rsquo;erreur dans la non-exécution de ton automatisation</strong> </p></blockquote>



<h2 class="wp-block-heading">Conclusion</h2>



<p>Voilà une petite automatisation qui fait partie (à mon avis) de la base de ce que tout débutant souhaite faire. Je m&rsquo;en servirai pour d&rsquo;autres exemples, améliorations.</p>
<p>L’article <a href="https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/">Home Assistant, comprendre les automatisations manuelles</a> est apparu en premier sur <a href="https://programmation.surleweb-france.fr">La programmation sur le web</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://programmation.surleweb-france.fr/home-assistant-comprendre-les-automatisations-manuelles/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">917</post-id>	</item>
	</channel>
</rss>
