McFly
Septembre 5, 2020, 6:59
2
Belle explication de ton automatisation avec de bon détails pour les automatisations en yaml
Quel plaisir de voir du YAML
Super tuto et très sympa à lire.
Faut monter le FLDY (Front libérateur du YAML) contre l’envahisseur Node-Red !
2 « J'aime »
Makai
Septembre 6, 2020, 1:18
5
Hello,
On peut simplifier encore et faire une seule automatisation :
- alias: "Notification pour alerte météo"
description: "Envoie une notification sur Telegram si une alerte météo est levée par Météo-France"
id: bb9f2730-ee77-11ea-9220-4198f0db79cf
trigger:
- platform: state
entity_id: sensor.home_weather_alert
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: ['Jaune', 'Orange', 'Rouge'] # Filtre le 'unavailable'
sequence:
- service: notify.telegram
data_template:
message: "Alerte météo {{states('sensor.home_weather_alert')}} en cours:\n
{%- for attr in ['Vent violent', 'Pluie-inondation', 'Orages', 'Inondation', 'Neige-verglas',
'Canicule', 'Grand-froid', 'Avalanches', 'Vagues-submersion'] -%}
{%- if state_attr('sensor.home_weather_alert', attr) != 'Vert' and state_attr('sensor.home_weather_alert', attr) != None %}\n
- {{attr}} : {{state_attr('sensor.home_weather_alert', attr)}}
{%- endif -%}
{% endfor -%}"
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: 'Vert'
- condition: template
value_template: "{{ trigger.from_state.state != 'unavailable' }}"
sequence:
- service: notify.telegram
data_template:
message: "Fin de l'alerte météo."
2 « J'aime »
Pour celles et ceux qui veulent en savoir plus sur la méthode de @Makai , voici le lien vers la documentation :
Effectivement la version de @Makai est plus optimisée. La fonctions choose
a été implémentée avec la version 0.113.0 de Home Assistant core, et je n’avais pas encore pris le temps de revoir ma config avec cette nouvelle possibilité. Merci
Pour reprendre l’esprit du poste initial. Voici les explications.
Nous n’utilisons pas la première clé condition
car nous allons définir un arbre de décision avec la clé choose
un peu plus loin. Chaque possibilité aura son propre jeu de conditions.
condition: []
Dans la section ou nous définissons les actions à réaliser (clé action
), nous utilisons la clé choose
pour implémenter un arbre de décision avec plusieurs conditions. Uniquement la première des conditions vraie déclenche les actions dans la séquence attachée.
Le premier choix vérifie une condition sur l’état de l’entité. La condition est vraie si l’état est Jaune
, Orange
ou Rouge
. Cela permet d’éviter le cas unavailable
(cf. premier post de cette discussion). Dans ce cas il lance l’action qui génère la première notification correspondant au début d’une alerte météo comme je l’avais fait initialement.
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: ['Jaune', 'Orange', 'Rouge'] # Filtre le 'unavailable'
sequence:
- service: notify.telegram
...
Le second choix teste si l’état est revenu à Vert
. Nous ajoutons comme dans la version précédente un test pour vérifier que l’état précédent n’était pas unavailable
pour éviter une notification parasite. Et lance la notification de fin d’alerte météo.
- conditions:
- condition: state
entity_id: sensor.home_weather_alert
state: 'Vert'
- condition: template
value_template: "{{ trigger.from_state.state != 'unavailable' }}"
sequence:
- service: notify.telegram
...
1 « J'aime »
Makai
Septembre 7, 2020, 4:30
8
Et avec la 0.115 on pourra encore simplifier tout ça !
Çà m’intéresse, tu as un lien ?
Je vais commencer la refonte de mon code qui commence à dater et surtout des premiers bouts de code qui parfois même s’il font le boulot sont
Suivant l’info, je vais peut être attendre…
Makai
Septembre 7, 2020, 7:36
10
Pour l’instant je suis les PR et vois donc les « nouveautés » qui vont arriver.
Avec le mois du « What the Heck? », pas mal de petites choses ont été améliorées et tout ça va sortir avec la 0.115.
Quelques exemples :
home-assistant:dev
← home-assistant:frenck-2020-0753
opened 12:24PM - 24 Aug 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
Based on: <https://community.home-assistant.io/t/stop-requiring-magic-to-enable-templates/219523>
Continuation of #39128 (which GitHub doesn't allowed to be re-opened).
This PR removes the need for `service_template` & `data_template` in service and event actions. Instead, `service` & `data` now accept templates.
If the string passed into `data` and `service` isn't a template, it will be handled normally as before.
This change is backward compatible, as `data_template` & `service_template` are still processed as before (however, they are not needed anymore).
Also fixes a regression introduced in #39008, that allowed `data_template` to be a non-dictionary value.
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14292
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [x] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
home-assistant:dev
← home-assistant:frenck-2020-0782
opened 11:20PM - 06 Sep 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
Support for using `for` automation state triggers without specifying a `to`-state.
Similar to #39480, which implements a `for` when specifying a `from`-state.
WTH Topic: <https://community.home-assistant.io/t/wth-why-can-t-i-use-for-without-defining-a-to-state-in-automations/222137>
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
trigger:
- platform: state
entity_id: binary_sensor.motion
for:
seconds: 10
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14423
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [x] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
home-assistant:dev
← home-assistant:frenck-2020-0777
opened 09:29AM - 06 Sep 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
This PR adds a shorthand notation for using Templates directly as conditions. This PR is based on an idea by @pnbruckner in PR #38290. This PR takes a broader approach by allowing shorthand template conditions across the board by making it part of the condition schema.
Basically it allows for:
```yaml
conditions: {{ template }}
```
Or combined in a list of conditions:
```yaml
conditions:
- {{ template }}
- condition: state
...
```
More examples:
```yaml
automation:
- alias: test
trigger:
...
condition: "{{ is_state('input_boolean.go', 'on') }}"
action:
...
```
```yaml
automation:
- alias: test
trigger:
...
condition:
- "{{ is_state('input_boolean.go', 'on') }}"
- condition: state
...
- "{{ is_state('input_boolean.stop', 'off') }}"
action:
...
```
```yaml
- choose:
- conditions: "{{ trigger.to_state.state == 'home' }}"
sequence:
- ...
- conditions:
- "{{ trigger.to_state.state == 'office' }}"
- condition: state
...
sequence:
- ...
```
```yaml
- repeat:
while: "{{ is_state('input_boolean.go', 'on') }}"
sequence:
- ...
- repeat:
while:
- "{{ is_state('input_boolean.go', 'on') }}"
- condition: state
...
sequence:
- ...
```
```yaml
- condition: not
conditions: "{{ is_state('input_boolean.go', 'on') }}"
```
```yaml
- condition: or
conditions:
- "{{ is_state('input_boolean.go', 'on') }}"
- condition: state
...
```
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14413
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [x] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
home-assistant:dev
← home-assistant:frenck-2020-0775
opened 06:46PM - 05 Sep 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
This PR allows for using `input_*` entities (helpers) with state conditions as a value.
Examples:
```yaml
- condition: state
entity_id: sensor.test
state: input_text.test
```
```yaml
- condition: state
entity_id: sensor.test
state: input_select.test
```
```yaml
- condition: state
entity_id: sensor.test
state: input_number.test
```
```yaml
- condition: state
entity_id: light.test
state: input_boolean.test
```
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14412
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [x] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
home-assistant:dev
← home-assistant:frenck-2020-0749
opened 03:39PM - 19 Aug 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
Related to "What the heck?!" topic <https://community.home-assistant.io/t/why-doesnt-a-trigger-platform-for-state-attributes-exist/219651>
This PR allows for (numeric) state conditions on attributes.
```yaml
- condition: state
entity_id: light.hue
attribute: hue_group
state: "on"
```
```yaml
- condition: numeric_state
entity_id: sensor.temperature
attribute: outside
above: 20
```
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14271
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [ ] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
home-assistant:dev
← home-assistant:frenck-2020-0771
opened 08:16AM - 05 Sep 20 UTC
<!--
You are amazing! Thanks for contributing to our project!
Please, DO N… OT DELETE ANY TEXT from this template! (unless instructed).
-->
## Proposed change
<!--
Describe the big picture of your changes here to communicate to the
maintainers why we should accept this pull request. If it fixes a bug
or resolves a feature request, be sure to link to that issue in the
additional information section.
-->
It is currently hard to work with values from `input_datetime` which requires the use of templates like his:
```yaml
- condition: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.house_silent_hours_end', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
```
This PR allows for:
```yaml
- condition: time
after: input_datetime.house_silent_hours_end
```
or even:
```yaml
- condition: time
after: input_datetime.house_silent_hours_start
before: input_datetime.house_silent_hours_end
```
Followup of #38698, which introduced this possibility for time triggers. This PR makes this feature more consistent by allowing the same for the time condition.
## Type of change
<!--
What type of change does your PR introduce to Home Assistant?
NOTE: Please, check only 1! box!
If your PR requires multiple boxes to be checked, you'll most likely need to
split it into multiple PRs. This makes things easier and faster to code review.
-->
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New integration (thank you!)
- [x] New feature (which adds functionality to an existing integration)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Example entry for `configuration.yaml`:
<!--
Supplying a configuration snippet, makes it easier for a maintainer to test
your PR. Furthermore, for new integrations, it gives an impression of how
the configuration would look like.
Note: Remove this section if this PR does not have an example entry.
-->
```yaml
# Example configuration.yaml
```
## Additional information
<!--
Details are important, and help maintainers processing your PR.
Please be sure to fill out additional details, if applicable.
-->
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request: https://github.com/home-assistant/home-assistant.io/pull/14404
## Checklist
<!--
Put an `x` in the boxes that apply. You can also fill these out after
creating the PR. If you're unsure about any of them, don't hesitate to ask.
We're here to help! This is simply a reminder of what we are going to look
for before merging your code.
-->
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] The code has been formatted using Black (`black --fast homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
If user exposed functionality or configuration variables are added/changed:
- [x] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] Untested files have been added to `.coveragerc`.
The integration reached or maintains the following [Integration Quality Scale][quality-scale]:
<!--
The Integration Quality Scale scores an integration on the code quality
and user experience. Each level of the quality scale consists of a list
of requirements. We highly recommend getting your integration scored!
-->
- [x] No score or internal
- [ ] 🥈 Silver
- [ ] 🥇 Gold
- [ ] 🏆 Platinum
<!--
This project is very active and we have a high turnover of pull requests.
Unfortunately, the number of incoming pull requests is higher than what our
reviewers can review and merge so there is a long backlog of pull requests
waiting for review. You can help here!
By reviewing another pull request, you will help raise the code quality of
that pull request and the final review will be faster. This way the general
pace of pull request reviews will go up and your wait time will go down.
When picking a pull request to review, try to choose one that hasn't yet
been reviewed.
Thanks for helping out!
-->
To help with the load of incoming pull requests:
- [x] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-asc+-review%3Aapproved
<!--
Thank you for contributing <3
Below, some useful links you could explore:
-->
[dev-checklist]: https://developers.home-assistant.io/docs/en/development_checklist.html
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
J’aimerai bien aussi ajouter des évènements a l’intégration meteo_france. Pour encore simplifier les automatisations.
1 « J'aime »
Dim33
Juin 2, 2021, 8:26
14
Bonjour,
Je souhaiterai utiliser le code de @Makai plutôt que le blueprint mais après un copier/coller de celui-ci dans le code Yaml de l’automatisation, je me retrouve avec un code modifié et qui bien sûr ne marche pas. Je suppose que la syntaxe du message PushOver n’est pas correct.
De l’aide serait la bienvenue. Merci d’avance.
alias: Notification pour alerte météo
description: Envoi une notification si une alerte météo est levée par Météo-France
trigger:
- platform: state
entity_id: sensor.33_weather_alert
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.33_weather_alert
state:
- Jaune
- Orange
- Rouge
sequence:
- service: notify.pushover_ha
data:
message: |-
Alerte météo {{states('sensor.33_weather_alert')}} en cours:
{%- for attr in ['Vent violent', 'Pluie-inondation', 'Orages', 'Inondation', 'Neige-verglas', 'Canicule', 'Grand-froid', 'Avalanches', 'Vagues-submersion'] -%} {%- if state_attr('sensor.33_weather_alert', attr) != 'Vert' and state_attr('sensor.33_weather_alert', attr) != None %}
- {{attr}} : {{state_attr('sensor.33_weather_alert', attr)}} {%- endif -%} {% endfor -%}
- conditions:
- condition: state
entity_id: sensor.33_weather_alert
state: Vert
- condition: template
value_template: '{{ trigger.from_state.state != ''unavailable'' }}'
sequence:
- service: notify.pushover_ha
data:
message: Fin de l alerte météo.
mode: single
Pourquoi ? C’est le même code…
Dim33
Juin 2, 2021, 8:56
16
Oui, c’est pas faux … mais j’apprend plus vite en bidouillant du code (comprendre la structure) plutôt que de renseigner deux ou trois champs pour un blueprint.
De plus, j’ai configuré le blueprint mais :
essai en notify.notify pour le test
Voici les modifications que j’ai apporter pour l’exemple:
il suffira simplement de remplacer le n°00 par celui de la Gironde
- alias: Notification pour alerte météo
description: Envoie une notification si une alerte météo est levée par Météo-France
trigger:
- platform: state
entity_id: sensor.00_weather_alert
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: sensor.00_weather_alert
state:
- Jaune
- Orange
- Rouge
sequence:
- service: notify.notify
data_template:
message: "Alerte météo {{states('sensor.00_weather_alert')}} en cours:\n\
\ {%- for attr in ['Vent violent', 'Pluie-inondation', 'Orages', 'Inondation',\
\ 'Neige-verglas', 'Canicule', 'Grand-froid', 'Avalanches', 'Vagues-submersion']\
\ -%} {%- if state_attr('sensor.00_weather_alert', attr) != 'Vert' and\
\ state_attr('sensor.00_weather_alert', attr) != None %}\n - {{attr}}\
\ : {{state_attr('sensor.00_weather_alert', attr)}} {%- endif -%} {% endfor\
\ -%}"
- conditions:
- condition: state
entity_id: sensor.00_weather_alert
state: Vert
- condition: template
value_template: '{{ trigger.from_state.state != ''unavailable'' }}'
sequence:
- service: notify.notify
data_template:
message: Fin de l'alerte météo.
2 « J'aime »
Dim33
Juin 2, 2021, 9:57
18
Merci de ton aide @Felix62 mais je ne reçois aucune notification (ni erreur).
Le code, je le colle bien dans le fichier automations.yaml ?
oui dans automation.yaml
le code se déclenchera lors des prochaines alertes soit en certain
Dim33
Juin 2, 2021, 10:24
21
Normal de trouver ça en fin du code ?
J’ai corriger en supprimant ces deux lignes dans le message précédent il s’agit du début d’une de mes autres automation