Ich weiß nicht, ob du es gesehen hast, aber im GitHub-Repo von Gladys gibt es einen Export der Software Insomnia Core, mit dem du Anfragen an die Gladys-API testen kannst.
Sobald die Software installiert und die Exportdatei in Insomnia importiert ist, musst du die Umgebungsvariablen einmal ändern, um die URL deines Gladys-Servers zu ändern.
Dann musst du dich nur noch über Insomnia anmelden (User → login) mit den Anmeldedaten/Passwort deines Gladys-Admins, um ein Zugriffstoken (access_token) zu erhalten, das du erneut in den Umgebungsvariablen ändern kannst.
Dieses access_token wird dir nützlich sein, sobald du dich über Python angemeldet hast, um deine REST-Aufrufe zu tätigen.
Entschuldigung, ich wollte Gladys schreiben und nicht Gotify. Ich arbeite an einer möglichen Integration dieses Gotify-Dienstes, da bin ich wohl ein bisschen davon geprägt
Hallo @Ook! Die REST-API von Gladys 4 ist derzeit eher für den „internen“ Gebrauch innerhalb von Gladys gedacht. Es gibt noch keinen Mechanismus für langlebige Tokens, um die API extern (mit einem API-Schlüssel) nutzen zu können.
Das ist jedoch eine geplante Entwicklung, die hier aufgelistet ist:
Du kannst für die Funktion abstimmen, wenn du sie in Gladys sehen möchtest
Aus Neugier, warum möchtest du die API extern nutzen?
In der Zwischenzeit gibt es zwei Möglichkeiten
1) Die MQTT-API
Wenn du neue Gerätewerte senden möchtest, kannst du die MQTT-API von Gladys verwenden (mehr Erklärungen in der Dokumentation), das ist meiner Meinung nach die sauberste Lösung
2) Über ein „Benutzer“-Token, als wärst du das Frontend
Wenn du die API wirklich in einem Skript verwenden möchtest, bevor die API-Tokens verfügbar sind, kannst du den Login-Flow in deinem Skript verwenden, um ein access_token und ein refresh_token abzurufen, und dann die Gladys-API mit einem access_token im Header „Authorization“ aufrufen.
Das ist weniger sauber als mit den zukünftigen API-Schlüsseln, aber es funktioniert vorerst
Mein Ziel ist doppelt: Ich arbeite an einem Skript für Spracherkennung und Sprachsynthese und möchte damit ein Szenario ausführen (im Wesentlichen alles ausschalten, wenn ich gehe).
Zum einen aus pädagogischen Gründen, denn ich lerne Python fast allein und habe bereits eine REST-API einer Software aus meinem Job genutzt. Jetzt möchte ich es mit einer anderen API versuchen, um mich an diese Technologie zu gewöhnen.
Daher denke ich, dass mir das Frontend-Äquivalent helfen würde.
Falls nicht, werde ich mit MQTT herumspielen, wenn ich einen Anwesenheitsindikator für die Abfahrt senden kann… Danke für die Info!
Top Tatsächlich ist die Frontend-Option die beste für dich.
Ich empfehle dir, um zu verstehen, wie es funktioniert, den Inspektor deines Browsers im Tab „Anfragen“ zu öffnen, während du auf der Frontseite von Gladys bist.
Du wirst alle Anfragen sehen, die durchgehen, und du kannst dasselbe in deinem Python-Skript tun.
Ich habe es geschafft! Danke für die Tipps! Meine Spracherkennung kann jetzt Szenarien starten! Super glücklich! Jetzt muss ich es nur noch am Raspberry ausprobieren!
Hallo, ich greife das Thema auf, um eine Frage zu stellen, auf die ich keine Antwort finde. Ist es über die API möglich, Verbrauchsinformationen einer Steckdose mit Internetverbindung abzurufen oder ist das nicht möglich? Vielen Dank im Voraus.
Hallo @desdamo, möchtest du den momentanen Verbrauch oder Verbrauchsverläufe?
Achtung, es gibt noch keinen API-Schlüsselmechanismus in Gladys 4 (geplant, aber noch in Entwicklung), daher ist die API nur nutzbar, « als ob dein Skript das Frontend wäre ».
Wenn du den momentanen Verbrauch möchtest (und dein Stecker natürlich Verbrauchsinformationen hochlädt), kannst du den Verbrauch über diesen GET-Zugriff abrufen, glaube ich: Gladys Assistant REST API documentation
Hallo @pierre-gilles, ich möchte über eine Frontend-Schnittstelle den Verbrauch mehrerer intelligenter Steckdosen abrufen. Kein Momentaufnahme, da ich den durchschnittlichen Verbrauch pro Woche oder Tag kennen möchte. Ist das möglich?