NEWS
[gelöst] MQTT objects ohne value, Daten sind aber vorhanden
-
Hallo,
ich versuche den MQTT Adapter zu nutzen um ein MySensors Netzwerk an ioBroker anzuschliessen.
Dazu habe ich einen mosquitto 1.4.3 im Einsatz, welcher per Bridge Definition den MySensors MQTT Gateway "spiegelt". Falls jemand etwas ähnliches machen möchte, hier schon mal die Definitionen dazu:
root@raspberrypi:/etc/mosquitto/conf.d# cat mysensors.conf connection mysensors-MQTT-gateway address 192.168.178.66 cleansession true topic # in 0 MySensors/ MyMQTT/
Die MQTT Adapter Einstellungen sind wie folgt:
Auch kommen die Daten in den Events korrekt an:
Aber unter den Objekten haben die entsprechen Daten keine Value's.
Somit kann ich keine Historie anlegen, oder die Objekte direkt in vis benutzen.
Müsste ich nicht direkt innerhalb der Objekte auf die Inhalte zugreifen können? Wo ist hier mein Denkfehler?
Gruß
Frank
-
Hast du mal oben den refresh-Button gedrückt und/oder die ganze Seite neu geladen? Bei mir kommt es häufiger vor, dass die Aktuellen Werte und Objects nicht angezeigt werden.
Ansonsten sehe ich noch, dass du Punkte in den Objekten hast, teilweise wurden die durch Unterstriche ersetzt, aber das funktioniert oft nicht an allen notwendigen Stellen automatisch.
-
Hast du mal oben den refresh-Button gedrückt und/oder die ganze Seite neu geladen? Bei mir kommt es häufiger vor, dass die Aktuellen Werte und Objects nicht angezeigt werden. `
Einen Refresh habe ich natürlich schon mehrfach durchgeführt… auch Neustarts :oops:
Ansonsten sehe ich noch, dass du Punkte in den Objekten hast, teilweise wurden die durch Unterstriche ersetzt, aber das funktioniert oft nicht an allen notwendigen Stellen automatisch. `
Darauf habe ich keinen Einfluss. In MQTT hat die Notation ja den Aufbau "topic/topic/topic/…" Und hier werden die "/" durch Punkte bzw. "_" ersetzt.
Ich denke ich habe hier vielmehr ein Problem mit der Definitionen der States, denn diese haben die role = variable. Andere Beispiele, welche mit dem Historie Adapter behandelt werden können, haben die role = info.
Gruß Frank
-
Hi!
Ich habe leider keine Lösung, aber: du bist nicht alleine
Bei mir kommen vom mqtt broker auch unter "Ereignisse" die richtigen Werte an - allerdings werden die Werte nicht unter "Objekte" angezeigt - oder es steht der Wert "undefined" da.
Grüße
2678_git.png -
Ich habe es hinbekommen…
Aaaalso:
Die Objekte werden scheinbar falsch angelegt:
Bleiben wir bei deinem Beispiel:
die id deines Objekts ist:
mqtt.0.MySensors.110.101.V_TEMP
er legt aber ein Objekt so an:
mqtt.0
|_MySensors_110_101_V_TEMP
Wenn du jetzt einfach ein Objekt selbst anlegst (unter mqtt.0) mit MySensors.110.101.V_TEMP liest er die Werte richtig ein und man kann diese dann auch im Editor benutzen und anzeigen (beim Anlegen sieht man im Header auch die komplette id des Objekts: mqtt.0.MySensors.110.101.V_TEMP).
Das neue Objekt findet man dann unter:
mqtt.0 |_MySensors |_110 |_101 |_V_TEMP
Hoffe ich konnte helfen
Grüße
-
Ich habe es hinbekommen…
Hoffe ich konnte helfen
`
Ja, Du konntest helfen. Das funktioniert. Super. Danke.
Ist das denn jetzt ein Fehler? Oder muss das dokumentiert genauso gemacht werden?
Gruß
Frank
-
Wie sind die richtige (original) Namen von Topics?
MySensors.110.101.V_TEMP
?
Falls Baumstruktur gewünscht ist, dann muss es doch so heißen?
MySensors/110/101/V_TEMP
-
Das Problem besteht leider immer noch. Mein Topic sieht genauso aus wie bluefox es beschrieben hat, aber trotzdem wird keine Baumstruktur angelegt, sondern der / einfach nur durch ein _ ersetzt, was dann zu dem beschriebenen Effekt führt (-> Objekte haben alle den Wert null und können nicht in vis verwendet werden). Im Reiter Zustände wird hingegen alles korrekt angezeigt.
-
Ich kann das Problem weder mit MQTT Server noch mit MQTT Client reproduzieren.
Ich habe aber ein potenzielles MemoryLeak gefunden.
Könnt ihr ausprobieren? Bei mir wird brav alles erzeugt:
48_2016-01-13_22_41_08-iobroker.admin.png -
Ich habe auf die neue Version geupdatet. Klappt leider immer noch nicht. Ich beschreibe mal genau was ich gemacht habe, damit Du es besser nachvollziehen kannst.
(1)
MQTT_BRIDGE für milightDevice (->RGBW Stripe)(2)
Alle Readings die auf die entsprechenden Topics gepublished werden.(3)
Blick mit MQTT.fx auf Mosquitto -> sieht alles gut aus.(4)
Zustände wie sie von ioBroker erzeugt werden -> sieht auch gut aus, aber(5)
die Objekte werden nicht in der gewünschten Baumstruktur angelegt.Ich habe das gleiche auch noch mit fhem/wohnzimmer/wohnzimmerRGBW/.* probiert, also ohne führendes /. Effekt war aber leider der gleiche.
-
Ja, ab dieser Stelle gehts bei mir auch nicht weiter. Nur mit manuellem Anlegen der Objekte.
-
Danke! Konnte das Problem reproduzieren und beheben.
Probiert bitte aus.
Und denkt an, dass man kein externen MQTT Server braucht, weil ioBroker auch Server/broker spielen kann.
-
Hallo Bluefox,
da ist irgendetwas schief gelaufen. Habe ein Upgrade auf 0.3.1 gemacht mit dem Effekt, dass jetzt bei ioBroker gar nichts mehr ankommt, also weder Zustände, noch Anlage von Objekten. Auch ein kompletter Neustart von ioBroker hat nichts gebracht. Kannst Du hier noch mal schaun?
Danke
Carsten
-
Habe erst mal vom NPM zurückgezogen. Heute kann ich nichts mehr anschauen.
-
Hast recht. Für heute muss gut sein. Besten Dank.
-
@bluefox: wollte mal ganz vorsichtig anklopfen, ob Du noch eine Chance siehst den mqtt-Adapter demnächst zu überarbeiten.
-
Nein. Noch nicht, aber nach erledigten (js-controller, node-red, javascirpt, geofency) ist jetzt mqtt dran.
-
@Bluefox: Ich wollte das Thema MQTT-Adapter noch einmal nach oben holen. Hast Du ungefähr eine Idee, wann es da weitergeht? Ich lege zwar gerade alle Objekte händisch an, aber auf Dauer ist das nicht wirklich schön und wenn es mal crasht war die ganze Arbeit umsonst. Danke für Dein Engagement.
-
probier mal:
cd /opt/iobroker iobroker stop mqtt npm install https://github.com/ioBroker/ioBroker.mqtt/tarball/master iobroker start mqtt
Da sollte dein Problem behoben sein.
-
@Bluefox: Super, vielen Dank! Alle Objekte werden in der richtigen Struktur angelegt. Bin begeistert, das spart mir richtig viel arbeit