Wie entwickelt man ein Gladys v4-Modul?

Hallo zusammen,

Alles steht im Titel: Ich habe Hardware, die noch nicht von der Version 4 unterstützt wird, und möchte daher passende Module entwickeln (verbundene Steckdosen „LIDL“, ohne bekanntes alternatives Firmware, aber per HTTP steuerbar, was aktuell in meiner kleinen Hausanwendung der Fall ist). Wie soll ich vorgehen und wo anfangen (um die Grundlagen zu haben und die Standards einzuhalten)?

Vielen Dank im Voraus,
Bis bald,
Jean

Hallo!

Am besten schaust du dir die bereits existierenden Module an!

Der obige Link ist die Liste der Backend-Module.

Für das Frontend: Gladys/front/src/routes/integration/all at master · GladysAssistant/Gladys · GitHub

Zögere nicht, einen Pull Request zu erstellen, damit dir jemand helfen kann, falls nötig.

Du hast ein Service als Beispiel, an dem du dich orientieren kannst. Es verwendet, soweit ich weiß, HTTP-Anfragen. Also genau das, was du brauchst :slight_smile:

Tatsächlich ist es am besten, den Code der bestehenden Dienste zu lesen :slight_smile:

Es gibt auch ein Tutorial in der Dokumentation:

Die Links verweisen auf
https://github.com/GladysAssistant/gladys-4-playground/. Das sollte meiner Meinung nach aktualisiert werden.

Ich habe ein Issue erstellt =>

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

Falls jemand mir einen Pull Request machen möchte :slight_smile:

Guten Abend. Da ich weder die Zeit noch die Muße hatte, ein Modul für Gladys zu entwickeln, stelle ich mir die Frage nun aus einem anderen Blickwinkel. Tatsächlich spiele ich mit Tasmota und die Integration ist wirklich sehr einfach, über MQTT. Ich frage mich also, ob es nicht einfacher wäre, meinen Python-Code, der eine eigene API anbindet, umzuschreiben, damit er MQTT unterstützt, denn das, was gesteuert wird, ist ein automatisches Bewässerungssystem (selbstgebaut auf Basis eines Raspberry Pi Zero W …), also völlig anpassbar … Aktuell wird der Bewässerungskreis über eine HTTP-Anfrage gesteuert: http://arrosage/{set,get}/{pompte}/{on,off}.

Was haltet ihr davon?

Vielen Dank im Voraus für eure Kommentare, die für mich sehr wertvoll sein werden.

Bis bald,
Jean

Du kannst es noch besser machen: gar nicht codieren :smiley:

Codelose Methode

Seit Gladys v4.0.3 kannst du in den Szenen eine HTTP-Anfrage machen (siehe Dokumentation => Faire des requêtes HTTP dans une scène | Gladys Assistant )

Du kannst also diese Aktion nutzen, um die API deiner automatischen Bewässerung aufzurufen.

Wenn du ein Gerät in Gladys haben möchtest, um dein Gerät manuell steuern zu können, kannst du ein „virtuelles“ Gerät in der MQTT-Integration erstellen und dann in den Szenen, wenn das Gerät auf 1 schaltet, eine HTTP-Anfrage senden, um die Bewässerung einzuschalten, und wenn es auf 0 schaltet, eine HTTP-Anfrage senden, um die Bewässerung auszuschalten.

Methode über MQTT

Alternativ kannst du ein MQTT-Skript erstellen, mit dem du deine Bewässerung ein- und ausschalten kannst.

Wir haben eine Dokumentation der MQTT-API auf der Website:

Ich habe auch kürzlich ein Video zu diesem Thema gemacht:

(Im zweiten Teil des Videos nehme ich das Beispiel eines Ein-/Ausschalters, also genau das, was du vorhast)

Guten Abend @pierre-gilles,

Die Szenen sind erstellt, aber … ich denke, wir können es besser machen, denn ich habe zwei Szenen pro Magnetventil zu steuern (eine Szene schaltet ein, die andere aus), da die URL die ID des betreffenden Magnetventils und den erwarteten Zustand (ON/1 oder OFF/0) enthält. Ich habe gelesen, dass es möglich ist, mit Variablen zu arbeiten, daher könnte man sich vorstellen, ein virtuelles MQTT-Gerät zu erstellen (ich bin übrigens sehr daran interessiert zu erfahren, wie das geht …), das eine Szene mit zwei Variablen aufruft: die ID und den Zustand? Ist das möglich?

Bis bald,
Danke,
Jean

Der Begriff virtuell ist irreführend, du erstellst einfach ein MQTT-Gerät, alles steht in der Dokumentation.

Der Begriff virtuell existiert in Gladys nicht.

Hallo @VonOx,

Danke für deine Antwort, aber ich habe viel Zeit damit verbracht, zu suchen, ohne wirklich eine Dokumentation zu finden, die mir hilft, das MQTT-Gerät zu erstellen, das hier gemeint ist, und es dann im Dashboard zu verwenden … Wenn du mir dabei helfen könntest, wäre das wirklich super (ich denke, ich bin nicht der Einzige, der deine Hilfe zu schätzen wüsste …).

Danke :slight_smile: