[Article] Dialoguer avec votre maison via Telegram (et intégrations HA)

Ici pour l’explication du répertoire :

https://www.home-assistant.io/more-info/local-media/setup-media/

1 « J'aime »

Merci @Clemalex !

En complément :
Tu peux donc créer un sous-répertoire sous config/www (config/www/poules dans mon tuto).

Mettre dans le fichier de config :

homeassistant:
  media_dirs:
    poules: /config/www/poules/

Les photos sont ensuite accessibles avec un chemin type media/poules/photo.jpg et visible sous le menu multimédia…
Pour l’essai, déposer une photo dans le sous-répertoire créé et vérifier qu’elle est accessible sous HA menu multimedia.

Je mettrai à jour le tuto dés que possible.

  allowlist_external_dirs: [/config/]  #Autorisation
  media_dirs:  # on indique ou se trouve les média sur HA
    local: "/media" 

et ca ne vas pas comme ca?.

Oui tu peux bien sûr si tu as peu de différents médias…

bon alors ca fonctionne, par contre c’est pour le snapshot qui pose probleme, je pense que ca vien de la ou je l’enregistre.

  - service: camera.snapshot
    data:
      entity_id: camera.devant
      filename: /media/local/camera/snapshot_CamDevant.jpg````

Essaie avec un sous-répertoire sous www qui est le répertoire accessible par défaut.
Il vaut mieux de toute façon ne pas ouvrir l’accès a la racine de config pour des questions de sécurité.

Il n’y a personne qui peut m’expliquer comment géré le callback de télégram directement dans l’automation qui envoi le message?

Bonjour,
J’aimerais déclencher des automations avec mes réponses au bot dans télégramme, mais je ne comprend pas pourquoi, quand je clic sur le Inline keyboard dans la conversation, rien ne se passe.
J’coute les évènements « telegram_callback », et il n’y en a pas.
Savez vous d’ou cela peut venir ?
Merci.

Compliqué de répondre sans ton code (partie inline_keyboard:) et tes logs.
Déjà, vérifie que ton script marche en l’exécutant sous l’outil de développement.
Ensuite regarde si il y a un message d’erreur dans les logs.
Enfin, vérifie bien que le nom du script et le nom du script appelé sous inline_keyboard sont les bien les mêmes. Il peut aussi y avoir une erreur de syntaxe.

Merci pour ta réponse.
Alors la j’ai remplacé Webhook par polling et ça fonctionne, alors est ce que ça vient de la, ou un autre réglage que j’ai touché, je sais pas. Mais là ça fonctionne.
Merci.

1 « J'aime »

Chers Super-Héros de la communauté hacf.fr,

J’espère que vous êtes prêts à relever un défi botanique ! Je suis actuellement en train de mener une mission cruciale pour sauver mes plantes, mais je suis confronté à un problème étrange avec une automatisation dans Home Assistant. J’ai besoin de vos super-pouvoirs pour me sortir de cette situation épineuse. Voici le code suspect que j’ai réussi à intercepter :

- alias: POTAGER_INT_Notification arrosage du potager
  trigger:
    - platform: time
      at: '23:50:00'
    # Ajoutez d'autres conditions de déclenchement si nécessaire, comme un capteur d'humidité

  action:
    - service: notify.Telegram_maison
      data:
        title: "Send a message"
        message: "Le potager a besoin d'être arrosé. Que souhaitez-vous faire ?"
        data:
          inline_keyboard:
            - 'Arroser:/POTAGER_INT_REPONSE_Arroser'
            - 'Ne rien faire:/POTAGER_INT_REPONSE_Rien'



- alias: POTAGER_INT_REPONSE_Arroser
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      command: '/POTAGER_INT_Arroser'
  action:
    - service: switch.turn_on
      entity_id: switch.potagerv3_arroser_persil
    - delay:
        hours: 0
        minutes: 0
        seconds: 1
        milliseconds: 0
    - service: switch.turn_off
      entity_id: switch.potagerv3_arroser_persil
    - service: notify.Telegram_maison
      data:
        title: ""
        message: "Je viens d'arroser. Mission accomplie !"



