# \[TUTO\] AI TAsk et comment utiliser l'image de la caméra : Sujet le Poulailler!

**URL:** <https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332>\
**Category:** Automatisation / Scène / Script / BluePrint\
**Created:** [Septembre 12, 2025, 9:21 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332 "2025-09-12T09:21:02Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![olivier\_verstraet](https://forum.hacf.fr/user_avatar/forum.hacf.fr/olivier_verstraet/32/122920_2.png) [@olivier\_verstraet](https://forum.hacf.fr/u/olivier_verstraet)\
**Post date:** [Septembre 12, 2025, 9:21 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/1 "2025-09-12T09:21:02Z")

</div>

Bonjour à tous,

Je me suis amusé avec **AI Task** et la caméra de mon poulailler.  
Je voulais savoir où on pouvais aller avec l’IA et l’analyse d’image.

Ce que j’ai mis en place fonctionne, aussi je vous partage ce que j’ai fait, cela vous donnera surement des idées chez vous ! 😉

EDIT :

prérequis :

- Créé un agent de conversation dans Home Assistant, exemple Gemini :

> **[Google Gemini](https://www.home-assistant.io/integrations/google_generative_ai_conversation/)**
>
> Instructions on how to integrate Google Gemini as a conversation agent

Mes objectifs :

- compter les oeufs et donner le nombre
- Voir si la trappe est ouverte
- être notifié (encore à faire)

Le résultat final :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/9/f/9fe183210803d70a9bb76a4b2faeffffe5494fc2.jpeg)

C’est parti !

Tout d’abord il faut créer 2 input text dans les entrées :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/e/3/e39a98c81005a94ade6bf3c0f3b2c7779462cb69.png)

