MQTT Anbindung an the things network TTN ?

Begonnen von Edi77, 30 März 2021, 19:32:49

Vorheriges Thema - Nächstes Thema

Edi77

Hallo,

Wollte mal fragen ob jemand schon so eine Anbindung gemacht hat und wie er den payload ausgewertet hat?

Ok hab es schon irgendwie hin bekommen, nur der payload sieht sehr seltsam aus das sind keine HEX Werte
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

Edi77

Hallo,

Seit heute Vormittag ist mein Gateway bei TTN disconnect und geht nicht mehr online, kann tun was ich will.
Es sieht so aus als wäre ich nicht der einzige man soll wohl auf V3 umstellen.
Hat jemand ähnliche Probleme?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rcmcronny

Hi,

also meine 2 Gateways sind on und auch noch im v2 (Nur die Devices sind migriert auf v3 bisher), so ist auch die Empfehlung der Benutzer, wenn man das Gateway migriert, können noch nicht migrierte Devices nicht (also welche in v2) dann nicht mehr das Gateway nutzen. Da diese nicht von v3 auf v2 senden. Ich werde das also so lassen und später im Jahr migrieren, auch wenn ich meine Gateways quasi allein nutze :)

Ich suche aber, wie man das am besten anbindet (denke mal mqtt), hast Du da ggf schon was als Info ?

Ronny

pechnase

Hallo zusammen,
ich benutze diesen Thread mal weiter, da mein Problem in die ähnliche Richtung geht.
Seit langer Zeit habe ich meine TTN V2 Nodes mit den Device Typen MQTT2_CLIENT und MQTT2_DEVICE in FHEM eingebunden. Das hat auch immer bestens funktioniert. Als Zugangsdaten zu TTN habe ich die bekannten Parameter aus der TTN Console verwendet.
Jetzt habe ich erste LoRaWAN Nodes nach TTN V3 migriert, was auf TTN Seite kein Problem war. Mein LoRaGW habe ich noch in V2 belassen, wie ja weiter oben auch schon als Empfehlung erwähnt wird.
Ich habe nun versucht, die nach TTN V3 migrierten Nodes wieder in FHEM zu integrieren, bekomme aber kein Connect mehr mit dem MQQT2_CLIENT hin. Die Credentials habe ich angepasst, also neuen Servernamen für den LoRaWAN MQTT Server (eu1.cloud.thethings.network:1883), neuer Username bei Attributen und über set den in der TTN V3 Console neu generierten API Key als Password. Die Verbindung bleibt aber auf 'disconnect'. Im FHEM Log finde ich nichts, was mich weiter bringen würde, außer der Meldung 'mein node name: discarding DISCONNECT (224)(0)'
Hat schon jemand erfolgreich einen TTN V3 Node in FHEM mit MQTT2_CLIENT und MQTT2_DEVICE integriert?
Danke für euer Feedback.

Wolfgang
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

rcmcronny

Hi,

ich habe gleich die v3 MQTT Verbindung genutzt und läuft bei mir (aber Port 8883 -> mit ssl)


defmod ttnv3lg92 MQTT2_CLIENT eu1.cloud.thethings.network:8883
attr ttnv3lg92 SSL 1
attr ttnv3lg92 autocreate simple
attr ttnv3lg92 clientId ttn2fhem_lgt92
attr ttnv3lg92 keepaliveTimeout 300
attr ttnv3lg92 room mqtt
attr ttnv3lg92 username <USERNAME von MQTT Application>


Und nach dem Einloggen, das Passwort mittels set ... password übergeben.

Klappte bei mir sofort beim 1. Versuch ;)

Ronny

pechnase

@rcmcronny:
danke für die schnelle Antwort. Mit SSL hat es bei mir auch auf Anhieb funktioniert. Das war der richtige Tipp. Offensichtlich lässt TTN V3 nur diese Verbindung zu, obwohl ja auch der Port 1883 in der TTN V3 Console angegeben wird.

Wolfgang
2 x RPI mit FHEM 5.8 (RPI B+ & RPI 2B) verbunden über FHEM2FHEM
- HM Fensterkontakte, Rauchmelder, Fernbedienung, Schalter
- Optolink (Selbstbau) Vitotronic 200KW2
- 1-wire DS1820 Temp.Sensoren, TX29DT-IT
- CUL (busware), nanoCUL, Jeelink (Nachbau), FHEMduino

rcmcronny

Hi,

kann sein. Ich finde aber, man sollte es generell nutzen, gerade wenn es über das unsichere Internet geht. Im lokalen Netz mags egal sein. Freut mich, das es so geklappt hat ;)

Ronny

rieders

Hallo

Ich versuche gerade eine Verbindung zum TTN_MQTT herzustellen.
Leider komme ich über den Status Open nicht hinaus.

Mein Raw
defmod TTN_NODE MQTT2_CLIENT eu1.cloud.thethings.network:8883
attr TTN_NODE SSL 1
attr TTN_NODE alias TTN_NODE
attr TTN_NODE autocreate complex
attr TTN_NODE clientId fhem2ttn_rieders-gps-tracker1
attr TTN_NODE keepaliveTimeout 300
attr TTN_NODE room TTN
attr TTN_NODE username rieders-gps-tracker1@ttn

setstate TTN_NODE opened
setstate TTN_NODE 2022-09-16 11:25:04 state opened

Ich hoffe es kann mir jemand weiter helfen

Grüße

rcmcronny

Hallo,

und Du hast die MQTT  Integration auch in der TTN Konsole bei der Application entsprechend aktiviert ?
Du hast das Passwort mit dem set password Befehl auch gesetzt ?
Gibt es im Log mehr Infos ?

Ohne mehr Infos, schwer was zu sagen.

Ronny


rieders

Viele Dank für die schnelle Antwort.
Wie meinst du das Aktiviert?
Wenn ich habe ein Api Key erstellt muss ich da noch was machen?

Grüße

rcmcronny

Hallo,

das meinte ich mit aktiviert, ohne API Key für den Benutzer keine Nutzung.
Warum gehst Du nicht gleich auf die anderen beiden Fragen ein ?

Zitat
Du hast das Passwort mit dem set password Befehl auch gesetzt ?
Gibt es im Log mehr Infos ?

Ronny

rieders

Das lange Passwort habe ich bei set eingefügt.

Nachdem ich nochmal ein neuen Api Key mit Enddatum erstellt habe bekomme ich auch Daten im Hide Traffic.
Nur wird kein neues MQTT2_DEVICE angelegt.

Danke für deine Hilfe

rcmcronny

Hallo,

gern. Ein list vom Device wäre generell gut.

Ich vermute mal das Attribut "autocreate" mit Wert simple könnte helfen ? (Zumindest habe ich das bei mir und das sieht vielversprechend aus).

Ronny

rieders

Hallo

Das Attribute "autocreate" hatte ich schon angelegt. Sowohl mit simple oder complex bekomme ich kein neues Device.
Komischerweise hat sich ignoreRegexp angelegt. Das hatte ich wieder gelöscht in der Hoffnung das es daran liegt.

Grüße

rcmcronny

Hallo,

mach doch bitte mal ein     list <DEVICENAME> im Eingabefeld und füge es als Code in die Antwort ein, sonst ist es ein reines sinnloses Rätselraten.
Du willst was, also musst Du auch die Daten liefern. Dauerndes Nachhaken ist ermüdend. Zumal Du nicht mal auf die Fragen alle eingehst.

Ohne das List mit den Infos, werde ich (wir) kaum was mehr sagen können dazu.

Vielleicht ist bei Dir auch global autocreate aus oder oder .. schwer zu sagen alles.

Ronny

rieders

Hallo

Hier ist das List vom Device

Unter autocreate ist auch alles außer WMBUS aktiviert.

Danke für die Hilfe.