- alias: POTAGER_INT_REPONSE_Rien
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      command: '/POTAGER_INT_Rien'
  action:
    - service: notify.Telegram_maison
      data:
        title: ""
        message: "Je ne fais rien. Mais c'est moi qui commande !"

Mon équipe de plantes en détresse m’a informé que lorsque je sélectionne l’une des options (Arroser ou Ne rien faire), il ne se passe absolument rien. Mes plantes se sentent ignorées et commencent à se faner. Je suis désespéré et j’ai besoin de vos compétences surhumaines pour résoudre ce mystère végétal !

Voici quelques informations supplémentaires pour vous aider dans votre enquête héroïque :

  • Ma base secrète utilise Home Assistant version 2023.6.1.
  • J’ai vérifié mes compétences en intégration Telegram et je reçois bien les notifications sur mon appareil.
  • Mes recherches approfondies dans les journaux de Home Assistant n’ont révélé aucun signe de problème lié à cette automatisation.

J’apprécie grandement votre présence et votre aide pour remettre de l’ordre dans cette situation botanique désastreuse. Mes plantes comptent sur vous pour survivre et prospérer à nouveau !

Enfilez votre cape, activez vos super-pouvoirs de débogage et plongez dans ce code mystérieux. J’attends avec impatience votre réponse héroïque pour me guider vers la victoire verte !

Merci d’avance pour votre intervention rapide et votre sens de l’humour héroïque !

Bien à vous, [DIDOK94]

3 « J'aime »

Super demande d’aide.

En premier lieu je remarque que la valeur de la commande dans keyboard n’est pas la même que dans tes trigger, il manque RESPONSE

C’est peut être ça.

Cher super-héros de l’automatisation du potager,

Merci d’avoir apporté des suggestion à mon code. J’admire votre détermination et votre volonté de faire pousser des plantes superbes !

Malheureusement, malgré le changement effectué, il semble que la situation n’ait pas évolué dans la direction souhaitée. Les plantes continuent de supplier pour une goutte d’eau, mais aucun arrosage héroïque ne se produit.

Il est possible qu’il y ait une autre cause à cette énigme verdoyante.

Ne baissez pas les bras, cher super-héros du jardinage automatisé ! Ensemble, nous triompherons des défis les plus ardus et vos plantes connaîtront un avenir verdoyant.

Que la force de la chlorophylle soit avec vous !

Je vous transmet mon code modifié

- alias: POTAGER_INT_Notification arrosage du potager
  trigger:
    - platform: time
      at: '23:50:00'
    # Ajoutez d'autres conditions de déclenchement si nécessaire, comme un capteur d'humidité

  action:
    - service: notify.Telegram_maison
      data:
        title: "Send a message"
        message: "Le potager a besoin d'être arrosé. Que souhaitez-vous faire ?"
        data:
          inline_keyboard:
            - Arroser:/POTAGER_INT_REPONSE_Arroser
            - Ne rien faire:/POTAGER_INT_REPONSE_Rien



- alias: POTAGER_INT_REPONSE_Arroser
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      command: /POTAGER_INT_REPONSE_Arroser
  action:
    - service: switch.turn_on
      entity_id: switch.potagerv3_arroser_persil
    - delay:
        hours: 0
        minutes: 0
        seconds: 1
        milliseconds: 0
    - service: switch.turn_off
      entity_id: switch.potagerv3_arroser_persil
    - service: notify.Telegram_maison
      data:
        title: ""
        message: Je viens d'arroser. Mission accomplie !



- alias: POTAGER_INT_REPONSE_Rien
  trigger:
    platform: event
    event_type: telegram_callback
    event_data:
      command: /POTAGER_INT_REPONSE_Rien
  action:
    - service: notify.Telegram_maison
      data:
        title: ""
        message: Je ne fais rien. Mais c'est moi qui commande !

1 « J'aime »

Chers gardiens de l’automatisation du potager,

Je vous écris en tant que Super Jardinier, dévoué à la cause des plantes et à l’automatisation de mon potager. Récemment, j’ai exploré les merveilles du tutoriel de @McFly sur les notifications via Telegram (lien : « [ARCHIVE] Les notifications via Telegram »). Son tutoriel est aussi impressionnant que mes super pouvoirs !

J’ai suivi les étapes avec brio et j’ai réussi à intégrer les notifications dans mon jardin automatisé. Tout fonctionne parfaitement lorsque j’utilise le code tel quel. Bravo à @McFly pour son incroyable travail !

Cependant, comme tout super-héros, j’ai des aspirations plus grandes. Je souhaite rendre mes notifications encore plus époustouflantes en utilisant l’option « inline_keyboard » au lieu de simplement « keyboard ». Après avoir effectué les modifications nécessaires, mes notifications apparaissent désormais avec des boutons qui donnent une apparence véritablement super à mon jardin.

Malheureusement, voici où j’ai besoin de votre expertise. Malgré tous mes efforts, lorsque je tente de cliquer sur ces boutons super puissants, rien ne se passe. Mes plantes attendent désespérément que je prenne des mesures héroïques, mais je suis coincé.

Ainsi, je m’adresse à vous, gardiens experts de l’automatisation du potager. Auriez-vous des conseils magiques ou des astuces éclairées pour m’aider à donner vie à ces boutons et à accomplir mes actions légendaires ? Votre aide serait plus précieuse que l’eau de pluie pour mes précieuses plantes.

Je vous remercie infiniment pour votre attention et pour tous les exploits que vous accomplissez chaque jour pour faire prospérer nos jardins automatisés.

Avec une force végétale sans égale,

Je débute avec HA et n’ai pas l’expertise pour évaluer la pertinence de ton code mais au niveau de l’automatisation en réponse à ‹ arroser ›, c’est normal d’avoir une action ‹ switch turn on › avec 1 delai de 1 seconde suivie d’une action ‹ switch turn off › ? :thinking:

[Attention, musique héroïque en arrière-plan]

:seedling::man_superhero::droplet: APPEL AUX SUPER-HEROS DU POTAGER :droplet::woman_superhero::seedling:

:rotating_light: Urgence Potagère :rotating_light:

Chers gardiens des plantes, votre expertise est requise pour résoudre le mystère de notre automatisation potagère ! En tant que super-héros en herbe, votre mission est de venir à bout de ce défi technique et de rétablir l’équilibre vert dans notre cher potager.

:sweat_drops: Votre mission, si vous l’acceptez :sweat_drops:

:one: Explorez le code avec prudence et découvrez l’automatisation qui réagit au signal « arroser ».
:two: Remarquez que notre super-héros utilise un « switch » pour activer la pompe d’arrosage.
:three: Telle une éclair de lumière, le switch s’allume brièvement pour activer la pompe, puis s’éteint après 1 seconde.
:four: Notez que cette courte pause d’une seconde est destinée uniquement aux tests et sera prolongée par la suite pour assurer un arrosage adéquat.

:mega: Le défi du « inline_keyboard » :mega:

La partie la plus intrigante de cette mission réside dans l’énigmatique « inline_keyboard ». Bien qu’il soit correctement configuré avec des options d’arrosage et de ne rien faire, il semble qu’il ne parvienne pas à appeler les fonctions correspondantes. Ici réside votre quête : dévoiler le secret de cette énigme et faire en sorte que les fonctions soient correctement invoquées.

:muscle: Prêt à relever le défi ? :muscle:

Prenez votre clavier, enfilez votre masque de super-héros des automatisations et plongez-vous dans le monde mystérieux du « inline_keyboard ». Déchiffrez les codes, analysez les détails et établissez les connexions nécessaires pour que les fonctions se déclenchent comme prévu.

Ensemble, nous triompherons de cette épreuve technique et nos plantes prospéreront grâce à votre ingéniosité. Le potager compte sur vous pour résoudre ce problème et pour que les super-pouvoirs de l’automatisation soient pleinement exploités.

