Possible migration vers Gladys

Bonjour à tous,

Je viens de découvrir le projet Gladys (via l’article de Korben) et je me demande si je peux migrer ma solution domotique actuelle vers Gladys. J’ai fouillé sur le site et j’ai quelques questions en suspens pour lesquelles je n’ai pas trouvé de réponses.
Pour situer le contexte, je suis actuellement sous node-red pour gérer un peu tous types de capteurs et d’actionneurs en multi protocoles (zigbee, zwave, somfy rts, wifi). Lors de mon passage sous node-red, j’ai fait tout le boulot pour passer l’ensemble des protocoles via MQTT, en utilisant des projets libres qui permettent ce type d’interactions (Zigbee2mqtt, Zwave2Mqtt et modules wifi en tasmota), excepté pour le RFXCOM ou j’utilise node-red pour l’interaction rfxcom/mqtt. J’ai donc un broker MQTT fonctionnel pour tout mon usage, ce qui me permet de décorréler les protocoles de l’interface. D’après ce que j’ai vu, Gladys permet de s’intégrer facilement avec MQTT, c’est une des principales raisons qui m’ont fait regardé de plus près.
Mon principal problème est que l’UI de node-red n’est pas des plus attrayantes et je n’ai pas trouvé de moyen d’avoir une gestion d’agenda facile, par ex, pouvoir changer la programmation du chauffage en cas de départ en vacances.
Parmi les questions que je me pose et qui sont des usages importants pour moi, il y a les points suivants :

  1. j’ai besoin d’une gestion type thermostat logiciel : pouvoir donner une température de consigne et le système s’occupe d’allumer et d’éteindre le chauffage en fonction des remontées de température des capteurs pour maintenir la température voulue. Est-ce que ça existe dans Gladys ?
  2. j’allume/éteint/ouvre/ferme mes volets en utilisant des Amazon Echo un peu partout dans la maison. Pour ce faire, j’utilise un node qui fait une émulation de pont hue v1, donc les interactions avec mon système restent en local (à l’interprétation des commandes vocales prête qui part forcément dans le cloud, mais c’est un compromis que j’accepte). L’inconvénient de la méthode actuelle est que tout est vu comme une lumière. Est-ce qu’il y a une intégration hors skill Alexa et cloud pour Gladys ? S’il n’y a pas d’intégration directe avec Gladys des Amazon echo, ce n’est pas très grave, étant donné que chaque commande vocale par vers MQTT depuis node-red. Est-ce que Gladys est capable de prendre des ordres depuis MQTT pour en découler des actions ?
  3. Dernier point, je remonte toutes les mesures de mes capteurs dans une base influxdb et que j’affiche dans une instance Grafana. Est-ce qu’il y a une intégration vers influxdb (pour renvoyer des infos lues dans le broket MQTT) ? Y-a-t-il une possibilité d’afficher dans l’interface des pages web externes ou d’intégrer des iframes (partageables via Grafana) ?

Merci d’avance pour vos réponses pour que je mesure l’écart que j’ai pour passer vers Gladys.

Je viens de me rendre compte que Gladys v4 est exclusivement distribué sous forme d’image docker. C’est un peu gênant vue que j’imagine faire tourner Gladys dans un jail BSD sur un TrueNAS Core.
Après, j’imagine qu’en suivant le dockerfile j’arriverai à l’installer dans une jail. Si je comprend bien, il y a besoin de nodejs, sqlite et un petit coup de npm ci pour installer les dépendances du projet et c’est parti ? Il y a des fichiers de configuration ?

C’est plus simple pour tout le monde :wink: , aussi bien l’utilisateur que les devs ( ça nous permet de maitriser un minimum l’environnement d’execution )

Pour les installations exotiques les releases sont sur Github

Non la configuration est stocké dans la base sqlite

Inspire toi de la doc pour installer Gladys sur ton TrueNAS

Docker n’est pas disponible sur TrueNAS/Freenas ?

Oui, je comprends bien l’intérêt de la distribution via docker. Malheureusement, c’est moins facile pour les installations exotiques :wink:

Merci pour les infos, j’ai fait des tests et ce n’est pas immédiat… preact utilise simplehttp2server qui n’est pas disponible via npm sous freebsd. J’ai réussi à avoir les bonnes dépendances en installant go et avec un go get qui va bien, cette partie là est OK maintenant.
Il me reste des problèmes avec le module sqlite, il faut que je fouille un peu plus pour comprendre pourquoi, j’ai pourtant bien toutes les dépendances installées mais au npm run, il ne me trouve pas le module sqlite.

Après, il me restera un plus gros problème, la définition des services exclut freebsd, il faudra que je vois si ça passe en ajoutant juste le bon os dans le package.json.

Non, TrueNAS utilise nativement iocage qui est une interface dédiée à la manipulation de Jails BSD.
Je ne sais pas si docker permettra de fonctionner proprement, mais je vais essayer, si c’est un peu plus immédiat pour tester Gladys :wink:

J’ai déjà eu un soucis de ce type que j’ai résolu en installant sqlite sur l’hôte.

Au final, je me suis résolu à virer TrueNAS, trop de galère pour intégrer gladys… Et d’autres petites choses qui ne me convenait pas également.
En attendant que je finisse ma migration vers openmediavault, j’ai installé docker et lancé Gladys.
Ma première impression est que Gladys a l’air très rigide dans son intégration avec MQTT, j’ai pas mal d’infos qui arrivent sur mon broker, sous un chemin peut-être particulier, mais je n’arrive pas à comprendre comment Gladys peut s’intégrer dans ce schéma. J’ai plutôt l’impression que c’est le schéma qui doit s’adapter à Gladys…
Je vais continuer à fouiller de ce côté là, mais la route a l’air longue :wink:

Tu n’es pas le seul… :stuck_out_tongue:

En regardant les docs à droite et à gauche des autres logiciels domotiques, la gestion est parfois différente (normal) et plus à l’écoute des infos pour ensuite les traiter comme on veut.

Dans Gladys et sa v4, normalement, le comportement est fait pour que tout soit géré sans rentrer dans le cambouis, le développement est axé dans ce sens. Peut être est-ce un peu trop bridé sur le MQTT ou pas encore assez développé : Gladys manque de développeurs malheureusement, comme beaucoup de projets…

Mais je me joins à toi sur cette difficulté ! :wink:

J’ai réfléchi à ce mode de fonctionnement et j’imagine que je peux écrire un flux node red qui fasse l’interprête Gladys <-> MQTT.
Faut juste que j’arrive à comprendre ce que Gladys attend côté MQTT.

Tout est expliqué dans ce tutoriel :

Le problème est que le tuto est pas très compréhensible…
A un moment : “Dans la bar en haut, mettez le topic MQTT que vous aviez copié-collé lors de la création de la fonctionnalité plus tôt.” mais j’ai regardé, il est pas expliqué comment Gladys gère ses topics, quelle est l’adresse complète ?

On la devine dans le champ, il faut aussi aller voir dans la doc API MQTT. Mais c’est pas intuitif du tout à comprendre…

Mm je ne comprend pas ce qui n’est pas clair ?

Imaginons que je veux déclarer dans Gladys un capteur de température, je créé le capteur dans l’intégration MQTT et ensuite Gladys me fournie le topic complet MQTT sur lequel publier, que je peux copier coller pour l’utiliser côté capteur.

Peut-être que je loupe quelque chose mais le tutoriel me semble long et clair sur ce point, après si tu vois des moyens de l’améliorer je suis preneur :slight_smile:

C’est moi… :confused:
Mais ton screen avec la flèche serait peut être mieux dans le tuto :stuck_out_tongue:

si c’est juste ça :smiley:

Effectivement, en lisant un peu la doc, on comprend comment ca se passe.
En revanche, c’est assez particulier comme mode de fonctionnement. Le choix de faire des “fonctionnalités” atomiques marche assez mal avec les capteurs actuels qui ont tendance à embarquer plusieurs sondes et donc plusieurs infos.
Va falloir que je regarde comment les gens s’en sortent avec Zigbee2mqtt… Mais j’ai déjà réussi à récupérer la température sur 1 de mes capteurs ! Petite victoire.
Est-ce qu’il y a quelque part quelque chose qui pourrait ressembler à des widgets pour rassembler plusieurs infos sur un seul équipement ? (équipement virtuel ?)

Zigbee2mqtt est une intégration dédiée qui n’exploite pas l’API MQTT de Gladys. Car c’est le projet zigbee2mqtt qui “impose” son schéma