Ga naar inhoud

HTTP Client

Betaalde module

Deze module is te bestellen via de webshop. Lees meer over modules.

Sinds versie 1.15 is het mogelijk om met de CEMM gegevens op te halen van een externe API. Met de HTTP Client module stuurt de CEMM periodiek een HTTP request naar een door jou ingestelde URL. Het antwoord van de server moet in JSON-formaat zijn. Met behulp van JSONPath en expressies haal je vervolgens waardes uit het antwoord, die de CEMM als meter kan loggen.

Het instellen gebeurt in twee stappen: eerst configureer je een databron die de gegevens ophaalt, daarna voeg je een HTTP meter toe die de gewenste waardes uit het antwoord haalt.

Databron toevoegen

Ga naar 'Instellingen' > 'HTTP Client' om een nieuwe databron toe te voegen. Kies eerst het type databron. Op dit moment zijn de volgende types beschikbaar:

  • HTTP (JSON): een algemene HTTP request naar een API die JSON teruggeeft. Hier stel je onder andere het interval, de URL en de authenticatie in.
  • Solis Cloud: haalt gegevens op van de Solis Cloud API. Hier stel je onder andere het interval, de URL en de API-sleutel en het bijbehorende geheim in.

Het interval bepaalt hoe vaak de CEMM de gegevens ophaalt. Wij raden aan dit interval tussen de 10 en 60 seconden te houden.

Daarnaast vul je bij beide types een variabele in. Dit is de naam waaronder het antwoord van de server wordt opgeslagen. Deze variabele gebruik je later in de expressies van de HTTP meter.

Na het opslaan verschijnt de databron in de lijst op de pagina 'HTTP Client'. Hier zie je de status van de databron en het laatst ontvangen antwoord. Dit is handig om te controleren of de gegevens goed worden opgehaald, en om te zien hoe het antwoord is opgebouwd.

HTTP meter toevoegen

Als de databron is ingesteld, kan je een HTTP meter toevoegen. Ga naar 'Instellingen' > 'Meters' en klik op 'Meter toevoegen'. Kies voor de categorie 'HTTP' en het type 'Aangepast'.

Vul de gebruikelijke instellingen in, zoals icoon, label, type en rol. Voeg daarna één of meer registers toe. Ieder register wordt geconfigureerd met een expressie, waarin je de variabele van de databron kan gebruiken. Met de functie jsonpath(variabele, expressie) haal je een waarde uit het antwoord. Zie Expressies voor een overzicht van de beschikbare functies en meer voorbeelden.

Je kan de expressie direct testen om het resultaat te zien. Klopt de waarde, sla dan het register en vervolgens de meter op.

Voorbeelden

Een waarde uitlezen uit het antwoord van de databron met variabele hw_water:

jsonpath(hw_water, "$.total_liter_m3")

Een waarde uitlezen uit een lijst, waarbij het juiste item wordt geselecteerd op basis van het serienummer:

jsonpath(solis1, "$.data.page.records[?(@.sn == '94324B0216340532')].etotal1")

De jsonpath functie is te combineren met andere bewerkingen. Zo kan je bijvoorbeeld de waardes van twee databronnen bij elkaar optellen:

jsonpath(hw_water1, "$.total_liter_m3") + jsonpath(hw_water2, "$.total_liter_m3")

Of een waarde omrekenen, bijvoorbeeld van kW naar W:

jsonpath(omvormer, "$.power_kw") * 1000