Les nommer comme vous voulez, on les utilisera pour alimenter ces input text avec le retour de l’analyse de l’IA.

 ![image](https://forum.hacf.fr/uploads/default/original/3X/e/e/ee6a80fa185235097caeea639e2afd09bd40589d.png)

Ensuite on crée 2 automatisations :

Une automatisation pour l’analyse des oeufs :

- Le déclenchement de 09h à 16h, toutes les heures
- instructions: \>  
_Ne réponds pas par non, Dis moi si il y a des oeufs dans le poulailler et combien ? Ils sont généralement dans la cagette.  
donc :  
si il y a un oeuf : réponse : Il y a 1 oeuf  
si il y a deux oeufs : réponse : Il y a 2 oeufs  
si il y a trois oeufs : réponse Il y a 3 oeufs  
et pareil si le nombre augmente._
- on crée la variable : ai\_oeufs\_response
- action, on alimente notre inpu\_text avec la variable créé auparavant.

**L’automatisation complète :**

```auto
alias: POULAILLER - Détection et notification d'œufs
description: >
  Prend une photo du poulailler, l'analyse avec l'intelligence artificielle pour
  détecter les œufs et envoie une notification avec le résultat.
triggers:
  - trigger: time
    at: "09:00:00"
  - trigger: time
    at: "10:00:00"
  - trigger: time
    at: "11:00:00"
  - trigger: time
    at: "12:00:00"
  - trigger: time
    at: "13:00:00"
  - trigger: time
    at: "14:00:00"
  - trigger: time
    at: "15:00:00"
  - trigger: time
    at: "16:00:00"
conditions: []
actions:
  - action: ai_task.generate_data
    metadata: {}
    data:
      task_name: Oeufs dans le poulailler ?
      instructions: >
        Ne réponds pas par non, Dis moi si il y a des oeufs dans le poulailler
        et combien ? Ils sont généralement dans la cagette.

        donc : 

        si il y a un oeuf : réponse : Il y a 1 oeuf

        si il y a deux oeufs : réponse : Il y a 2 oeufs

        si il y a trois oeufs : réponse Il y a 3 oeufs

        et pareil si le nombre augmente.
      attachments:
        media_content_id: media-source://camera/camera.camera_poulailler_fluent
        media_content_type: application/vnd.apple.mpegurl
        metadata:
          title: Camera Poulailler Fluide
          thumbnail: /api/camera_proxy/camera.camera_poulailler_fluent
          media_class: video
          children_media_class: null
          navigateIds:
            - {}
            - media_content_type: app
              media_content_id: media-source://camera
    response_variable: ai_oeufs_response
  - action: input_text.set_value
    data:
      value: "{{ ai_oeufs_response.data }}"
    target:
      entity_id: input_text.ai_des_oeufs_dans_le_poulailler
mode: single

```

Une automatisation pour l’analyse de la trappe :

- Le déclenchement à 6, 7 et 8 heures et le soir.
- instructions: \>  
_Je voudrai que tu me dises si la trappe du poulailler est ouverte ou fermée.  
La trappe se situe en bas à gauche de l’image.  
Si elle est ouverte, dis : La trappe est ouverte  
Si elle est fermée, dis: La trappe est fermée_
- on crée la variable : trappe\_response
- action, on alimente notre inpu\_text avec la variable créé auparavant.

**L’automatisation complète :**

```auto
alias: POULAILLER - détection de trappe ouverte ou fermée
description: >
  Prend une photo du poulailler, l'analyse avec l'intelligence artificielle pour
  détecter si la trappe est ouverte et envoie une notification avec le résultat.
triggers:
  - trigger: time
    at: "07:00:00"
    weekday:
      - sat
      - sun
      - fri
      - thu
      - wed
      - tue
      - mon
  - trigger: time
    at: "08:00:00"
    weekday:
      - sat
      - fri
      - thu
      - wed
      - tue
      - mon
      - sun
  - trigger: time
    at: "06:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
  - trigger: time
    at: "21:30:00"
    weekday:
      - mon
      - tue
      - wed
      - fri
      - sat
      - thu
      - sun
  - trigger: time
    at: "22:30:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
  - trigger: time
    at: "23:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
      - sat
      - sun
  - trigger: time
    at: "22:00:00"
    weekday:
      - mon
      - tue
      - wed
      - fri
      - sat
      - thu
      - sun
conditions: []
actions:
  - action: ai_task.generate_data
    metadata: {}
    data:
      instructions: >-
        Je voudrai que tu me dises si la trappe du poulailler est ouverte ou
        fermée.

        La trappe se situe en bas à gauche de l'image.

        Si elle est ouverte, dis : La trappe est ouverte

        Si elle est fermée, dis: La trappe est fermée
      attachments:
        media_content_id: media-source://camera/camera.camera_poulailler_fluent
        media_content_type: application/vnd.apple.mpegurl
        metadata:
          title: Camera Poulailler Fluide
          thumbnail: /api/camera_proxy/camera.camera_poulailler_fluent
          media_class: video
          children_media_class: null
          navigateIds:
            - {}
            - media_content_type: app
              media_content_id: media-source://camera
      task_name: Trappe dans le poulailler ?
    response_variable: trappe_response
  - action: input_text.set_value
    data:
      value: "{{ trappe_response.data}}"
    target:
      entity_id:
        - input_text.ai_la_trappe_du_poulailler_ouverte
mode: single

```

Création de la carte :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/8/a/8a64b3db2c34ee80c80df4e4b2c0a1a367e6be64.png)

Le code de la carte :

```auto
type: custom:vertical-stack-in-card
cards:
  - type: custom:stack-in-card
    mode: horizontal
    cards:
      - type: markdown
        content: >
          **Analyse des oeufs :**

          {{ states('input_text.ai_des_oeufs_dans_le_poulailler') }}

          **Dernière mise à jour :**

          {{ states.input_text.ai_des_oeufs_dans_le_poulailler.last_updated |
          as_timestamp | timestamp_custom("%d-%m-%Y à %H:%M") }}
      - type: custom:button-card
        entity: input_text.ai_des_oeufs_dans_le_poulailler
        show_name: false
        show_state: false
        show_icon: false
        layout: vertical
        styles:
          card:
            - padding: 0
            - background: none
            - box-shadow: none
            - border-radius: 0
          grid:
            - grid-template-areas: "\"image\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            image:
              - display: flex
              - justify-content: center
              - align-items: center
              - width: 100%
              - height: 100%
        custom_fields:
          image: |
            [[[
              const s = (entity && entity.state) ? String(entity.state).toLowerCase().trim() : "";
              if (/\b(un|deux|trois|1|2|3)\b/.test(s)) {
                return `
                  <style>
                    @keyframes pulse {
                      0% { transform: scale(1); }
                      50% { transform: scale(1.08); }
                      100% { transform: scale(1); }
                    }
                  </style>
                  <img src="/local/images/buttons/oeuf2.png"
                       style="width: 50%; height: auto; object-fit: contain; animation: pulse 2s infinite;"/>
                `;
              }
              return `<img src="/local/images/buttons/oeuf_ko2.png"
                           style="width: 50%; height: auto; object-fit: contain;"/>`;
            ]]]
  - type: custom:stack-in-card
    mode: horizontal
    cards:
      - type: markdown
        content: >
          **Analyse de la trappe :**

          {{ states('input_text.ai_la_trappe_du_poulailler_ouverte') }}

          **Dernière mise à jour :**

          {{ states.input_text.ai_la_trappe_du_poulailler_ouverte.last_updated |
          as_timestamp | timestamp_custom("%d-%m-%Y à %H:%M") }}
      - type: custom:button-card
        entity: input_text.ai_la_trappe_du_poulailler_ouverte
        show_name: false
        show_state: false
        show_icon: false
        layout: vertical
        styles:
          card:
            - padding: 0
            - background: none
            - box-shadow: none
            - border-radius: 0
          grid:
            - grid-template-areas: "\"image\""
            - grid-template-columns: 1fr
            - grid-template-rows: 1fr
          custom_fields:
            image:
              - display: flex
              - justify-content: center
              - align-items: center
              - width: 100%
              - height: 100%
        custom_fields:
          image: |
            [[[
              const s = (entity && entity.state) ? String(entity.state).toLowerCase().trim() : "";
              if (/\b(ouverte)\b/.test(s)) {
                return `

                  <img src="/local/images/buttons/trappe_on.png"
                       style="width: 50%; height: auto; object-fit: contain; animation: pulse 2s infinite;"/>
                `;
              }
              return `<img src="/local/images/buttons/trappe_off.png"
                           style="width: 50%; height: auto; object-fit: contain;"/>`;
            ]]]

```

Les images des oeufs et de la trappe :

 ![oeuf_ko2](https://forum.hacf.fr/uploads/default/original/3X/a/8/a801d171420dfbae0e05cfb4eb09a3ac0ef99de0.png)

 ![oeuf2](https://forum.hacf.fr/uploads/default/original/3X/4/0/4058dfd0748e37849096de643837dfd48a0f9683.png)

 ![trappe_off](https://forum.hacf.fr/uploads/default/original/3X/2/9/2974092f0c2b1d2a07c51f30b0bb1a7505efacb7.png) ![trappe_on](https://forum.hacf.fr/uploads/default/original/3X/d/a/da95a634a96fb7f9e0af9c81821759c5e3b6bce7.png)

Prochaines étapes :

- être notifié si la trappe n’est pas ouverte le matin
- être notifié si la trappe est restée ouverte le soir
- être notifié une fois dans la journée si il y a des oeufs

J’ai trouvé la manipulation cool et ludique 😉  
A bientôt !

---

<div class="post-metadata">

**Author:** ![Bob](https://forum.hacf.fr/user_avatar/forum.hacf.fr/bob/32/64908_2.png) [@Bob](https://forum.hacf.fr/u/Bob)\
**Post date:** [Septembre 12, 2025, 10:55 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/2 "2025-09-12T10:55:49Z")

</div>

Bonjour @olivier_verstraet  
Sympa, merci pour le partage.  
Je n’ai pas dans mes automatisations de ai\_task.xxx, il semblerait qu’il faille ajouter une intégration mais je ne la vois pas, j’ai la dernière version de HA.  
Il faut sans doute d’abord ajouter une intégration comme OpenAI ?

Bob

---

<div class="post-metadata">

**Author:** ![Sylv\_01](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/s/a9a28c/32.png) [@Sylv\_01](https://forum.hacf.fr/u/Sylv_01)\
**Post date:** [Septembre 12, 2025, 11:40 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/3 "2025-09-12T11:40:44Z")

</div>

Hello, bonne idée !

J’ai aussi une caméra dans mon poulailler, avec un script qui m’envoie une photo 2 x par jour de ce type :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/a/8/a8459aff4b7cbf9f8c057e1f5ee0c48c3731abc7.jpeg)

ça pourrait etre un bon exercice !

Merci pour le partage…

---

<div class="post-metadata">

**Author:** ![olivier\_verstraet](https://forum.hacf.fr/user_avatar/forum.hacf.fr/olivier_verstraet/32/122920_2.png) [@olivier\_verstraet](https://forum.hacf.fr/u/olivier_verstraet)\
**Post date:** [Septembre 12, 2025, 1:51 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/4 "2025-09-12T13:51:54Z")

</div>

Merci 😉

Oui normalement tu dois voir “AI Task” dans les actions. :

 ![image](https://forum.hacf.fr/uploads/default/original/3X/d/c/dcd8e3d22b4d467af8928ff857d12c3c963adbd3.png)

Si tu ne l’as pas regarde :

- si tu as la dernière version de Home Assistant.
- Créé un agent de conversation dans Home Assistant (Je vais l’ajouter en tant que pré-requis)

Pour créer cet agent tu dois utiliser cette page d’explication :

> **[Google Gemini](https://www.home-assistant.io/integrations/google_generative_ai_conversation/)**
>
> Instructions on how to integrate Google Gemini as a conversation agent

Personnellement j’ai utilisé Gemini de Google.

---

<div class="post-metadata">

**Author:** ![Bob](https://forum.hacf.fr/user_avatar/forum.hacf.fr/bob/32/64908_2.png) [@Bob](https://forum.hacf.fr/u/Bob)\
**Post date:** [Décembre 20, 2025, 3:27 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/5 "2025-12-20T15:27:32Z")

</div>

Bonjour,  
je viens de tester suite à l’ajout d’une caméra OV3660 sur un ESP32-S3 CAM, c’est assez incroyable.

Mon script:

```auto
sequence:
  - action: ai_task.generate_data
    data:
      entity_id: ai_task.openai_ai_task
      task_name: Analyse plantes
      instructions: >-
        Regarde cette image de mon séjour. Dis-moi combien il y a de pots de
        fleurs et décris brièvement où ils se trouvent ou un détail marquant
        (ex: sous la fenêtre, sur la table). Fais une phrase courte, naturelle
        et chaleureuse. Dis moi si tu trouve un autre élément important à cet
        endroit.
      structure:
        message_libre:
          selector:
            text: null
      attachments:
        - media_content_id: media-source://camera/camera.espcam32h_sejour_esp32_camera
          media_content_type: image/jpeg
    response_variable: result
  - action: input_text.set_value
    metadata: {}
    data:
      value: monImageIA_{{now().strftime("%Y%m%d-%H%M%S")}}.jpg
    target:
      entity_id: input_text.namephotoanalyseia
  - action: camera.snapshot
    metadata: {}
    data:
      filename: /media/photos/{{states('input_text.namephotoanalyseia')}}
    enabled: true
    target:
      entity_id: camera.espcam32h_sejour_esp32_camera
  - action: notify.mobile_app_iphone_x2
    data:
      title: Résultat IA
      message: "{{ result.data.message_libre }}"
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - action: telegram_bot.send_message
    metadata: {}
    data:
      config_entry_id: 01JZJXXXXXXXXXZ0A7YVHWGSJ7
      message: "{{ result.data.message_libre }}"
      title: Nombre de pot
  - data:
      file: /media/photos/{{states('input_text.namephotoanalyseia')}}
      config_entry_id: 01JZJXXXXXXXXXZ0A7YVHWGSJ7
    action: telegram_bot.send_photo
    enabled: true
  - action: tts.speak
    metadata: {}
    data:
      cache: true
      media_player_entity_id: media_player.respeaker_satellite
      message: "{{ result.data.message_libre }}"
    target:
      entity_id: tts.piper
alias: AI Task pot de fleurtexte libre
description: ""

```

Ici avec une réponse prédéterminée avec le nombre de pot de fleur trouvé :

```auto
alias: AI Task pot de fleur
sequence:
  - action: ai_task.generate_data
    data:
      entity_id: ai_task.openai_ai_task
      task_name: Analyse plantes
      instructions: >-
        Combien de pots de fleurs y a-t-il sur cette image ? Réponds par un
        nombre entier uniquement.
      structure:
        nombre:
          selector:
            number: null
      attachments:
        - media_content_id: media-source://camera/camera.espcam32h_sejour_esp32_camera
          media_content_type: image/jpeg
    response_variable: result
  - action: input_text.set_value
    metadata: {}
    data:
      value: monImageIA_{{now().strftime("%Y%m%d-%H%M%S")}}.jpg
    target:
      entity_id: input_text.namephotoanalyseia
  - action: camera.snapshot
    metadata: {}
    data:
      filename: /media/photos/{{states('input_text.namephotoanalyseia')}}
    enabled: true
    target:
      entity_id: camera.espcam32h_sejour_esp32_camera
  - action: notify.mobile_app_iphone_x2
    data:
      title: Résultat IA
      message: >-
        L'IA a détecté {{ result.data.nombre }} pots de fleurs à {{
        now().strftime('%H:%M') }}.
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - action: telegram_bot.send_message
    metadata: {}
    data:
      config_entry_id: 01JZJ1XXXXXXXXX0A7YVHWGSJ7
      message: >-
        L'IA a détecté *{{ result.data.nombre }}* pots de fleurs à
        {{now().strftime('%H:%M') }}.
      title: Nombre de pot
  - data:
      file: /media/photos/{{states('input_text.namephotoanalyseia')}}
      config_entry_id: 01JZJ1XXXXXXXXX0A7YVHWGSJ7
    action: telegram_bot.send_photo
    enabled: true
  - action: tts.speak
    metadata: {}
    data:
      cache: true
      media_player_entity_id: media_player.respeaker_satellite
      message: L'IA a détecté {{ result.data.nombre }} pots de fleurs.
    target:
      entity_id: tts.piper
description: ""

```

Bob

---

<div class="post-metadata">

**Author:** ![team18fr](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/t/e47c2d/32.png) [@team18fr](https://forum.hacf.fr/u/team18fr)\
**Post date:** [Décembre 25, 2025, 6:55 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/6 "2025-12-25T18:55:12Z")

</div>

Bonjour,

Je voulais savoir on est limité à 20 demandes par jour ?

---

<div class="post-metadata">

**Author:** ![Idaho947](https://forum.hacf.fr/user_avatar/forum.hacf.fr/idaho947/32/36207_2.png) [@Idaho947](https://forum.hacf.fr/u/Idaho947)\
**Post date:** [Décembre 25, 2025, 6:56 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/7 "2025-12-25T18:56:23Z")

</div>

Oui depuis debut decembre la formule gratuite est limitée a 20.

---

<div class="post-metadata">

**Author:** ![team18fr](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/t/e47c2d/32.png) [@team18fr](https://forum.hacf.fr/u/team18fr)\
**Post date:** [Décembre 25, 2025, 7:01 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/8 "2025-12-25T19:01:58Z")

</div>

merci pour ta réponse, on peut utiliser que Gemini ?

---

<div class="post-metadata">

**Author:** ![Idaho947](https://forum.hacf.fr/user_avatar/forum.hacf.fr/idaho947/32/36207_2.png) [@Idaho947](https://forum.hacf.fr/u/Idaho947)\
**Post date:** [Décembre 25, 2025, 7:02 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/9 "2025-12-25T19:02:55Z")

</div>

Avec google generative ia oui

---

<div class="post-metadata">

**Author:** ![team18fr](https://forum.hacf.fr/letter_avatar_proxy/v4/letter/t/e47c2d/32.png) [@team18fr](https://forum.hacf.fr/u/team18fr)\
**Post date:** [Décembre 25, 2025, 7:05 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/10 "2025-12-25T19:05:01Z")

</div>

On peut pas utiliser d’autre IA pour faire de la surveillance via image ?

---

<div class="post-metadata">

**Author:** ![Idaho947](https://forum.hacf.fr/user_avatar/forum.hacf.fr/idaho947/32/36207_2.png) [@Idaho947](https://forum.hacf.fr/u/Idaho947)\
**Post date:** [Décembre 25, 2025, 7:23 UTC](https://forum.hacf.fr/t/tuto-ai-task-et-comment-utiliser-limage-de-la-camera-sujet-le-poulailler/67332/11 "2025-12-25T19:23:45Z")

</div>

Si tu peux utilisé d’autre llm. Faut chercher dans la doc ha tu dois avoir les infos.
