Probleme mit MQTT INSTAR9020

Hallo,
ich habe folgendes Problem mit MQTT. Ich habe auf meiner FHEM_Instanz MQTT2 problemlos Laufen welches auch den Vorteil hat MQTT-Geräte selbst zu erkennen. Wenn ich die Kamera neu starte wird jedesmal ein neues MQTT Device angelegt und das (alte MQTT Kamera-Device wird nicht mehr angesprochen und keine Readings kommen mehr rein nur bei dem automatisch neu angelegten. Problem ist damit jedesmal ein neuer Name erstellt wird und somit keine Steuerung mit DOIF und CO. mehr geht.
Beispiel
MQTT2_mosq__n9_Pl_q_gfoum0f_m „altes Device“
MQTT2_mosq_EOpIG__v11Lntnb_Mj „neues Device“

Ist das Problem bekannt bzw gibt es eine Lösung?

Grüße BlasterX

Hallo,

gibt es denn irgendwo eine Anleitung - also wirklich eine Schritt-für-Schritt Anleitung - wie man MQTT Geräte mit dem MQTT2 Client einbindet? Ich hatte als ich geschaut habe nicht viel mehr als die Referenz finden können:

https://fhem.de/commandref.html#MQTT2_CLIENT

Das ist immer sehr zeitaufwendig sich damit durchzukämpfen :roll_eyes:

Ich habe ein WIKI gefunden.
MQTT2 Wiki

und das ist vieleicht auch Interesant

Beachten Sie, dass für autocreate in Verbindung mit MQTT2_SERVER zwingend jeder über MQTT kommunizierende Client eine ClientID angeben muß. Passen Sie daher ggf. die Einstellungen Ihres Geräts an. Manche Geräte verwenden auch „Wegwerf“-ClientID’s. Für diese empfiehlt es sich, ggf. dann die durch autocreate erstellten Geräte nachzubearbeiten und die ClientID-Angabe v.a. aus den Inhalten des readingList-Attributs zu entfernen.">

Gruß BlasterX

1 Like

und nochwas

Ständig neue Devices?

MQTT2_SERVER kann zwischen verschiedenen Geräten auch anhand der ClientID unterscheiden. Für jedes neu erkannte Gerät wird auch ein eigenes MQTT2_DEVICE angelegt. Abhilfemaßnahmen:

Vergabe einer ClientID

Die meisten MQTT-fähigen Geräte enthalten Optionen zur Vergabe einer eindeutigen ClientID (siehe das Beispiel des zigbee2mqtt-Dienstes oben). Wird keine ClientID vergeben, verwenden manche Clients für jede Verbindung wieder neue ID’s. Es wird empfohlen, möglichst von diesen Einstelloptionen Gebrauch zu machen.

Löschen der ClientID aus der readingList usw.

Ist dies nicht möglich oder erwünscht, kann man auch die ClientID aus den readingList-, setList- und getList-Attributen entfernen. Dies ist jedenfalls solange unschädlich als nicht mehrere Geräte identische Topic-Pfade verwenden (daher die Empfehlung, insbesondere bei Tasmota-Geräten den default „sonoff“ zu ändern). Beispielsweise wäre attr Milight_Bridge readingList milight_hub_1370325:milight/LWT:.* {json2nameValue($EVENT) } zu ändern in attr Milight_Bridge readingList milight/LWT:.* {json2nameValue($EVENT) } Die über attrTemplate verfügbaren Konfigurationen verwenden in der Regel keine ClientID’s bzw. entfernen diese.

Ich habe gerade mal nachgeschaut, um sicherzugehen - aber die Kameras generieren eigenen Client IDs für sich. Hier sind 2 Kameras die ich gerade an einen MQTT Broker in ioBroker angeschlossen habe - mit eindeutigen IDs:

Client [mosq/5k?Yr0<V@`Ru^To5jB]
 Client [mosq/6aKPh4ZOIKNUJA?RdS]

Ok die ID’s bekomme ich aber nach dem "
mosq" immer eine ander ID bzw Zeichenfolge was dann immer ein neues Device erzeugt.
Kann man die Client ID manuell vergeben bzw ist das in Zukunft geplant.

Wir schauen uns das mal an - es ist bald noch ein kleines MQTT Update geplant. Eventuell kann man da noch was anpassen.

Wäre Super danke für den guten Support.
Noch eine Frage wenn ich einen Scan mit der Kamera durchführen will und zwar mit dem IPcam Modul von Fhem wie lautet da die CGI? ich habe

cmd08 cmd=ptzctrl&-step=0&-act=hscan
pathCmd param.cgi?
pathPanTilt ptzctrl.cgi?-step=

das geht aber nicht.

Gruß BlasterX

Ich habe gerade keine 9020 hier (bei dem Modell + 9010 gibt es ein paar Besonderheiten). Aber normalerweise kann man den Scan mit dem folgenden MQTT Topic starten:

features/ptz/scan

Payload ist dann eins von den dreien:

{"val":"hscan"}, {"val":"vscan"}, {"val":"tour"}

Aber der dazu passende CGI Befehl wäre:

param.cgi?cmd=ptzctrl&-act=${val}

mit ${val} = hscan, vscan oder tour.

Wenn das nicht funktioniert wäre das eine 9020 Besonderheit - muß ich morgen mal nachschauen.

Bestätigt - das ist tatsächlich so. Bislang gabs damit nur keine Probleme. Danke für den Bug Report :grinning:

Ok gut da liegt der Fehler nicht bei mir wegen dem MQTT.

geht leider nicht bei der 9020

Schaue ich mir morgen an :agentsmith:

Ok, den HSCAN/VSCAN/TOUR Befehl gibt es bei den 90er Modellen nicht. Man kann jedoch den Scan benutzen.

Wenn man in der WebUI den Start und Endpunkt des Scans festgelegt hat (s. ganz unten auf der folgenden Seite):

Dann kan man den Scan zwischen den beiden Positionen mit dem folgenden MQTT Topic:

features/ptz/preset mit Payload {"val":"88"}

Oder diesem CGI Befehl anstoßen:

param.cgi?cmd=preset&-act=goto&-number=88

OK Danke das funktioniert.

1 Like

Gibt es schon eine Lösung für das Problem mit der neuen ID (MQTT-Device) beim Neustart der Kammera

Gruß BlasterX

Hallo,

leider noch nicht. Aber es wird nochmal ein größeres Update für MQTT geben. Ein Datum kann ich aber momentan noch nicht nennen.

Gibt es neue Infos wann das MQTT Update kommt? Problem war das anlegen eines neuen Devices in Fhem bei jedem Neustart der Kamera.

Gruß BlasterX

Hallo,

leider noch kein festes Datum. Jetzt kommt erstmal noch ein Update wo Verbesserungen beim HTML5 Videostream eingebaut und ein Problem beim Download von Dateien von der SD Karte (über die WebUI) behoben wurde (und viele kleine Bugfixe und Verbesserungen).

Ich hoffe das danach dann nochmal MQTT dran kommt.