We gebruiken cookies om je een geoptimaliseerde browse-ervaring aan te kunnen bieden. Selecteer ‘Accepteer alles’ als je akkoord gaat met het accepteren van cookies van UserEngage (webchat en leadgeneratie), Hotjar (website-verbetering) en LinkedIn (aangepaste advertenties). Wanneer je ‘Alleen noodzakelijk accepteren’ selecteert, plaatsen we cookies waarmee je onze website correct kunt gebruiken. We onthouden in dat geval je voorkeuren en slaan anonieme statistieken op. Raadpleeg ons cookiebeleid en privacybeleid voor meer informatie.

Accepteer alles
Accepteer alleen noodzakelijke

Sensor data ophalen via de API


Data via de API ophalen kan op verschillende manieren. Het is mogelijk de huidige waarde van een sensor op te halen maar ook de historische waardes over een periode.

Om data van een sensor op te halen hebben we als eerste het id nodig van de sensor. Een manier om deze te verkrijgen is om naar het ZENSIE dashboard te gaan (sensors > klik op de sensor waarvan je het id wilt weten) en de url in de browser te bekijken:

Sensor URL voorbeeld

Een andere optie is om alle sensoren van een organisatie op te halen via een api verzoek (bekijk deze pagina voor een voorbeeld)

Om API verzoeken te doen, is een API key nodig. Deze kan aangevraagd worden in het ZENSIE dashboard (Account settings > developer).

Hier zijn een paar voorbeeld verzoeken om data op te halen van een temperatuur/luchtvochtigheid sensor met id “39555cf5-3081-400c-96cf-ff8d9cdea173”. We gebruiken deze API endpoint:

We dienen een GET verzoek uit te voeren met het sensor id en een datum/tijds interval. In dit voorbeeld verzoeken we de gemiddelde temperatuur per dag van 1 tot 4 november 2017.

curl -XGET \
    -H "Content-type: application/json" \
    -H 'Authorization: <API key>' \
    "https://api.30mhz.com/api/stats/check/39555cf5-3081-400c-96cf-ff8d9cdea173/from/2017-11-01T00:00:00Z/until/2017-11-04T00:00:00Z?statisticType=averages&intervalSize=1d"

 

Als resultaat krijgen we dan:

{ 
  "1509494400000": 
    { "sht25.temp": 18.601995752298404, 
      "sht25.humidity": 59.27995778537517 
    }, 

    "1509580800000": 
      { "sht25.temp": 18.30961109134886, 
      "sht25.humidity": 58.49782640139262 
      }, 

    "1509667200000": 
      { "sht25.temp": 17.93818057510588, 
        "sht25.humidity": 58.11836816999647 
      }
}

We zien hier de gemiddelde temperatuur en luchtvochtigheid per dag. De key toont de dag + tijdstip van de waardes.

Het is ook mogelijk om de minimum of maximum waardes voor een periode op te halen. We gebruiken hiervoor statistictype=mins of statisticTypes=maxs.

We kunnen ook de interval grootte aanpassen en de data per uur verzoeken met intervalSize=1h of per minuut (1m), 5 minuten (5m), 5 dagen (5d) , maand (M), etc.

Om de huidige waarde van een sensor op te halen kunnen we deze API endpoint gebruiken:

Een voorbeeld:

curl -XGET \
    -H "Content-type: application/json" \
    -H 'Authorization: <API key>' "https://api.30mhz.com/api/stats/check/56aac51f-5966-47da-8824-eaf36c8e4737"

We krijgen dan dit als resultaat:

{ "checkId": "56aac51f-5966-47da-8824-eaf36c8e4737", 
  "timestamp": "2017-11-21T13:10:45Z", 
  "lastRecordedStats": 
      { "sht25.temp": "16.79", 
        "sht25.humidity": "62.93" 
      }, 
  "json": null, 
  "code": null, 
  "message": null, 
  "matchCondition": null
}

De lastRecordedStats eigenschap bevat de huidige waardes.

Alle API endpoints om data van 1 of meerdere sensoren op te halen is te vinden in de Swagger documentatie.

Go back to documentation

Sign up for our monthly news letter

Get news and updates directly in your mailbox.