Seit MQTT- Update sind Kameras nicht erreichbar oder akzeptieren kein Passwort

Da ich den iobroker nutze, habe ich sehr auf das Einfügen von MQTT gewartet.

Leider habe ich seit dem update das Problem, dass die Kameras erst laufen, dann aber nach einiger Zeit nicht mehr zu erreichen sind, bzw. kein Passwort mehr akzeptieren.

System:

9020 läuft eine seit einem halben Jahr und seit dem letzten Update nicht mehr

9008 läuft seit einem halben Jahr, seit dem Update nicht mehr

9020 gestern angeschlossen, lief 2 Stunden und akzeptiert seitdem kein Passwort mehr

9008 läuft seit einem halben Jahr, hier habe ich nach dem Update MQTT deaktiviert, sie funktioniert noch

8015 läuft seit einem dreiviertel Jahr, kein Update gemacht, läuft problemlos

Laut Kundenservice hat Passwort und MQTT nichts miteinander zu tun, das hilft mir nur leider nicht weiter…

Meine Versuche:

Manche sind gar nicht zu erreichen, dann habe ich über die SD-Karte einen Reset durchgeführt und versucht die Kamera über WLAN wieder zu erreichen. Das hat nie funktioniert.

Über LAN kann ich die Kameras dann mit dem Camera-Tool finden.

Allerdings kann ich mich nicht mehr einloggen.

Mein Passwort und auch das Standard Passwort funktionieren nicht mehr.

Hierfür habe ich bisher noch keine Lösung…

Ich habe mehrere Repeater (ganze System Fritz und aktuell) bei dem das Netzwerk und das Passwort genauso sind wie bei der FRITZ!Box.

Ich habe gelesen, dass das Probleme machen kann, hat aber ein halbes Jahr funktioniert…

daher…

Zum Testen habe ich bei einem Repeater ein eigenes Gäste WLAN eingerichtet und eine neue Kamera damit verbunden. Funktionierte 2 Tage, dann das gleiche Problem…

Da die Verbindung mit LAN am besten klappte, habe ich einen Repeater neben die neue Kamera gesetzt und die Kamera mit dem Kabel angeschlossen.

Funktionierte… für 2 Stunden.

Dann wollte er wieder ein Passwort und hat keins akzeptiert.

Aktuell:

Die FRITZ!Box zeigt die 9020 im Heimnetz an und wird dort auch richtig benannt

Wenn ich auf den Link klicke, dann sagt der Browser: keine Verbindung möglich

Mit dem Camera-Tool finde ich die Kamera, allerdings wird der Name dort nicht richtig angezeigt.
Bild 1.PNG

Klicke ich dort auf den Link, kriege ich eine Verbindung, sie akzeptiert allerdings wieder kein Passwort

in meinem MQTT-Broker sehe ich die Ordnerstruktur der Kamera, jedoch keinen Status

Hat irgendjemand eine Idee für mich bevor ich den ganzen Kram bald verbrenne?

Hallo und danke für die schnelle Antwort.
O. k., das kann das Problem sein…
Harken sind jetzt weg.

was meinst Du mit ${val} anmelden?
Ich komme an der Benutzername/Passwort Maske nicht vorbei…

Es gab hier im Forum bereits ein Posting wo jemand nach diesem Problem mit seinem alten Benutzernamen aber mit ${val} als Kennwort wieder auf die Kamera kam. Es wurde also nur das Kennwort vom ioBroker ersetzt, nicht der Benutzername. Aber es kann natürlich auch beides ersetzt wurden sein. Man sieht ja auch im Kameratool, dass der Kamername bereits zu ${val } gewurden ist.

Wieder einen Schritt weiter…

Er hat jetzt tatsächlich als Benutzernamen ${val }, zusammen mit meinem alten Passwort akzeptiert.
So komme ich in die Systemeinstellung…

Wenn ich versuche Benutzername/Passwort zu ändern,
meckert er bei dem ${val } Benutzernamen, dass keine Sonderzeichen erlaubt sind,
dann trage ich die neuen Daten ein
dann möchte er noch einmal Benutzername Passwort
das akzeptiert er aber nicht…
Er akzeptiert nicht womit ich mich gerade eingeloggt hatte,
und den neu erstellten Benutzername/Passwort nicht…???

Meine Einstellungen sind ja sowieso alle weg…

Sollte ich auf Werkseinstellungen zurücksetzen?
(Falls er mich lässt?)

Oder habe ich vielleicht noch ein Fehler in meinem Broker?

Ok, das ist schon mal gut.

Ich würde dann zuerst den MQTT Dienst deaktivieren, um sicherzugehen, dass die Daten nicht erneut überspielt werden. Ggf. kann man auch über die WebUI einen Soft-Reset durchführen (bei dem die Netzwerkdaten erhalten bleiben, alles andere aber zurückgesetz wird).

