Update AI Task example to be IoT related (#39900)

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
This commit is contained in:
Paulus Schoutsen 2025-07-16 14:36:53 +02:00 committed by GitHub
parent a368621566
commit acb1f3f984
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -40,51 +40,83 @@ The response variable is a dictionary with the following keys:
## Examples
### Template entity counting items on a camera
{% raw %}
```yaml
template:
- triggers:
- trigger: homeassistant
event: start
- trigger: time_pattern
minutes: "/5" # update every 5 minutes
actions:
- action: ai_task.generate_data
data:
task_name: "{{ this.entity_id }}"
instructions: >-
This is the inside of my goose coop. How many birds (chickens, geese, and
ducks) are inside the coop?
structure:
birds:
selector:
number:
attachments:
media_content_id: media-source://camera/camera.chicken_coop
media_content_type: image/jpeg
response_variable: result
sensor:
- name: "Chickens"
state: "{{ result.data.birds }}"
state_class: total
```
{% endraw %}
Alternative ideas: detect number of parking spots available, count people in a room, or detect if a door is open.
### Structured output example
{% raw %}
```yaml
# Example: Generate structured user profile data
# Example: Generate weather and indoor comfort report
script:
- alias: "Create fake user profile"
- alias: "Weather and comfort report"
sequence:
- action: ai_task.generate_data
data:
task_name: "user profile generation"
instructions: "Generate a profile for a new user"
task_name: "weather comfort report"
instructions: |
Based on the current conditions:
- Outdoor temperature: {{ states('sensor.outdoor_temperature') }}°C
- Weather condition: {{ states('weather.home') }}
- Indoor temperature: {{ states('sensor.living_room_temperature') }}°C
- Indoor humidity: {{ states('sensor.living_room_humidity') }}%
Generate a funny weather description and assess indoor comfort level.
structure:
name:
description: "First and last name of the user"
weather_description:
description: "A humorous description of the current weather outside"
required: true
selector:
text:
age:
description: "Age of the user"
indoor_comfort:
description: "Assessment of how comfortable it is inside compared to outside"
required: true
selector:
number:
min: 0
max: 120
interests:
description: "List of user interests"
required: true
selector:
select:
options:
- "Technology"
- "Sports"
- "Music"
- "Travel"
multiple: true
attachments:
- media_content_id: "media-source://user_profile_image.jpg"
media_content_type: "image/jpeg"
response_variable: user_profile
text:
response_variable: comfort_report
- action: notify.persistent_notification
data:
title: "New User Profile"
message: "Name: {{ user_profile.data.name }}, Age: {{ user_profile.data.age }}, Interests: {{ user_profile.data.interests | join(', ') }}"
title: "🏠 Home climate report"
message: |
🌤️ **Weather outside:**
{{ comfort_report.data.weather_description }}
🛋️ **Indoor comfort:**
{{ comfort_report.data.indoor_comfort }}
```
{% endraw %}