Commande Telegram avec node-red

Mon problème

Bonjour la communauté,

Mon souci est simple j’aimerais savoir si il est possible de par une simple commande /lumière via un bot Telegram récupérer l’état des lumière et faire /présence pour récupéré les personnes qui sont a la maison.

Si c’est possible quel est la méthode pour récupéré les états.

Merci pour votre future aide

Ma configuration

System Information

version core-2022.8.6
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.10.5
os_name Linux
os_version 5.15.55
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4722
Installed Version 1.26.2
Stage running
Available Repositories 1164
Downloaded Repositories 3
Home Assistant Cloud
logged_in true
subscription_expiration 16 septembre 2022, 02:00
relayer_connected true
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled true
remote_server eu-central-1-0.ui.nabu.casa
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 8.4
update_channel stable
supervisor_version supervisor-2022.08.3
agent_version 1.2.1
docker_version 20.10.14
disk_total 30.8 GB
disk_used 6.2 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Studio Code Server (5.3.0), File editor (5.3.3), Home Panel (2.5.0), AppDaemon (0.9.3), Let’s Encrypt (4.12.6), Duck DNS (1.15.0), Samba share (10.0.0), Home Assistant Google Drive Backup (0.108.3), Node-RED (13.3.2)
Dashboards
dashboards 2
resources 1
views 10
mode storage
Recorder
oldest_recorder_run 12 août 2022, 14:17
current_recorder_run 21 août 2022, 12:48
estimated_db_size 111.70 MiB
database_engine sqlite
database_version 3.38.5
___ [center]Texte à remplacer par votre configuration[/center] Comment récupérer ma configuration : Dans votre HA, Menu latéral `Configuration` > `Paramètres` > `Infos` > `Santé du système` puis bouton copier > `Pour Github` ![image|648x167, 75%](upload://1ietIxFU6nXP1GFrJTzwc2mh0j2.png) ___

Salut,

As tu regarder les différents articles sur Node red et Télégram présent deja sur le.forum ?

Certes deux sont avec HA mais un autre est avec NodeRed, maintenant reste plus qu’a l’adapter a ton besoin

j’ai regarder mais je pense qu’il doit me manquer une node car j’arrive a faire des commandes simple etc qui on été proposé dans les article du forum comme la détection de présences pour demander si on éteint les lumières si on est absent, mais ce que j’aimerais c’est savoir quelle node peut renvoyer un état a telegram par exemple il y’a x lumière allumée ou il y’a tel ou intel a la maison

Je laisse les expert node red répondre car je na sais pas.

1 « J'aime »

Comme je suis dedans j’ai ajouté un petit exemple pour toi :
Lorsque mon flows est « lancé », j’envoie un message qui dit si ma lampe de salon est activée :
image

Premier nœud : Current state de ma lampe
Deuxième nœud : Un fonction pour formater le message

msg.payload = msg.payload;
if (msg.payload == 'on'){
    msg.payload = 'La lampe marine est allumée'
}
return msg;

Troisième nœud : Envoi du message via notify
image
Résultat, le message en plus de ce que j’envoyais déjà :

:wink:
Bob

Bonjour,

Tu as toujours la possibilité de faire un sensor pour regarder dans un groupe de personnes qui est a la maison,
voici le code
le groupe de personnes :

  all_person:
    name: group_person
    icon: mdi:human-male-female
    entities:
      - person.01
      - person.02
      - etc....

le sensor : (c’est une boucle qui cherche l’état « home » de la personne et l’ajoute a une liste)

j’utilise ce genre de sensor pour faire une liste des batteries périmées (- de 10% de capacité) de mes capteurs par exemple, une liste des portes ouvertes ou non, la liste des détecteurs actionnés, etc…; la liste est sans fin, le code est le même pour n’importe quel groupe, il suffit juste de changer l’état.

      personne_maison:
        friendly_name: "Qui est à la maison"
        value_template: >-
          {% set count = namespace(value=0) %}
          {% for entity_id in state_attr('group.all_person','entity_id') %}
            {% if (count.value == 0) %}
              {{ "" }}
            {% else %}
              {{ "/" }}
            {% endif %}
            {% if (states(entity_id) == 'home') %}
              {{ states[entity_id].attributes.friendly_name }}
              {% set count.value = count.value + 1 %}
            {% endif %}
          {% endfor %}

idem pour tes lumière, tu fais la même chose, tu fais un groupe de lumière et tu regarde laquelle est allumée, et cela te fera une liste et avec un node de commande input nodered, en précisant la commande que tu veux, tu interroge tes sensors qui seront renvoyés par telegram.

après, tu peux mettre des conditions, etc… a ton choix

en utilisant la commande telegram :
telegram

en simple, cela donne cela :

@LeLapinFou

Dans les automatisations j’utilise ce code, trouvé sur le forum pour avoir des actions dans les messages:

service: notify.telegram_ha
data:
  message: >-
    Détection présence salon, la température est de
    {{states('sensor.temperature_18_salon')}} °C
  title: Qui est là ?
  data:
    inline_keyboard:
      - >-
        Ignorer:/switch_on_nothing, Allumer:/switch_on_salon,
        Eteindre:/switch_off_salon

Ce soir je veux implémenter la même chose dans Node Red, pas encore regardé mais si tu as un petit flows à partager :wink:

Bob

bonjour, je n’ai pas fait ce genre de chose, mais cela doit ressembler a ça :

le premier, tu mets ton motion avec l’état a ON

le second le switch ou tu pose ta question :

après, les action, ON, Off, ne rien faire sur ton swich.
par exemple, j’ai pris la fontaine dans mon jardin :

Salut merci a vous deux je vais tester ça une fois que j’aurai fini de me battre avec le détecteur de mouvement :wink:

Merci @LeLapinFou,

C’est nickel, j’ai fait un flow qui détecte une présence (un seul capteur pour l’instant) et si je suis absent :
Allumage de toutes les lampes sur condition de Lux, prise de photo par les caméras, envoi des photos via Telegram, plus envoi de température et état d’une lampe (pour tester cette possibilité).
Bouton d’action dans Telegram pour allumer, éteindre une lampe, allumage automatique de l’ampli, réglage du volume puis diffusion d’un message, extinction de l’ampli et des lampes.
J’enlèverai les débug plus tard.

1 « J'aime »

super, on a tous commencé comme ça, après, je suis un peu maniac et j’aime bien avoir mes flow bien rangés, le flow de mon alarme donne ça :

1 « J'aime »

Oui j’essaie aussi d’aligner et les nœuds au mieux et j’ai découverts depuis peu les Link In / Out qui facilitent bien les choses.
Par contre je ne sais pas comment présenter comme tu le fais, Subflows, Groups ?
C’est nickel propre :+1:

tous, je les utilise tous, flows, sub-flows et groupes.
après, la présentation, c’est juste une histoire de lisibilité et de chacun.