Welcome to Automation Inspirations - Your Smart Home Creation Hub

Automation is the cornerstone of modern smart home living, and this category is your creative playground for exploring and showcasing smart home automation setups. Whether you’ve built a fully automated smart home, crafted a clever automation idea, or are simply looking for inspiration, this is the perfect space to share your creativity and learn from others.

:triangular_flag_on_post: Topics for Discussion:
:rocket: Showcase Your Automation Setup: Highlight your automation projects, detailing the devices you’ve utilized and how they enhance your daily life.
:rocket: Idea Exchange: Share ideas, tips, and best practices for creating efficient and innovative automation setups.
:rocket: Problem Solving: Discuss challenges you’ve encountered and solutions you’ve implemented in your automation journey.

:triangular_flag_on_post: Community Guidelines:
:rocket: Encouraging Feedback: Offer constructive and supportive comments on others’ projects.
:rocket: Clarity and Detail: Provide clear and detailed descriptions of your automation setups and ideas.
:rocket: Stay Relevant: Keep discussions focused on automation and smart home technology.
:rocket: Positive Vibes: Foster a constructive and encouraging atmosphere by engaging respectfully and avoiding toxicity.
:rocket: Visual Inspiration: Enhance your posts with photos, videos, or diagrams to illustrate your ideas effectively.

:triangular_flag_on_post:Tips:
:rocket:Try to @AqaraBot in the post, and your AI friend in this community will come and answer your question to the best of its ability!

81 Likes

@AqaraOfficial Title: Welcome to the Automation Playground: Share and Learn!

Hello, fellow smart home enthusiasts!

Welcome to the ultimate space for diving into the fascinating world of smart home automation. Whether you’re a seasoned automation architect or just beginning your journey, this is the perfect hub for sharing, learning, and sparking creativity.

:triangular_flag_on_post: Topics for Discussion:

  • :rocket: Showcase Your Automation Setup: Let us peek into your smart home world. Share the devices and strategies that have transformed your day-to-day life. It’s always inspiring to see how others are leveraging technology to create a seamless living experience.

  • :rocket: Idea Exchange: Have a nifty automation trick up your sleeve? Or perhaps some best practices that could help others? This is your stage to share and exchange ideas that push the boundaries of what’s possible in home automation.

  • :rocket: Problem Solving: Encountered a hiccup in your automation journey? Here’s the place to discuss challenges and brainstorm solutions together. Remember, every problem is an opportunity to innovate!

:triangular_flag_on_post: Community Guidelines:

  • :rocket: Encouraging Feedback: Let’s support each other by providing constructive and positive feedback. Your insights could be the catalyst for someone else’s breakthrough!

  • :rocket: Clarity and Detail: When sharing your setups or ideas, aim for clarity and detail to help others replicate or get inspired by your projects.

  • :rocket: Stay Relevant: Keep the focus on automation and smart home technology. This ensures the community remains a rich resource for everyone involved.

  • :rocket: Positive Vibes: We’re all here to learn and grow, so let’s maintain a respectful and encouragement-filled atmosphere.

  • :rocket: Visual Inspiration: A picture is worth a thousand words! Enhance your posts with photos, videos, or diagrams to effectively convey your ideas.

:triangular_flag_on_post: Tips:

  • :rocket: Call on AqaraBot: Remember, you can always @AqaraBot for assistance. Your AI friend is here to help answer your questions and provide guidance to the best of its ability!

Looking forward to seeing all the creative and ingenious ideas you all bring to the table. Let’s make our homes smarter, one automation at a time!

Happy automating! :blush:

40 Likes

I use Aqara devices to connect to my Home Assistant where all my automations are running. I have automations to turn on lights when a door is opened, or a person enters the room. The leakage detector is used to give me a persistent warning when there is a leakage (was very useful at some point)

16 Likes

Is it easy to integrate with Home Assistant? I am looking to move from just sensors to more active devices and have been curious in Home Assistant too.

8 Likes

Looks like a great place to share ideas! I’ve been working on integrating Aqara devices with HomeKit and automation rules for lighting and heating – excited to get inspired and also share my setup here. :rocket:

12 Likes

@nikolasklimcak It sounds like you’re diving into an exciting project with integrating Aqara devices and HomeKit for your lighting and heating automation! This is definitely the right place to share your innovative setup and gather some fresh inspiration from fellow enthusiasts. Your experience could be incredibly valuable for others looking to optimize their smart home systems. Feel free to share more details about your setup and any creative solutions you’ve implemented. We’re all looking forward to seeing your ideas and learning from your journey! :rocket:

6 Likes

I have several accessories and an automation setup with Apple HomeKit and Home Assistant. Both do very different things around the house. Apple Home is undoubtedly easier and allows the family to access everything easily. I can set up several advanced automations with Home Assistant and leave them running in the background.

6 Likes

@mabrennan It sounds like you’ve crafted a well-balanced smart home ecosystem by utilizing both Apple HomeKit and Home Assistant! Each platform certainly has its strengths, and it’s great to see how you’re leveraging them effectively. Apple HomeKit is perfect for user-friendly access and control, making it ideal for families to interact with smart devices easily. On the other hand, Home Assistant is a fantastic choice for those who want to dive deeper into advanced automations and have them operate seamlessly in the background.

Thank you for sharing your setup with us! It’s always inspiring to see how different systems can complement each other to create a more versatile and efficient smart home environment. Feel free to share more about your specific automations or any tips you might have. Your experience is invaluable for others in the community who are navigating similar setups. Keep the innovation flowing! :blush:

7 Likes

Just sharing my favorite HA trick. I track air quality at my home with both my own and shared PurpleAir devices. The most important metric is “PM2.5,” which goes from 0 (pristine) to 51 (moderate) to 101 (yuck) to 151 (double yuck) to 201+ (purple)… you get the idea.

The trick is to read the pm2.5 value and translate it to a colored bulb. The result: you get a vivid idea of air quality by looking at a light bulb.

I actually have three bulbs showing indoor and outdoor air quality, as well as the same coding system for a stock that’s most important to my financial health (as opposed to my lung health).

Here’s the code (note I declare 151+ Purple for my own health):

  - platform: template
    sensors:
      purple_y:
        friendly_name: "Purple AQI Y"
        value_template: >-
          {% set pm = states('sensor.outdoor_pm2_5_aqi_ch_a') | float %}
          {% if pm <= 150.0 %}
            {{ 0.000009*(pm**2) - 0.0033*pm + 0.6603 }}
          {% else %}
            0.116
          {% endif %}

  - platform: template
    sensors:
      purple_x:
        friendly_name: "Purple AQI X"
        value_template: >-
          {% set pm = states('sensor.outdoor_pm2_5_aqi_ch_a') | float %}
          {% if pm <= 150.0 %}
            {{ -0.000007*(pm**2) + 0.003*pm + 0.3218 }}
          {% else %}
            0.3
          {% endif %}

Tricky code that gives you the X and Y values you can use on a “turn on” command to a light in HA. Just sub that sensor for anything you can scrounge on the web…

Enjoy.

15 Likes

hey @AqaraBot summarize this thread :slight_smile:

2 Likes

@manucnt Hello! :blush: This thread is all about diving into the world of smart home automation. It’s a creative hub where you can explore, showcase, and discuss various automation setups. The thread encourages users to:

  1. Showcase Automation Projects: Share details about your current automation setups, including the devices used and how they enhance your daily life.
  2. Idea Exchange: Discuss and exchange ideas, tips, and best practices for creating efficient and innovative automations.
  3. Problem Solving: Talk about any challenges encountered in automation and the solutions you’ve implemented.

The community guidelines emphasize providing constructive feedback, maintaining clarity, staying on topic, and fostering a positive atmosphere. Visual aids like photos and diagrams are encouraged to illustrate ideas effectively. It’s a welcoming space for anyone looking to learn and share in the world of smart home automation. :rocket:

Feel free to dive in and share your creative automation ideas!

4 Likes

Leak sensors are wonderful, however they can only sense a leak and report the leak. That’s great if you are at home or close to home. When Aqara introduced the water valve it took my home from being smart to being genius. When a water leak is sensed in my home not only do I get a notification my home is proactively able to turn off my water main. I have installed sensors in my bathrooms,kitchen,laundry and next to my water heater. Now if I am on vacation or far from home my leak sensors work with my water valve through an M3 Aqara hub. They were easy to setup and the valve was simple to install. How smart is a home that can only tell you that there is a leak compared to a home that can do something about it? On a side note when I have to work on a sink or have a water heater replaced I can turn off the main water from the app on my phone,how cool is that?

https://forum.aqara.com/tag/AqaraAutomationAllstars



9 Likes

We have our u100 lock setup to lock itself every night. It is not a fancy automation, but it gives my partner peace of mind, and that is priceless.

4 Likes

I use a presence sensor to control which lights come on in the kitchen depending on the time of day.

Ie day time only the under cabinet lights come on at 100%.
Dusk - 22:00, my floor lights & under cabinet lights come on 100%,
22:00-sunrise - under cabinet nights come on at 10% so I don’t get blinded when coming down for water in the middle of the night.

Another automation is all my house lights flash at 23:09 to remind me it’s bed time!

3 Likes

Hi. I use a lot of Aqara devices in my house, all binded in HomeAssistant and then in HomeKit (except for the cameras, that are not compliant with HomeAssistant). The two cameras (G2H and G3) are wonderful in HomeKit as they turn on/off, record on/off automatically when the first/last person arrives/leaves home and the alarm is armed ! Full auto, never forget to arm/disarm the alarm and record events !!! Perfect ! :+1: :wink:

Two new automations added to my system lol both untilising ai

part 1 of the first automation, this loads up pop up on wall mounted tablet of the feed.

alias: Doorbell Pop up
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.g410_ring_occupancy
    to: "on"
conditions: []
actions:
  - action: input_boolean.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.analyze_camera
  - metadata: {}
    data:
      dismissable: false
      content:
        type: custom:frigate-card
        cameras:
          - camera_entity: camera.doorbell
            live_provider: ha
      size: fullscreen
      browser_id:
        - 3191a6f2305fd48c5d7
    target:
      device_id: 9c58dbbb0061f00
    action: browser_mod.popup
    enabled: true
  - delay:
      hours: 0
      minutes: 3
      seconds: 0
      milliseconds: 0
  - device_id: 93c5791375be8
    domain: button
    entity_id: e97b7181cd21950a
    type: press
mode: single

part 2 of the automation

alias: Voice Assistant Camera Analysis
description: Take camera snapshot, analyze with AI, and announce results
triggers:
  - entity_id:
      - input_boolean.analyze_camera
    to: "on"
    from: "off"
    trigger: state
conditions: []
actions:
  - action: camera.snapshot
    target:
      entity_id: camera.doorbell
    data:
      filename: /config/www/snapshots/analysis_doorbell_ai.jpg
  - delay:
      seconds: 2
  - action: llmvision.image_analyzer
    metadata: {}
    data:
      remember: true
      use_memory: true
      include_filename: false
      target_width: 1280
      max_tokens: 100
      provider:"removed for security reasons"
      message: >-
        Describe what you see including: - A discription of people - what they are wearing, or vehicles  - Notable activities or  movements - Time of day/lighting conditions -
        Any potential  security  concerns Mention a uniform if the person is
        wearing one - if you see a van in the image with logo on it. 
      image_file: /config/www/snapshots/analysis_doorbell_ai.jpg
    response_variable: ai_analysis
  - delay:
      hours: 0
      minutes: 0
      seconds: 5
      milliseconds: 0
  - action: tts.speak
    metadata: {}
    data:
      cache: true
      media_player_entity_id: media_player.esphome_web_0bac48
      message: "{{ ai_analysis }}"
      options:
        voice: en-gb-alan-low
    target:
      entity_id: tts.piper
  - delay:
      hours: 0
      minutes: 1
      seconds: 0
      milliseconds: 0
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: input_boolean.analyze_camera
mode: single
max_exceeded: silent
1 Like

here are my daily breifings a bit over kill but again ai analysing it