Bon courage, super-héros du forum, et que la force des lignes de code soit avec vous ! :computer::herb::sparkles:

Bien arrosement votre,

Chers super-héros du forum,

Je viens de recevoir mon code de quête que je vous partage.
Voici votre code complet pour l’automatisation de votre/mon potager :

####################################################
#                                                  #
#                   Telegram                       #
#                   Keyboard                       #
#                                                  #
####################################################

##################################################
# Commande /ha
##################################################
- id: telegram_menu
  alias: telegram_menu
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/ha'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Je suis JARVIS, votre intelligence artificielle dévouée.
          
          N'hésitez pas à me demander quoi que ce soit pour accomplir vos désirs dans votre maison. 🤖✨
        data:
          keyboard:
          - '/thermostat, /Arroser'

##################################################
# Commande /retour_menu
##################################################
- id: telegram_retour_menu
  alias: telegram_retour_menu
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/retour_menu'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Vous êtes de retour sur le menu de démarrage.
          
          N'hésitez pas à me demander quoi que ce soit pour accomplir vos désirs dans votre maison. 🤖✨
        data:
          keyboard:
            - '/thermostat, /Arroser'

##################################################
# Commande /Arroser
##################################################
- id: telegram_menu_arroser
  alias: telegram_menu_arroser
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Arroser'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Sélectionnez la zone que vous souhaitez arroser :
        data:
          keyboard:
            - '/Potager_exterieur, /Potager_interieur'
            - '/retour_menu'

##################################################
# Commande /retour_menu_arroser
##################################################
- id: telegram_retour_menu_arroser
  alias: telegram_retour_menu_arroser
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/retour_menu_arroser'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Sélectionnez la zone que vous souhaitez arroser :
        data:
          keyboard:
            - '/Potager_exterieur, /Potager_interieur'
            - '/retour_menu'

##################################################
# Commande '/Potager_exterieur'
##################################################
- id: telegram_menu_potager_exterieur
  alias: telegram_menu_potager_exterieur
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Potager_exterieur'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Voici l'état du potager extérieur :
          
          - Température : XX°C
          
          - Hygrométrie : XX%
    - service: notify.Telegram_maison
      data:
        message: >
          L'arrosage a été effectué avec succès le XX/XX/XX à XXhXX ! 💦🌱
          
          N'hésitez pas à me demander si vous avez d'autres besoins pour votre jardin. 🌿🌼
    # Ajoutez ici les actions pour l'arrosage du potager extérieur
        data:
          keyboard:
            - '/Arroser_potager_extérieur, /Ne_pas_arroser_potager_exterieur'
            - '/retour_menu_arroser, /retour_menu'

##################################################
# Commande '/Arroser_potager_extérieur'
##################################################
- id: telegram_menu_potager_exterieur_arroser
  alias: telegram_menu_potager_exterieur_arroser
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Arroser_potager_extérieur'
  action:
    - service: notify.Telegram_maison
      data:
        message: "J'arrose le potager extérieur. Veuillez patienter...💦🌱"

    # Ajoutez ici les actions pour l'arrosage du potager extérieur

    - service: notify.Telegram_maison
      data:
        message: >
            Les plantes ne semblent plus avoir soif. 🌿💧
            
            J'arrête l'arrosage. ✋
        data:
          keyboard:
            - '/Arroser_potager_extérieur, /Ne_pas_arroser_potager_exterieur'
            - '/retour_menu_arroser, /retour_menu'

##################################################
# Commande '/Ne_pas_arroser_potager_exterieur'
##################################################
- id: telegram_menu_potager_exterieur_ne_pas_arroser
  alias: telegram_menu_potager_exterieur_ne_pas_arroser
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Ne_pas_arroser_potager_exterieur'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Je ne vais pas arroser le potager extérieur.
          
          Les plantes resteront telles quelles. 🌿🌼
    # Ajoutez ici les actions spécifiques lorsque vous ne souhaitez pas arroser le potager extérieur
        data:
          keyboard:
            - '/Arroser_potager_extérieur, /Ne_pas_arroser_potager_exterieur'
            - '/retour_menu_arroser, /retour_menu'

