Rapportera temperatur via The Things Network (TTN)

Om du har en LoRaWAN-temperatursensor ansluten till The Things Network kan du enkelt rapportera temperaturen till temperatur.nu. Denna guide visar hur du konfigurerar din befintliga TTN-sensor att skicka data till oss via en webhook.

Vi har även guide för hur du konfigurerar gateway och sensor här.

Vad du behöver

  • En temperatursensor ansluten till TTN (t.ex. Dragino DS20-LS, LHT65, eller liknande)
  • Sensorn måste vara registrerad i en TTN-applikation och skicka uplinks till den
  • En payload formatter (decoder) konfigurerad i TTN som avkodar temperaturen till ett namngivet falt (t.ex. `TempC1` eller `temperature`). Kan du se temperaturen i interfacet är det klart.

Steg 1: Aktivera TTN i egenadmin

  1. Gå till www.temperatur.nu/egenadmin/ och logga in.
  2. Under Sensorinställningar, klicka Byt rapporteringssätt.
  3. Välj Använd TTN (The Things Network) och klicka Aktivera.
  4. Du får nu en Webhook-URL som ser ut så här:
https://www.temperatur.nu/report/ttn_webhook.php?hash=DIN_HASH
  1. Klicka Kopiera for att kopiera URL:en.

Steg 2: Konfigurera webhook i TTN Console

  1. Gå till TTN Console (https://eu1.cloud.thethings.network/console/) och logga in.
  2. Välj din applikation.
  3. Gå till IntegrationsWebhooks.
  4. Klicka + Add webhookCustom webhook.
  5. Fyll i:
    • Webhook ID: Valfritt namn, t.ex. `temperatur-nu`
    • Webhook format: JSON
    • Base URL: Klistra in URL:en du kopierade från egenadmin
    • Under Enabled event types, kryssa i Uplink message.
  6. Klicka Add webhook.

Webhoken är nu aktiv. Nästa gång din sensor skickar en uplink till TTN kommer temperaturen att rapporteras till temperatur.nu.

Fältmatchning
Webhooken letar automatiskt efter en numerisk nyckel i decoded_payload vars namn börjar med temp (case-insensitive, intervall −60…+80 °C). Det täcker decoders som producerar temperature, TempC1, temp_c m.fl. utan att du behöver konfigurera något.

Om din decoder använder udda fältnamn (t.ex. outdoor_reading och my_temp) kan du lägga till det som komma-separerad lista i URL:en:

https://www.temperatur.nu/report/ttn_webhook.phphash=DIN_HASH&field=outdoor_reading,my_temp

Den explicita listan provas före auto-matchningen.

Devices som inte rapporterar temperatur
Skickar du även data från andra enhetstyper i samma TTN-applikation (dörrsensorer, motion, vattenmätare etc.) är det inget problem — uplinks utan giltigt temperaturvärde ignoreras tyst med HTTP 200, och webhook-integrationen i TTN pausas eller stängs inte av.

Steg 3: Välj device

För att temperatur.nu ska veta vilken sensor som ska läsas måste detta konfigureras (gäller även om du bara har en sensor)

  1. Gå tillbaka till www.temperatur.nu/egenadmin/
  2. Under Device under TTN-integrationen visas antingen:
    • En dropdown med de devices som skickat data — välj rätt device och klicka Spara.
    • Ett textfält om ingen data kommit in ännu — ange ditt device-ID manuellt (t.ex. `eui-a84041892c6111be`). Du hittar device-ID:t i TTN Console under din applikation → End devices. Enklast är dock att vänta på att en sensor rapporterar data så du kan välja den i listan.

När du klickat på spara är du klar och temperatur.nu kommer att använda din sensor från TTN.

Två sensorer

Om du vill rapportera från två sensorer i samma TTN-applikation till samma mätpunkt:

  1. Konfigurera Sensor 1 enligt stegen ovan.
  2. Under Sensor 2 Konfiguration i egenadmin, välj Använd TTN (The Things Network).
  3. Sensor 2 använder samma webhook — du behöver bara välja en annan device i dropdownen.

Temperatur.nu använder automatiskt den lägsta av de två temperaturerna.

Felsökning

– Inget device i dropdownen efter några minuter: kontrollera i TTN Console → Webhooks → Activity att uplinks faktiskt skickas till URL:en och svaret är 200 ok. Svar 200 skipped: … betyder att vi tog emot uplinken men din decoder skickade inget temperaturfält.
– Värdet uppdateras inte: säkerställ att rätt device är vald i egenadmin och att den faktiskt rapporterar ett temp*-fält (eller anpassa URL:en med &field=…).
– Värdet ligger fast på samma siffra: kolla payload formatter i TTN — vanligt fel är att decodern returnerar samma värde varje gång (battery i stället för temperatur).