Internals:
   BUF       
   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
   ClientsKeepOrder 1
   DEF        eu1.cloud.thethings.network:8883
   DeviceName eu1.cloud.thethings.network:8883
   FD         67
   FUUID      6321e5ef-f33f-1a2e-eea0-b5534cfcc1a8cc65
   FVERSION   00_MQTT2_CLIENT.pm:0.260550/2022-05-17
   NAME       TTN_NODE
   NR         287
   PARTIAL   
   SSL        1
   STATE      opened
   TYPE       MQTT2_CLIENT
   WBCallback
   clientId   fhem2ttn_rieders-gps-tracker1
   eventCount 1
   lastMsgTime 1663568682.7308
   nextOpenDelay 5
   MatchList:
     1:MQTT2_DEVICE ^.
     2:MQTT_GENERIC_BRIDGE ^.
   READINGS:
     2022-09-16 13:59:47   attrTemplateVersion 20210528
     2022-09-18 13:53:26   state           opened
Attributes:
   SSL        1
   alias      TTN_NODE
   autocreate complex
   clientId   fhem2ttn_rieders-gps-tracker1
   keepaliveTimeout 300
   room       TTN
   username   rieders-gps-tracker1@ttn

rcmcronny

Hallo,

danke. Sieht wie bei mir aus, sehr komisch.

Vielleicht legst Du das passende Device einfach selbst an.
Ich hoffe folgendes Statemant hilft Dir, habe es bereits auf Dich angepaßt.

Fehlt nur noch
<DEIN DEVICENAME>    das ist der Name des Devices oben im List
eui-xxxxxxx                   da die Info aus der TTN Console oder auch aus den Infos oben im Bild rein (ist ja eindeutig)


defmod MQTT2_rieders-gps-tracker1 MQTT2_DEVICE <DEIN DEVICENAME>
attr MQTT2_rieders-gps-tracker1 readingList <DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-xxxxxxx/location/solved:.* { json2nameValue($EVENT) }\
<DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-xxxxxxx/up:.* { json2nameValue($EVENT) }\
<DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-xxxxxxx/join:.* { json2nameValue($EVENT) }
attr MQTT2_rieders-gps-tracker1 room TTN


Ohne Gewähr, das ist nun ausserhalb von dem wo ich gut helfen kann, bei mir ging es einfacher. Aber als Anhaltspunkt hilfts vielleicht etwas.

Ronny

Jamo

#17
Bei mir sähe die readinglist für otau so aus:
attr MQTT2_rieders-gps-tracker1 readingList <DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-otaa-xxxxxxx/location/solved:.* { json2nameValue($EVENT) }\
<DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-otaa-xxxxxxx/up:.* { json2nameValue($EVENT) }\
<DEIN_DEVICENAME>:v3/rieders-gps-tracker1\x40ttn/devices/eui-otaa-xxxxxxx/join:.* { json2nameValue($EVENT) }
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rieders

Hallo

Leider erzeigt Fhem bei mir keine Geräte mehr automatisch.
Daher habe ich mal ein "neues Fhem" virtual angelegt, dort wird das neue Device erzeug.

Im autocreate habe ich nur 2 Geräte Auskommentiert.

defmod autocreate autocreate
attr autocreate alias autocreate
attr autocreate autosave 1
attr autocreate device_room %TYPE
attr autocreate filelog ./log/%NAME-%Y.log
attr autocreate ignoreTypes WMBUS_TCH.*|WMBUS_LS.*|
attr autocreate weblink 1
attr autocreate weblink_room %TYPE

setstate autocreate active


Das erzeugte Device hatte dann diese Readinglist

MQTT_LORA_NODE:v3/rieders-gps-tracker1\x40ttn/devices/eui-xxxxxxxxxxxxxxxxx/up:.* { json2nameValue($EVENT) }
MQTT_LORA_NODE:v3/rieders-gps-tracker1\x40ttn/devices/eui-xxxxxxxxxxxxxxxxx/location/solved:.* { json2nameValue($EVENT) }

Vielen Dank nochmal für die Hilfe

Grüße


rcmcronny

Hi,

gern, super.

Ich würde mal versuchen, ob hier:
attr autocreate ignoreTypes WMBUS_TCH.*|WMBUS_LS.*|

die Pipe am Ende einen Unterschied macht, normalerweise braucht man die da so nicht.

also so dann:    attr autocreate ignoreTypes WMBUS_TCH.*|WMBUS_LS.*

Sonst wüsste ich auch nichts, was es sein kann.

Ronny

rieders

Hallo

Vielen Dank. Der | hat demnach alles blockiert.
Jetzt werden wieder Devices angelegt.

Grüße