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
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.
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.
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.
-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:
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?
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)
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?
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.
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.