NEWS
MQTT Adapter - verliert Verbindung - MQTT und VIS?
-
Teste ich, es läuft ESPeasy, letzte Version, auf dem ESP.
Gesendet von meinem GT-I9195 mit Tapatalk
-
Teste ich, es läuft ESPeasy, letzte Version, auf dem ESP.
Gesendet von meinem GT-I9195 mit Tapatalk `
du probierst einen MQTT client auf localhost zu connecten, hast du den einen MQTT server laufen oder moechtest du iObroker als server benutzen ?
(dan stimmen deine settings nicht)
Das geflakkeren kommt weil er probiert verbindung zu machen aber keinen response bekommt.
~Dutch
-
Ja - natürlich. Dutchman hat Recht! Als erstes musst Du natürlich den MQTT-Adapter als Server konfigurieren wenn der ESP der Client ist (wovon ich mal ausgehe..)
-
Also brauche ich mosquitto nicht?
Gesendet von meinem GT-I9195 mit Tapatalk
-
Also brauche ich mosquitto nicht?
mosquitto habe ich wie folgt installiert:
sudo /etc/init.d/mosquitto stop sudo apt-get --purge remove mosquitto mosquitto-clients python-mosquitto wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list sudo apt-get update sudo apt-cache search mosquitto sudo apt-get install mosquitto sudo apt-get install mosquitto-clients sudo apt-get install phyton-mosquitto
Verbindung kann ich testen mit
mosquitto_sub -v -t \# /ESP04/Gaszaehler/Count 0.00
Nun möchte ich die Werte auch im ioBroker.
Stelle ich auf Server um, geht der Adapter nicht mehr auf Grün.
mqtt.0 2017-07-03 18:10:26.750 error exception by stop: server.destroy is not a function mqtt.0 2017-07-03 18:10:26.744 error at Adapter. (/opt/iobroker/node_modules/iobroker.mqtt/main.js:50:24) mqtt.0 2017-07-03 18:10:26.744 error at MQTTServer.destroy (/opt/iobroker/node_modules/iobroker.mqtt/lib/server.js:25:20) mqtt.0 2017-07-03 18:10:26.744 error at Object.destroy (/opt/iobroker/node_modules/iobroker.mqtt/lib/streamServer.js:141:19) mqtt.0 2017-07-03 18:10:26.744 error at Object.mapSeries (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:980:16) mqtt.0 2017-07-03 18:10:26.744 error at /opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:1153:16 mqtt.0 2017-07-03 18:10:26.744 error at _asyncMap (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:1067:5) mqtt.0 2017-07-03 18:10:26.744 error at /opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:950:9 mqtt.0 2017-07-03 18:10:26.744 error at replenish (/opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:946:17) mqtt.0 2017-07-03 18:10:26.744 error at /opt/iobroker/node_modules/iobroker.mqtt/node_modules/async/dist/async.js:1069:9 mqtt.0 2017-07-03 18:10:26.744 error at /opt/iobroker/node_modules/iobroker.mqtt/lib/streamServer.js:146:24 mqtt.0 2017-07-03 18:10:26.744 error TypeError: server.destroy is not a function mqtt.0 2017-07-03 18:10:26.718 error uncaught exception: server.destroy is not a function
Gibt für denn Adapter eine Anleitung?
2880_1.png -
Nein du brauchst kein mosquitto dafür haben wir ja iobroker, der kan als MQTT Client und Server fungieren.
Ich stellen in 5 nin mal einen Screenshot nach wie mein MQTT Server in ioBroker eingerichtet ist.
Eventuell bei dir mal die MQTT Instanze löschen und neu installieren.
Also Basis ist:
-
ioBroker ist der MQTT Server
-
der muss richtig eingerichtet und freigegeben sein
-
die Clients verbinden sich mit dem ioBroker MQTT Server und publishen da ihre stats
Bei mir so ähnlich gelöst
iObroker <> domoticz, ioBroker ist der Server und domoticz ein client
edit: ok hier die screens, einziger underschied ist das ich wohl einen username/pass verwende.
ergebnis, domoticz pusht seine werte in seinen eigenen channel:
ich empfehle dir sowieso die instanz mal zu loeschen und neu installieren deine fehlermeldung kommt mir komisch vor (eventueel bereits belegter port ?)
Den userguide findest du auf git (in iobroker auf das fragezeichen druecken bei dem adapter: https://github.com/ioBroker/ioBroker.mqtt
–-----------------------
Send from mobile device
-
-
danke, geht nun. Frage, warum werden die mqtt-IDs nicht unter VIS angezeigt?
Kannt leider keine Relais schalten.
2880_1.png -
Habe mal ein paar Sachen probiert, aber irgendwie will er nicht
2880_1.png -
Das mit vis lan sein bei neuen Werten eventuell Adapter Mal bei starten aber das hast du ja bereits selber gedixt
Stimmen die URL? Gehen diese wen du sie außerhalb vis im Browser probierst ?
–-----------------------
Send from mobile device
-
Im Browser gehen sie. Verstehe die Logik noch nicht so ganz
Gesendet von meinem GT-I9195 mit Tapatalk
-
Habe mal ein paar Sachen probiert, aber irgendwie will er nicht `
Hallo noxx,Siehe dir dieser thread an:
http://forum.iobroker.net/viewtopic.php?t=6655
Gesendet von meinem SM-G950F mit Tapatalk
-
danke, den hatte ich schon gefunden, bin aber nicht weitergekommen.
Habe schon diverse Sachen in vis probiert, aber leider schaltet der ESP nicht.
2880_1.png
2880_2.png
2880_3.png
2880_4.png
2880_5.png
2880_6.png -
um erstmal einzugrenzen ob die Ursache im VIS liegt oder schon vorher:
Kannst du denn den ESP schalten wenn du den entsprechenden Zustand direkt in der Adminoberfläche (Reiter "Objekte" oder "Zustände") änderst?
-
um erstmal einzugrenzen ob die Ursache im VIS liegt oder schon vorher:
Kannst du denn den ESP schalten wenn du den entsprechenden Zustand direkt in der Adminoberfläche (Reiter "Objekte" oder "Zustände") änderst?
MQTT1.jpg `
Nein, geht nicht. Wert wird erst Grün, dann Rot, dann springt er auf den alten Wert zurück
2880_1.png -
Da fällt mir auf, dass es bei dir einen "Get"- und einen "Set"-Zweig im MQTT-Ordner gibt. Ich befürchte, da liegt der Haken… wo wir gerade beim Haken sind - probiere mal ob's hilft wenn du in den Adaptereinstellungen den Haken bei "Unterschiedliche Namen für setzen und lesen" reinmachst.
Ist aber nur eine Vermutung. Ich hab das noch nie probiert und ich kenne auch ESPEasy überhaupt nicht - ich programmiere meine ESP's und Arduinos selber...
-
Da fällt mir auf, dass es bei dir einen "Get"- und einen "Set"-Zweig im MQTT-Ordner gibt. Ich befürchte, da liegt der Haken… wo wir gerade beim Haken sind - probiere mal ob's hilft wenn du in den Adaptereinstellungen den Haken bei "Unterschiedliche Namen für setzen und lesen" reinmachst.
Ist aber nur eine Vermutung. Ich hab das noch nie probiert und ich kenne auch ESPEasy überhaupt nicht - ich programmiere meine ESP's und Arduinos selber... `
Hatte mich etwas an den Sonoff Thread gehalten, da wurden SET und GET definiert.
Habe nun den MQTT nochmal neu aufgesetzt und auch ESPeasy neu installiert (ältere FW R147)
Laufen tuts aber noch immer nicht, kann manuell nicht schalten. Setze ich auf 1 springt er zurück auf 0.
EDIT
Hier nochmal ne Liste von Fehler, betreffen aber nun den Sonoff. Mal geht der, dann wieder nicht.
ESPClient13 = ESP03 (Screenshots)
ESPClient1 = Sonoff
mqtt.0 2017-07-04 14:09:10.298 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:09:10.297 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:09:10.289 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:09:08.987 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:09:08.986 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:09:08.986 warn Cannot resolve topic name for ID: web.0.connected (object not found) mqtt.0 2017-07-04 14:08:36.231 info publishOnSubscribe send all known states mqtt.0 2017-07-04 14:08:36.231 info Client [ESPClient13] subscribes on "ESP03.#" with regex /^mqtt\.0\.ESP03\..*/ mqtt.0 2017-07-04 14:08:36.230 info Client [ESPClient13] subscribes on "ESP03.#" with regex /^ESP03\..*/ mqtt.0 2017-07-04 14:08:36.202 info Client [ESPClient13] connected mqtt.0 2017-07-04 14:08:35.575 warn Cannot resolve topic name for ID: null (object not found) mqtt.0 2017-07-04 14:08:35.574 info publishOnSubscribe mqtt.0 2017-07-04 14:08:35.574 info Client [ESPClient0] subscribes on "null" mqtt.0 2017-07-04 14:08:35.552 info Client [ESPClient0] connected mqtt.0 2017-07-04 14:08:20.191 warn Cannot resolve topic name for ID: null (object not found) mqtt.0 2017-07-04 14:08:20.165 info publishOnSubscribe mqtt.0 2017-07-04 14:08:20.164 info Client [ESPClient1] subscribes on "null" mqtt.0 2017-07-04 14:08:19.761 info Client [ESPClient1] connected mqtt.0 2017-07-04 14:08:09.244 info Starting MQTT server on port 1883 mqtt.0 2017-07-04 14:08:08.439 info starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.mqtt, node: v6.11.0 mqtt.0 2017-07-04 14:08:08.268 info States connected to redis 127.0.0.1:6379 mqtt.0 2017-07-04 14:08:03.244 info terminating mqtt.0 2017-07-04 14:08:02.769 info Client [ESPClient0] closed mqtt.0 2017-07-04 14:08:02.765 info Client [ESPClient13] closed mqtt.0 2017-07-04 14:08:02.762 info Client [ESPClient1] closed mqtt.0 2017-07-04 14:04:51.117 info Client [ESPClient1] closed mqtt.0 2017-07-04 14:04:51.079 info Client [ESPClient1] connected mqtt.0 2017-07-04 14:04:40.158 info publishOnSubscribe mqtt.0 2017-07-04 14:04:40.157 info Client [ESPClient1] subscribes on "mqtt.0.Sonoff1.Set.GPIO.12" mqtt.0 2017-07-04 14:04:40.140 info Client [ESPClient1] connected mqtt.0 2017-07-04 14:04:36.147 info publishOnSubscribe send all known states mqtt.0 2017-07-04 14:04:36.147 info Client [ESPClient13] subscribes on "ESP03.#" with regex /^mqtt\.0\.ESP03\..*/ mqtt.0 2017-07-04 14:04:36.144 info Client [ESPClient13] subscribes on "ESP03.#" with regex /^ESP03\..*/ mqtt.0 2017-07-04 14:04:36.122 info Client [ESPClient13] connected mqtt.0 2017-07-04 14:04:35.877 warn Cannot resolve topic name for ID: null (object not found)
-
Der MQTT hat einen get und einen Set.
Get = was reinkommt
Set = schalten
Also Variable ändern in den hetbobject wird nicht bringen, überschreibt MQTT logischer Weise.
Die musst den richtigen Wert bei Set übermitteln
–-----------------------
Send from mobile device