I denne guide gennemgås hvordan man får en URL-streng ud af ReMonis API. Med URL-strengen kan man hente data fra API’et, f.eks. i Excel eller bare ved at sætte den ind i en browsers adressefelt.
Find den Unit der skal hentes data fra.
- Log in på ReCal www.recalc.remoni.com
- Under Installations klik på Units
- Find den unit der skal hentes data fra. I kolloden “Id” står det Unit ID der skal bruges senere i denne guide.
- For at finde den type af unit der er oprettet, klik på View ud for den unit der skal hentes data fra.
- Her ses Unit typen.
API gennemgang
- Åben siden api.remoni.com
- Klik på Authorize oppe i højre hjørne.
- Log in med de samme loginoplysninger som på ReCalc.
- Lokaliser og klik på Get /Data.
- I den udfoldede fane find følgende felter:
Timestamp: Det udgangspunkt der skal hentes data fra. År-måned-dag.
UnitId: ID’et på den unit der skal hentes data fra. Unikt 4 cifret tal fra ReCalc.
AggregateType: Den aggregerings type der skal hentes data i. Raw, Minutes5, Hour, Day.
DataType: Den type af data der skal hentes.
UnitTypeInputId: Består af to tal sat sammen, f.eks. 3001. De første 2 cifre er unit typens id, f.eks. er 30 en Generic PowerMoniMain. De to sidste cifre er kanalnummeret 01, 02, 03 osv.
For at kunne hente data, skal UnitId, DataType og UnitTypeInputId passe sammen. I tabellen herunder kan man se sammenhængen imellem de tre parametre. Først find hvilken UnitType der er oprettet i ReCalc, derefter vælg hvilken type data der skal hentes og så hvilken kanal der skal hentes fra.
UnitType
DataType
UnitTypeInputId
Sum*1
Channel 1
Channel 2
Channel 3
Generic PowerMoniMain
power
null
3001
3002
3003
current
null
3001
3002
3003
Generic PowerMoniSpot
uncalibrated-current
2801
apparent-power*2
2801
Generic HeatMoniSpot
temperature
3101
3102
3103
AirMoniGateway
CO2
4701
temperature
4702
humidity
4703
*1 Den summeret værdi for alle tre channels.
*2 For at kunne hente apparent-power skal en PowerMoniSpot kalibreres til level2. - I feltet Timestamp skriv le(2030-01-01) . le står for mindre end eller lig med. Det vil sige at alt data fra før datoen vil blive hentet. Se eksempel herunder:
- I UnitId skrives det 4 cifret nummer vi startede med at finde i ReCalc. Skriv det sådan eq(0002). eq står for equal/lige og det betyder at den kun henter data fra dette nummer.
Se eksempel herunder: - I AggregateType skrives f.eks. sådan eq(Hour). Der kan stå Raw, Minutes5, Hour eller Day.
Se eksempel herunder: - DataType skrives f.eks. sådan eq(power). Se eksempel herunder:
- UnitTypeInputId skrives f.eks. sådan eq(3001). Se eksempel herunder:
- Klik derefter på Try it out!
- Hvis alt er tastet rigtigt ind, skal feltet Response Body se sådan ud:
Hvis der en fejl i indtastningen, ser feltet Respone Body sådan ud: - Hvis alt er indtastet korrekt, kan URL’en i feltet Request URL kopieres og bruges f.eks i Excel.
Eksempler:
Herunder ses et par eksempel på en URL-streng der henter data fra tre demo Units.
1. Temperatur:
Her hentes data der er nyere end 2017-01-01, fra Unit 1258 (Generic HeatMoniSpot), den henter time data, data typen er temperatur, det er på unit kanal 3101 og den henter de nyeste 10000 rækker.
https://api.remoni.com/v1/Data?Timestamp=gt(2017-01-01)&UnitId=eq(1258)&AggregateType=eq(Hour)&DataType=eq(temperature)&UnitTypeInputId=eq(3101)&top=10000
2. Uncalibrated-current:
Her hentes data der er nyere end 2017-01-01, fra Unit 2343 (Generic PowerMoniSpot), den henter time data, data typen er uncalibrated-current, det er på unit kanal 2801 og den henter de nyeste 10000 rækker.
https://api.remoni.com/v1/Data?Timestamp=gt(2017-01-01)&UnitId=eq(2343)&AggregateType=eq(Hour)&DataType=eq(uncalibrated-current)&UnitTypeInputId=eq(2801)&top=10000
3. Power:
Her hentes data der er yngere end 2040-01-01, fra Unit 6415 (Generic PowerMoniMain), den henter time data, datatypen er Power, data er på unit kanal null (en summering af de 3 channels) og den henter de nyeste 20 rækker.
https://api.remoni.com/v1/Data?orderbydesc=Timestamp&Timestamp=lt(2040-01-01)&UnitId=eq(6415)&AggregateType=eq(Hour)&DataType=eq(Power)&UnitTypeInputId=eq(null)&top=20