alias: Daily Briefings
description: ""
triggers:
  - at: "09:00:00"
    id: morning_briefing
    trigger: time
  - at: "18:00:00"
    id: evening_briefing
    trigger: time
conditions: []
actions:
  - variables:
      time_of_day_greeting: |
        {% if trigger.id == "morning_briefing" %}
          Good morning! Here is your morning briefing.
        {% else %}
          Good evening! Here is your evening update.
        {% endif %}
      weather_info_str: ""
      calendar_event_info_str: ""
      special_occasion_info_str: ""
      custom_info_section_str: ""
      ai_generated_message: >-
        My apologies, I seem to be experiencing a momentary lapse in verbosity.
        Please check my configuration.
  - variables:
      weather_info_str: |
        {% if var_weather_enabled and var_weather_entity %}
          {% set w_state = states(var_weather_entity) %}
          {% if w_state != 'unavailable' and w_state != 'unknown' %}
            {% set temp = state_attr(var_weather_entity, 'temperature') %}
            {% set unit = state_attr(var_weather_entity, 'temperature_unit') | default('') %}
            {% set cond = w_state | default('Not available') %}
            {% set forecast_list = state_attr(var_weather_entity, 'forecast') | default([]) %}
            {% set precip_chance_from_attr = state_attr(var_weather_entity, 'precipitation_probability') %}
            {% set precip_chance_from_forecast = forecast_list | map(attribute='precipitation_probability') | select('is_number') | first %}
            {% set precip_chance = 'N/A' %}
            {% if precip_chance_from_attr is number %}
              {% set precip_chance = precip_chance_from_attr %}
            {% elif precip_chance_from_forecast is number %}
              {% set precip_chance = precip_chance_from_forecast %}
            {% endif %}
            {% set daily_forecast = forecast_list | selectattr('datetime', 'defined') | sort(attribute='datetime') | first if forecast_list else none %}
            {% set high_temp = daily_forecast.temperature if daily_forecast and daily_forecast.temperature is defined else 'N/A' %}
            {% set low_temp = daily_forecast.templow if daily_forecast and daily_forecast.templow is defined else 'N/A' %}
            Weather Update:
            Currently: {% if temp is number %}{{ temp | round(1) }}{{ unit }}{% else %}N/A{% endif %}, {{ cond }}.
            Precipitation Chance: {% if precip_chance is number %}{{ precip_chance }}%{% else %}{{ precip_chance }}{% endif %}.
            Today's Forecast: High of {% if high_temp is number %}{{ high_temp | round(1) }}{{ unit }}{% else %}N/A{% endif %}, Low of {% if low_temp is number %}{{ low_temp | round(1) }}{{ unit }}{% else %}N/A{% endif %}.
          {% else %}
            Weather data for '{{ var_weather_entity }}' is currently unavailable (state: {{ w_state }}).
          {% endif %}
        {% elif var_weather_enabled %}
          Weather entity '{{ var_weather_entity }}' not configured or missing.
        {% endif %}
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ var_calendar_enabled and var_calendar_entities and
              (var_calendar_entities | length > 0 if var_calendar_entities is
              sequence else false) }}
        sequence:
          - action: calendar.get_events
            target:
              entity_id: "{{ var_calendar_entities }}"
            data:
              start_date_time: "{{ now().isoformat() }}"
              duration:
                hours: "{{ var_calendar_hours_ahead }}"
            response_variable: general_calendar_response
            continue_on_error: true
          - variables:
              calendar_event_info_str: |
                {% set lookahead = var_calendar_hours_ahead %}
                Upcoming Calendar Events (next {{ lookahead }} hours):
                {% set events_found = namespace(count=0) %}
                {% if general_calendar_response %}
                  {% for cal_id_resp, cal_data_resp in general_calendar_response.items() %}
                    {% if cal_data_resp and cal_data_resp.events and cal_data_resp.events | length > 0 %}
                      {% for event in cal_data_resp.events %}
                        {% set summary = event.summary | default('An unnamed engagement') %}
                        {% set event_start_value = event.start if event.start is defined else None %}
                        {% set display_time = 'Time/Date unavailable' %}
                        {% if event_start_value %}
                          {% set dt_object = event_start_value | as_datetime(default=None) %}
                          {% if dt_object is not none %}
                            {% set is_all_day_heuristic = (event_start_value is string and 'T' not in event_start_value and dt_object.hour == 0 and dt_object.minute == 0 and dt_object.second == 0) %}
                            {% if is_all_day_heuristic %}
                              {% set display_time = 'All day (' ~ dt_object.strftime('%a, %b %d') ~ ')' %}
                            {% else %}
                              {% set event_start_local_dt = dt_object | as_local %}
                              {% if event_start_local_dt is not none %}
                                {% set display_time = event_start_local_dt.strftime('%-I:%M %p on %a, %b %d') %}
                              {% else %}
                                {% set display_time = '(Local time conversion error)' %}
                              {% endif %}
                            {% endif %}
                          {% else %}
                            {% set display_time = '(Date/Time parse error)' %}
                          {% endif %}
                        {% else %}
                          {% set display_time = '(Start time missing)' %}
                        {% endif %}
                        - {{ summary }} ({{ display_time }})
                        {% set events_found.count = events_found.count + 1 %}
                      {% endfor %}
                    {% endif %}
                  {% endfor %}
                {% endif %}
                {% if events_found.count == 0 %}
                No upcoming events found for the next {{ lookahead }} hours.
                {% endif %}
    default:
      - variables:
          calendar_event_info_str: ""
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ var_special_occasions_enabled and
              var_special_occasions_calendar }}
        sequence:
          - action: calendar.get_events
            target:
              entity_id: "{{ var_special_occasions_calendar }}"
            data:
              start_date_time: >-
                {{ now().replace(hour=0, minute=0, second=0,
                microsecond=0).isoformat() }}
              end_date_time: >-
                {{ (now().replace(hour=0, minute=0, second=0, microsecond=0) +
                timedelta(days=1)).isoformat() }}
            response_variable: special_occasions_response
            continue_on_error: true
          - variables:
              special_occasion_info_str: >
                Special Occasions Today:

                {% set events_found = namespace(count=0) %}

                {% set cal_key = var_special_occasions_calendar %}

                {% if special_occasions_response and cal_key in
                special_occasions_response %}
                  {% set cal_data_resp = special_occasions_response[cal_key] %}
                  {% if cal_data_resp and cal_data_resp.events and cal_data_resp.events | length > 0 %}
                    {% for event in cal_data_resp.events %}
                      - {{ event.summary | default('A special occasion') }}
                      {% set events_found.count = events_found.count + 1 %}
                    {% endfor %}
                  {% endif %}
                {% endif %}

                {% if events_found.count == 0 %}

                No special occasions noted for today.

                {% endif %}
    default:
      - variables:
          special_occasion_info_str: ""
  - variables:
      custom_info_section_str: >
        {% if var_custom_text_enabled and var_custom_text_content | trim != ""
        %}

        A Special Note From The House:

        {{ var_custom_text_content }}

        {% endif %}
  - variables:
      final_ai_persona_instruction: >
        {% set tone_map = {
          "posh_butler": "You are an exceptionally polite, articulate, and deferential English butler. Use sophisticated vocabulary. Address the user with utmost respect.",
          "funny_witty": "You are a hilariously witty AI, prone to puns and amusing observations.",
          "professional": "You are a highly efficient, professional assistant. Your responses must be clear, concise, and factual.",
          "rude_helpful": "Alright, look, you're a grumpy, begrudgingly helpful AI. You'll give the information, but with a heavy sigh or a sarcastic quip.",
          "sarcastic_robot": "Statement: You are a sarcastic robot. Your responses should be dry and dripping with irony.",
          "pirate_captain": "Ahoy! Ye be a Pirate Captain, deliverin' the news with nautical nonsense.",
          "golden_retriever": "OMG! HI! You are an INCREDIBLY ENTHUSIASTIC golden retriever! Everything is THE BEST NEWS EVER!",
          "shakespearean_bard": "Hark! Thou art a Shakespearean bard, and thy words must flow with poetic grace.",
          "film_noir_detective": "The city's a cold, hard place. You're a world-weary film noir detective. Deliver the facts, straight, no chaser.",
          "zen_master": "Greetings. You are a calm, wise Zen Master. Offer information with tranquility."
        } %}

        {{ var_ai_base_prompt }}

        Your primary role is to provide a daily briefing.

        Adopt the following persona for your response: {{
        tone_map[var_message_tone] | default(tone_map['posh_butler']) }}

        Organize the information clearly. Use emojis if they genuinely enhance
        the message and fit your adopted persona.

        If there's no information for a section, acknowledge its absence in
        character.
      full_ai_prompt: >
        {{ final_ai_persona_instruction }}


        {{ time_of_day_greeting }}


        {% if var_weather_enabled and weather_info_str | trim != "" and "Weather
        Update:" in weather_info_str %}

        {{ weather_info_str }}

        {% endif %}


        {% if var_calendar_enabled and calendar_event_info_str | trim != "" and
        ("No upcoming events found" not in calendar_event_info_str) %}

        {{ calendar_event_info_str }}

        {% elif var_calendar_enabled %}

        Your calendar for the next {{ var_calendar_hours_ahead }} hours is
        delightfully clear!

        {% endif %}


        {% if var_special_occasions_enabled and special_occasion_info_str | trim
        != "" and ("No special occasions noted" not in
        special_occasion_info_str) %}

        {{ special_occasion_info_str }}

        {% elif var_special_occasions_enabled %}

        No special occasions on the docket for today.

        {% endif %}


        {% if var_custom_text_enabled and custom_info_section_str | trim != ""
        and "A Special Note From The House:" in custom_info_section_str %}

        {{ custom_info_section_str }}

        {% endif %}


        Please synthesize this into a single, coherent message, adhering to your
        persona. If a section is empty or explicitly states no information,
        acknowledge it cheerfully or omit it gracefully.
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{ var_ai_processing_method == 'ha_conversation_agent' and
              var_ha_conversation_agent_entity ==
              'conversation.google_generative_ai' }}
        sequence:
          - action: google_generative_ai_conversation.generate_content
            data:
              prompt: "{{ full_ai_prompt }}"
            response_variable: ai_response_full
            continue_on_error: true
          - variables:
              ai_generated_message: >
                {% if ai_response_full and ai_response_full.text %}
                  {{ ai_response_full.text }}
                {% elif ai_response_full and ai_response_full.candidates and
                ai_response_full.candidates[0].content and
                ai_response_full.candidates[0].content.parts and
                ai_response_full.candidates[0].content.parts[0].text %}
                  {{ ai_response_full.candidates[0].content.parts[0].text }}
                {% else %}
                  My apologies, the Google AI (via selected HA Agent path) seems to be at a loss for words. (Details: {{ ai_response_full }})
                {% endif %}
      - conditions:
          - condition: template
            value_template: "{{ var_ai_processing_method == 'ha_conversation_agent' }}"
          - condition: template
            value_template: >-
              {{ var_ha_conversation_agent_entity and
              states(var_ha_conversation_agent_entity) != 'unavailable' and
              states(var_ha_conversation_agent_entity) != 'unknown' }}
        sequence:
          - action: conversation.process
            target:
              entity_id: "{{ var_ha_conversation_agent_entity }}"
            data:
              text: "{{ full_ai_prompt }}"
            response_variable: ai_response_full
            continue_on_error: true
          - variables:
              ai_generated_message: >
                {% if ai_response_full and ai_response_full.response and
                ai_response_full.response.speech and
                ai_response_full.response.speech.plain %}
                  {{ ai_response_full.response.speech.plain.speech }}
                {% else %}
                  Pardon me, I couldn't get a clear response from my associate, {{ var_ha_conversation_agent_entity }}. (Details: {{ ai_response_full }})
                {% endif %}
      - conditions:
          - condition: template
            value_template: "{{ var_ai_processing_method == 'google_generative_ai_direct' }}"
        sequence:
          - action: google_generative_ai_conversation.generate_content
            data:
              prompt: "{{ full_ai_prompt }}"
            response_variable: ai_response_full
            continue_on_error: true
          - variables:
              ai_generated_message: >
                {% if ai_response_full and ai_response_full.text %}
                  {{ ai_response_full.text }}
                {% elif ai_response_full and ai_response_full.candidates and
                ai_response_full.candidates[0].content and
                ai_response_full.candidates[0].content.parts and
                ai_response_full.candidates[0].content.parts[0].text %}
                  {{ ai_response_full.candidates[0].content.parts[0].text }}
                {% else %}
                  The direct line to the Google Oracle seems to be fuzzy. (Details: {{ ai_response_full }})
                {% endif %}
    default:
      - variables:
          ai_generated_message: >-
            My apologies, I couldn't connect with the selected AI ('{{
            var_ai_processing_method }}'). Please check the AI configuration or
            the agent's status ('{{ var_ha_conversation_agent_entity if
            var_ai_processing_method == 'ha_conversation_agent' else 'Google
            Direct Call' }}').
  - action: "{{ var_notify_service }}"
    data: >
      {{ {'message': ai_generated_message} | combine(var_notification_data if
      var_notification_data is mapping else {}) }}
mode: single
max_exceeded: silent
variables:
  var_morning_time: "09:00:00"
  var_evening_time: "18:00:00"
  var_weather_enabled: true
  var_weather_entity: weather.outside_car_weather
  var_calendar_enabled: true
  var_calendar_entities:
    - calendar."removed"googlemail_com
    - calendar.chelsea_fixtures_2
    - calendar.foodwaste_out
    - calendar.recyling_out
    - calendar.house_hold_waste
    - calendar.england_fixtures
    - calendar.holidays_in_united_kingdom_3
  var_calendar_hours_ahead: 24
  var_special_occasions_enabled: true
  var_special_occasions_calendar: calendar.birthdays_3
  var_custom_text_enabled: false
  var_custom_text_content: ""
  var_message_tone: posh_butler
  var_ai_base_prompt: You are a helpful digital assistant. speak in a humorous way
  var_ai_processing_method: google_generative_ai_direct
  var_ha_conversation_agent_entity: conversation.google_ai_conversation
  var_notify_service: notify.mobile_app_richards_iphone
  var_notification_data: {}

a exampled reply

  Ah, good evening to you, esteemed patron! It is I, your most dedicated
  digital assistant, ever at your humble service, poised to deliver your
  evening's briefing with the customary punctiliousness.


  First, let us appraise the current state of our terrestrial environs. The
  atmospheric conditions presently indicate a rather agreeable 26.2 degrees
  Celsius, accompanied by a rather picturesque, albeit somewhat persistent,
  stratum of cloud cover. Regarding the likelihood of any aqueous
  precipitation, my humble systems, alas, find themselves in a state of
  curious bewilderment, unable to furnish a definitive prognosis at this
  juncture. Similarly, the full diurnal scope of temperature fluctuations,
  encompassing both the day's apex and its nadir, remains, I regret to
  inform, a delightful mystery for today. One simply must embrace the
  glorious uncertainty, mustn't one?


  Now, directing our attention to the meticulous registry of your
  forthcoming engagements for the next twenty-four hours. I have
  meticulously perused the calendar, and it appears there is but one most
  intriguing appointment gracing your esteemed schedule: 🗓️ "The Big Bug
  Hunt with Anna Outdoors," an enthralling expedition slated for precisely
  10:00 AM on Thursday, August 14th. Do ensure you have your most sturdy
  magnifying glass at the ready for such a splendid adventure!


  As for any special occasions or momentous commemorations, I must dutifully
  report that today appears to be delightfully devoid of such pre-ordained
  festivities. A tranquil interlude, perhaps, for a quiet moment of
  reflection or the indulgence in a particularly refined vintage of
  Darjeeling.


  Should there be any further assistance required, pray do not hesitate to
  articulate your esteemed needs. Until our next communication, I bid you a
  most salubrious evening.
2 Likes

I need help with home assistant

1 Like

Any concern with attaching the Aqara shutoff to pex type plumbing? I have copper on one end of my existing shutoff valve and pex on the other end and am worried about the force from the aqara shutoff on the pex side

1 Like