InvenTree Smart-Home-Integration, kostenlos und Open Source

InvenTree in Gladys: Teile unter Mindestbestand, leere Teile, Bestellungen und Lagerwert.
Verfolge dein InvenTree-Inventar in Gladys: die Teile unter ihrem Mindestbestand, die leeren Teile, die laufenden Bestellungen und den Lagerwert. Szenen können reagieren, wenn ein Teil knapp wird oder eine Bestellung eintrifft, den Bestand eines Teils lesen und, wenn du es erlaubst, Teile aus dem Lager entnehmen. Gladys spricht direkt mit deinem InvenTree-Server, zu Hause oder gehostet.
Getestet mit einem echten InvenTree-1.6.1-Server (das offizielle Docker-Image, mit PostgreSQL). Rückmeldungen sind im Gladys-Forum willkommen.
Voraussetzungen
- Gladys Assistant 5.1 oder neuer.
- Ein InvenTree-Server (Version 1.0 oder neuer), vom Gladys-Rechner aus erreichbar: in deinem Netzwerk oder im Internet per HTTPS.
- Ein API-Token: Öffne in InvenTree deine Benutzereinstellungen,
Sicherheit, Zugriffstoken, füge ein Token hinzu und kopiere es. Ein
eigener Benutzer ist eine gute Idee. Seine Rollen (Admin, Gruppen) bestimmen,
was Gladys sieht:
- Teile: Ansicht, erforderlich;
- Bestellungen: Ansicht, für laufende und erhaltene Bestellungen;
- Lagerartikel: Ansicht, für den Lagerwert;
- Lagerartikel: Ändern, nur für die Entnahme aus einer Szene.
Konfiguration
- Öffne den Tab Konfiguration der Integration.
- Gib unter InvenTree-Adresse die Adresse ein, die du im Browser öffnest,
zum Beispiel
http://192.168.1.50:8000oderhttps://inventree.example.org. - Füge das API-Token ein (mit oder ohne das Wort
Tokendavor). - InvenTree lesen alle: 5, 15 (Standard), 30 Minuten oder 1 Stunde.
- Ein Gerät pro Teil: keines, die vom Token-Benutzer abonnierten Teile (der Stern auf der Seite eines Teils, Standard) oder alle Teile mit Mindestbestand. Höchstens 50 Teile.
- Szenen dürfen Bestand entnehmen: standardmäßig aus. Schalte es nur ein, wenn eine Szene Teile aus InvenTree entnehmen soll.
- Sprache der Namen und Meldungen legt die Namen der Funktionen (beim Hinzufügen des Geräts festgelegt) und die Texte der Szenenaktionen fest. Standardmäßig Französisch.
- Speichere und nutze dann Verbindung testen: sie zeigt die InvenTree-Version, die Anzahl der Teile, die unter Mindestbestand und die laufenden Bestellungen.
- Füge im Tab Erkennung das Gerät InvenTree und die gewünschten Teile-Geräte hinzu.
Geräte
Das Gerät InvenTree:
| Funktion | Bedeutung |
|---|---|
| Teile | Aktive Teile (ohne virtuelle Teile) |
| Teile unter Mindestbestand | Teile mit Mindestbestand und einem Gesamtbestand echt darunter (InvenTree-Regel) |
| Teile nicht vorrätig | Teile mit Mindestbestand und nichts mehr auf Lager |
| Laufende Bestellungen | Ausstehende, aufgegebene oder angehaltene Bestellungen |
| Überfällige Bestellungen | Bestellungen nach ihrem Zieldatum |
| Lagerwert | Menge × Einkaufspreis der Lagerartikel, in der Hauptwährung von InvenTree |
Preise in einer anderen Währung werden mit den Wechselkursen von InvenTree umgerechnet; ein Artikel ohne Preis zählt nicht. Der Wert hat die Einheit Euro, Dollar oder Pfund, wenn das die Hauptwährung von InvenTree ist.
Jedes Teile-Gerät (nach dem Teil benannt) hat: Menge auf Lager (mit Verlauf), Mindestbestand und bestellte Menge. Der Bestand eines Teils enthält seine Varianten, wie in InvenTree.
Darf der Benutzer des Tokens die Bestellungen oder die Lagerartikel nicht sehen, bleiben diese Funktionen leer, statt eine falsche Null zu zeigen.
Dashboard-Widget
Nachzubestellende Teile: Kacheln mit den Teilen unter Mindestbestand, den leeren Teilen und den laufenden Bestellungen (orange, wenn eine überfällig ist), und die Liste der nachzubestellenden Teile, die leersten zuerst: Menge, Minimum, bestellte Menge.
Szenen-Auslöser
- Teil unter Mindestbestand: ein Teil fällt unter seinen Mindestbestand. Variablen: Teil, IPN, Kategorie, Menge auf Lager, Mindestbestand, bestellte Menge. Das Teil wird erneut gemeldet, nachdem es wieder sein Minimum erreicht hat.
- Teil nicht vorrätig: ein Teil mit Mindestbestand ist ganz leer. Variablen: Teil, IPN, Kategorie, Mindestbestand, bestellte Menge.
- Bestellung erhalten: eine laufende Bestellung ist in InvenTree abgeschlossen. Variablen: Bestellnummer, Lieferant, Beschreibung, Anzahl der Positionen.
Das erste Lesen nach der Installation ist still: was schon knapp ist, wird nicht gemeldet. Ein Neustart meldet nichts doppelt. Höchstens 10 Ereignisse jeder Art pro Lesevorgang (ein Massenimport überflutet deine Szenen nicht).
Szenen-Aktionen
- Bestand eines Teils lesen: gib das Teil mit seinem Namen, seiner IPN,
einem Namensteil, den nur ein Teil hat, oder seiner Nummer (
#12) an. Ausgaben: Menge auf Lager, Mindestbestand, bestellte Menge, unter Mindestbestand (ja/nein) und ein Satz wie „Arduino Nano: 2 auf Lager, Minimum 3, 5 bestellt.“. - Bestand entnehmen (nur wenn in der Konfiguration erlaubt): entnimmt eine Menge eines Teils, zuerst aus den Lagerartikeln, die am frühesten ablaufen, dann den ältesten, und trägt sie in den Verlauf von InvenTree ein („Removed by a Gladys Assistant scene“). Reicht der Bestand nicht, wird nichts entnommen. Nur die eigenen Lagerartikel des Teils zählen (nicht die seiner Varianten), reservierter Bestand eingeschlossen; serialisierte Artikel bleiben unberührt. Dieselben Ausgaben wie beim Lesen.
Szenenbeispiele
- Einkaufsliste: Auslöser „Teil unter Mindestbestand“ → Nachricht „{{triggerEvent.data.part}} nachkaufen: noch {{triggerEvent.data.quantity}} (Minimum {{triggerEvent.data.minimum}})“.
- Paket angekommen: Auslöser „Bestellung erhalten“ → Nachricht „Bestellung {{triggerEvent.data.order}} von {{triggerEvent.data.supplier}} erhalten“.
- Filament für den nächsten Druck: jeden Abend → „Bestand eines Teils
lesen“
PLA schwarz→ nur fortfahren, wenn „unter Mindestbestand“ wahr ist → den Satz als Nachricht senden. - Kaffeekapseln: ein Tastendruck → „Bestand entnehmen“
Kaffeekapseln, 1.
Fehlerbehebung
- „Token abgelehnt“: das Token wurde widerrufen oder ist abgelaufen; erstelle ein neues.
- „Der Benutzer dieses Tokens darf die Teile nicht sehen“: gib dem Benutzer die Rolle Teile (Ansicht) oder nutze das Token eines anderen Benutzers.
- „Diese Adresse antwortet nicht wie InvenTree“: prüfe die Adresse (die der Weboberfläche, mit ihrem Port) und dass kein Proxy vorher eine Anmeldung verlangt.
- Keine Bestellungen, kein Wert: dem Benutzer des Tokens fehlt die Rolle Bestellungen oder Lagerartikel (Ansicht); die Protokolle der Integration sagen es einmal.
- Kein Teile-Gerät: abonniere die Teile (Stern) mit dem Benutzer des Tokens oder wähle „Alle Teile mit Mindestbestand“.
- Ausführliche Protokolle: setze die Variable
LOG_LEVELdes Containers aufdebug.
Grenzen
- Ein InvenTree-Server pro Integration.
- InvenTree benachrichtigt nicht: Änderungen kommen beim nächsten Lesen in Gladys an (standardmäßig 15 Minuten), oder sofort nach einer Entnahme durch eine Szene.
- Ein Teil ohne Mindestbestand ist nie „unter Mindestbestand“ oder „nicht vorrätig“: gib den Teilen, die du verfolgen willst, ein Minimum (auch 1).
- Der Wert zählt nur Lagerartikel mit Einkaufspreis.
- Die Szenenaktion entnimmt ganze Mengen (1 oder mehr): das Gladys-Formular kennt keine Dezimalstellen. Dezimale Mengen (0,5 kg) werden so angezeigt.
- Verkaufsaufträge, Fertigungen und die anderen InvenTree-Module werden nicht verfolgt.
- Nicht mit dem InvenTree-Projekt verbunden.
Konfigurationseinstellungen
Diese Einstellungen fragt InvenTree in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| InvenTree verbinden | section | Nein | Gib die Adresse deines InvenTree-Servers und ein API-Token ein: Öffne in InvenTree deine Benutzereinstellungen, Sicherheit, Zugriffstoken, und füge ein Token hinzu. Der Benutzer des Tokens muss Teile sehen dürfen; Bestellungen und Lagerartikel für die Bestellungen und den Wert; den Bestand ändern nur für die Lagerentnahme. |
| InvenTree-Adresse | string | Ja | |
| API-Token | secret | Ja | |
| InvenTree lesen alle | select | Nein | |
| Ein Gerät pro Teil | select | Nein | Menge auf Lager, Minimum und bestellte Menge jedes Teils, mit Verlauf (höchstens 50 Teile). |
| Szenen dürfen Bestand entnehmen | boolean | Nein | Aktiviert die Szenenaktion „Bestand entnehmen“. Standardmäßig aus: eine Szene liest InvenTree dann nur. |
| Sprache der Namen und Meldungen | select | Nein | Die Namen der Funktionen werden beim Hinzufügen des Geräts zu Gladys festgelegt. |
So installierst du InvenTree in Gladys
- Öffne in Gladys Integrationen: InvenTree erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-inventree:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-inventree.
InvenTree benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
InvenTree ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation