Bonjour,
Quelqu’un peut il me dire comment on teste la valeur d’un champ dans un script ?
Merci
Bonjour,
Quelqu’un peut il me dire comment on teste la valeur d’un champ dans un script ?
Merci
Bonjour.
Tu peux être plus précis?
Tu veux réaliser une action conditionnelle?
Dans ce cas il faut ajouter une condition dans ta liste d’actions.
Tu cliques sur +ajouter un bloc de construction
et tu as le choix entre:
Hello @steche
Un champs de quoi? Une entrée texte dans un dashboard? Un attribut d’une entitée?
Il est bien de donner un contexte: le but final, puis le cas particulier qu’on veut tester.
Si possible le bout de code test qui ne fonctionne pas et un screenshot pour parfaire le post
Ok mais après le test proposé est sur une entité et non sur un champ ? Quelle est la syntaxe pour spécifier que le test est sur un champ (field) ?
Qu’est ce que tu appelles un champ ?
Tu as un exemple?
Tu peux aussi tester des tas de choses, et pas que des entités:
Un champs de quoi? Champ déclaré ds un script
Une entrée texte dans un dashboard? Non
Un attribut d’une entitée? Non
Un champ déclaré ds un script, ce qu’on appelle argument dans d’autres langages.
Les champs (fields) sont des variables que tu peux passer à ton script.
Tu peux voir comment les utiliser dans la doc:
En général il va te falloir faire des tests en jinja (template) sur le nom de ta variable de champ.
Attention, ce n’est valable que dans le script (comme une variable locale quoi…)
un exemple d’aide résolue sur le forum anglophone:
j’ai testé rapidement la solution donnée sur le forum anglais, la syntaxe est un peu vieille, mais avec ça, c’est ok:
alias: test
description: Test script
fields:
param1:
description: Parameter 1
example: Any text
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ param1 is not defined }}"
sequence:
- service: persistent_notification.create
data:
title: Testing
message: "Test: no param"
default:
- service: persistent_notification.create
data:
title: Testing
message: "Test: '{{ param1 }}'"
Ca crée un script auquel tu passe le texte param1 en ‹ argument › et ça te renvoie soit « Test: no param » si le test value_template: "{{ param1 is not defined }}"
est faux, soit "Test : ‹ la valeur de param1 › "
Ok, et pour tester si param1 == ‹ Tyty › quelle serait la syntaxe ?
Merci
Il va falloir bosser un peu les templates
teste par exemple {{ param1 == 'tyty' }}
ou {{ is_state(param1,'tyty') }}
Mais en général pour tester les templates j’utilise beaucoup l’editeur de modèles (templates) des outils de developpement.
Super !
Je teste tout cela tout à l’heure !