Quel type générique pour un équipement?

bonsoir,

J’ai bien lu la documentation sur les types génériques et bien affecté les types à mes commandes.
https://doc.jeedom.com/fr_FR/core/4.5/types

Mais comment, dans un scénario, récupérer le type générique d’un équipement ?

J’ai bien essayé
SI genericType(#[Salle de bain][Porte][Fermeture]#) == "OPENING"
mais cela ne fonctionne pas :frowning: (avec ou sans quote simples ou doubles)

J’ai dans l’idée de coupler le #trigger# du plugin-alarme avec le type (OPENING, OPENING_WINDOW et PRESENCE) afin de séparer les actions suivant s’il s’agit d’un ouvrant ou d’un mouvement.

https://doc.jeedom.com/fr_FR/plugins/security/alarm/#FAQ

Un truc du genre

SI (genericType(#trigger#) === "OPENING" || genericType(#trigger#) === "OPENING_WINDOW")  && genericType(#trigger#) != "PRESENCE"
ALORS 
   Déclenche hurlante

L’idée est de ne pas jouer sur la conf de l’alarme, mais de ne pas déclencher les hurlantes lorsque mon robot ménager se fait détecter (si, si , cela arrive parfois)

Quelle serait la bonne fonction ?

Merci de votre aide.

Bonjour,

je n’ai pas la réponse à votre question, mais je pense qu’il manque des parenthèses à votre condition :

SI ( (genericType(#trigger#) === "OPENING" || genericType(#trigger#) === "OPENING_WINDOW") )  && genericType(#trigger#) != "PRESENCE"
ALORS 
   Déclenche hurlante

Parce que le « OU » n’est pas prioritaire sur le « ET ». Peut-être à tester…

A+
Michel

Les génériques ne sont pas utilisés de cette façon, tu as mal compris la documentation.

Ceci n’existe pas :
SI genericType(#[Salle de bain][Porte][Fermeture]#) == "OPENING"

Voici un exemple afin de récupérer le type générique de la commande trigger :

2 « J'aime »

De ce que je viens de lire en effet cela fonctionne autrement. Je ne sais pas si on peut descendre à l’équipement voire à la commande mais sur le principe pour tester c’est plutôt

SI #genericType(OPENING, #[Salle de bain]#)==1 

Et peut être pour l’équipement (à tester)

SI #genericType(OPENING, #[Salle de bain][porte]#)==1 

Mais ça ne sert pas à grand chose car tu peux le tester autrement. Le but du genericType étant de tester tout les équipements du même type en une seule fois

C’est justement parce que je l’ai bien comprise que je me demandais, si à tout hasard, une méthode inverse non documentée existait.

Merci pour le bloc-code :slight_smile:

SI #genericType(OPENING, #[Salle de bain][porte]#)==1 

ne fonctionne malheureusement pas, merci de la suggestion :slight_smile:

La fonction n’existant pas, il s’agit peut-être une idée d’évolution du core ?

Merci à vous 2 d’avoir pris le temps de me répondre

Bonjour @Michel_F,

Désolé du HS mais 1 seul parenthèse suffit pour définir une priorité
David

1 « J'aime »

C’est juste, j’ai mal regardé, je croyais que la parenthèse n’était utilisée que pour la comparaison…

1 « J'aime »