MQTT Topic aktualisieren sich nicht - Steuerung nicht möglich!

Wir hatten in letzter Zeit mehrere Anfragen wie:

Nun habe ich verschiedene PTZ definiert, leider bleibt aber die Kamera immer in gleicher Position. Die Befehle kann ich mit MQTT Explorer anschauen. Ich verwende das Befehlstopic instar/id/features/ptz/preset {"val":"1"} bis {"val":"5"}. Wenn ich eine Position auf dem Instar WebUI anwähle, sehe ich in MQTT keine Statusänderungen unter status/features/ptz.

Dieses Problem betrifft nicht nur die Topics zum Schwenken der Kamera, sondern generell alle Befehle und Status Topics. Aber die Lösung ist in den Fall =>


Pan-Tilt Steuerung über MQTT

Ich habe Ihnen hier einmal alle PTZ Topics und die dazugehörigen CGI Befehle gelistet (alle diese Befehle gibt es natürlich in für alle Bewegungsachsen - von rechts/links bis zum zoom:

* /features/ptz/movesteps/right/raw | param.cgi?cmd=ptzmove&right=${val}
* /features/ptz/movesteps/nomralized/left/raw | param.cgi?cmd=ptzmove&relative=1&left=${val}
* /features/ptz/move/rel/tilt/raw | param.cgi?cmd=gotorelposition&speed=10&tilt=${val}
* /features/ptz/move/right/raw | param.cgi?cmd=ptzmove&right=0&timeout=${val}
* /features/ptz/move/continuous/down/raw | param.cgi?cmd=ptzmove&down=0&speed=${val}
* /features/ptz/move/stop/raw | param.cgi?cmd=ptzmove&stop=${val}
* features/ptz/preset/goto/raw | param.cgi?cmd=getptzpreset&act=goto&index=${val}

Im Video unten sehen Sie wie man z.B. das Preset Topic verwendet:

Um dieses zu verwenden, muss natürlich zuerst das entsprechende Preset auf der Kamera gesetzt werden. Für die anderen Topics (und CGI Befehle) brauchen Sie nur die Anzahl an Schritten oder das Zeitintervall angeben mit dem sich die Kamera bewegen soll. Ausnahme ist die kontinuierliche Bewegung, bei der die Bewegung durchläuft bis man das Stop Topic hinterherschickt.

Uns sind 2 potentielle Fehlerquellen bekannt, wenn die Kamera nicht auf MQTT Updates reagiert:

  1. Wenn Sie den MQTT Dienst in der Kamera aktivieren und anschliessend das Admin Kennwort für das Kameralogin aktualisieren, bekommt der MQTT Klient der Kamera keinen Zugriff mehr auf die Kamera. Sie müssen in diesem Fall den MQTT Dienst einmal über die Weboberfläche deaktivieren - ein Kameraneustart hilf nicht - und anschliessend wieder aktivieren. Danach geht dann wieder alles.

  2. Die zweite ist, wenn man falsch formatierte Updates an die Kamera sendet. kann sich der Broker daran etwas verschlucken und danach keine Updates mehr durchführen. In dem Fall hilft ein Softreset der Kamera, um die Datenbank des Brokers (für die Topic Retention) zu löschen. Wenn Sie einen externen Broker verwenden, schalten Sie einmal auf den internen um und schauen Sie ob die Kamera danach auf Befehle aus dem MQTT Explorer reagiert. Dann hätte Ihr externe Broker vermutlich das gleiche Problem.

Wir hatte allerdings von einem Kunden das Feedback, dass es schon ausreicht einmal das Topic mit höheren QoS und als „retained“ zu aktualisieren. Das scheint dann die Datenbank wieder zu reinigen und alles läuft wieder:

Wenn die Befehle dann akzeptiert werden kann man das Auto-Discovery verwenden, um alle gewünschten Topics in OpenHab oder Home Assistant einzubinden. Das macht einem alles angenehmer:

1 „Gefällt mir“