Alternativ kann man das Problem auch über MQTT lösen. Die Daten auf der Kamera wurden per MQTT überschrieben, dann kann man es auch darüber wieder berichtigen. Man kann z.B. einmal in den Objektbaum im ioBroker nach dem Befehlstopic (ganz wichtig, nicht das Status Topic) suchen mit dem das Login geändert wird. Der Wert sollte einem dort angezeigt werden - bzw. es wird vermutlich keinen Wert haben (leerer String). Das kann man von Hand anpassen und der MQTT Adapter sollte danach den Wert auf die Kamera pushen.

Persönlich bevorzuge ich MQTT.fx oder den MQTT Explorer:

https://wiki.instar.de/Erweitert/INS…nd_LINUX_Apps/

Da kann man genau sehen, was der Broker gerade denkt, was der Wert bestimmter Topics sein sollte. Und dass kann man dann einfach ändern. Das Admin Login kann dort mit diesen beiden Topics angepasst werden:

system/user/admin/name {„val“:„admin“}
system/user/admin/password „val“:„instar“}

Und die Broker Einstellungen im Screenshot schauen gut aus. Wir empfehlen QoS auf 1 zu stellen - 0 bedeutet der Broker sendet Updates nur einmal raus, bei 1 hört der Broker erst auf zu senden wenn er eine Empfangsbestätigung bekommen hat. Aber das hat keinen Einfluß auf „das Problem“.

O. k., hört sich logisch an.

Zuerst habe ich den Ratschlag befolgt und den QoS Wert auf eins gesetzt.

Die Lösung über MQTT hört sich für mich logisch an,
wenn das klappt, hilft mir das auch sicherlich für die weitere Programmierung.
Um sicher zu gehen, dass ich bei einem Fehler nicht gleich wieder etwas mit dem Passwort zerstöre,
versuche ich zuerst ein Alarmbereich zu aktivieren…

Der Adapter im iobroker zeigt grün.

Objektbaum der Kamera:
Ich habe in den Statusbereich geschaut, dort ist nichts angezeigt.

Oben in der raw Zeile für den Alarmbereich (das ist doch der „Befehlsbereich“?) Trage ich den Wert „1“ ein und drücke Enter.

Leider kein positives Ergebnis.

  1. In den kleinen Infofenster steht leider „false“

  2. In den Statusbereich des Objektbaums ändert sich nichts
    müsste die eins dort nicht auftauchen?

  3. In der UI tut sich leider auch nichts
    (ich bin kurz in einen anderen Bereich der Navigation gegangen, damit sich das aktualisiert…)

Also…
Ich habe hier noch das Programm mqttBox dazu genommen.
Das hatte ich schon mal eingerichtet und es funktioniert mit dem Broker.

Die mqtt Einstellungen in der Kamera scheinen zu passen,
denn wenn ich einen Alarmbereich in der UI der Kamera aktiviere, sehe ich das im Broker.

Ich kann auch über die mqttBox den Befehl zum Aktivieren oder Deaktivieren des Alarmbereichs schicken, und sehe das Ergebnis im Broker.

Aber…
Wenn ich direkt im Broker die Änderung manuell oder über die mqttBox ausführe, dann ändert sich nichts bei der Kamera…
Auch nicht, wenn ich die Internetseite danach neu aktualisiere…
???

Was mir beim Debuggen häufiger passiert, ist das ich das Topic mit „/status/“ im Namen kopiere und vergesse dieses zu löschen bevor ich es absende. Also wenn man ein Befehlstopic aktualisiert wie z.B.

instar/10D1DC20D8CA/alarm/area1/enable

Muß sofort darauf die Antwort von der Kamera über das Status Update reinkommen:

instar/10D1DC20D8CA/status/alarm/area1/enable

Wenn man das nicht sieht ist was fehlgeschlagen.

Auch muß man dadrauf achten das in diesem Fall der Wert JSON formartiert gesendet werden muß - also bei :

instar/10D1DC20D8CA/alarm/area1/enable braucht man {„val“:„1“}

instar/10D1DC20D8CA/alarm/area1/enable/raw braucht man nur 1 als Wert.

Wenn man das JSON Format vergisst oder versehentlich das Status Topic verwendet, nimmt der Broker das zwar an, aber es wird nichts auf der Kamera passieren.

EDIT: Natürlich auch umgekehrt - JSON formatierter Payload auf ein RAW Befehls-Topic funktioniert genauso wenig.

Nachdem ich letzte Nacht nach vielem Probieren nicht weiter kam,

Habe ich die Kamera noch einmal über die UI auf Werkseinstellungen gesetzt.

Dank deiner Änderung in den MQTT -Einstellungen hat die Kamera jetzt auch wieder einen normalen Namen und scheint wieder normal zu funktionieren.

