Arbeiten mit Alarmserver-Headern

Q: Ich benutze den Alarmserver meines 9408 2K+, um eine HTTPS-Anfrage an meinen lokalen ntfy-Server zu senden (siehe ntfy.sh). Dieser wiederum sendet die Nachricht an alle mobilen Geräte, die das Thema abonniert haben. Die Anfrage funktioniert bisher einwandfrei.

Leider ist es derzeit nur möglich, die Parameter in der Anfrage (Body) selbst zu bearbeiten. ntfy verwendet jedoch Informationen im Header, um bestimmte Parameter zu übertragen (z.B. den Titel, eine Priorität, etc.). Gibt es eine Möglichkeit, die Kopfdaten der Anfragen zu bearbeiten, um einzelne Parameter zu übertragen?

A: Bei unseren 2K+ WQHD-Modellen können Sie jetzt benutzerdefinierte Kopfzeilen für Alarmserver-Anfrage festlegen. Diese können direkt über die WebUI konfiguriert oder dynamisch über die HTTP (CGI) Schnittstelle oder die MQTT Schnittstelle gesetzt werden.

Siehe auch Debugging des HTTP-Alarmservers in Node-RED

Grundeinrichtung

Öffnen Sie die WebUI Ihrer Kamera und navigieren Sie zum Menü Smarthome/Alarmserver. Klicken Sie auf das Symbol + neben Request Header, um bis zu 5 benutzerdefinierte Header hinzuzufügen:

Arbeiten mit Alarmserver-Headern

Sie können nun Ihre benutzerdefinierten Kopfzeilen gemäß der ntfy-Dokumentation hinzufügen - z. B.:

  • Einstellung des Nachrichtentitels: X-Title: Notification from my camera
  • Hinzufügen von Tags: X-Tags: warning,skull
  • Einstellung der Nachrichtenpriorität: X-Priority: 5
  • Hinzufügen eines Links, der die WebUI der Kamera öffnet: X-Click: http://192.168.2.125/
  • Anhängen eines Links zu einem Schnappschuss Ihrer Kamera: X-Attach: http://192.168.2.125/snap.cgi?user=admin&pwd=instar
  • Verwendung eines Schnappschusses von Ihrer Kamera als Nachrichtensymbol: X-Icon: http://192.168.2.125/snap.cgi?user=admin&pwd=instar

Hinweis: Die obigen Beispiele verwenden die lokale IP-Adresse Ihrer Kamera. Diese ist nur zugänglich, wenn der ntfy-Server und Ihr Smartphone - das Sie mit der ntfy-App verwenden - sich im selben lokalen Netzwerk befinden wie Ihre Kamera. Oder wenn Sie ein VPN verwenden, um sich mit Ihrem lokalen Netzwerk zu verbinden. Andernfalls müssen Sie die lokale IP-Adresse mit Ihrer DDNS-Adresse austauschen und den Web-Port Ihrer Kamera weiterleiten, um auf die Adresse aus dem Internet zugreifen zu können.

Dynamische Konfiguration

Falls Sie ein Smarthome-System verwenden, möchten Sie diese Header vielleicht dynamisch per CGI- oder MQTT-Befehl anpassen. Ein Beispiel wäre, dass Ihr Smarthome weiß, dass gerade niemand zu Hause ist, und Sie daher die Priorität einer Nachricht, die Sie über eine erkannte Bewegung informiert, erhöhen möchten.

HTTP (CGI) Interface

Bitte klicken Sie auf den obigen Link, um die gesamte API-Dokumentation zu sehen.

Um die Priorität zu erhöhen, senden Sie einfach den folgenden Befehl an Ihre Kamera:

  • http://192.168.2.168/param.cgi?cmd=setasattr&as_index=1&as_header1=1&as_headerattr1=X-Priority&as_headerval1=5

MQTT Interface

Das gleiche kann über die MQTT-Schnittstelle mit den folgenden Befehlen erreicht werden:

  • smarthome/alarmserver/header1: Payload: {"val": "1"}
  • smarthome/alarmserver/headerkey1: Payload: {"val": "X-Priority"}
  • smarthome/alarmserver/headerval1: Payload: {"val": "5"}