leider komme ich bei der Fehlersuche nicht mehr weiter und benötige eure Hilfe. Ich habe bereits einen externen MQTT Broker (mit erlaubten Sonderzeichen Passwort aber ohne Zertifikat) am laufen. Die IN8015 POE scheint sich auch ohne Probleme zu verbinden:
KamerIP/tmpfs/mqtt-log
2022-11-17 7:15:16: [Error] Missing ‚set‘ obj, topic: features/nightvision/currentbrightness
2022-11-17 7:15:17: [Info] Config: Version 2
2022-11-17 7:15:17: [Info] Config: Units loaded: 282
2022-11-17 7:15:17: [Info] Config: Memory required: 40760
2022-11-17 7:15:17: [Warning] A file at /mnt/mtd/ipc/tmpfs/restricted/mqttfifi already exists and will be deleted.
2022-11-17 7:15:17: [Info] Authenticate with Mqtt-Broker
2022-11-17 7:15:17: [Info] Connect to Mqtt-Broker 192.168.222.2 on port 1883…
2022-11-17 7:15:17: [Info] Synchronize Cgi-Server with Mqtt-Broker
2022-11-17 7:15:17: [Info] Mqtt listen thread has been started.
2022-11-17 7:15:17: [Info] Synchronize Cgi-Server with Mqtt-Broker
2022-11-17 7:15:18: [Info] Adapter connected!
Hier bereits eine Frage: Zeigt das Log nur Fehlermeldungen oder auch empfangene Payloads?
Schicke ich nun Payloads auf das Topic instar/all/features/ptz/preset passiert nichts. Mittlerweile habe ich auch zwei Varianten der Payloadschreibweise gesehen. Sollen beide funktionieren oder nur eine bestimmte?
{„val“:„1“}
{„{val:1}“}
demzufolge lautet mein kompletter Befehl:
instar/all/features/ptz/preset {„val“:„1“}
Leider bewegt sich die Kamera nicht auf Preset 1… Presets sind konfiguriert und über WebUI anfahrbar. Ich habe auch vergebens andere Befehle versucht.
Firmware 4.1.2.48 und WebUi 3.3 sind auf dem neusten Stand.
Firewall ist kontrolliert und blockiert nichts.
Hoffe jemand hat eine Idee wo der Fehler liegen kann … danke und Gruß
wenn man ein Debugging Tool installiert, kann man in der WebUI Buttons drücken und schauen was da für MQTT Updates bei rauskommen:
Zwei Stolperfallen dabei:
Man sieht dann dort das Status Topic und nicht den Befehl - man muß also das /status rauslöschen aus dem Topic, um es als Befehl verwenden zu können.
Befehle wie das Anfahren der Positionen haben keinen Status - dort sieht man also nichts.
Man kann aber andere Einstellungen ausprobieren und sich dort zumindest das richtige Format für den Payload rauskopieren - in dem Fall JSON.
Man muß aufpassen, dass die Autovervollständigung einem das nicht ver-deutscht. Die deutschen Anführungsstriche sind andere Zeichen als die internationalen: „val“ → "val". Der Befehl währe also:
features/ptz/preset {"val":"1"}
Und man muß noch beachten - das Topic beginnt mit Payloads bei 0. Also um das erste Preset anzufahren muß eine Null gesendet werden:
Hi,
danke für die schnelle Antwort.
Der Hinweis zu dem Stolperstein mit den deutschen Anführungszeichen war hilfreich. War aber nur ein Fehler.
Mir ist aufgefallen, dass die MQTT Verbindung als
connection = {„val“:„offline“}
angezeigt war. Obwohl im WebUI MQTT aktiviert war. Musste deaktivieren und wieder aktivieren damit es auf → online springt. Mit den richtigen Anführungszeichen oben funktioniert nun auch der PTZ Befehl.
Aber wenn ich alle Kameras adressieren möchte
/instar/all/…
passiert auch wieder nix und jetzt das fatale → Die Verbindung zu der einzelnen Kamera wird wieder offline gesetzt und muss manuell via WebUI (MQTT deaktivieren und wieder aktivieren) aufgebaut werden