[TUTO] Nodered - bot Telegram - Réponse "personnalisée"

Suite au tuto de Jybi sut le Bot Telegram (Merci à lui ainsi qu’a Snoof)

Objectif: recevoir une message personnalisé de votre bot telegram.

08

Example : Je m’absente, home assistant m’indique que tel et tels lumières sont encore allumées. etc

Apercu :

Le timestramp est pour les tests, le debug pour lire les message (msg.)

Exemple noeuf current_state :
Suivant les cas, vous aurez un current_state ou un get_entities ( à vous de voir suivant vos flow).

Explication d’un msg. Nodered :

Suivant les paramètres du noeud le message peut être redirigé sous plusieurs msg.

Example : msg.payload, msg.data

Dans l’exemple ci dessous pour un noeud current_state, c’est le msg.data qui nous intéresse.
Ne pas oublié de mettre le débug en msg.data

Il y a plein d’info dans le debug,
Pour cet exemple ce qui va nous intéresser et le msg.data / attributes / friendly_name.

Qu’on récuperera comme cela : msg.data.attributes.friendly_name. qui me retournera « Lumière chevet Séjour »
(si je veux mon entity_id : msg.data.entity_id retournera light.chevet
ou msg.data qui me retournera « light.chevet » et « on »)

Attention c’est sensible à la case:
Pour la mise en page de vos message

56

Pour insérer des balise autour de la variable il faut ajouter des + comme l’exemple ci dessus.
parse_mode : Markdown c’est pour insérer les balises à votre message telegram.

Le dernier noeud est juste un noeud telegram.payload avec un set by msg.method

Résultat :

11

Exemple avec un noeud get_entities

Le get_entites recherche une entités suivant les valeurs données :

Le message dans un noeud get entities est un msg.payload (voir debug).

Ici le noeud va nous permettre de rechercher une entitée (entity_id) dans un group,
Mais vous pouvez changer pour une recherche plus large comme,

  • entity_id « is » light.
  • entity_id « is » switch.
  • entity_id « is » cover

Ensuite vient le noeud join qui sert a joindre x msg.payload en 1 msg.payload


Pour prendre que la partie qui nous intéresse (le friendly_name)on regarde le debug, le chemin cette fois est :

  • msg.payload.attributes.friendly_name

Joined using c’est à insérer ce que vous voulez après le friendly name.

  • Selectionné Buffer

ensuite cliquez sur les ‹ … › est rajouté ce que vous voulez pour séparer vos messages.
Dans l’exemple je rajoute " un retour à la ligne, suivi dans - et d’un espace. ce qui me créer automatique cette serie de chiffre.

Puis le même noeud telegram.payload avec un set by msg.method

Résultat :

46

Envoy !

1 J'aime

super ! je vais pouvoir parfaire mes flow nodered et telegram ! merci @romzzz13 !

1 J'aime