Scènes : Récupérer tous les appareils dont le niveau de batterie est inférieur à un seuil?

Bonjour,
Avant de me lancer dans des recherches et développements de scènes, je consulte les utilisateurs de Gladys : de quelle manière créer une scène qui remonte, pour l’ensemble des capteurs en place, celui ou ceux dont le niveau de batterie est inférieur à un seuil ?
Merci,
Jean

La fonctionnalité est déjà présente (alerte en cas de batterie faible) dans Paramètres => Système

2 Likes

Bonjour @cicoub13 :slight_smile:

Merci pour cette information, je viens en effet de découvrir cette fonction grâce à toi, toutefois, j’aurais souhaité avoir la possibilité d’avoir de alertes quotidiennes, par exemple, et le choix dans la méthode de notification (j’ai une assistante vocale maison très gentille). Du coup, le passage par une scène avec récupération de variables (quel est l’objet dont la batterie est faible et quel est le niveau) m’aurait permis plus de flexibilité. Est-ce envisageable ?

Jean

Oui, @lmilcent l’a fait ici Scènes : récupérer un type d'état de tous les périphériques (ex: type batterie)

Mais il faut ajouter tous tes appareils à monitorer, ce qui était long et a donné lieu à la fonctionnalité dont je t’ai parlée plus haut :slight_smile:

3 Likes

Bonjour @cicoub13 ,

Désolé de déterrer le sujet … mais la fonction de notification via message ne convient pas à mon fiston, qui souhaite lui même pouvoir changer les piles des capteurs :stuck_out_tongue: En effet, il ne dispose pas d’accès à l’interface, et n’est de fait pas notifié. Or, nous avons la chance d’avoir une sympathique « personne virtuelle » qui nous informe vocalement, et aimerions lui permettre également de nous informer de l’état des batteries. Est-il envisageable de créer une scène unique (vu le nombre de capteurs sur batteries …) qui puisse remplacer la notification par message (introduire dans les scènes la notion de boucle sur une collection, par exemple) ?

Merci :slight_smile:

Bonjour

Je comprends le besoin et j’ai donc transformé ton post en demande de fonctionnalité.
Nous développons en priorité les fonctionnalités les plus demandées donc voyons si celle-ci récolte assez de votes

1 Like

@cicoub13 Avant de transformer le post en demande, je pense qu’il est bien de définir exactement quelle est la demande. Ici, pour moi ce n’est pas une demande de fonctionnalité concrète pour l’instant. Je rollback à une discussion :slight_smile:

Ça marche, à affiner alors

1 Like

Bonjour @pierre-gilles

Concrètement, j’aurais souhaité pourvoir disposer d’une solution permettant, dans un scène unique, de consulter la valeur d’une propriété d’un capteur dans un ensemble de capteur, et de réagir à cette valeur en fonction d’un seuil ou d’un état. Ici, pouvoir vérifier l’état de l’ensemble des batteries et de réagir vocalement si cette valeur est en dessous de 10%.

Si une telle possibilité était offerte, elle pourrait être utilisée :

  • pour éteindre l’ensemble des lumières d’un ensemble (une pièce),
  • vérifier que toutes les portes/fenêtres sont fermées pour une pièce, ou l’ensemble d’une maison.

A vot’ bon :heart: Messieurs les développeurs :slight_smile:

@jean_bruder il me semble qu’il y a deux besoins dans ce que tu viens d’exprimer : celui qui consiste à vérifier l’état des plusieurs appareils de façon simple (pour éviter de multiplier les actions « récupérer l’état » et « continuer si »), et celui qui consiste à agir sur plusieurs appareils de façon simple (en évitant de multiplier les actions « controler un appareil »).
J’anticipe, mais @pierre-gilles va surement dire qu’il faudra en faire deux demandes de fonctionnalités. Mais à cette étape de discussion, on peut affiner le besoin dans un même sujet…

Si j’essaie de maquetter ce que tu évoques sur la vérification de plusieurs appareils, ça pourrait ressembler à ça :

Et pour le contrôler de multiples appareils, ça pourrait ressembler à ça :

Est-ce que ça reflète ton besoin ?

3 Likes

Bonsoir @StephaneB

Whaou, merci pour cette prise en compte rapide :heart:

Pour ce qui est des propriétés testées en groupe, j’aurais plutôt formulé : La scène continuera uniquement si, pour au moins un appareil listé, la propriété testée respecte la condition (avec par exemple : batterie < 10). Donc on poursuivra si une batterie est <10%. Et du coup, si plus d’une batterie est à - de 10%, comment traiter chacune ensuite (récupérer le nom des batteries < à 10% par exemple) ?

Dans un second exemple, on pourrait imaginer traiter toutes les fenêtres d’une pièce : si au moins une n’est pas fermée, réagir. Il faut donc pouvoir traiter un ensemble de capteurs, et une zone :stuck_out_tongue:

Pour le contrôle des appareils d’un groupe, ça serait parfait :slight_smile:

Merci déjà énormément pour ta prise en compte de ma demande !

Pour le ‹ au moins un ›, je pense qu’on peut en faire une option de l’action qui permettra de choisir entre ‹ tous les appareils › ou ‹ au moins un ›. Parce que je pense que les deux usages peuvent être utiles.

Pour ton besoin de sélectionner tous les appareils d’une zone ou d’une pièce, j’ai peur que ça devienne compliqué parce qu’il faudrait pouvoir choisir cet ‹ espace › puis donner le type d’appareil à sélectionner (pour répondre à ton exemple ‹ tous les capteurs d’ouverture des fenêtres d’une pièce ›). Et donc je pense que la liste déroulante ou tu choisiras ce que tu veux en tapant quelques lettres pour filtrer devrait être suffisante. C’est comme ça que fonctionne le ‹ allumer les prises › par exemple, et si tu as bien nommé tes appareils c’est efficace je trouve…

Et enfin pour ce qui est de pouvoir parcourir dans la suite de la scène les appareils qui auront permis de franchir la condition, aucune idée de comment faire. Ça ne ressemble à rien de ce que Gladys permet déjà, donc il faudrait inventer un nouveau concept… Je laisse Pierre-Gilles dire si ça lui semble faisable…

1 Like

Tu peux nous parler un peu plus de cette « personne virtuelle » pour qu’on comprenne mieux le besoin ? :slight_smile:

Pour cette demande, je ne sais pas si tu connais cette action, mais c’est déjà possible :slight_smile:

Chez moi, j’ai un bouton dans mon entrée « Extinction totale » qui coupe tout chez moi dans toutes les pièces, pratique quand on part de chez soit :

Pour cela, je pense qu’il y a trois nouveaux concepts qui pourraient répondre à ce besoin :

  • Une action de scène qui permettrait de récupérer tous les appareils ayant une fonctionnalités
  • Une action « boucle » qui permettrait de boucler sur cette liste
  • Enfin, le « Condition Si… Sinon… Alors » qu’on est entrain de développer ici.

Après, il manquerait peut-être une brique pour contacter ta « personne virtuelle », à toi de nous en dire plus sur ce besoin.

@StephaneB merci d’avoir réfléchi au sujet ! Ca fait plaisir de voir des maquettes et ce genre de réflexion, c’est vraiment la partie la plus dur du travail de développement :slight_smile:

Par contre, pour ta « condition sur multiples appareils », je ne pense pas que ça réponde au besoin, car toi tu vérifie que tous les appareils vérifient toutes les conditions, hors ici, on veut savoir quels appareils vérifient quelles conditions.

Toutes tes batteries ne vont pas tomber en panne en même temps, et toutes les fenêtres ne sont pas ouvertes en même temps !

C’est pas mal ! Après la grande question sur ce type d’action de scène, c’est est-ce qu’on préfère faire du super générique, ou du super spécifique ?

Par exemple, pour les lumières on a fait quelque chose de spécifique, est-ce qu’on étend le concept à la luminosité de lumière, ou est-ce qu’on part sur une approche générique comme ce que tu proposes ? Il faudrait lister les fonctionnalités éligibles à ce genre de contrôle et aviser je pense

Bonjour @pierre-gilles

Il s’agit d’une synthèse vocale qui nous informe de diverses choses grâce à Gladys (fenêtre/portes pas fermées au moment du coucher, suivant la température intérieure/extérieure, énoncé de l’heure et des évènements du calendrier à venir, arrosage automatique extérieur, ou pas, suivant l’hygrométrie … Bref, tout ce qui peut apporter une information immédiate sans avoir besoin d’avoir son smartphone à proximité …) via des requêtes POST dans les scènes (techniquement, la requête POST contient le texte+variables à énoncer, elle est envoyée à un conteneur STT qui transmets le flux audio aux diverses enceintes de la maison, via PulseAudio).

Effectivement, c’est un mauvais exemple, puisque j’utilise déjà cette fonction, désolé …

Pour ce qui est du test multiple dans une même scène, avec des actions adaptées, tu décris parfaitement l’idée :slight_smile:

Nous avions déjà échangé à ce sujet, et j’en reste à ma requête POST qui « fait-le-job ».

On est d’accord :stuck_out_tongue:

On est moins d’accord, surtout qu’il y’en a quelques unes … :stuck_out_tongue:

Belle fin de journée,
Jean

Tu as raison, la maquette ne répond pas au besoin de Jean de pouvoir ensuite parcourir les appareils. Je vais faire une autre proposition… Mais cette action « Condition sur de multiples appareils » serait utile je trouve, et voilà une nouvelle maquette avec l’option permettant de choisir « tous les appareils » ou « au moins un appareil » :


Si la maquette est assez explicite pour toi, j’en ferais bien une demande de fonctionnalité pour voir si elle intéresse du monde ou pas. Ok pour toi ?

Ben justement je trouve pertinent que pour les propriétés les plus communes, une action très spécifique a du sens (on/off des prises et on/off des lumières, qui existent donc déjà). Mais que pour le reste, avoir une action plus générique permet de traiter ‹ tout le reste ›… SI ça te va, je prends la maquette pour en faire une demande de fonctionnalité dans laquelle on pourra lister les fonctionnalités/propriétés à prendre en compte. ok ?

1 Like

J’ai réfléchi à ça, et je pense qu’on pourrait s’en sortir avec une action que j’ai appelée « Poursuivre pour chaque appareil » et qui fonctionnerait comme ça:

Vous en pensez quoi, @jean_bruder et @pierre-gilles ? Et les autres aussi :wink:

1 Like

Si on met en place l’action « Poursuivre pour chaque appareil » qui va lancer l’exécution en parallèle des blocs d’action suivants, je me demande s’il ne faudrait pas aussi avoir une action « Attendre tous les appareils » pour ‹ rassembler › toutes ces exécutions lancées en parallèle avant de poursuivre la scène avec une exécution unique des blocs suivants. Vous voyez ce que je veux dire ?

Bonsoir @StephaneB

Whaou, c’est exactement ce dont j’ai besoin pour traiter un ensemble de bidules :heart:

Bonsoir @StephaneB

Exactement, c’est très judicieux car si une parallélisation des actions est réalisée, autant pour l’envoi de message ou un traitement identique, cela ne posera pas de soucis, mais vu mon usage (envoyer un message vocal), ça sera inaudible :frowning:

Sauf que dans ce que j’ai construit en maquette, tu as accès au nom d’un appareil et de la valeur de la propriété justement parce qu’on est dans la partie qui s’exécute pour un appareil précis, en parallèle des autres. Si on ajoute une action « Attendre tous les appareils », on n’aura plus la connaissance de chaque appareil…

En fait, je ne vois pas comment construire une action qui réponde exactement à ton besoin : ce que tu voudrais, si je comprends bien, c’est faire une boucle sur tous les appareils à l’intérieur d’une unique action, et que cette action construise une chaîne de texte cumulant tous les noms des appareils, pour ensuite l’envoyer à ton enceinte…

Mais par contre avec le « poursuivre pour chaque appareil » que je propose, tu pourrais avoir cette info en texte, notifié proprement dans Telegram.
Et je pense que tu pourrais même, en passant pas node-red, construire un flux qui ‹ bricole › le message vocal que tu cherches à générer…