Sensordaten mit der TreeSense API einbinden
Du möchtest TreeSense-Sensordaten direkt in deine eigene Anwendung einbinden? Das ermöglicht dir die TreeSense API.
Alle verfügbaren Befehle findest du in der Dokumentation.
Das folgende Python-Beispiel zeigt dir, wie du Datenpunkte von einem bestimmten Sensor abrufst.
Python Packages laden
Zunächst laden wir die notwendigen Python-Packages.
import requests
import os
from dotenv import load_dotenv
Anmeldedaten sicher laden
Passwörter gehören niemals in den Quellcode. Speichere Email und Passwort stattdessen in einer .env-Datei im Projektordner und lade sie dynamisch.
load_dotenv()
EMAIL = os.getenv("TREESENSE_EMAIL")
PASSWORD = os.getenv("TREESENSE_PASSWORD")
Einloggen und Access Token abrufen
Sende deine Anmeldedaten an den /v1/login-Endpunkt. Du erhältst im Response einen Access Token.
BASE_URL = "https://api.treesense.net"
login_response = requests.post(
f"{BASE_URL}/v1/login",
json={
"email": EMAIL,
"password": PASSWORD
}
)
login_response.raise_for_status()
tokens = login_response.json()
access_token = tokens["accessToken"]
Sensordaten abrufen
Rufe nun den /v1/data-Endpunkt auf und übergib den Access Token im Header. Um anzugeben, für welchen Sensor die Daten abgerufen werden sollen, gibst du bei einem LoRaWAN-Sensor die DevEUI und bei einem Narrowband-IoT-Sensor die IMEI in den Parametern an. Zudem kannst du den Zeitraum der Abfrage sowie die Fenster-Größe für die Mittelwertbildung definieren. Wir wählen hier “1d”, was den Mittelwert über einen ganzen Tag bedeutet.
data_response = requests.get(
f"{BASE_URL}/v1/data",
headers={
"Authorization": f"Bearer {access_token}"
},
params={
"DevEUI": "YOUR_DEVEUI",
"start": "2026-04-01",
"end": "2026-04-02",
"interval": "1d"
}
)
data_response.raise_for_status()
data = data_response.json()
print("Sensor Daten:", data)
Fertig! Du erhältst die angeforderten Sensordaten als JSON-Response.
Sensor Daten: {
'meta': {
'sensorType': 'Pulse',
'networkType': 'LW',
'name': 'Beispiellinde',
'devEUI': 'SENSOR_ID'
},
'units': {
'temperature': '°C',
'battery': 'V',
'resistance': 'kOhm',
'moisture_content': '%'
},
'data': [
{
'hardware_serial': 'YOUR_DEVEUI',
'battery': 3.32,
'resistance': 52.21,
'temperature': 7.87,
'time': '2026-04-02T00:00:00Z',
'moisture_content': 0.83
}
]
}
Was du nun mit den Daten machst, bleibt ganz dir überlassen. Du könntest zum Beispiel den Verlauf über mehrere Tage hinweg mit Matplotlib visualisieren.


