[Modul] TheThingsNetwork

So, ich habe jetzt die wichtigsten 3 Devices sauber im Symcon drinnen. Das mit den Variablen erstellen geht wie ein Uhrwerk, auch die Payload Decoder Daten stimmen alle :slight_smile:

Das i-Tüpfelchen wäre jetzt noch wenn ich über so einen Weg meine Gateway Statistiken auslesen könnte, incl. Online Status und Intervall. Das scheint aber mangels MQTT Integration so nicht zu gehen.

Dann solltest du dir mal die Instanz
„TTN Gateway“ anschauen :wink:

1 „Gefällt mir“

kann das Tool auch für das Helium Netzwerk verwendet werden?

Nein. Helium verwendet einen anderen Nachrichten-Aufbau.

Der Vollständigkeit halber:
Für eigene „The Things Stack“ Instanzen würde es funktionieren.

schade, dann hoff ich mal das es mal eine Instanz für Helium geben wird

Ist bislang nicht geplant. (Jedenfalls von meiner Seite aus)

gibt es denn noch andere möglichkeit die helium console mit ips zu verbinden? mqtt etc.

Ja geht natürlich über MQTT und entsprechenden Scripten auch von Hand … macht halt nur mäßig Spaß :wink:

Hallo Zusammen,

ich nutze das Modul jetzt schon eine ganze weile. Im Einsatz habe ich eine ganze Menge Fenstersensoren und Wasser Sensoren. ich würde sagen so über 20 Stück.

Ein TTN Empfänger ist auf dem Dach nicht installiert und funktioniert laut Messungen mit meinem Feldtester nicht nur im Haus, sondern bis zu 5km im Umkreis.

Nun habe ich aber das Problem, das es ganz oft passiert das wenn man eine Tür auf und zu macht, das „zu“ nicht bei IP-Symcon ankommt. Die grüne LED am Tür Sensor blinkt, er sendet aber im IP bleibt die Tür offen. Nach ca. 12 Stunden ist die Tür dann auch irgendwann mal zu, vermutlich wenn er noch mal sein KeepAlive sendet.

Anfang das jahres war es sehr oft, im Sommer waren dann weniger Probleme und jetzt ist es wirklich schlimm, das ganz oft Schaltvorgänge im IPS nicht ankommen.

Habt ihr das auch?


Anhand der Frame-ID kannst du ziemlich gut sehen, wenn Pakete ausfallen. Dann gibt es immer so ein kleines Treppchen.
Durch Überlagerungen etc. kann es schon vorkommen, dass Pakete mal verloren gehen. Bei einem Gateway, auf dem Dach funktioniert es eigentlich recht zuverlässig.

Moin,
Das kannte ich noch gar nicht.
Hier kann man aber gut sehen das viele Frames verloren gehen.

Am Emfang kann es kaum liegen, gibt devices bei mir die sind in einer Metalbox und senden noch gut.

Nur bei den Türen darf halt keiner verloren gehen.

Wo kann ich raufinden wo das Ding verloren gehr?

  1. sender zu gateway
  2. gateway zu ttn
  3. ttn zu IPS

Empfang

-95 dBm sind ganz schön wenig, dafür dass du das Gateway auf dem Dach hast.
Das solltest du dir vielleicht mal anschauen. Nicht das dein Gateway „taub“ ist oder aus einem andren Grund die Nachrichten nicht verarbeitet. Die -75 dBm würden dem schon eher entsprechen.

Du kannst mal schauen ob es von deinem eigenen Gateway kommt indem du die Daten auseinander nimmst und schaust ob dein Gateway dabei ist:

$data = TTN_GetData(12345); // Instanz des TtnMqttDevice
$gateways =  $data->uplink_message->rx_metadata; 
if($gateways == null) 
    return;
foreach ($gateways as &$gateway) 
{
    if($gateway->gateway_ids->gateway_id == "aaaabbbbccccdddd")
       IPS_LogMessage("LoRaWAN", "eigenes Gateway");
}

