Envoyer sa localisation via telegram

Bonjour,

Mon problème

Je voudrai mettre à disposition un Bouton sur le Tableau de Bord de ma fille qui envoie, à sa demande, sa localisation sur mon telegram. ça me permet en un clic de lancer Waze ou Maps et faire le taxi.

  • Telegram est bien paramétré, je reçois des notifications de HA

  • Le téléphone de ma fille a bien l’App

  • Sur son Tableau de Bord, je peux afficher sa position avec iPhone_XXX Geocoded Location, mais le but n’est pas savoir où elle est, mais bien de lui donner une fonctionnalité simple pour m’envoyer sa position.

MAIS

je n’arrive pas à utiliser telegram bot : send message
je n’arrive pas à remplacer TITI par iPhone_XXX Geocoded Location pour avoir l’adresse

show_name: true
show_icon: true
type: button
tap_action:
  action: perform-action
  perform_action: telegram_bot.send_message
  target: {}
  data:
    message: TITI
icon: mdi:crosshairs-gps

je n’arrive pas à utiliser telegram bot : send Location
je n’arrive pas à remplacer les latitude/longitude par les attributs de iPhone_XXX Geocoded Location pour avoir le point GPS

show_name: true
show_icon: true
type: button
tap_action:
  action: perform-action
  perform_action: telegram_bot.send_location
  target: {}
  data:
    latitude: 0
    longitude: 0
icon: mdi:crosshairs-gps

je ne sais pas si je prends le problème par le bon bout, mais je n’arrive pas à trouver sur le forum ou sur internet quelqu’un qui tente de faire ça, comme ça…

Si quelqu’un a une idée. je prends.

Merci

Ma configuration


[center]## System Information

version core-2025.2.4
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.13.1
os_name Linux
os_version 6.1.0-31-amd64
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
HACS Data ok
GitHub API Calls Remaining 5000
Installed Version 2.0.5
Stage running
Available Repositories 1561
Downloaded Repositories 1
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 4
resources 0
views 2
mode storage
Network Configuration
adapters lo (disabled), eth0 (enabled, default, auto)
ipv4_addresses lo (127.0.0.1/8), eth0 (172.19.0.2/16)
ipv6_addresses lo (::1/128), eth0 ()
announce_addresses 172.19.0.2
Recorder
oldest_recorder_run 20 février 2025 à 13:12
current_recorder_run 1 mars 2025 à 17:43
estimated_db_size 18.75 MiB
database_engine sqlite
database_version 3.47.1
[/center] ___

tu sais que télégram fais deja ça tout seul comme un grand

Comment ça ?

Avec home assistant ou juste telegram?

juste télégram c’est une fonctionnalités de base de tééégram (c’est aussi possible dans signal whatsapp et surement d’autres)

Ah ok je comprends, mais

A part TikTok, elle ne veut aucune autre app, je ne juge pas…

Je trouvais la fonctionnalité intéressante à mettre en place
. Elle n’a que ha d’installé (ça ferme les lumières quand elle est là dernière à sortir et évite de se faire engueuler) et dont ajouter la simplicité d’un bouton pour m’envoyer sa localisation me paraissait cohérent

Maintenant, est-ce que tu penses que j’ai une limite technique ou juste un souci de connaissance de ha ?

Merci

Aaah je pensais qu’elle avait aussi telegram pardon

Déjà dans outil de développement états tu dois récupérer l’attribut et l’envoyer dans le ‹ ‹ data › › la tu n’envoies rien

C’est exactement là où je bloque, je n’arrive pas à trouver comment insérer les valeurs de son téléphone dans le code. Ha ne trouve pas les valeurs des devices…

Il faut passer avec des template mais déjà il faut connaître l’état a envoyer
D’où la recherche déjà du bon état après c’est une histoire de syntaxe

Je suis sur mon tél je t’envoies ça après

1 « J'aime »

j’essaie de faire ça

show_name: true
show_icon: true
type: button
tap_action:
  action: perform-action
  perform_action: telegram_bot.send_message
  target: {}
  data:
    message:  [u]iPhone_XXX Geocoded Location[/u]
icon: mdi:crosshairs-gps

ou

show_name: true
show_icon: true
type: button
tap_action:
  action: perform-action
  perform_action: telegram_bot.send_location
  target: {}
  data:
    latitude: [u]iPhone_XXX Geocoded Location avec l'attribut Lalitude[/u]
    longitude: [u]iPhone_XXX Geocoded Location avec l'attribut longitude [/u]
icon: mdi:crosshairs-gps

sans succès…

Salut

Déjà avant tout si tu mets en place un capteur de localisation sur l’iphone de ta fille, cela ne sera pas à sa demande que tu pourras savoir ou elle est mais tu le saura dans HA à tout moment. Elle n’aura nullement besoin de cliquer sur quoi que ce soit pour que tu saches ou elle est, il te suffit pour ça de regarder le sensor renvoyer par son iphone à tout moment.

