Zum Hauptinhalt springen

Shinobi Smart-Home-Integration, kostenlos und Open Source

Shinobi-Integration für Gladys Assistant

Shinobi-Kameras: Bilder, Bewegung, erkannte Objekte, Modus (überwachen, aufnehmen), lokal.

Bringt die Kameras eines Shinobi-Servers (der selbst gehostete Netzwerk-Videorekorder) in Gladys: ihr Bild, die von Shinobi erkannte Bewegung, die von einem Objekterkennungs-Plugin gesehenen Objekte, ihren Modus (überwachen, aufnehmen, deaktiviert) und ob sie online sind. Die Live-Erkennungen von Shinobi starten Szenen, mit dem Bild des Augenblicks, das dir eine Szene schicken kann. Szenen können eine Kamera auch auf Aufnahme schalten oder zurück auf nur überwachen.

Getestet mit einem echten Shinobi-Server in Docker (das offizielle Image vom Oktober 2026), einer simulierten Netzwerkkamera und der eingebauten Bewegungserkennung von Shinobi, noch nicht mit einer laufenden Installation mit echten Kameras und auch nicht mit einem Objekterkennungs-Plugin: Feedback willkommen auf GitHub oder im Gladys-Forum.

Was du brauchst​

  • Gladys 5.1 oder neuer.
  • Shinobi, von Gladys über seinen Webport erreichbar (standardmäßig 8080). Ein aktuelles Shinobi ist am besten: Die Live-Erkennungen wurden mit dem Shinobi vom Oktober 2026 getestet.
  • Die Kameras (Monitore) bereits in Shinobi angelegt, mit:
    • eingeschalteter JPEG-API (Monitoreinstellungen, Abschnitt JPEG API): Gladys liest dort die Bilder;
    • eingeschaltetem Detektor mit der eingebauten Bewegungserkennung von Shinobi, für Bewegung;
    • einem mit Shinobi verbundenen Objekterkennungs-Plugin (Tensorflow, YOLO, DeepStack…) und eingeschalteter Objekterkennung für den Monitor, für Objekt erkannt. Der eingebaute Detektor von Shinobi sieht nur Bewegung.
  • Einen API-Schlüssel deines Shinobi-Kontos. Klicke in Shinobi auf deinen Benutzernamen (oben links), dann auf API, und füge einen Schlüssel hinzu: IP 0.0.0.0 (oder die Adresse von Gladys), mit den Berechtigungen, Monitore zu sehen und zu steuern, Schnappschüsse zu sehen, und Can Authenticate Websocket (Live-Erkennungen).
  • Den Gruppenschlüssel deines Kontos: in Shinobi dein Benutzername, dann Einstellungen (Group Key).

Installation​

  1. Öffne in Gladys Integrationen, suche Shinobi und installiere es.
  2. Fülle im Tab Konfiguration aus:
    • Shinobi-Adresse: die Adresse des Rechners, auf dem Shinobi läuft, z. B. 192.168.1.20. Ohne Port wird 8080 verwendet; füge :port hinzu, falls er geändert wurde, oder https:// hinter einem Reverse-Proxy.
    • API-Schlüssel und Gruppenschlüssel: siehe oben.
    • Bildaktualisierung: wie oft das Bild jeder Kamera an Gladys gesendet wird (von 10 Sekunden bis 15 Minuten, standardmäßig 1 Minute). Eine Erkennung sendet sofort eines.
    • Ende einer Erkennung: Shinobi sendet jede Erkennung, nie ihr Ende. Bewegung und Objekt erkannt gehen nach dieser Zeit ohne neue Erkennung auf 0 zurück (standardmäßig 30 Sekunden). Die Auslöser folgen derselben Zeit: Eine Erkennung startet eine Szene erst nach Ablauf dieser Zeit erneut.
    • Sprache der Namen: die Sprache der Funktionsnamen, die beim Hinzufügen einer Kamera vergeben werden.
  3. Speichere und öffne dann den Tab Entdecken: ein Gerät pro Kamera. Füge die gewünschten hinzu.
  4. Verbindung prüfen zeigt, was die Integration liest: ob Live-Erkennungen ankommen, jede Kamera, ihren Modus, ob sie online ist, und was fehlt (JPEG-API aus, kein Detektor).

Die Gladys-Geräte​

Jeder Shinobi-Monitor wird zu einer Gladys-Kamera, benannt wie in Shinobi, mit:

FunktionWas es ist
BildDas Kamerabild, im gewählten Takt und sofort bei einer Erkennung gesendet.
Bewegung1, wenn der Bewegungsmelder von Shinobi gerade Bewegung gesehen hat, sonst 0.
Objekt erkannt1, wenn ein Plugin gerade ein Objekt gesehen hat, sonst 0. Falls der Monitor es hat.
ModusNur überwachen, Aufnahme, Leerlauf oder Deaktiviert. Eine Liste: änderbar.

Ob der Stream ankommt, zeigt das Gerät selbst: Eine Kamera, deren Stream verloren ist, erscheint in Gladys als nicht erreichbar (und löst Shinobi: Kamera offline aus). Modus ist absichtlich eine Liste, nie ein Schalter, den ein Sprachassistent versehentlich umlegt. Ein zu großer Shinobi-Schnappschuss wird in der Integration verkleinert, damit er in Gladys passt (150 KB pro Bild).

Dashboard-Widget​

Shinobi-Kamera zeigt das Bild einer Kamera, die Bewegung, die gerade gesehenen Objekte (z. B. „person, car“), den Modus und ob sie online ist, und zwei Schaltflächen: Aufnehmen (oder Nur überwachen während der Aufnahme) und Neues Bild.

Szenen​

Auslöser​

  • Shinobi: Bewegung erkannt: Der Bewegungsmelder von Shinobi sieht Bewegung auf einer Kamera. Filter: die Kamera (leer = alle) und die Region (ein in Shinobi gezeichneter Regionsname, leer = alle). Variablen: der Kameraname, die Region (leer für das ganze Bild) und die Konfidenz in % (der Anteil des Bildes, der sich geändert hat). Das Bild des Augenblicks wird zuerst an Gladys gesendet.
  • Shinobi: Objekt erkannt: Ein Objekterkennungs-Plugin sieht ein Objekt. Filter: die Kamera und das Objekt (Label, wie das Plugin es nennt: person, car, dog…). Variablen: der Kameraname, das Objekt und die Konfidenz in %. Ein Ereignis pro gesehenem Objekt.
  • Shinobi: Kamera offline: Eine überwachende oder aufnehmende Kamera verliert seit 30 Sekunden ihren Stream, oder Shinobi selbst antwortet nicht mehr. Nicht ausgelöst für eine in Shinobi deaktivierte Kamera oder eine im Leerlauf, auch nicht für den Neustart nach einem Moduswechsel.

Aktionen​

  • Shinobi: aufnehmen oder überwachen: Aufnahme schaltet eine Kamera auf durchgehende Aufnahme, Nur überwachen schaltet sie zurück (Shinobi nimmt weiter bei Erkennungen auf, wenn der Monitor so eingestellt ist). Der API-Schlüssel braucht die Berechtigung, Monitore zu steuern.

Die Aktion Kameraaufnahme senden von Gladys sendet das letzte Bild einer Kamera: direkt nach Shinobi: Bewegung erkannt oder Shinobi: Objekt erkannt ist es das Bild dieses Augenblicks.

Szenen-Ideen​

  • Jemand an der Tür: Shinobi: Objekt erkannt, Kamera „Eingang“, Objekt person → Kameraaufnahme senden dieser Kamera an dein Handy, mit {{triggerEvent.data.score}} % im Text.
  • Bewegung in der Einfahrt bei Nacht: Shinobi: Bewegung erkannt, Region driveway → das Außenlicht fünf Minuten einschalten.
  • Aufnehmen, wenn du weg bist: alle verlassen das Haus → Shinobi: aufnehmen oder überwachen, Aufnahme, auf der Flurkamera; Nur überwachen, wenn jemand zurück ist.
  • Kamera verloren: Shinobi: Kamera offline → eine Nachricht mit dem Kameranamen senden.

Fehlerbehebung​

  • „Shinobi antwortet unter dieser Adresse nicht“: Öffne http://<adresse>:8080 in einem Browser. Prüfe den Port und dass keine Firewall Gladys blockiert.
  • „Etwas antwortet, aber nicht wie Shinobi“: Adresse oder Port führen zu einem anderen Dienst. Gib die Adresse von Shinobi ohne Seitenpfad ein (ein Pfad bleibt hinter einem Reverse-Proxy erhalten).
  • „Shinobi lehnt den API-Schlüssel oder den Gruppenschlüssel ab“: Kopiere beide erneut aus Shinobi; prüfe die für den Schlüssel erlaubte IP (0.0.0.0 für alle).
  • „Keine Live-Erkennungen: Gib dem API-Schlüssel die Berechtigung Can Authenticate Websocket“: Bearbeite den Schlüssel in Shinobi (Benutzername → API). Ohne sie werden die Zustände einmal pro Minute gelesen und keine Erkennung erreicht Gladys.
  • „JPEG-API aus“: Schalte die JPEG-API in den Monitoreinstellungen ein; ohne sie hat Shinobi nur ein Platzhalterbild.
  • Bewegung bleibt bei 0: Der Detektor des Monitors ist aus, oder seine Empfindlichkeit zu hoch für das, was sich bewegt (Detektoreinstellungen in Shinobi). Die Ereignisliste von Shinobi zeigt, ob er erkennt.
  • Ein Reverse-Proxy: Er muss WebSockets auf /socket.io/ durchlassen.
  • Mehr Details: die Protokolle der Integration (Integrationen → Shinobi → Protokolle); setze LOG_LEVEL auf debug, um jede Anfrage zu sehen (nie mit dem Schlüssel).

Grenzen​

  • Kein Live-Video: Gladys zeigt Bilder, im gewählten Takt gesendet (Gladys behält höchstens 12 Bilder pro Minute und Kamera). Live-Stream und Aufnahmen siehst du in Shinobi.
  • Shinobi sendet Erkennungen, nicht ihr Ende: Bewegung und Objekt erkannt bleiben nach der letzten für die gewählte Zeit an.
  • Regionen und Labels werden so gefiltert, wie sie in Shinobi geschrieben sind: Die Szenenfilter vergleichen nur Text.
  • Eine Kamera deaktivierst du über die Liste Modus oder in Shinobi, nicht über eine Szenenaktion.
  • Vergangene Aufnahmen, Ereignisverlauf, PTZ und Zeitraffer sind nicht abgedeckt.
  • Live-Erkennungen brauchen ein aktuelles Shinobi: Das Image von 2021 auf Docker Hub sendet sie nicht (die Zustände werden dann jede Minute gelesen).
  • Eine Shinobi-Gruppe (ein Gruppenschlüssel) pro Integration.
  • Ohne die Hardware entwickelt: Feedback willkommen. Getestet mit dem offiziellen Shinobi-Image in Docker und einer simulierten Kamera; die Objekte wurden über die eigene API von Shinobi simuliert, ohne Plugin.

Diese Integration ist nicht mit Shinobi Systems verbunden.

Konfigurationseinstellungen​

Diese Einstellungen fragt Shinobi in seinem Konfigurationsbildschirm in Gladys ab.

EinstellungTypPflichtfeldBeschreibung
Dein Shinobi-ServersectionNeinShinobi, der selbst gehostete Videorekorder. Erstelle in Shinobi einen API-Schlüssel (dein Benutzername, dann API), gib ihn mit dem Gruppenschlüssel ein und öffne dann den Tab „Entdecken“: ein Gerät pro Kamera.
Shinobi-AdressestringJaOhne Port wird 8080 verwendet. Füge https:// hinter einem Reverse-Proxy hinzu.
API-SchlüsselsecretJaGib ihm die Berechtigungen, Kameras zu sehen und zu steuern, Schnappschüsse zu sehen, und „Can Authenticate Websocket“ für Live-Erkennungen.
GruppenschlüsselstringJaIn Shinobi unter deinem Benutzernamen, dann Einstellungen (Group Key) zu sehen.
BildaktualisierungselectNeinWie oft das Bild jeder Kamera an Gladys gesendet wird. Eine Erkennung sendet sofort eines.
Ende einer ErkennungselectNeinShinobi sendet jede Erkennung, nie ihr Ende: Die Bewegung geht nach dieser Zeit ohne neue Erkennung auf keine zurück.
Sprache der NamenselectNeinNamen, die den Funktionen beim Hinzufügen einer Kamera gegeben werden (Bewegung, Modus…).

So installierst du Shinobi in Gladys​

  1. Öffne in Gladys Integrationen: Shinobi erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
  2. Klicke auf Installieren. Gladys lädt das Docker-Image (ghcr.io/guim31/gladys-shinobi:1.0.0) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration).
  3. Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
  4. Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-shinobi.

Shinobi 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​

Shinobi 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.

Abonniere den Newsletter von Gladys Assistant

Ein paar E-Mails im Monat zu neuen Releases und Neuigkeiten aus dem Projekt. Verschickt von Pierre-Gilles Leymarie, dem Gründer des Projekts. Jederzeit abbestellbar 🙂