Ich habe hier ein eigenes LoRaWan-Gateway in Betrieb. Zum Testen habe ich die Open-Source-Variante von The Things Stack über Docker installiert und Gateway/2 Sensoren eingebunden. Funktioniert so weit einwandfrei. Der Stack läuft mit einer lokalen IP-Adresse ohne Anbindung ins Internet.

Ich würde jetzt gerne das Modul einsetzen und habe folgende Kette aufgebaut:
Client Socket (MQTT Client) → MQTT Client → TTN MQTT Device (V3)
Beim Socket und dem Client sehe ich die Nachrichten vom Stack eintrudeln, nicht aber beim Device.

Ich bin mir nicht sicher, ob der tenant hier auch „ttn“ ist oder etwas anderes. Mach ich irgendwo einen Gedankenfehler?

Viele Grüße

Dirk

Der Tenant wird dann nicht TTN sein.
ggf siehst du ihn im TtnConfigurator.

Der Tenant wird im Topich hinter dem @ angegeben.

So weit kommt’s leider nicht. Ich bekomme eine Fehlermeldung („Konnte Konfigurationsform nicht laden“).

Notice: Undefined offset: 1 in /var/lib/symcon/modules/.store/firebuster.thethingsnetwork/TtnConfigutrator/module.php on line 138
{"elements":[],"actions":[{"type":"Configurator","name":"Configurator","caption":"TTN MQTT Devices","delete":false,"sort":{"column":"DeviceId","direction":"ascending"},"columns":[{"caption":"DeviceID","name":"DeviceId","width":"auto"},{"caption":"ApplicationID","name":"ApplicationId","width":"250px"},{"caption":"Tenant","name":"Tenant","width":"250px"},{"caption":"Instanz","name":"Instanz","width":"250px"}],"values":[{"DeviceId":"io-controller-1","ApplicationId":"dragino-test-application1","Tenant":null,"Instanz":"-","instanceID":0,"create":{"moduleID":"{FF6D63B4-E6C1-C76C-5CDD-626847F3B3FA}","location":["TTN","dragino-test-application1"],"name":"io-controller-1","configuration":{"Tenant":null,"ApplicationId":"dragino-test-application1","DeviceId":"io-controller-1"}}}]}]} (Code: -32603)

Was passt da nicht?

Viele Grüße

Dirk

Der Tenant scheint null zu sein. Vielleicht kannst du den in der Instanz deines Stacks irgendwo setzten?

Es scheint nicht möglich zu sein (zumindest auf einfache Weise), ein Tenant zu setzen. Dazu müsste ich einen „Tenant Admin“ einstellen können und das geht wohl nicht mit der Open Source-Variante. Gibt es eine Möglichkeit im Modul auf den Tenant zu verzichten?

Viele Grüße

Dirk

Antwort von TheThingsNetwork: Tenants gibt es nur in Enterprise-Versionen von TTN. Ich hab „nur“ die Open-Source-Variante, da kann man kein Tenant setzen. Wäre also super, wenn man den Tenant im Modul „ausschalten“ könnte.

Viele Grüße

Dirk

Ich habe mir eben mal als Test einen „Clone“ des Moduls gezogen und beim Konfigurator alle Referenzen auf „tenant“ entfernt.

Das gab dann einen Teilerfolg, eine Testnachricht vom Stack wurde als Gerät erkannt, auch mit den richtigen Bezeichnern und ich konnte damit ein MQTT-Device in Symcon anlegen.

Problem: leider scheint die Entfernung von Tenant aus dem TtnMqttDevice nicht ganz so einfach zu sein - im Debug wird zwar ein Buffer angezeigt, trotz entsprechenden Hakens in der Konfiguration werden leider keine Variablen angelegt.

Hier könnte ich jetzt etwas Hilfe brauchen :wink:

Viele Grüße

Dirk

Mach mir bitte mal einen Dump der MQTT Nachricht mit dem Topic
Denke das ein Gerät angelegt werden kann ist erst mal kein Problem.