Ceci étant dit pour faire ce que tu souhaites, il faut que tu récupères l’état du sensor de localisation pour le mettre dans ton message sous la forme:

    message: "{{ states('sensor.sm_g960f_geocoded_location') }}"
2 « J'aime »

pense a mettre ton code entre des balises de code ça rends tout plus lisible :wink:

bon en cherchant dans la doc de l’API télégram il y’a une commande sendatalocation qui est implémenté dans l’intégration HA

ou il suffit d’envoyer la latitude et longitude (et eventuellement le chatid)

ce qui donne ce script ultrasimple

action: telegram_bot.send_location
metadata: {}
data_template:
  target: XXXXXXXXX
  latitude: {{state_attr('device_tracker.op8t','latitude')}}
  longitude: {{state_attr('device_tracker.op8t','longitude')}}

ou le target est ton chatid

il ne reste plus qu’a faire un bouton sur son dahsboard pour éxecuter ce script

Je suis d’accord et ça fonctionne parfaitement. Mais ce n’est pas ce genre de contrôle que je désire mettre.

Je ne veux pas savoir où elle est quand je veux,
Je veux lui donner la facilité de me dire où elle est quand elle le veut.

C’est peut-être qu’une vue de l’esprit, mais c’est important dans la fonctionnalité que je lui présente (un fort d’esprit d’indépendance, je n’aurai pas dû lui mettre Damasio et autres lectures dans les mains :grinning: )

et c’est là que j’atteins mes limites de compréhension

Avec les "

    message: "{{ states('sensor.iphone_de_elisa_geocoded_location') }}"

je reçois littéralement
{{ states(‹ sensor.iphone_de_elisa_geocoded_location ›) }}
dans Telegram et pas l’adresse

Sans les "

    message: {{ states('sensor.iphone_de_elisa_geocoded_location') }}

j’ai un message d’erreur dans HA

Échec de l'exécution de l'action telegram_bot/send_message. value should be a string for dictionary value @ data['message']

et du cote des latitude/longitude, il doit me manquer un truc

  data:
    latitude: {{state_attr('device_tracker.iphone_de_elisa','latitude') }}
    longitude: {{state_attr('device_tracker.iphone_de_elisa','longitude') }}
icon: mdi:crosshairs-question

car l’éditeur n’est pas content…


Erreur de configuration

* Erreur lors de l'analyse du YAML : missed comma between flow collection entries (ligne : 9, colonne : 71)

la ligne 9 est celle de la latitude et bien sur avec ou sans virgule, ça ne change rien.

Bonjour, en ajoutant le comma ?

  data:
    latitude: "{{state_attr('device_tracker.iphone_de_elisa','latitude') }}"
    longitude: "{{state_attr('device_tracker.iphone_de_elisa','longitude') }}"

j’avais fait le test sans succès.

Un problème de typage

Echec de l'exécution de l'action telegram_bot/send_location. could not convert string to float: "{{state_attr('device_tracker.iphone_de_elisa','latitude') }}"

Bonjour,
Ce ne serait pas plus simple de recevoir directement l’adresse ?

{{state_attr('sensor.iphone_x2_geocoded_location','Name') }} 

Bob

Parce que tu ne peux pas le faire directement dans le tap action d’un bouton.
Dans tap action tu appelle un script et dans le script tu envoies ton message.

Bonjour @Tochy
Oui c’est ce que je fais, j’ai un bouton « iPhone perdu », en appuyant dessus j’ai un message vocal via une automatisation pour me dire où il est et une notification avec l’adresse.
J’ai peut être lu le sujet un peu trop rapidement :wink:
Bob

Coma c’est virtuel pas double quote

Mais je ne vois pas où il attend une virgule ?

@Bob, @Tochy,

Je viens de faire un script qui est appelé par le bouton de mon TdB, c’est ça marche nickel !

envoi_adresse_elisa:
  sequence:
  - action: telegram_bot.send_message
    metadata: {}
    data:
      message: '{{state_attr(''sensor.iphone_de_elisa_geocoded_location'',''Name'')
        }}, {{state_attr(''sensor.iphone_de_elisa_geocoded_location'',''Postal Code'') }} {{state_attr(''sensor.iphone_de_elisa_geocoded_location'',''Locality'')
        }}'
  alias: Envoi Adresse Elisa
  description: ''

Je reçois bien l’adresse complète.

@ddfdom
j’ai l’impression que HA et VSCode mélangent et/ou confondent les ’ (simple quote) les " (double quote) et les ’ ’ (deux simples quote cote à cote)

pour les coordonnées GPS,

avec

    data:
      latitude: '{{state_attr(''device_tracker.iphone_de_elisa'',''latitude'') }}'
      longitude: '{{state_attr(''device_tracker.iphone_de_elisa'',''longitude'') }}'

ça fonctionne nickel aussi !!

Conclusion

J’ai bien un bouton sur un TdB qui en appuyant dessus provoque un script avec l’envoi de l’adresse et du point GPS.

Merci à vous Trois !!