AutomationDataset/Desperado88/Desperado88_automations.yaml

703 lines
31 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- id: karotz_dev_horloge_parlante_automation
alias: Karotz dev - Annonce de l'heure
description: Fait annoncer l'heure par le Karotz dev toutes les heures
trigger:
- trigger: time_pattern
minutes: '0'
condition:
- condition: time
after: 07:00:00
before: '20:00:00'
action:
- action: rest_command.karotz_dev_clock
- alias: karotz_dev - Courrier retirée
description: ''
triggers:
- entity_id: binary_sensor.eth01_status_lettre
to: 'off'
trigger: state
actions:
- data:
entity_id: input_number.karotz_dev_ear_left
value: '{{ states(''input_number.karotz_dev_saved_ear_left'') | int }}'
action: input_number.set_value
- data:
entity_id: input_number.karotz_dev_ear_right
value: '{{ states(''input_number.karotz_dev_saved_ear_right'') | int }}'
action: input_number.set_value
- data:
entity_id: input_text.karotz_dev_color_1
value: '{{ states(''input_text.karotz_dev_saved_color_1'') }}'
action: input_text.set_value
- data:
entity_id: input_text.karotz_dev_color_2
value: '{{ states(''input_text.karotz_dev_saved_color_2'') }}'
action: input_text.set_value
- data:
entity_id: input_number.karotz_dev_light_speed
value: '{{ states(''input_number.karotz_dev_saved_light_speed'') | int }}'
action: input_number.set_value
- action: rest_command.karotz_dev_light
data: {}
- action: rest_command.karotz_dev_ears
data: {}
- alias: karotz_dev - Il y a du courrier
description: ''
triggers:
- minutes: '45'
trigger: time_pattern
conditions:
- condition: time
after: 07:00:00
before: '20:00:00'
enabled: true
- condition: state
entity_id: binary_sensor.eth01_status_lettre
state: 'on'
actions:
- data:
entity_id: input_text.karotz_dev_saved_color_1
value: '{{ states(''input_text.karotz_dev_color_1'') }}'
action: input_text.set_value
- data:
entity_id: input_text.karotz_dev_saved_color_2
value: '{{ states(''input_text.karotz_dev_color_2'') }}'
action: input_text.set_value
- data:
entity_id: input_number.karotz_dev_saved_light_speed
value: '{{ states(''input_number.karotz_dev_light_speed'') | int }}'
action: input_number.set_value
- data:
entity_id: input_number.karotz_dev_saved_ear_left
value: '{{ states(''input_number.karotz_dev_ear_left'') | int }}'
action: input_number.set_value
- data:
entity_id: input_number.karotz_dev_saved_ear_right
value: '{{ states(''input_number.karotz_dev_ear_right'') | int }}'
action: input_number.set_value
- data:
text: "{% set phrases = [\n \"Une lettre cosmique vient d'atterrir.\",\n \"\
Le courrier est arrivé, capitaine.\",\n \"Message en provenance d'une autre\
\ galaxie détecté.\",\n \"Il y a du courrier dans la boîte aux lettres.\"\
,\n \"Le facteur stellaire a fait sa livraison.\"\n] %} {{ phrases | random\
\ }}\n"
action: rest_command.karotz_dev_say
- data:
entity_id: input_text.karotz_dev_color_1
value: 00FF00
action: input_text.set_value
- action: input_boolean.turn_on
target:
entity_id: input_boolean.karotz_dev_light_fixed_mode
data: {}
- delay:
hours: 0
minutes: 0
seconds: 1
milliseconds: 0
- action: rest_command.karotz_dev_light_fixed
metadata: {}
data: {}
- alias: karotz_dev - Cuisine
description: karotz_dev réagit à l'allumage de la cuisine, puis reprend son état
triggers:
- type: turned_on
device_id: 26e2c20e7bdc25f3ee9e158db8a7ada9
entity_id: 4047c432f33eacd0d26280b195f15772
domain: switch
trigger: device
conditions: []
actions:
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- variables:
ear_left_prev: '{{ states(''input_number.karotz_dev_ear_left'') | int }}'
ear_right_prev: '{{ states(''input_number.karotz_dev_ear_right'') | int }}'
color1_prev: '{{ states(''input_text.karotz_dev_color_1'') }}'
color2_prev: '{{ states(''input_text.karotz_dev_color_2'') }}'
speed_prev: '{{ states(''input_number.karotz_dev_light_speed'') | int }}'
- action: rest_command.karotz_dev_ears_random
data: {}
- data:
text: "{% set phrases = [\n \"Huuuuuummm, ça sent bon la carotte ici !\",\n\
\ \"Tu cuisines ou tu fais une potion magique ?\",\n \"Attention à ne pas\
\ brûler les poêles, cest pas un barbekiou !\",\n \"Le chef karotz dev est\
\ impressionné !\",\n \"Jespère que cest pour moi ce festin !\"\n] %} {{\
\ phrases | random }}\n"
action: rest_command.karotz_dev_say
- data:
value: '{{ ear_left_prev }}'
target:
entity_id: input_number.karotz_dev_ear_left
action: input_number.set_value
- data:
value: '{{ ear_right_prev }}'
target:
entity_id: input_number.karotz_dev_ear_right
action: input_number.set_value
- data:
entity_id: input_text.karotz_dev_color_1
value: '{{ color1_prev }}'
action: input_text.set_value
- data:
entity_id: input_text.karotz_dev_color_2
value: '{{ color2_prev }}'
action: input_text.set_value
- data:
entity_id: input_number.karotz_dev_light_speed
value: '{{ speed_prev }}'
action: input_number.set_value
- action: rest_command.karotz_dev_light
data: {}
- action: rest_command.karotz_dev_ears
data: {}
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
mode: single
- alias: karotz_dev - test tag
description: ''
triggers:
- webhook_id: tag-lapin-test
allowed_methods:
- GET
local_only: true
trigger: webhook
conditions: []
actions:
- data:
text: Bonjour, je m'appel karotz !
action: rest_command.karotz_dev_say
mode: single
- alias: karotz_dev - Son sur ouverture porte garage
description: Joue le son 'bling' quand la porte du garage s'ouvre
triggers:
- entity_id: binary_sensor.porte_garage
to: 'on'
trigger: state
conditions: []
actions:
- data:
sound: jet1
action: rest_command.karotz_dev_sound
- data:
text: "{% set phrases = [\n \"La porte du hangar spatial est ouverte.\",\n\
\ \"Le sas du garage est désormais déverrouillé.\",\n \"Ouverture du portail\
\ galactique confirmée.\",\n \"Le garage s'ouvre sur l'infini et au-delà.\"\
,\n \"Accès au vaisseau terrestre autorisé.\"\n] %} {{ phrases | random }}\n"
action: rest_command.karotz_dev_say
mode: single
- alias: Karotz - Réveil à 8h
trigger:
- platform: time
at: 08:00:00
action:
- service: rest_command.karotz_dev_wakeup
- delay: 00:00:05
- service: script.karotz_daily_loop
- alias: Karotz - Rappel déjeuner (12h30)
trigger:
- platform: time
at: '12:30:00'
action:
- service: script.karotz_intro_effect
- delay: 00:00:01
- service: rest_command.karotz_dev_say
data:
text: '{{ state_attr(''input_select.karotz_meal_phrases'',''options'') | random
}}'
- alias: Karotz - Rappel départ (16h30)
trigger:
- platform: time
at: '16:30:00'
action:
- service: script.karotz_intro_effect
- delay: 00:00:01
- service: rest_command.karotz_dev_say
data:
text: '{{ state_attr(''input_select.karotz_departure_phrases'',''options'')
| random }}'
- alias: Karotz - Sommeil à 17h
trigger:
- platform: time
at: '17:00:00'
action:
- service: rest_command.karotz_dev_sleep
- id: karotz_dev_on_automation
alias: karotz_dev On
trigger:
- trigger: state
entity_id: sensor.karotz_dev_status
attribute: sleep
to: '0'
action:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.karotz_dev_awake
- id: karotz_dev_off_automation
alias: karotz_dev Off
trigger:
- trigger: state
entity_id: sensor.karotz_dev_status
attribute: sleep
to: '1'
action:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.karotz_dev_awake
- id: karotz_dev_color_automation
alias: karotz_dev Update Color
trigger:
- trigger: state
entity_id:
- input_text.karotz_dev_color_1
- input_text.karotz_dev_color_2
- input_number.karotz_dev_light_speed
action:
- action: rest_command.karotz_dev_light
- id: karotz_dev_ear_automation
alias: karotz_dev Update Ears
trigger:
- trigger: state
entity_id:
- input_number.karotz_dev_ear_left
- input_number.karotz_dev_ear_right
action:
- action: rest_command.karotz_dev_ears
- id: karotz_dev_light_mode_automation
alias: karotz_dev Light Mode Automation
trigger:
- trigger: state
entity_id: input_boolean.karotz_dev_light_fixed_mode
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.karotz_dev_light_fixed_mode
state: 'on'
sequence:
- action: rest_command.karotz_dev_light_fixed
- conditions:
- condition: state
entity_id: input_boolean.karotz_dev_light_fixed_mode
state: 'off'
sequence:
- action: rest_command.karotz_dev_light
- id: karotz_dev_volume_automation
alias: karotz_dev Update Volume
trigger:
- trigger: state
entity_id: input_number.karotz_dev_volume
action:
- action: rest_command.karotz_dev_volume
data:
level: '{{ states(''input_number.karotz_dev_volume'') | int }}'
- id: karotz_dev_clear_cache_auto
alias: karotz_dev - Clear cache si mémoire > 80%
trigger:
- trigger: numeric_state
entity_id: sensor.karotz_dev_status
above: 80
action:
- action: rest_command.karotz_dev_clear_cache
- id: karotz_dev_meteo_automation
alias: karotz_dev - Réaction météo h/30
description: Adapte les oreilles, la LED et le clignotement selon les conditions
météo
trigger:
- trigger: time_pattern
minutes: '30'
condition:
- condition: time
after: 07:00:00
before: '19:00:00'
actions:
- action: rest_command.karotz_dev_say
data:
text: Voici la météo.
- action: rest_command.karotz_dev_ears_reset
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_left
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_right
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_1
value: '{% set temp = states(''sensor.pac_atom_temp_ext'') | default(20) | float
%} {% if temp <= -10 %}ADD8E6 {% elif temp <= -5 %}87CEFA {% elif temp <=
0 %}00CED1 {% elif temp <= 5 %}40E0D0 {% elif temp <= 10 %}90EE90 {% elif
temp <= 15 %}ADFF2F {% elif temp <= 20 %}FFD700 {% elif temp <= 25 %}FFA500
{% elif temp <= 30 %}FF4500 {% else %}FF0000{% endif %}
'
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_2
value: '000000'
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_light_speed
value: '{% set wind = states(''sensor.weather_station_vitesse_moyenne_du_vent_km_h'')
| default(0) | float %} {% set base = 2000 %} {% set min_speed = 100 %} {%
set decrement = ((wind // 5) * 150) %} {% set result = base - decrement %}
{% if result < min_speed %}{{ min_speed }}{% elif result > base %}{{ base
}}{% else %}{{ result | int }}{% endif %}
'
- action: rest_command.karotz_dev_light
- action: rest_command.karotz_dev_ears
- action: rest_command.karotz_dev_say
data:
text: "{% set temp_str = states('sensor.pac_atom_temp_ext') %} {% set temp =\
\ temp_str if temp_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 20 %} {% set temp = temp | float %}\n{% set wind_str = states('sensor.weather_station_vitesse_moyenne_du_vent_km_h')\
\ %} {% set wind = wind_str if wind_str not in ['unavailable', 'unknown',\
\ 'none', ''] else 0 %} {% set wind = wind | float %}\n{% set rain_str = states('sensor.[ville]_rain_chance')\
\ %} {% set rain = rain_str if rain_str not in ['unavailable', 'unknown',\
\ 'none', ''] else 0 %} {% set rain = rain | float %}\n{% set alerte = states('sensor.44_weather_alert')\
\ | default('') | lower %}\nLa température est de {{ temp | round(0) }} degrés.\
\ Le vent souffle à {{ wind | round(0) }} kilomètres par heure. Le risque\
\ de pluie est de {{ rain | round(0) }} pourcents. {% if 'orange' in alerte\
\ %}\n Attention, une alerte météo orange est en cours.\n{% elif 'rouge'\
\ in alerte %}\n Attention, une alerte météo rouge est en cours. Restez vigilant.\n\
{% endif %}"
mode: single
- id: karotz_dev_meteo_jour
alias: karotz_dev - Météo du jour 7h15
description: Annonce la météo du jour via Karotz_dev
triggers:
- trigger: time
at: 07:15:00
conditions: []
actions:
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_left
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_right
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_1
value: '{% set temp = state_attr(''sensor.prevision_meteo_aujourd_hui'', ''temperature'')
| default(20) | float %} {% if temp <= -10 %}ADD8E6 {% elif temp <= -5 %}87CEFA
{% elif temp <= 0 %}00CED1 {% elif temp <= 5 %}40E0D0 {% elif temp <= 10 %}90EE90
{% elif temp <= 15 %}ADFF2F {% elif temp <= 20 %}FFD700 {% elif temp <= 25
%}FFA500 {% elif temp <= 30 %}FF4500 {% else %}FF0000{% endif %}
'
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_light_speed
value: '{% set wind = state_attr(''sensor.prevision_meteo_aujourd_hui'', ''wind_speed'')
| default(0) | float %} {% set base = 2000 %} {% set min_speed = 100 %} {%
set decrement = ((wind // 5) * 150) %} {% set result = base - decrement %}
{% if result < min_speed %}{{ min_speed }}{% elif result > base %}{{ base
}}{% else %}{{ result | int }}{% endif %}
'
- action: rest_command.karotz_dev_light
- action: rest_command.karotz_dev_ears
- action: rest_command.karotz_dev_say
metadata: {}
data:
text: "{% set conditions = {\n 'sunny': 'ensoleillé',\n 'clear-night': 'nuit\
\ dégagée',\n 'cloudy': 'nuageux',\n 'partlycloudy': 'partiellement nuageux',\n\
\ 'fog': 'brouillard',\n 'windy': 'venteux',\n 'windy-variant': 'variablement\
\ venteux',\n 'hail': 'grêle',\n 'lightning': 'orages',\n 'lightning-rainy':\
\ 'orages avec pluie',\n 'pouring': 'fortes pluies',\n 'rainy': 'pluvieux',\n\
\ 'snowy': 'enneigé',\n 'snowy-rainy': 'neige et pluie',\n 'exceptional':\
\ 'conditions exceptionnelles'\n} %} {% set condition = states('sensor.prevision_meteo_aujourd_hui')\
\ %} {% set condition_fr = conditions.get(condition, condition) %}\nVoici\
\ la météo prévue pour aujourd'hui. Le temps sera {{ condition_fr }}. Température\
\ maximale : {{\n state_attr('sensor.prevision_meteo_aujourd_hui', 'temperature')\
\ | default(0) | float | round(0)\n}} degrés. Température minimale : {{\n\
\ state_attr('sensor.prevision_meteo_aujourd_hui', 'templow') | default(0)\
\ | float | round(0)\n}} degrés. {% set pluie = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'precipitation_probability') %} {% if pluie != 'n/a' and pluie is not none\
\ %}\n Risque de pluie : {{ pluie }} pourcents.\n{% endif %} {% set nuages\
\ = state_attr('sensor.prevision_meteo_aujourd_hui', 'cloud_coverage') %}\
\ {% if nuages != 'n/a' and nuages is not none %}\n Couverture nuageuse :\
\ {{ nuages }} pourcents.\n{% endif %} Vent : {{\n state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'wind_speed') | default(0) | float | round(0)\n}} kilomètres par heure.\
\ {% set uv =\n state_attr('sensor.prevision_meteo_aujourd_hui', 'uv_index')\
\ |\n default(0) %} Indice UV : {{ uv }} sur 10."
mode: single
- id: karotz_dev_meteo_demain
alias: Karotz_dev - Météo de demain à 19h05
description: Annonce la météo de demain via Karotz_dev
triggers:
- trigger: time
at: '19:05:00'
conditions: []
actions:
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_left
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_right
value: "{% set rain_str = states('sensor.[ville]_rain_chance') %} {% set rain\
\ = rain_str if rain_str not in ['unavailable', 'unknown', 'none', ''] else\
\ 0 %} {% set rain = rain | float %} {% if rain < 5 %}\n {{ 15 }}\n{% elif\
\ rain > 60 %}\n {{ 4 }}\n{% else %}\n {{ (15 - ((rain - 5) // 5)) | int\
\ }}\n{% endif %}\n"
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_1
value: '{% set temp = state_attr(''sensor.prevision_meteo_aujourd_hui'', ''temperature'')
| default(20) | float %} {% if temp <= -10 %}ADD8E6 {% elif temp <= -5 %}87CEFA
{% elif temp <= 0 %}00CED1 {% elif temp <= 5 %}40E0D0 {% elif temp <= 10 %}90EE90
{% elif temp <= 15 %}ADFF2F {% elif temp <= 20 %}FFD700 {% elif temp <= 25
%}FFA500 {% elif temp <= 30 %}FF4500 {% else %}FF0000{% endif %}
'
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_light_speed
value: '{% set wind = state_attr(''sensor.prevision_meteo_aujourd_hui'', ''wind_speed'')
| default(0) | float %} {% set base = 2000 %} {% set min_speed = 100 %} {%
set decrement = ((wind // 5) * 150) %} {% set result = base - decrement %}
{% if result < min_speed %}{{ min_speed }}{% elif result > base %}{{ base
}}{% else %}{{ result | int }}{% endif %}
'
- action: rest_command.karotz_dev_light
- action: rest_command.karotz_dev_ears
- action: rest_command.karotz_dev_say
metadata: {}
data:
text: "{% set conditions = {\n 'sunny': 'ensoleillé',\n 'clear-night': 'nuit\
\ dégagée',\n 'cloudy': 'nuageux',\n 'partlycloudy': 'partiellement nuageux',\n\
\ 'fog': 'brouillard',\n 'windy': 'venteux',\n 'windy-variant': 'variablement\
\ venteux',\n 'hail': 'grêle',\n 'lightning': 'orages',\n 'lightning-rainy':\
\ 'orages avec pluie',\n 'pouring': 'fortes pluies',\n 'rainy': 'pluvieux',\n\
\ 'snowy': 'enneigé',\n 'snowy-rainy': 'neige et pluie',\n 'exceptional':\
\ 'conditions exceptionnelles'\n} %} {% set condition = states('sensor.prevision_meteo_demain')\
\ %} {% set condition_fr = conditions.get(condition, condition) %}\nVoici\
\ la météo prévue pour demain. Le temps sera {{ condition_fr }}. Température\
\ maximale : {{ state_attr('sensor.prevision_meteo_demain', 'temperature')\
\ | default(0) | float | round(0) }} degrés. Température minimale : {{ state_attr('sensor.prevision_meteo_demain',\
\ 'templow') | default(0) | float | round(0) }} degrés. {% set pluie = state_attr('sensor.prevision_meteo_demain',\
\ 'precipitation_probability') %} {% if pluie != 'n/a' %}\n Risque de pluie\
\ : {{ pluie }} pourcents. \n{% endif %} {% set nuages = state_attr('sensor.prevision_meteo_demain',\
\ 'cloud_coverage') %} {% if nuages != 'n/a' %} \n Couverture nuageuse :\
\ {{ nuages }} pourcents. \n{% endif %} Vent : {{ state_attr('sensor.prevision_meteo_demain',\
\ 'wind_speed') | default(0) | float | round(0) }} kilomètres par heure. \
\ Indice UV : {{ state_attr('sensor.prevision_meteo_demain', 'uv_index') }}\
\ sur 10."
mode: single
- id: karotz_dev_meteo_automation
alias: karotz_dev - Réaction météo
description: Adapte les oreilles, la LED et le clignotement selon les conditions
météo
trigger:
- trigger: time_pattern
minutes: '15'
condition:
- condition: time
after: 07:00:00
before: '19:00:00'
actions:
- action: rest_command.karotz_dev_say
data:
text: Voici la météo.
- action: rest_command.karotz_dev_ears_reset
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_left
value: "{% set rain = states('sensor.[ville]_rain_chance') | default(0) | float\
\ %} {% if rain < 5 %}\n {{ 15 }}\n{% elif rain > 60 %}\n {{ 4 }}\n{% else\
\ %}\n {{ (15 - ((rain - 5) // 5)) | int }}\n{% endif %}\n"
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_right
value: "{% set rain = states('sensor.[ville]_rain_chance') | default(0) | float\
\ %} {% if rain < 5 %}\n {{ 15 }}\n{% elif rain > 60 %}\n {{ 4 }}\n{% else\
\ %}\n {{ (15 - ((rain - 5) // 5)) | int }}\n{% endif %}\n"
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_1
value: '{% set temp = states(''sensor.[temperature]'') | default(20) | float
%} {% if temp <= -10 %}ADD8E6 {% elif temp <= -5 %}87CEFA {% elif temp <=
0 %}00CED1 {% elif temp <= 5 %}40E0D0 {% elif temp <= 10 %}90EE90 {% elif
temp <= 15 %}ADFF2F {% elif temp <= 20 %}FFD700 {% elif temp <= 25 %}FFA500
{% elif temp <= 30 %}FF4500 {% else %}FF0000{% endif %}
'
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_2
value: '000000'
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_light_speed
value: '{% set wind = states(''sensor.[vitesse du vent]'') | default(0) | float
%} {% set base = 2000 %} {% set min_speed = 100 %} {% set decrement = ((wind
// 5) * 150) %} {% set result = base - decrement %} {% if result < min_speed
%}{{ min_speed }}{% elif result > base %}{{ base }}{% else %}{{ result | int
}}{% endif %}
'
- action: rest_command.karotz_dev_light
- action: rest_command.karotz_dev_ears
- action: rest_command.karotz_dev_say
data:
text: "La température est de {{ states('sensor.[temperature]') | default(20)\
\ | float | round(0) }} degrés. Le vent souffle à {{ states('sensor.[vitesse\
\ du vent]') | default(0) | float | round(0) }} kilomètres par heure. Le risque\
\ de pluie est de {{ states('sensor.[ville]_rain_chance') | default(0) | float\
\ | round(0) }} pourcents. {% set alerte = states('sensor.44_weather_alert')\
\ | default('') | lower %} {% if 'orange' in alerte %}\n Attention, une alerte\
\ météo **orange** est en cours.\n{% elif 'rouge' in alerte %}\n Attention,\
\ une alerte météo **rouge** est en cours. Restez vigilant.\n{% endif %}"
mode: single
- alias: Karotz_dev - Météo de demain à 19h05
description: Annonce la météo de demain via Karotz_dev
triggers:
- trigger: time
at: '19:05:00'
conditions: []
actions:
- action: rest_command.karotz_dev_say
metadata: {}
data:
text: "{% set conditions = {\n 'sunny': 'ensoleillé',\n 'clear-night': 'nuit\
\ dégagée',\n 'cloudy': 'nuageux',\n 'partlycloudy': 'partiellement nuageux',\n\
\ 'fog': 'brouillard',\n 'windy': 'venteux',\n 'windy-variant': 'variablement\
\ venteux',\n 'hail': 'grêle',\n 'lightning': 'orages',\n 'lightning-rainy':\
\ 'orages avec pluie',\n 'pouring': 'fortes pluies',\n 'rainy': 'pluvieux',\n\
\ 'snowy': 'enneigé',\n 'snowy-rainy': 'neige et pluie',\n 'exceptional':\
\ 'conditions exceptionnelles'\n} %} {% set condition = states('sensor.prevision_meteo_demain')\
\ %} {% set condition_fr = conditions.get(condition, condition) %}\nVoici\
\ la météo prévue pour demain. Le temps sera {{ condition_fr }}. Température\
\ maximale : {{ state_attr('sensor.prevision_meteo_demain', 'temperature')\
\ | default(0) | float | round(0) }} degrés. Température minimale : {{ state_attr('sensor.prevision_meteo_demain',\
\ 'templow') | default(0) | float | round(0) }} degrés. {% set pluie = state_attr('sensor.prevision_meteo_demain',\
\ 'precipitation_probability') %} {% if pluie != 'n/a' %}\n Risque de pluie\
\ : {{ pluie }} pourcents. \n{% endif %} {% set nuages = state_attr('sensor.prevision_meteo_demain',\
\ 'cloud_coverage') %} {% if nuages != 'n/a' %} \n Couverture nuageuse :\
\ {{ nuages }} pourcents. \n{% endif %} Vent : {{ state_attr('sensor.prevision_meteo_demain',\
\ 'wind_speed') | default(0) | float | round(0) }} kilomètres par heure. \
\ Indice UV : {{ state_attr('sensor.prevision_meteo_demain', 'uv_index') }}\
\ sur 10."
mode: single
- id: karotz_dev_meteo_jour
alias: karotz_dev - Météo du jour 7h15
description: Annonce la météo du jour via Karotz_dev
triggers:
- trigger: time
at: 07:15:00
conditions: []
actions:
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_left
value: "{% set pluie_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'precipitation_probability') %} {% set pluie = pluie_str if pluie_str not\
\ in ['unavailable', 'unknown', 'none', '', 'n/a'] else 0 %} {% set pluie\
\ = pluie | float %} {% if pluie < 5 %}\n {{ 15 }}\n{% elif pluie > 60 %}\n\
\ {{ 4 }}\n{% else %}\n {{ (15 - ((pluie - 5) // 5)) | int }}\n{% endif\
\ %}\n"
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_ear_right
value: "{% set pluie_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'precipitation_probability') %} {% set pluie = pluie_str if pluie_str not\
\ in ['unavailable', 'unknown', 'none', '', 'n/a'] else 0 %} {% set pluie\
\ = pluie | float %} {% if pluie < 5 %}\n {{ 15 }}\n{% elif pluie > 60 %}\n\
\ {{ 4 }}\n{% else %}\n {{ (15 - ((pluie - 5) // 5)) | int }}\n{% endif\
\ %}\n"
- action: input_text.set_value
data:
entity_id: input_text.karotz_dev_color_1
value: '{% set temp_str = state_attr(''sensor.prevision_meteo_aujourd_hui'',
''temperature'') %} {% set temp = temp_str if temp_str not in [''unavailable'',
''unknown'', ''none'', '''', ''n/a''] else 20 %} {% set temp = temp | float
%} {% if temp <= -10 %}ADD8E6 {% elif temp <= -5 %}87CEFA {% elif temp <=
0 %}00CED1 {% elif temp <= 5 %}40E0D0 {% elif temp <= 10 %}90EE90 {% elif
temp <= 15 %}ADFF2F {% elif temp <= 20 %}FFD700 {% elif temp <= 25 %}FFA500
{% elif temp <= 30 %}FF4500 {% else %}FF0000{% endif %}
'
- action: input_number.set_value
data:
entity_id: input_number.karotz_dev_light_speed
value: '{% set wind_str = state_attr(''sensor.prevision_meteo_aujourd_hui'',
''wind_speed'') %} {% set wind = wind_str if wind_str not in [''unavailable'',
''unknown'', ''none'', '''', ''n/a''] else 0 %} {% set wind = wind | float
%} {% set base = 2000 %} {% set min_speed = 100 %} {% set decrement = ((wind
// 5) * 150) %} {% set result = base - decrement %} {% if result < min_speed
%}{{ min_speed }}{% elif result > base %}{{ base }}{% else %}{{ result | int
}}{% endif %}
'
- action: rest_command.karotz_dev_light
- action: rest_command.karotz_dev_ears
- action: rest_command.karotz_dev_say
metadata: {}
data:
text: "{% set conditions = {\n 'sunny': 'ensoleillé',\n 'clear-night': 'nuit\
\ dégagée',\n 'cloudy': 'nuageux',\n 'partlycloudy': 'partiellement nuageux',\n\
\ 'fog': 'brouillard',\n 'windy': 'venteux',\n 'windy-variant': 'variablement\
\ venteux',\n 'hail': 'grêle',\n 'lightning': 'orages',\n 'lightning-rainy':\
\ 'orages avec pluie',\n 'pouring': 'fortes pluies',\n 'rainy': 'pluvieux',\n\
\ 'snowy': 'enneigé',\n 'snowy-rainy': 'neige et pluie',\n 'exceptional':\
\ 'conditions exceptionnelles'\n} %} {% set condition = states('sensor.prevision_meteo_aujourd_hui')\
\ %} {% set condition_fr = conditions.get(condition, condition) %}\nVoici\
\ la météo prévue pour aujourd'hui. Le temps sera {{ condition_fr }}. \n{%\
\ set temp_str = state_attr('sensor.prevision_meteo_aujourd_hui', 'temperature')\
\ %} {% if temp_str not in ['unavailable', 'unknown', 'none', '', 'n/a'] %}\n\
\ Température maximale : {{ temp_str | float | round(0) }} degrés.\n{% endif\
\ %}\n{% set temp_min_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'templow') %} {% if temp_min_str not in ['unavailable', 'unknown', 'none',\
\ '', 'n/a'] %}\n Température minimale : {{ temp_min_str | float | round(0)\
\ }} degrés.\n{% endif %}\n{% set pluie_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'precipitation_probability') %} {% if pluie_str not in ['unavailable', 'unknown',\
\ 'none', '', 'n/a'] %}\n Risque de pluie : {{ pluie_str }} pourcents.\n\
{% endif %}\n{% set nuages_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'cloud_coverage') %} {% if nuages_str not in ['unavailable', 'unknown',\
\ 'none', '', 'n/a'] %}\n Couverture nuageuse : {{ nuages_str }} pourcents.\n\
{% endif %}\n{% set vent_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'wind_speed') %} {% if vent_str not in ['unavailable', 'unknown', 'none',\
\ '', 'n/a'] %}\n Vent : {{ vent_str | float | round(0) }} kilomètres par\
\ heure.\n{% endif %}\n{% set uv_str = state_attr('sensor.prevision_meteo_aujourd_hui',\
\ 'uv_index') %} {% if uv_str not in ['unavailable', 'unknown', 'none', '',\
\ 'n/a'] %}\n Indice UV : {{ uv_str }} sur 10.\n{% endif %}\n{% set source\
\ = state_attr('sensor.prevision_meteo_aujourd_hui', 'source') | default('Météo-France')\
\ %} {% if source == 'Sauvegarde de la veille' %}\n Données basées sur les\
\ prévisions de la veille.\n{% endif %}"
mode: single