1440p Web User Interface
Smarthome Menü
Alle Kamerafunktionen Ihrer INSTAR Full HD-Kamera können über die HTTP/S CGI Schnittstelle gesteuert werden. Dies ist die Schnittstelle, die von der Web-Benutzeroberfläche und allen INSTAR Smartphone-Anwendungen verwendet wird. Im Smarthome und Internet of Things (IoT) Bereich gibt es ein weiteres Protokoll, das weit verbreitet ist und einige Vorteile gegenüber dem klassischen HTTP bietet - das Protokoll heißt MQTT. Das Hinzufügen einer MQTT-Schnittstelle * zu unseren Full HD-Kameras macht das Hinzufügen dieser Kameras zu einem bestehenden Smarthome - fast - zu einfach :)
Ihre Kamera verfügt über ein fein abgestuftes Zugriffsrechtesystem, mit dem Sie den Zugriff auf bestimmte Menüs der Web-Benutzeroberfläche und die zugrunde liegenden CGI-Befehle einschränken können. Die Mindestberechtigung für den Zugriff auf dieses Menü ist:
- Benutzerrechte:
System Einstellungen
Die Benutzerberechtigungen können im Benutzer Menü angepasst werden.
MQTT Settings | Beschreibung |
---|---|
MQTT aktivieren | Der MQTT-Dienst ist standardmäßig deaktiviert. Verwenden Sie diesen Schalter, um den Broker zu starten. |
MQTT über Websocket (WS) aktivieren | Aktivieren Sie die Tunnelung des MQTT-Dienstes über eine Webbrowser-konforme Websocket-Verbindung. |
Externen MQTT Broker verwenden | Standardmäßig wird der interne `127.0.0.1` Broker verwendet. Wenn Sie Ihre Kamera an einen anderen Broker anbinden möchten, aktivieren Sie hier die Option und geben Sie die Adresse unten ein. |
MQTT Server Adresse | Standardmäßig wird der interne `127.0.0.1` Broker verwendet. Wenn Sie Ihre Kamera an einen anderen Broker anbinden möchten, aktivieren Sie oben die Option und geben Sie hier die Adresse ein. |
MQTT Server Port | Dies ist der Port, über den der MQTT-Broker eine Verbindung zu Clients ohne TLS-Verschlüsselung herstellt. Der Standardwert ist 1883. |
WS Server Port | Dies ist der Port, den ein MQTT-Client verwenden kann, um sich ohne TLS-Verschlüsselung über einen Websocket-Tunnel mit Ihrem Broker zu verbinden. Der Standardwert ist "1885". |
MQTT Server Port (TLS) | Dies ist der Port, den der MQTT-Broker verwendet, um eine Verbindung zu Clients mit TLS-Verschlüsselung herzustellen. Der Standardwert ist 8883. |
WSS Server Port (TLS) | Dies ist der Port, den ein MQTT-Client verwenden kann, um eine Verbindung zu Ihrem Broker mit TLS-Verschlüsselung über einen Websocket-Tunnel herzustellen. Der Standardwert ist "8885". |
Client-TLS-Zertifikat verifizieren | Lassen sie überprüfen, ob alle verbindenden Clients ein gültiges CA-TLS-Zertifikat verwenden. Lassen Sie die Verbindung nicht zu, wenn die Überprüfung fehlschlägt. Wenn Sie das INSTAR-TLS-Zertifikat Ihrer Kamera verwenden möchten, stellen Sie sicher, dass Sie die INSTAR-DDNS-Adresse anstelle der lokalen IP-Adresse Ihres Clients für die Verbindung verwenden. |
Quality-of-Service (QoS) | Nachrichten werden "fire-and-forget" gesendet (QoS=0), gesendet und erneut gesendet, bis sie empfangen wurden (QoS=1, Standard) oder gesendet, bis sie empfangen wurden UND es wird sichergestellt, dass sie nur einmal empfangen werden (QoS=2, nur für Zeitreihendaten) |
Authentifizierung | Die Authentifizierung muss aktiviert sein, wenn Sie die Kamera als Broker verwenden. Wenn Sie bereits einen anderen Broker in ihrem Netzwerk haben und die Kamera als Klient einbinden, kann sie, wenn gewünscht, deaktiviert werden. |
Benutzername | Geben Sie den Benutzernamen ein, den Sie für den Zugriff auf den MQTT Broker verwenden möchten. |
Kennwort | Fügen Sie hier das entsprechende Passwort hinzu. |
Test | Testen Sie den MQTT-Alarmserver. Der Alarmserver, z.B. Ihr Smarthome-System, muss ein Abonnement haben für "alarm/triggered" und "alarm/triggered/object". |
MQTT Settings | Beschreibung |
---|---|
MQTT Topic Präfix | Geben Sie ein Präfix an, dass jedem Kamera Topic vorangestellt wird. Dies dient der Gruppierung von MQTT Geräten in Ihrem Netzwerk. Verwenden Sie zum Beispiel "cameras" um alle Kameras in einer Gruppe unterzubringen. Oder auch "garden/cams", um weitere Untergruppen zu bilden. |
MQTT Client ID | Die ID folgt im Topic nach dem Präfix. Wenn Sie oben zum Beispiel "garden/cams" und als Klienten ID hier 115 (die letzte Zahl der IP der Kamera) gewählt haben, dann werden alle MQTT Topics der Kamera mit "garden/cams/115" beginnen. |
MQTT LWT | Das Last-Will-and-Testament (der "letzte Wille") der Kamera. Unter diesem Topic hinterlegt die Kamera sowohl einen "Ich bin online" als auch einen "Ich habe keine Verbindung zum MQTT Broker" Wert. Wenn der heartbeat ("Herzschlag") der Kamera für 60s ausbleibt, ändert der Broker das Topic automatisch auf den letzteren Wert ab. |
MQTT LWT Online | Wert des LWTs wenn die Kamera eine Verbindung zum Broker hat. |
MQTT LWT Offline | Wert des LWTs wenn die Kamera keine Verbindung zum Broker hat. |
Der Benutzername und das Kennwort darf maximal 30 Zeichen lang sein, es muss alphanumerisch sein, wobei folgende Sonderzeichen unterstützt werden: ! # ( ) * - . / ? @ [ ] ^ _ { | } <
. Folgende Sonderzeichen werden derzeit nicht unterstützt: ä ö ü ´ " ' , > ; ~ $ § % +
Wie spricht man MQTT
Wenn Sie daran interessiert sind, Ihre Kamera über die MQTT-Schnittstelle zu einem Smarthome-System hinzuzufügen, sind Sie wahrscheinlich bereits mit unserer HTTP/S CGI-Schnittstelle vertraut, mit der Sie Befehle über Ihren Webbrowser an Ihre Kamera senden können.
Mit MQTT funktioniert es sehr ähnlich. Jeder CGI-Befehl entspricht einem MQTT-Topic und jedes Topic kann bestimmte Payloads tragen. Um beispielsweise den ersten Bewegungserkennungsbereich Ihrer Kamera zu aktivieren, können Sie den folgenden CGI-Befehl senden:
param.cgi?cmd=setmdattr&-name=1&-enable=${val}
Dabei kann der Wert (val
) 0
oder 1
sein - je nachdem, ob Sie den Erkennungsbereich deaktivieren oder aktivieren möchten.
In MQTT sieht das Gleiche wie folgt aus:
alarm/area1/enable {"val":"0"}, {"val":"1"}
Das Topic, um den Bereich ein- oder auszuschalten, ist alarm/area1/enable
und Sie müssen entweder einen Wert von 1
oder 0
senden, um ihn zu schalten.
Eine Übersicht über alle verfügbaren MQTT Topics und deren Payloads finden Sie hier.
Syntax
Um einen solchen Befehl zur Kamera zu senden, muß zuerst ein instar/
vorangestellt werden. Um genau die richtige Kamera anzusprechen haben Sie jetzt 3 Möglichkeiten. Entweder Sie nutzen /local/
um die Kamera anzusprechen auf der der MQTT Broker läuft. Oder Sie bennen eine spezifischen Kamera anhand ihres MQTT Präfixes, dass Sie hier in der WebUI frei festlegen können - z.B. mycamera
. Und als letztes haben Sie auch die Möglichkeit über /all/
gleich alle Kameras im MQTT Netz aufeinmal anzusprechen:
instar/local/alarm/area1/enable
instar/mycamera/alarm/area1/enable
instar/all/alarm/area1/enable
Nachdem sie ein solches Befehl Topic aktualisiert haben, wird Ihre Kamera ein Status Topic zurückgeben, um Ihnen zu sagen, dass alles funktioniert hat:
instar/local/alarm/area1/enable
Befehl Topicinstar/local/status/alarm/area1/enable
Status Topic
Mehr Informationen hierzu finden in unseren MQTT Topics und Payloads Ãœbersicht.
Welche Software kann ich verwenden?
Wir haben eine ständig wachsende Liste von Software, die mit dem MQTT-Protokoll kompatibel ist. Ein einfacher Einstieg sind Dashboard und Debugging Awendungen, die auf Ihrem Android-Telefon oder unter Windows oder macOS installiert werden können:
Beide Android-Apps sind einfache Dashboards, mit denen Sie Ihre Kamera über die MQTT-Schnittstelle steuern können. Die Desktop-Apps können Sie verwenden, um die Verbindung zur Kamera zu testen, Interaktionen zwischen Ihrer Kamera und der Client-Anwendung aufzuzeichnen und Ihr MQTT-Netzwerk zu debuggen.
Für kompatible Smarthome Systeme lesen Sie bitte unsere Anleitungen :
- Testen des HTTP und MQTT Alarmservers
- Auto-Refreshing MQTT Topics in Node-RED
- INSTAR MQTTv5 Websocket Client
- Trigger a System Update through the MQTT Interface
- Stream Deck biOs MQTT
Lesen Sie unser FAQ, wenn Sie ein selbstsigniertes SSL-Zertifikat für den INSTAR MQTT-Broker verwenden möchten.
Das INSTAR MQTT Interface basiert auf dem Eclipse Mosquitto Open Source MQTT Broker. Der Quellcode kann von Github heruntergeladen werden und ist unter Eclipse Public License 2.0 verfügbar.