Développement d'un module Gladys v4, comment faire?

Bonjour à tous,

Tout est dans le titre : je dispose de matériel qui n’est pas encore pris en charge sous la v4, et je souhaite donc développer des modules adaptés (prises connectées “LIDL”, sans firmware alternatif connu, mais pilotables en HTTP, ce qui est actuellement le cas dans ma mini-application maison). Comment procéder et par ou commencer (pour avoir les bases et respecter les standards) ?

Merci d’avance,
A vous relire,
Jean

Salut !

Le mieux pour toi est de t’inspirer des modules déjà existant !

Le lien ci-dessus est la liste des module côté “back”.

Pour le front: Gladys/front/src/routes/integration/all at master · GladysAssistant/Gladys · GitHub

Hésite pas à faire une PR pour que quelqu’un puisse t’aider au besoin.

Tu as un service qui est un exemple, tu peux t’inspirer de celui-ci en plus il utilise il me semble des requêtes HTTP. Donc pile poile ton utilisation :slight_smile:

Effectivement le mieux est de lire le code des services existants :slight_smile:

Il y a aussi un tutoriel dans la documentation :

Les liens renvoient à
https://github.com/GladysAssistant/gladys-4-playground/. C’est à mettre à jour je pense.

J’ai créé une issue =>

https://github.com/GladysAssistant/gladys-4-docs/issues/14

Si quelque veut me faire une PR :slight_smile:

Bonsoir. N’ayant ni eu le temps, ni pris le temps pour développer un module pour Gladys, je me pose la question à présent sous un autre angle. En effet, je joue avec Tasmota et l’intégration est franchement très simple, via MQTT. Je me demande donc s’il n’est pas plus simple de réécrire mon code python qui interface une API maison afin de lui faire supporter MQTT, car ce qui est piloté est un système d’arrosage automatique (fait maison à base de Raspery PI Zero W …), donc totalement adaptable … Actuellement,le circuit d’arrosage est piloté via une requête HTTP : http://arrosage/{set,get}/{pompte}/{on,off}.

Qu’en pensez-vous ?

Merci par avance pourt vos commentaires qui seront précieux pour moi.

A vous relire,
Jean

Tu peux faire encore mieux: ne rien coder :smiley:

Méthode sans code

Depuis Gladys v4.0.3, tu peux faire une requête HTTP dans les scènes (cf doc => Faire des requêtes HTTP dans une scène | Gladys Assistant )

Tu peux donc utiliser cette action pour appeler l’API de ton arrosage automatique.

Si tu veux avoir un appareil dans Gladys pour pouvoir contrôler manuellement ton device, tu peux créer un périphérique « virtuel » dans l’intégration MQTT, et ensuite dans les scènes, quand le périphérique passe à 1, envoyer une requête HTTP pour allumer l’arrosage, et quand il passe à 0, envoyer une requête HTTP pour éteindre l’arrosage.

Méthode via le MQTT

Sinon, tu peux effectivement faire un script MQTT qui te permettra d’allumer/éteindre ton arrosage.

Nous avons une documentation de l’API MQTT sur le site:

J’ai aussi fais une vidéo sur le sujet récemment:

(Dans la deuxième partie de la vidéo, je prend l’exemple d’un on/off, donc comme ce que tu veux faire)

Bonsoir @pierre-gilles,

Les scènes sont créées, mais … je pense qu’on peut faire mieux, car j’ai deux scènes par électrovanne à piloter (une scène allume, l’autre éteint), car l’URL comporte l’ID de l’électrovanne considérée et l’état attendu (ON/1 ou OFF/0). J’au lu qu’il est possible de jouer avec des variables, donc on peut imaginer créer un device de type MQTT virtuel (je suis d’ailleurs très intéressé de savoir comment on fait …) qui appelle une scène avec deux variables : l’ID et l’état ? ESt-ce possible ?

A te relire,
Merci,
Jean

Le terme virtuel est trompeur, tu crée juste un device mqtt, tout est dans la documentation.

La notion virtuel n’existe pas dans gladys.

Bonsoir @VonOx,

Merci pour ta réponse, mais j’ai passé du temps à chercher, sans vraiment trouver de documentation qui me permette de créer le device mqtt dont il est question, et ensuite de l’utiliser dans le dashboard … S’il était possible de me guider, ça serait franchement sympa (je pense ne pas être le seul qui va apprécier ton aide …).

Merci :slight_smile: