Mit MQTT bei TTN Werte auslesen - Passwort?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von udo1toni »

Schalte mal zunächst publickeypin, hostnameValidated und certificatepin auf false, vielleicht gibt es nur Probleme mit der abgesichterten Verbindung.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

maggus
Beiträge: 23
Registriert: 6. Nov 2021 12:58
Answers: 0

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von maggus »

Mit der Einstellung habe ich es versucht.

Code: Alles auswählen

UID: mqtt:broker:80a772ed29
label: MQTT Broker ttn
thingTypeUID: mqtt:broker
configuration:
  lwtQos: 0
  publickeypin: false
  keepAlive: 60
  hostnameValidated: false
  birthRetain: true
  secure: true
  certificatepin: false
  shutdownRetain: false
  password: NNSXS.CSY6xxx
  protocol: TCP
  qos: 0
  reconnectTime: 60000
  port: 1883
  mqttVersion: V3
  host: eu1.cloud.thethings.network
  lwtRetain: true
  enableDiscovery: true
  username: monitor-power@ttn
Leider ohne Erfolg.
Ebenso

Code: Alles auswählen

secure: false
gerade gesehen, dass es sich wohl wieder zurückgestellt hat:

Code: Alles auswählen

enableDiscovery: false
habe ich auch versucht.

Logging habe ich auf DEBUG gestellt. Oder kann man noch irgendwo das hochdrehen?

Code: Alles auswählen

<Root level="DEBUG">

Code: Alles auswählen

grep -i mqtt /var/log/openhab/openhab.log

Code: Alles auswählen

2023-12-23 10:18:12.530 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 997d92cc-f50d-46c1-8884-d788ce92d2fb
2023-12-23 10:18:12.710 [DEBUG] [io.netty.buffer.PoolThreadCache     ] - Freed 5 thread-local buffer(s) from thread: com.hivemq.client.mqtt-1114-1
2023-12-23 10:19:12.546 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 997d92cc-f50d-46c1-8884-d788ce92d2fb
2023-12-23 10:19:12.714 [DEBUG] [io.netty.buffer.PoolThreadCache     ] - Freed 5 thread-local buffer(s) from thread: com.hivemq.client.mqtt-1115-1
2023-12-23 10:20:12.565 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 997d92cc-f50d-46c1-8884-d788ce92d2fb
2023-12-23 10:20:12.706 [DEBUG] [io.netty.buffer.PoolThreadCache     ] - Freed 5 thread-local buffer(s) from thread: com.hivemq.client.mqtt-1116-1
2023-12-23 10:21:12.582 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 997d92cc-f50d-46c1-8884-d788ce92d2fb
2023-12-23 10:21:12.760 [DEBUG] [io.netty.buffer.PoolThreadCache     ] - Freed 5 thread-local buffer(s) from thread: com.hivemq.client.mqtt-1117-1
Mein Raspi ist im gleichen Netz wie mein Laptop. Daher gehe ich davon aus, dass es nix mit der Einstellung auf der Fritz!Box zu tun hat.
Und mit dem mosqitto sieht es auch erfolgreich aus:

Code: Alles auswählen

root@raspberrypi:/home/pi# mosquitto_sub -h eu1.cloud.thethings.network -t "#" -u "monitor-power@ttn" -P "NNSXS.CSYxxxx" -d
Client mosqsub|23713-raspberry sending CONNECT
Client mosqsub|23713-raspberry received CONNACK (0)
Client mosqsub|23713-raspberry sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0)
Client mosqsub|23713-raspberry received SUBACK
Subscribed (mid: 1): 0
Oder interpretiere ich das falsch?

Vielen Dank vorab!!!!

Edit:
habe noch folgendes gefunden:
https://github.com/openhab/openhab-core/issues/1237

da werde ich mich jetzt mal durch die logs wühlen ;-)
Erstmal Einkaufen (HORROR)... naja selbst schuld ...

maggus
Beiträge: 23
Registriert: 6. Nov 2021 12:58
Answers: 0

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von maggus »

Hi,

sorry für die lange Pause.
Weihnachten ist halt nix mit basteln und probieren...


Wenn ich es mit einem falschen Passwort versuche, sehe ich dass es nicht klappt.
Auf der Webseite sehe ich auch, dass es nicht geklappt hat.

Code: Alles auswählen

m@m-pc:~$ mosquitto_sub -h eu1.cloud.thethings.network -t "#" -u "monitor-power@ttn" -P "dafsd"; date
Connection Refused: not authorised.
Mi 27. Dez 09:16:18 CET 2023
Aber die Verbindungsversuche von OH sehe ich nicht. Auch nicht als abgelehnt.
Muss man irgendwo das Topic noch einstellen? Oder passiert das beim Anlegen des Items?
Bei dem Logging bin ich nicht weiter gekommen. Mehr als was ich bisher gesehen habe, sehe ich immer noch nicht.
Der Beitrag auf github war schon etwas älter (merged into 2.5) und ich hätte erwartet dass es drin ist (ich habe 3.4.4 release)

Code: Alles auswählen

openhab> log:list | grep DEBUG
com.hivemq                                                   x DEBUG
openhab.event                                                x DEBUG
org.eclipse.smarthome.io.transport.mqtt                      x DEBUG
org.eclipse.smarthome.io.transport.mqtt.MqttBrokerConnection x DEBUG
org.openhab.binding.mqtt                                     x DEBUG
org.openhab.core.io.transport.mqtt                           x DEBUG
OH versucht es brav alle 60 Sekunden:

Code: Alles auswählen

2023-12-27 07:40:16.364 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 42dba635-bf66-4a
ff-b123-856105117bb5
2023-12-27 07:40:26.610 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to 'eu1.cloud.thethings.network'. Next attempt in 60000ms
2023-12-27 07:40:26.659 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 42dba635-bf66-4a
ff-b123-856105117bb5
2023-12-27 07:41:26.669 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to 'eu1.cloud.thethings.network'. Next attempt in 60000ms
2023-12-27 07:41:26.678 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 42dba635-bf66-4a
ff-b123-856105117bb5
2023-12-27 07:42:26.686 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to 'eu1.cloud.thethings.network'. Next attempt in 60000ms
2023-12-27 07:42:26.697 [INFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to 'eu1.cloud.thethings.network' with clientid 42dba635-bf66-4a
ff-b123-856105117bb5
2023-12-27 07:43:26.704 [INFO ] [.reconnect.PeriodicReconnectStrategy] - Try to restore connection to 'eu1.cloud.thethings.network'. Next attempt in 60000ms

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von udo1toni »

maggus hat geschrieben: 27. Dez 2023 09:32 Muss man irgendwo das Topic noch einstellen? Oder passiert das beim Anlegen des Items?
???
Das Topic muss selbstverständlich angegeben werden, und zwar im Channel.

Die mqtt Bridge stellt die Verbindung zum Broker her, sonst nichts.
Für jedes Gerät, welches Du nutzen willst, legst Du anschließend ein Thing an.
Für jede Eigenschaft des Geräts legst Du einen Channel an.
Das commandTopic dient dazu, Befehle zu senden, das stateTopic dient dazu, Status zu empfangen. Je nachdem, in welchem Format die Status hereinkommen und wie die Commands abgesetzt werden müssen, gibt es noch weitere Parameter pro Channel.

Items werden ab openHAB3 ausschließlich mit Channels verlinkt, die Konfiguration der externen Kommunikation findet ausschließlich über Channels statt.

Ich war davon ausgegangen, dass Du zumindest die Grundzüge von mqtt und dem Zusammenspiel mit openHAB kennst.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

maggus
Beiträge: 23
Registriert: 6. Nov 2021 12:58
Answers: 0

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von maggus »

Hi,

leider wohl noch nicht gut genug.
Ich dachte dass das Thing erst nach dem Item kommt.

Demnach ist ein Error bei der Bridge ok?
Ich lese erstmal ... sorry war ich zu schnell vorgeprescht...

gruss

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von udo1toni »

Nein, ein Error bei der Bridge ist ein Fehler, den Du zuerst lösen musst, sonder funktioniert der Rest nicht.

Things sind die Verbindung zwischen openHAB und der "echten" Welt.
Channel sind Bestandteil von Things.
Bridges sind ebenfalls Things :) und werden immer dann genutzt, wenn ein Thing Teil eines Bussystems ist (mqtt ist in diesem Zusammenhang als Bussystem zu sehen, weil die Kommunikation ja über eine Zentrale abgewickelt wird - im Gegensatz z.B. zu http, wo die Kommunikation meist 1:1 stattfindet.

Items sind die Repräsentation von Eigenschaften und Zuständen auf dem openHAB Bus (das B in HAB steht für Bus). Die Verknüpfung sieht also bei mqtt so aus:

Code: Alles auswählen

Gerät <-> Broker <-> Bridge <-> Thing - Channel <-> Item
      Netz      Netz     openHAB Binding            openHAB Bus
Das Binding ist für die unterschiedliche Hardware zuständig und sorgt dafür, dass alle Befehle und Messwerte einheitlich in openHAB landen. Im Idealfall muss man auf Bus-Seite von openHAB keinerlei Rücksicht auf die verwendete Hardware nehmen (das funktioniert nicht immer...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

maggus
Beiträge: 23
Registriert: 6. Nov 2021 12:58
Answers: 0

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von maggus »

Hi,

also ich habe die Bridge jetzt online.
Ich habe zwar mit ein paar Parametern rumgespielt, aber wohl nie das gesamt Packet erwischt.

damit (bis auf Passwort) geht ist die Bridge jetzt online.

Code: Alles auswählen

UID: mqtt:broker:ffaaa5b54e
label: MQTT Broker
thingTypeUID: mqtt:broker
configuration:
  publickeypin: false
  lwtQos: 0
  keepAlive: 60
  clientid: 0f52008b-ac11-4a63-b05c-6e2021b2838b
  hostnameValidated: false
  secure: false
  birthRetain: true
  certificatepin: false
  shutdownRetain: false
  password: NNSXS.CSY6XXX
  protocol: TCP
  qos: 0
  reconnectTime: 60000
  port: 1883
  mqttVersion: V3
  host: eu1.cloud.thethings.network
  lwtRetain: false
  enableDiscovery: false
  username: monitor-power@ttn
Dann werde ich mal weiter schauen. Danke!!! für die Mühe!!

Ein LoRaWAN Gerät von ELV habe ich schon online (die Spannungsüberwachung von ELV)
Ich hangele mich gerade anhand der Anleitung lang:
https://homeitems.de/fuellstandsmessung-mit-lorawan/#

Denke aber mein Problem hier ist soweit erstmal geklärt! Nochmal danke!

Edit: secure geht wohl nicht. wenn ich das auf true setzte geht die Bridge direkt auf offline

Benutzeravatar
udo1toni
Beiträge: 15244
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von udo1toni »

Na, ob die Datenübertragung mit ssl abgesichert ist, kommt ja auch auf den Server an (also z.B. Mosquitto), das muss auf beiden Seiten korrekt konfiguriert sein. Wenn es um einen öffentlichen mqtt Server geht, kann es auch gut sein, dass dieser sowohl die ungesicherte als auch die gesicherte Version zur Verfügung stellt, das geschieht aber gewöhnlich auf unterschiedlichen Ports (und das geht aus den Verbindungsparametern hervor, die der Betreiber des Servers zur Verfügung stellt).
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

maggus
Beiträge: 23
Registriert: 6. Nov 2021 12:58
Answers: 0

Re: Mit MQTT bei TTN Werte auslesen - Passwort?

Beitrag von maggus »

nur als kleine Rückmeldung:
Es geht jetzt genau wie ich es wollte ;-)
Ich muss mir nur noch einen LoRaWAN access point organisieren :-)

Viele Grüsse und vielen Dank!

Antworten