MQTT connection problem

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

masterdrummer
Beiträge: 14
Registriert: 10. Jun 2018 19:58

MQTT connection problem

Beitrag von masterdrummer »

Hi Leute.

Nachdem ihr mir geholfen habt meine OpenHab2 Installation wieder ans Laufen zu kriegen, habe ich gleich das nächste Problem.

RaspberryPi 3 mit dem aktuellen Rasbian und openhab2 2.3.0-1

Auf dem pi läuft mosquitto.

Code: Alles auswählen

● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto; generated; vendor preset: enabled)
   Active: active (running) since Thu 2018-06-14 14:59:17 CEST; 2min 46s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 343 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCC
   CGroup: /system.slice/mosquitto.service
           └─425 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Jun 14 14:59:17 home-serv systemd[1]: Starting LSB: mosquitto MQTT v3.1 message
Jun 14 14:59:17 home-serv mosquitto[343]: Starting network daemon:: mosquitto.
Jun 14 14:59:17 home-serv systemd[1]: Started LSB: mosquitto MQTT v3.1 message b
OpenHab scheint sich aber aus mir unerklärlichen Gründen nicht mit dem Mosquitto server verbinden zu wollen.

mqtt.cfg

Code: Alles auswählen

#
mainbroker.url=tcp://localhost:1883
mainbroker.clientId=openhab
-- Alles was auskommentiert ist habe ich aus übersichtsgründen mal weg gemacht.

standard.items

Code: Alles auswählen

Number mqtt_test "TEST" {mqtt="<[mainbroker:/feeds/TEST:state:default]"}
Fehlermeldung in openhab.log

Code: Alles auswählen

2018-06-14 14:58:51.416 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [226:org.openhab.io.transport.mqtt:1.12.0.RC1]
	at java.lang.Thread.run(Thread.java:745) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-06-14 14:58:51.473 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mainbroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-06-14 14:58:51.475 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mainbroker'
2018-06-14 14:58:53.489 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
2018-06-14 14:59:01.483 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mainbroker'
2018-06-14 14:59:12.066 [INFO ] [penhab.io.transport.mqtt.MqttService] - Stopping broker connection 'mainbroker'
jemand eine Idee woran es liegen könnte?

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

einfach mal ins blaue geraten:

- tausch mal in der services config localhost durch deine private ip aus. keine ahnung, ob mosquitto auf allen interfaces lauscht.
- hast du in mosquitto einen nutzer und passwort vergeben? dann musst du diese auch in die services datei eintragen.
clientId hab ich uebrigens bei mir gar nicht gesetzt. nur url, user und pwd.
- funzt denn die verbindung auf der kommandozeile?

Code: Alles auswählen

mosquitto_sub -u myuser -P myuserpassword -h localhost -t "+/sonoffpow1/#" -v

masterdrummer
Beiträge: 14
Registriert: 10. Jun 2018 19:58

Re: MQTT connection problem

Beitrag von masterdrummer »

Hi,

ändern von localhost in meine lokale ip hat leider keinen Erfolg gebracht.

Allerdings scheint er nachdem er die Fehlermeldung raus haut sich irgendwann doch zu verbinden:

(Ganz oben der Fehler, ganz unten scheinbar die Verbindung?)

Code: Alles auswählen

2018-06-14 15:24:11.699 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [226:org.openhab.io.transport.mqtt:1.12.0.RC1]
	at java.lang.Thread.run(Thread.java:745) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-06-14 15:24:11.785 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mainbroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-06-14 15:24:11.787 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mainbroker'
2018-06-14 15:24:13.943 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
2018-06-14 15:24:21.794 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mainbroker'
2018-06-14 15:24:32.529 [INFO ] [penhab.io.transport.mqtt.MqttService] - Stopping broker connection 'mainbroker'
2018-06-14 15:24:32.768 [INFO ] [assic.internal.servlet.WebAppServlet] - Stopped Classic UI
2018-06-14 15:24:32.837 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Stopped HABmin servlet
2018-06-14 15:24:33.402 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Stopped Paper UI
2018-06-14 15:24:33.456 [INFO ] [panel.internal.HABPanelDashboardTile] - Stopped HABPanel
2018-06-14 15:24:33.491 [INFO ] [.dashboard.internal.DashboardService] - Stopped Dashboard
2018-06-14 15:25:06.328 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.0.150:8080
2018-06-14 15:25:06.368 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.0.150:8443
2018-06-14 15:25:15.555 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'standard.items'
2018-06-14 15:25:15.685 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'airquality.items'
2018-06-14 15:25:15.780 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro_binding.items'
2018-06-14 15:25:19.527 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2018-06-14 15:25:21.362 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'AstroDaten.sitemap'
2018-06-14 15:25:21.809 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro_binding.things'
2018-06-14 15:25:22.124 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'airquality.things'
2018-06-14 15:25:22.229 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'standard.things'
2018-06-14 15:25:23.091 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:home
2018-06-14 15:25:23.144 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:home every 60 seconds
2018-06-14 15:25:23.254 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:home
2018-06-14 15:25:23.270 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:moon:home every 60 seconds
2018-06-14 15:25:24.042 [WARN ] [airquality.handler.AirQualityHandler] - Error in aqicn.org (Air Quality), retrying once
2018-06-14 15:25:25.090 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2018-06-14 15:25:25.160 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mainbroker'
Auf meiner Sitemap kommen die Daten trotzdem nicht an.

Über die Konsole kann ich dem Channel ohne probleme "zuhören"

Lieber Gruß,
- Alex

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

Im englischen Forum gibts Hinweise darauf, dass openhab noch eine alte falsche Config laedt, z.B. nicht mehr existierende eintraege in der mqtt.cfg. Ich erinnere mich, dass das bei mir selbst tatsaechlich auch mal der Fall war. Dazu die opehab console oeffnen und folgenden Befehl eingeben:

config:delete org.openhab.mqtt

danach openhab dienst neustarten.

Hab mir das selbst mal dokumentiert: http://blog.haupt.xyz/index.php/openHAB ... -and-dirty

Stefan

masterdrummer
Beiträge: 14
Registriert: 10. Jun 2018 19:58

Re: MQTT connection problem

Beitrag von masterdrummer »

Hat leider auch nichts geholfen.

Hier nochmal der aktuelle log nach einem restart des PI´s:

Code: Alles auswählen

2018-06-15 01:07:24.537 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to broker was lost
org.eclipse.paho.client.mqttv3.MqttException: Connection lost
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:146) [226:org.openhab.io.transport.mqtt:1.12.0.RC1]
	at java.lang.Thread.run(Thread.java:745) [?:?]
Caused by: java.io.EOFException
	at java.io.DataInputStream.readByte(DataInputStream.java:267) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.wire.MqttInputStream.readMqttWireMessage(MqttInputStream.java:65) ~[?:?]
	at org.eclipse.paho.client.mqttv3.internal.CommsReceiver.run(CommsReceiver.java:107) ~[?:?]
	... 1 more
2018-06-15 01:07:24.591 [ERROR] [t.mqtt.internal.MqttBrokerConnection] - MQTT connection to 'mainbroker' was lost: Connection lost : ReasonCode 32109 : Cause : null
2018-06-15 01:07:24.594 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting connection helper to periodically try restore connection to broker 'mainbroker'
2018-06-15 01:07:26.778 [INFO ] [basic.internal.servlet.WebAppServlet] - Stopped Basic UI
2018-06-15 01:07:34.599 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mainbroker'
2018-06-15 01:07:45.402 [INFO ] [penhab.io.transport.mqtt.MqttService] - Stopping broker connection 'mainbroker'
2018-06-15 01:07:45.646 [INFO ] [assic.internal.servlet.WebAppServlet] - Stopped Classic UI
2018-06-15 01:07:45.720 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Stopped HABmin servlet
2018-06-15 01:07:46.352 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Stopped Paper UI
2018-06-15 01:07:46.394 [INFO ] [panel.internal.HABPanelDashboardTile] - Stopped HABPanel
2018-06-15 01:07:46.421 [INFO ] [.dashboard.internal.DashboardService] - Stopped Dashboard
2018-06-15 01:08:39.489 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'AstroDaten.sitemap'
2018-06-15 01:08:39.941 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'astro_binding.things'
2018-06-15 01:08:40.310 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'airquality.things'
2018-06-15 01:08:40.364 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'standard.things'
2018-06-15 01:08:41.174 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:home
2018-06-15 01:08:41.231 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:home every 60 seconds
2018-06-15 01:08:41.338 [INFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:home
2018-06-15 01:08:41.369 [INFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:moon:home every 60 seconds
2018-06-15 01:08:43.823 [INFO ] [penhab.io.transport.mqtt.MqttService] - MQTT Service initialization completed.
2018-06-15 01:08:43.828 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mainbroker'
2018-06-15 01:08:44.795 [INFO ] [basic.internal.servlet.WebAppServlet] - Started Basic UI at /basicui/app
2018-06-15 01:08:45.167 [INFO ] [assic.internal.servlet.WebAppServlet] - Started Classic UI at /classicui/app
2018-06-15 01:08:45.320 [INFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2018-06-15 01:08:45.447 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin
2018-06-15 01:08:45.642 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
Was mir noch aufgefallen ist: In der Sitemap steht nicht err oder undef oder ein "-" oder sonst was, sondern einfach nichts.....


Lieber Gruß,
- Alex

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

sorry dann bin ich raus. stecke in dem thema nicht soooo drin. verstehe z.B. dein item nicht. ich hab bei mir z.B. sowas drin stehen fuer verschiedene sonoff schalter:

Code: Alles auswählen

Switch Switch_Licht_HK "Heimkino Deckenlicht" [ "Switchable" ] { mqtt="<[mosquitto:stat/sonofftouch1/POWER:state:default], >[mosquitto:cmnd/sonofftouch1/POWER:command:*:default]" }
Number Number_Waschmaschine1_PowerConsumption "Waschmaschine Leistung [%.0f W]" <energy> {mqtt="<[mosquitto:tele/sonoffpow1/SENSOR:state:JSONPATH($.ENERGY.Power)]"}

masterdrummer
Beiträge: 14
Registriert: 10. Jun 2018 19:58

Re: MQTT connection problem

Beitrag von masterdrummer »

Ich hab mich bei dem Item eigentlich nur an das Gehalten was in der wiki vom binding steht....

Ich habe letztendlich eine NodeMCU mit ESP8266 der (aktuell zu testzwecken) nichts anderes macht als alle 5 sekunden eine Aufsteigende Zahl per MQTT zu verschicken.

//Edit: Okay, ich hab mal ein [%d] mit reingenommen um das auch als Zahl auszugeben. Jetzt kommen die Werte die der Arduino verschickt in der sitemap an.
Die Fehlermeldung am Anfang bleibt bestehen.
Mal eine doofe vermutung: Kann es sein das die Fehlermeldung zustande kommt weil openhab startet bevor der mqtt broker gestartet ist?
Wenn ja -> gibt es eine Möglichkeit den Start von openhab zu verzögern?

Lieber Gruß,
- Alex

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

sehr gute Frage (wg. dem start NACHDEM mosquitto gestartet wurde). werde ich mal dokumentieren. moment ;-)

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

so, hier nun die Antwort. Allerdings ist mir nochwas aufgefallen. Wenn bei mir mosquitto nicht gestartet ist, sieht das im openhab.log bei mir so aus (also anders als bei dir)

Code: Alles auswählen

2018-06-15 16:04:04.084 [INFO ] [t.mqtt.internal.MqttBrokerConnection] - Starting MQTT broker connection 'mosquitto'
2018-06-15 16:04:04.314 [ERROR] [penhab.io.transport.mqtt.MqttService] - Error starting broker connection
org.eclipse.paho.client.mqttv3.MqttException: Unable to connect to server
	at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:79) [217:org.openhab.io.transport.mqtt:1.12.0]
	at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:650) [217:org.openhab.io.transport.mqtt:1.12.0]
Hier findest du meine Anleitung, wie man openhab abhängig von mosquitto machen kann:

http://blog.haupt.xyz/index.php/openHAB ... -and-dirty

Wenn du kein Englisch kannst dann helf ich dir auch gerne.

Stefan

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37

Re: MQTT connection problem

Beitrag von StefanH. »

noch was anderes. die mqtt client ID, die in deiner openhab config steht, verwendest du die evtl. noch irgendwo anders?

Antworten