senseBox Umzug von TTNv2 auf TTNv3

Das öffentliche The Things Network schaltet Ende 2021 die alte Version (TTNv2) ab und wird daraufhin nur noch die neue Version (TTNv3) betreiben. In diesem Projekt zeigen wir, wie du eine senseBox aus TTNv2 auf TTNv3 umziehen kannst.

Offizielle Dokumentation: https://www.thethingsnetwork.org/docs/the-things-stack/

console.cloud.thethings.network

Besuche https://console.cloud.thethings.network/ und du kommst auf die neue Übersichtsseite der TTN-Konsolen.

/images/projects/TTN_Umzug/uebersicht.png - Logo

Öffne hier zunächst die “Legacy V2 Console

TTNv2 Konsole

Öffne in der TTNv2 Konsole deine “Applications” und wähle die Application aus, welche du umziehen möchtest.

/images/projects/TTN_Umzug/ttnv2-console.png - Logo

Gehe dort auf den Reiter “Devices” und öffne das Device, welches du auf TTNv3 umziehen möchtest.

/images/projects/TTN_Umzug/ttnv2-application.png - Logo

In dem Device sehen wir nun die EUIs, welche auf TTNv3 übertragen werden müssen.

/images/projects/TTN_Umzug/ttnv2-device.png - Logo

Lasse den Tab geöffnet. Im nächsten Schritt wird eine neue Application in der neuen TTNv3 Konsole erstellt.

TTNv3 Konsole

Öffne die TTNv3 Konsole in einem neuen Tab. Entweder über die Übersichtsseite oder direkt: https://eu1.cloud.thethings.network/. Hier kannst du dich mit deinen bisherigen TTN Login Daten unter “Login with The Things ID” einloggen.

/images/projects/TTN_Umzug/ttnv3-login.png - Logo

Öffne in der TTNv3 Konsole die “Applications”

/images/projects/TTN_Umzug/ttnv3-console.png - Logo

Und erstelle mit dem “+ Add Application” eine neue Application. Gebe hier die Application ID an. Kopiere diese aus der TTNv2 Konsole und achte darauf, dass die Application ID dieselbe ist. Erstelle daraufhin die Application mit dem “Create application” Button.

/images/projects/TTN_Umzug/ttnv3-create-application.png - Logo

Erstelle nun ein neues Device über den “+ Add end device” Button.

/images/projects/TTN_Umzug/ttnv3-create-device.png - Logo

Wähle auf der nächsten Seite den Reiter “Manually” und wähle MAC V1.0.2 als “LoRaWAN version”. Wähle im “Frequency plan” Europe 863-870 Mhz (SF9 for RX2 - recommended) aus.

/images/projects/TTN_Umzug/ttnv3-register-device.png - Logo

Im unteren Teil werden nun die EUIs aus der TTNv2 Konsole übernommen. Wechsle erneut zur TTNv2 Konsole und kopiere nacheinander die “Device EUI”, “Application EUI” und den “App Key” über den Kopieren Button zu TTNv3. Hier muss weder zur Hex-Ansicht gewechselt noch lsb oder msb gewählt werden.

/images/projects/TTN_Umzug/ttnv2-copy-euis.png - Logo
/images/projects/TTN_Umzug/ttnv3-paste-euis.png - Logo

Zuletzt muss noch die “End device ID” übertragen werden. Kopiere also die “Device ID” aus TTNv2 und kopiere diese in TTNv3.

Registriere nun das neue Device mit dem “Register end device” Button.

TTNv3 Webhook hinzufügen

Damit die ankommenden Daten zur openSenseMap weitergeleitet werden, muss eine Webhook Integration hinzugefügt werden. Öffne dazu auf der linken Seite über die “Integrations” die “Webhooks” und füge eine neue Webhook mit dem “+ Add webhook” Button hinzu.

/images/projects/TTN_Umzug/ttnv3-integrations.png - Logo

Wähle im nächsten Schritt eine “Custom webhook”

/images/projects/TTN_Umzug/ttnv3-webhook.png - Logo

Und gebe der Webhook eine ID (z.B. osem). Wähle für das Webhook Format JSON und nutze https://ttn.opensensemap.org/v3 als “Base URL”.

/images/projects/TTN_Umzug/ttnv3-webhook-settings.png - Logo

Auf der unteren Seite müssen noch “Uplink messages” aktiviert werden.

/images/projects/TTN_Umzug/ttnv3-webhook-uplink.png - Logo

Nun kann die Webhook über “Add webhook” gespeichert werden.

(Optional) TTNv3 Payload formatter anpassen

Mit dem normalen Code der senseBox:home, welcher über die openSenseMap generiert wird, kann dieser Schritt übersprungen werden. Nur falls Caynenne LPP in Blockly oder das JSON Decoding Profile der openSenseMap genutzt wird muss der Payload formatter angepasst werden.

Gegebenenfalls muss bei der Application noch den Payload formatter angepasst werden, je nachdem in welchem Format die Daten gesendet werden. Dazu auf der linken Seite auf “Payload formatters” -> “Uplink” den entsprechenden Formatter auswählen. Wenn die Daten als Cayenne LPP verschickt werden, muss hier CayenneLPP ausgewählt werden. Eigene Payload formatter können über Javascript eingefügt werden.

TTNv2 Application deaktivieren

Die TTNv2 Application könnte jetzt einfach gelöscht werden. Dies wird von TTN aber nicht empfohlen.

For OTAA device, you can simply do it by deleting your device from The Things Network V2, however, this is not recommended - you might lose some data. The recommended practice is to change the AppKey in The Things Network V2. This way, your existing session would not be terminated yet, but new Join requests sent by your end device would not be accepted by The Things Network V2 cluster.

Um den AppKey in TTNv2 zu ändern muss in den Device Settings einfach ein anderer AppKey eingetragen werden, z.B. einen Buchstaben oder eine Ziffer ändern. Falls es Probleme gibt kann somit wieder zurück zur TTNv2 Application gewechselt werden.

/images/projects/TTN_Umzug/ttnv2-edit-app-key.png - Logo

Falls alles funktioniert könnte die TTNv2 Application folgendermaßen gelöscht werden. Das löschen der Application ist aber nicht zwingend erforderlich.

In den Settings der Application unten auf “Delete application …” klicken. Dieser Schritt kann nicht rückgängig gemacht werden.

/images/projects/TTN_Umzug/ttnv2-delete-application.png - Logo

senseBox neu starten

Zuletzt muss die senseBox neu gestartet werden (kurz vom Strom nehmen). Nun sollte sich die Box direkt mit dem neuen TTNv3 verbinden und die Daten an die openSenseMap weiterleiten.

openSenseMap

Auf der openSenseMap müssen keine Anpassungen vorgenommen werden solange die “Application ID” und “Device ID” gleich bleiben.