Schon mal vielen Dank dafür!

Allerdings verhält sich das MQTT immer noch gleich.

-Die Informationen kommen von der Kamera zum Broker

-ich kann auch von der MQTT-Box Informationen zum Broker schicken

(Hier hatte ich den Fehler, den du vermutet hattest. Ich habe es direkt in die Statuszeile geschrieben)

-trotzdem reagiert die Statuszeile nicht auf Einträge in der Befehlszeile im iobroker

Und es wird auch nichts in der Kamera UI geändert.

Vielleicht doch noch ein weiterer Einstellungsfehler?

Ich füge mal wieder ein paar Fotos bei…


also RAW-Werte wie {„val“:„1“} habe ich noch nie in den Objekten von meinem iobroker gesehen.
Ich schicke sie zwar inzwischen über die MQTT-Box wie im beigefügten Foto, aber in den Objekten steht immer eine 1.

Ich habe in der UI alle Bereiche aktiviert, gespeichert, deaktiviert, gespeichert.
Im Statusbereich ändert sich auch die 1 zur 0 und zurück, aber immer als normale Zahl.

Schicke ich mit der MQTT-Box einen Wert, ändert sich im Befehlsbereich der Wert, allerdings nicht in der darunterliegenden RAW Zeile, sondern nur in der darüberliegenden Enable- Spalte für den Alarmbereich.

Gibt es im ioBroker eine Option JSON Inputs zu Transformieren? In OpenHAB kann man sagen, dass wenn ein {„val“:„1“} als Update reinkommt, dann gib mir den Wert von $val - man bekommt also nur 1 angezeigt. Ansonsten sollte da beim STATUS eigentlich immer der JSON Ausdruck stehen.

Wenn man in der WebUI ein Menü mit „Übernehmen“ schließt, werden entsprechenden nicht-RAW Befehlstopics aktualisiert. Danach schießt die Kamera sofort die Status-Updates auf dem local und dem MQTT-ID Topic raus:

INSTAR_MQTT_01.gif

(Animationen funktionieren scheinbar nicht - hier kann man die GIF Datei runterladen)

Wenn man das RAW Befehlstopic aktualisiert kommen danach ebenfalls sofort die beiden Status Updates raus. In beiden Fällen in der JSON schreibweise.

INSTAR_MQTT_02.gif

(GIF Download)

o. k., danke für die Info.
Aber, ob man das so einstellen kann, dass es das automatisch transformiert… keine Ahnung

Ich hatte es auch gerade noch einmal probiert. Die Kollegen fangen es mittlerweile sogar ab, wenn man versucht etwas falschformatiertes zu senden. Ich momentan nicht wie man das Status Topic so hinbekommt wie es in dem Screenshot zu sehen ist.

GIF -> http://wiki.instar.com/dl/INSTAR_MQTT_03.gif

Wenn man die ganzen Datenpunkte noch einmal löscht und dann erst den ioBroker, dann die Kamera neustartet, werden die Datenpunkte dann wieder genauso angelegt? Eventuell ist das nur ein alter Stand.

Also meinem ioBroker (auf Windows installiert) hatte ich die Werte nur direkt in die „Objekte“ eingetragen.
Da anscheinend aber auch in falsche Spalten und nur unformatiert…

Node-Red nutze ich gar nicht und Blockly habe ich hierfür noch nicht benutzt.
Geändert wurde also nur bei den „Objekten“ in der Spalte „Werte“,
und durch die UI der Kamera selbst,
und durch die MQTT-Box wo man nicht zwischen den Typen „String“ und „Json“ unterscheiden kann:

Ich kann es leider nicht nachstellen. Auch wenn ich die Datenpunkte direkt editiere geht es zur Kamera durch und ich erhalte danach das Status Update:

GIF -> http://wiki.instar.com/dl/INSTAR_MQTT_04.gif

Den einzigen Unterschied den ich noch sehe - ich habe den MQTT Adapter als Client der Kamera konfiguriert und nicht umgekehrt:

So, Kamera beendet, Datenpunkte gelöscht, beides neu gestartet,
Ergebnis:

Wie schaut es aus, wenn man den Adapter als Klient konfiguriert und in der Kamera den internen Broker nutzt?

Ok, Ich kann es bestätigen - wenn man den Adapter als Broker laufen lässt löst er den JSON Wert auf - sieht bei mir also genau wie in dem Screenshot oben aus.

Ok, die Einstellung die man in der Anleitung findet ist nur für den Client Betrieb des Adapter gültig. Als Broker konfiguriert muß man „Publish nur bei Änderung“ aktivieren, damit es funktioniert:

Im Objektbaum werden einman generell keine JSON formatierten Werte angezeigt - aber es funktioniert!