Fonctions et scripts

Bonjour,

Je cherche à comprendre si on peut faire des scripts qui se comporteraient comme des fonctions, ou des sous programmes, avec passage d’arguments.
Lesquels arguments seraient alimentés par des valeurs issues de capteurs (par exemple des températures).
Donc, à priori à partir de flows puisqu’il semblerait qu’on n’aie pas accès aux données des capteurs à l’intérieur des scripts.

Merci pour votre aide.

Cordialement

Si tu peux récupérer les valeurs de capteurs dans un script.
Et tu peux aussi lancer un script avec un argument.

Mais, comment ?

La doc est assez pauvre et j’avais lu le contraire !

Si tu peux m’éclairer, j’en serais enchanté !

Cordialement

Tu peux récupérer la valeur d’un appareil comme ceci par exemple:
Il s’agit ici de ma sonde Aqara du séjour.

Tu peux créer un tag de cette valeur en ajoutant la ligne

await tag('valeurSondeSéjour', Number(actualTemperature)); 

Et l’utiliser dans un flow:
image

Tu peux envoyer un argument dans un script comme ceci. (Température est le tag de ma sonde de séjour)

Avec par exemple ici un script tout simple qui renvoie vrai ou faux si la température du séjour est supérieur ou égale à 30. Étant donné que j’ai 22.6°C dans le séjour la carte renvoie bien “false”.

let myArgs = JSON.parse(args[0]);


if (myArgs >= 30){
  return true;
}
else return false;

Salut,

Merci beaucoup …

J’y vois beaucoup plus clair maintenant !

Je découvre un peu la notion de tag … c’est quoi, en fait ? Une espèce de pointeur ?

Cordialement

Un tag est une variable de type Boolean, String ou Number.

Pour le capteur de température que j’ai cité ci dessus la température est un tag de type Number avec la variable qu’est la température.

Pour la météo tu trouvera des tags type String pour la description météo. “Ciel dégagé” par exemple.

Pour un capteur d’ouverture tu as un tag de type Boolean qui ne sera que “Vrai” ou “Faux” suivant l’état de la porte par exemple.

Tu peux avoir plusieurs tag et de type différent pour chaque appareil. Pour le capteur d’ouverture tu as le Boolean pour ouvert/fermé, mais aussi un tag Number avec le pourcentage de batterie du capteur.