##################################################
# Commande '/Potager_interieur'
##################################################
- id: telegram_menu_potager_interieur
  alias: telegram_menu_potager_interieur
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Potager_interieur'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          Voici l'état du potager intérieur :
          
          - Température de la cuisine : {{ states('sensor.potagerv3_temperature_cuisine') }}°C
          
          - Hygrométrie persil : XX%
          
          - Hygrométrie basilic: {{ states('sensor.potagerv3_humidite_du_sol_basilic') }}%
          
          - Hygrométrie ciboulette: XX%
          
    - service: notify.Telegram_maison
      data:
        message: >
          L'arrosage a été effectué avec succès le XX/XX/XX à XXhXX ! 💦🌱
          
          N'hésitez pas à me demander si vous avez d'autres besoins pour votre potager intérieur. 🌿🌱
        data:
          keyboard:
            - '/Arroser_persil'
            - '/Arroser_ciboulette'
            - '/Arroser_basilic'
            - '/retour_menu, /retour_menu_arroser'

##################################################
# Commande '/Arroser_persil'
##################################################
- id: telegram_menu_potager_interieur_arroser_persil
  alias: telegram_menu_potager_interieur_arroser_persil
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Arroser_persil'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          J'arrose le persil dans le potager intérieur. 💦🌱
        data:
          keyboard:
            - '/Arroser_persil'
            - '/Arroser_ciboulette'
            - '/Arroser_basilic'
            - '/retour_menu, /retour_menu_arroser'

##################################################
# Commande '/Arroser_ciboulette'
##################################################
- id: telegram_menu_potager_interieur_arroser_ciboulette
  alias: telegram_menu_potager_interieur_arroser_ciboulette
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Arroser_ciboulette'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          J'arrose le ciboulette dans le potager intérieur. 💦🌱
        data:
          keyboard:
            - '/Arroser_persil'
            - '/Arroser_ciboulette'
            - '/Arroser_basilic'
            - '/retour_menu, /retour_menu_arroser'

##################################################
# Commande '/Arroser_basilic'
##################################################
- id: telegram_menu_potager_interieur_arroser_basilic
  alias: telegram_menu_potager_interieur_arroser_basilic
  initial_state: true
  trigger:
    platform: event
    event_type: telegram_command
    event_data:
      command: '/Arroser_basilic'
  action:
    - service: notify.Telegram_maison
      data:
        message: >
          J'arrose le basilic dans le potager intérieur. 💦🌱
    - service: switch.turn_on
      entity_id: switch.potagerv3_arroser_basilic
    - service: notify.Telegram_maison
      data:
        message: >
          L'arrosage du basilic a été effectué avec succès ! 🌿🌱
        data:
          keyboard:
            - '/Arroser_persil'
            - '/Arroser_ciboulette'
            - '/Arroser_basilic'
            - '/retour_menu, /retour_menu_arroser'

1 « J'aime »

Salut,

J’aime bien l’idée de regrouper dans une seule automatisation tout le yaml pour dialoguer avec Telegram.
Je suis novice en yaml et j’ai pas mal galéré avec les variables et les templates.
J’ai finalement réussi à faire marcher une automatisation de 150 lignes qui me permet depuis telegram:

  • /ha pour afficher un menu
  • /aide pour afficher quelques infos de températures, de contacts…
  • /plafond pour faire un toggle sur le switch du plafond (c’est la seule commande externe car elle existait déja)
  • /portail pour switcher le portail
  • /cover pour afficher un menu pour les 6 volets roulantsfin
  • /fin pour supprimer les menus.

Merci pour l’idée.
Je posterai le code si ça intéresse quelqu’un.

2 « J'aime »

Très intéressant !!! Si le code est volumineux, n’hésite pas a le mettre sur github et a partager le lien.

bonjour,

j’ai fait la même chose avec NodeRed si cela intéresse des personnes, je peux leur proposer une commande, le reste a a dupliquer a l’infini.