Présentation Sylvain_G

Petite mise à jour suite à la création de mon 1er flow sur Node-RED avec un grand merci à @jybi89 :clap:

Et de moins bonnes nouvelles sur la téléinfo qui nécessite une modification du code de @Schmurtz pour y intégrer la vérification du checksum.
Et là le développement C, c’est pas mon fort … :sob:

1 « J'aime »

Petite mise à jour suite à l’installation du nouveau composant ESPHome teleinfo de dev avec l’aide de @Jcpas, @oncleben31, @Makai et @djtef :clap: :clap: :clap: :clap:

Vraiment que du bonheur ce forum, je n’y connaissais rien sur HA il y a 1 mois et j’ai l’impression d’avancer à une vitesse :flushed:.
Un grand MERCI à tous pour votre disponibilité, votre réactivité sur des sujets de jeunes domoticiens que vous avez peut-être dû rencontrer il y a fort longtemps au vue des configurations de certains …
Cette communauté est vraiment super, j’ai rarement trouvé ça sur les forum :uk: ou même :fr:.

Ne changez rien surtout !

5 « J'aime »

Petite mise à jour suite à la séparation de mes fichiers de configuration YAML.

Une explication de cette organisation est expliquée sur mon Github.
Et ma configuration est disponible ici.

N’hésitez pas à me dire ce que vous en pensez, je suis ici pour m’améliorer :grin:

P.S. est-ce quelqu’un sait comment récupérer le thème exacte de http://home-assistant.io, je voudrais l’installer sur ma documentation Github pages. Je trouve qu’il est super clair :star_struck:

Personnellement, j’aurais laissé le dossier automations et sa prise en compte dans le fichier automation.yaml même si tu ne t’en sers pas maintenant :wink: (surtout pour ceux qui vont prendre exemple sur ta configuration mais qui n’utilise pas Node-Red :+1:).

Bien sûr c’est ton choix :sweat_smile:

Bonne remarque, j’hésitais à l’ajouter même vide.
Je corrigerai ce soir.
Merci :+1:

1 « J'aime »

Bon avec un peu de retard :grin:, j’ai corrigé l’absence du répertoire automations en y ajoutant ma 1ère qui déclenche une notification sur mon portable à chaque fois que HA redémarre (merci @oncleben31 et sa configuration).
mon code sur Github
J’ai créé 2 répertoires triggers et actions car il se peut qu’un trigger soit utilisé par plusieurs scripts d’automation (pareil pour les actions). Cela me permettra de factoriser le code. Du coup, il faudrait que je puisse « passer en argument » le contenu du message vers l’action notify_sm_a530f_sg.yaml

service: notify.mobile_app_sm_a530f_sg
data:
  message: "Home Assitant a redémarré !"

:thinking:

Au lieu de partager les actions, je partirais plus sur l’utilisation de scripts.

Leurs utilisation permet :

  • de choisir le mode d’exécution
  • d’exécuter des actions en parallèle (ou non, suivant l’appel fait dans l’automatisation)
  • de passer des paramètres (par exemple… un message :wink:)

:zipper_mouth_face: :roll_eyes: :point_up:

@Clemalex, donc, dans mon automatisation reboot_notity.yaml, je garde le déclencheur que j’avais et dans l’action, je passe par le script ?

config/automations/list/system/reboot_notify.yaml
#
# Alerte au redemarrage de HA core
#
- alias: "Alerte au redemarrage de Home Assistant"
  description: Envoie une notification sur Telegram à chaque redemarrage de HA core
  id: 75093260-3086-11eb-8655-7fbd7c468bda
  condition: []
  trigger:
    - !include ../../triggers/start_ha.yaml
  action:
    - !include ../../../scripts/notify_sm_a530f_sg.yaml
config/automations/triggers/start_ha.yaml
#
# Evènement : démarrage de Home Assistant
#
event: start
platform: homeassistant
config/scripts/notify_sm_a530f_sg.yaml
#
# Script de notification sur A8 (Sylvain)
#
script:
  notify_pushover:
    description: 'Envoi une notification'
    fields:
      title:
        description: 'Le titre de la notification'
        example: 'L''état a changé'
      message:
        description: 'Le contenu du message'
        example: 'La lampe est allumée !'
    sequence:
      - service: notify.pushover
        data:
          title: "{{ title }}"
          message: "{{ message }}"
  

Et je ne mets pas de condition dans mon script puisque la condition d’appel est contenu dans l’automatisation reboot_notify.yaml ?

Je ne sais pas si en faisant comme ça (inclusion) le script s’exécute. Je ne vois nul part l’appel, mais seulement son inclusion… A tester !

Eh bah ça marche pô, tu avais raison :grin:.
J’ai donc modifié comme ceci :

config/automations/list/system/reboot_notify.yaml
#
# Alerte au redemarrage de HA core
#
- alias: "Alerte au redemarrage de Home Assistant"
  description: Envoie une notification sur Telegram à chaque redemarrage de HA core
  id: 75093260-3086-11eb-8655-7fbd7c468bda
  condition: []
  trigger:
    - !include ../../triggers/start_ha.yaml
  action:
    service: script.notify_sm_a530f_sg
    data:
      title: 'HA Core'
      message: 'HA a redémarré !'
config/scripts/notify_sm_a530f_sg.yaml
#
# Script de notification sur A8 (Sylvain)
#
script:
  notify_sm_a530f_sg:
    description: 'Envoi une notification'
    fields:
      title:
        description: 'Le titre de la notification'
        example: 'L''état a changé'
      message:
        description: 'Le contenu du message'
        example: 'La lampe est allumée !'
    sequence:
      - service: notify.pushover
        data:
          title: "{{ title }}"
          message: "{{ message }}"

Mais j’ai un message d’erreur à la vérification dans les logs de la notification

2020-12-28 11:22:42 ERROR (MainThread) [homeassistant.config] Invalid config for [script]: [script] is an invalid option for [script]. Check: script->script. (See ?, line ?).

J’ai modifié car j’avais un doublonnage de l’instruction script

config/scripts/notify_sm_a530f_sg.yaml
#
# Script de notification sur A8 (Sylvain)
#
notify_sm_a530f_sg:
  description: 'Envoi une notification'
  fields:
    title:
      description: 'Le titre de la notification'
      example: 'L''état a changé'
    message:
      description: 'Le contenu du message'
      example: 'La lampe est allumée !'
  sequence:
    - service: notify.pushover
      data:
        title: "{{ title }}"
        message: "{{ message }}"

Le message change :grin: mais pas mieux

2020-12-28 11:44:42 ERROR (MainThread) [homeassistant.config] Invalid config for [script]: [notify_sm_a530f_sg] is an invalid option for [script]. Check: script->notify_sm_a530f_sg. (See ?, line ?).

Garde ta dernière version (sans script: au debut de ton fichier notify

Et change l’inclusion du dossier Scripts de :

script: !include_dir_named …/scripts

en

script: !include_dir_merge_named …/scripts

J’ai tout modifié et :

2020-12-28 12:41:51 ERROR (MainThread) [homeassistant.components.automation.alerte_au_redemarrage_de_home_assistant] Alerte au redemarrage de Home Assistant: Error executing script. Service not found for call_service at pos 1: Unable to find service script.notify_sm_a530f_sg
2020-12-28 12:41:51 ERROR (MainThread) [homeassistant.components.automation.alerte_au_redemarrage_de_home_assistant] While executing automation automation.alerte_au_redemarrage_de_home_assistant
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 404, in async_trigger
    await self.action_script.async_run(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1026, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 242, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 250, in _async_step
    await getattr(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 460, in _async_call_service_step
    await self._async_run_long_action(service_task)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 419, in _async_run_long_action
    long_task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1395, in async_call
    raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service script.notify_sm_a530f_sg

Ça semble dire qu’il ne trouve pas le script.

Est-il présent dans la liste de tes entités ?

Je pense que ton car je viens de voir une coquille que j’ai retranscrit du coup…

Tu as un point en trop pour le dossier parent.

Bien vue @Clemalex :+1:

Le problème se déplace :grin:

les nouvelles logs
2020-12-28 14:13:21 ERROR (MainThread) [homeassistant.components.script.notify_sm_a530f_sg] notify_sm_a530f_sg: Error executing script. Service not found for call_service at pos 1: Unable to find service notify.pushover
2020-12-28 14:13:21 ERROR (MainThread) [homeassistant.components.automation.alerte_au_redemarrage_de_home_assistant] Alerte au redemarrage de Home Assistant: Error executing script. Service not found for call_service at pos 1: Unable to find service notify.pushover
2020-12-28 14:13:21 ERROR (MainThread) [homeassistant.components.automation.alerte_au_redemarrage_de_home_assistant] While executing automation automation.alerte_au_redemarrage_de_home_assistant
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 404, in async_trigger
    await self.action_script.async_run(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1026, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 242, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 250, in _async_step
    await getattr(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 460, in _async_call_service_step
    await self._async_run_long_action(service_task)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 419, in _async_run_long_action
    long_task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1445, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1480, in _execute_service
    await handler.job.target(service_call)
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 215, in service_handler
    await script_entity.async_turn_on(
  File "/usr/src/homeassistant/homeassistant/components/script/__init__.py", line 320, in async_turn_on
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1026, in async_run
    await asyncio.shield(run.async_run())
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 242, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 250, in _async_step
    await getattr(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 457, in _async_call_service_step
    await service_task
  File "/usr/src/homeassistant/homeassistant/core.py", line 1395, in async_call
    raise ServiceNotFound(domain, service) from None
homeassistant.exceptions.ServiceNotFound: Unable to find service notify.pushover

Le problème à l’aire de venir du script notify_sm_a530f_sg.yaml

#
# Script de notification sur A8 (Sylvain)
#
notify_sm_a530f_sg:
  description: 'Envoi une notification'
  fields:
    title:
      description: 'Le titre de la notification'
      example: 'L''état a changé'
    message:
      description: 'Le contenu du message'
      example: 'La lampe est allumée !'
  sequence:
    - service: notify.pushover
      data:
        title: "{{ title }}"
        message: "{{ message }}"

ça à l’air de venir du service notify.pushover, je n’ai pas bien compris ce que je dois renseigner comme service pour envoyer une notification sur mon HA companion (sur mon smartphone sm_a530f_sg)

J’ai essayé avec notify.notify et la notification n’est pas interne à HA, elle s’affiche sur l’écran d’accueil de mon smartphone.
Est-ce qu’il existe une liste des services de HA ?

Lire la documentation pour savoir :

Ce problème n’est pas lié à ta configuration partagée comme les fois précédentes.

Tu n’as pas bien configurer les services de notifications.

Apparemment, c’était lié à la définition du service

notify_sm_a530f_sg:
  description: 'Envoi une notification'
  fields:
    title:
      description: 'Le titre de la notification'
      example: 'L''état a changé'
    message:
      description: 'Le contenu du message'
      example: 'La lampe est allumée !'
  sequence:
  - service: notify.mobile_app_sm_a530f_sg
    data:
      title: "{{ title }}"
      message: "{{ message }}"

Fallait effectivement lire la documentation de Home Assistant Companion :pleading_face:

Donc c’est bon ça marche ?

Yes, un grand merci encore @Clemalex :+1:

Un message a été scindé en un nouveau sujet : Moi, c’est Patrick