Testen des MQTT- und HTTP-Alarmservers mit der neuen v2 API

Q: Ich habe diesen Artikel gelesen, der zeigt, wie ich den Alarmserver meiner IN-9408 2k+ WQHD Kameras testen kann. Es gibt einen älteren Artikel, der die Verwendung der veralteten v1 API erklärt. Was muss ich hier für die Version 2 API ändern?

A: Beide - der HTTP und der MQTT Alarmserver - verwenden jetzt eine verschlüsselte Ausgabe, die die Unterscheidung mehrerer gleichzeitiger Alarmauslöser ermöglicht (vorher wurde immer nur der erste Auslöser versendet, wenn mehr als einer ausgelöst wurde). Beide können nach wie vor über die MQTT- oder HTTP-API getestet werden. Es ist jetzt aber auch möglich, die Alarmserver-Ausgabe für verschiedene Auslöser über die WebUI der Kamera zu überprüfen:

Alarm Auslöser

Je nachdem, ob Sie den MQTT oder HTTP Alarmserver verwenden möchten, öffnen Sie das entsprechende Menü in der WebUI Ihrer Kamera und klicken Sie auf die Schaltfläche Test unten links, um das Testmenü zu öffnen.

Im folgenden Beispiel werde ich den HTTP-Alarmserver verwenden. Stellen Sie sicher, dass Sie den Alarmserver konfiguriert und das Anhängen von Alarmauslösern aktiviert haben:

MQTT- und HTTP-Alarmserver v2 API

Und klicken Sie auf die Schaltfläche Test, um das Test Menü zu öffnen:

MQTT- und HTTP-Alarmserver v2 API

Stellen Sie sicher, dass nur Bereich1 ausgewählt ist und klicken Sie auf Senden. Der nächste Schritt hängt von dem Smarthome-System ab, das Sie verwenden. In diesem Beispiel werde ich eine vereinfachte Version von diesem Node-RED Flow verwenden, um den Webhook bereitzustellen, der von der Kamera kontaktiert wird. Wenn Sie das Test-Tool aus dem MQTT-Menü anstelle des HTTP-Menüs verwenden verbinden Sie den MQTT Explorer als Debugging-Tool und Sie sehen die beiden Alarmserver-Topics:

  • APIv1 MQTT Alarmserver Topic: prefix/id/status/alarm/triggered { "val" : "1" }
  • APIv2 MQTT Alarmserver Topic: prefix/id/status/alarm/triggered/triggers { "val" : "1" }

MQTT- und HTTP-Alarmserver v2 API

Für den HTTP-Webhook kann ich in Node-RED folgendes sehen:

MQTT- und HTTP-Alarmserver v2 API

  • APIv1 HTTP Alarmserver Query: { active: "1", object: "0" }
  • APIv2 HTTP Alarmserver Query: { trigger: "1", object: "0" }

Die "vollständige" Liste der Auslöser für APIv2 lautet:

Single Triggers

Auslöser
HTTP Query
MQTT Payload status/alarm/triggered/triggers
Alarmbereich 1&trigger=1{ "val" : "1" }
Alarmbereich 2&trigger=2{ "val" : "2" }
Alarmbereich 3&trigger=4{ "val" : "4" }
Alarmbereich 4&trigger=8{ "val" : "8" }
Alarmbereich 5&trigger=256{ "val" : "256" }
Alarmbereich 6&trigger=512{ "val" : "512" }
Alarmbereich 7&trigger=1024{ "val" : "1024" }
Alarmbereich 8&trigger=2048{ "val" : "2048" }
PIR Sensor&trigger=16{ "val" : "16" }
Alarm Eingang&trigger=32{ "val" : "32" }
Audio Erkennung&trigger=64{ "val" : "64" }
Manueller Auslöser&trigger=128{ "val" : "128" }

Combined Triggers

If more then one trigger is tripped their corresponding numbers are added up:

Auslöser
HTTP Query
MQTT Payload status/alarm/triggered/triggers
Alarmbereich 1 & PIR&trigger=17{ "val" : "17" }
Alarmbereich 2 & PIR&trigger=18{ "val" : "18" }
Alarmbereich 3 & PIR&trigger=20{ "val" : "20" }
Alarmbereich 4 & PIR&trigger=24{ "val" : "24" }
Alarmbereich 5 & PIR&trigger=272{ "val" : "272" }
Alarmbereich 6 & PIR&trigger=528{ "val" : "528" }
Alarmbereich 7 & PIR&trigger=1040{ "val" : "1040" }
Alarmbereich 8 & PIR&trigger=2064{ "val" : "2064" }
Alarmbereich 1 & Alarmeingang&trigger=33{ "val" : "33" }
Alarmbereich 2 & Alarmeingang&trigger=34{ "val" : "34" }
Alarmbereich 3 & Alarmeingang&trigger=36{ "val" : "36" }
Alarmbereich 4 & Alarmeingang&trigger=40{ "val" : "40" }
Alarmbereich 5 & Alarmeingang&trigger=288{ "val" : "288" }
Alarmbereich 6 & Alarmeingang&trigger=544{ "val" : "544" }
Alarmbereich 7 & Alarmeingang&trigger=1056{ "val" : "1056" }
Alarmbereich 8 & Alarmeingang&trigger=2080{ "val" : "2080" }
Alarmbereich 1 & Audioerkennung&trigger=65{ "val" : "65" }
Alarmbereich 2 & Audioerkennung&trigger=66{ "val" : "66" }
Alarmbereich 3 & Audioerkennung&trigger=68{ "val" : "68" }
Alarmbereich 4 & Audioerkennung&trigger=72{ "val" : "72" }
Alarmbereich 5 & Audioerkennung&trigger=320{ "val" : "320" }
Alarmbereich 6 & Audioerkennung&trigger=567{ "val" : "567" }
Alarmbereich 7 & Audioerkennung&trigger=1088{ "val" : "1088" }
Alarmbereich 8 & Audioerkennung&trigger=2112{ "val" : "2112" }
Alarmbereich 1 & 2&trigger=3{ "val" : "3" }
Alarmbereich 1 & 3&trigger=5{ "val" : "5" }
Alarmbereich 1 & 4&trigger=9{ "val" : "9" }
Alarmbereich 1 & 5&trigger=257{ "val" : "257" }
Alarmbereich 1 & 6&trigger=513{ "val" : "513" }
Alarmbereich 1 & 7&trigger=1025{ "val" : "1025" }
Alarmbereich 1 & 8&trigger=2049{ "val" : "2049" }
Alarmbereich 2 & 3&trigger=6{ "val" : "6" }
Alarmbereich 2 & 4&trigger=10{ "val" : "10" }
Alarmbereich 2 & 5&trigger=258{ "val" : "258" }
Alarmbereich 2 & 6&trigger=514{ "val" : "514" }
Alarmbereich 2 & 7&trigger=1026{ "val" : "1026" }
Alarmbereich 2 & 8&trigger=2050{ "val" : "2050" }
Alarmbereich 3 & 4&trigger=12{ "val" : "12" }
Alarmbereich 3 & 5&trigger=260{ "val" : "260" }
Alarmbereich 3 & 6&trigger=516{ "val" : "516" }
Alarmbereich 3 & 7&trigger=1028{ "val" : "1028" }
Alarmbereich 3 & 8&trigger=2052{ "val" : "2052" }
Alarmbereich 4 & 5&trigger=264{ "val" : "264" }
Alarmbereich 4 & 6&trigger=520{ "val" : "520" }
Alarmbereich 4 & 7&trigger=1032{ "val" : "1032" }
Alarmbereich 4 & 8&trigger=2056{ "val" : "2056" }
Alarmbereich 5 & 6&trigger=768{ "val" : "768" }
Alarmbereich 5 & 7&trigger=1280{ "val" : "1280" }
Alarmbereich 5 & 8&trigger=2304{ "val" : "2304" }
Alarmbereich 6 & 7&trigger=1536{ "val" : "1536" }
Alarmbereich 6 & 8&trigger=2560{ "val" : "2560" }
Alarmbereich 7 & 8&trigger=3072{ "val" : "3072" }
Alarmbereich 1 & 2 & 3 & 4&trigger=15{ "val" : "15" }
Alarmbereich 5 & 6 & 7 & 8&trigger=3840{ "val" : "3840" }
Alarmbereich 1 & 2 & 7 & 8&trigger=3075{ "val" : "3075" }
Alarmbereich 3 & 4 & 5 & 6&trigger=780{ "val" : "780" }

USW. USW. USW.