Beschrijving restAPI's (v2)

Alle beschikbare gegevens kunnen via restAPI call's bij de DSMR-logger worden opgevraagd. De restAPI's zijn verdeeld in drie groepen. Informatie die met de hardware en firmware te maken heeft (/dev), informatie die met de Slimme Meter te maken heeft (/sm) en historische gegevens die, aan de hand van de door de Slimme Meter afgegeven gegevens, door de DSMR-logger in bestanden worden opgeslagen (/hist).

Aanroepen restAPI vanuit verschillende systemen

Een restAPI kan op verschillende manieren worden aangeroepen.

Javascript

    fetch(APIGW+"v2/dev/time")
      .then(response => response.json())
      .then(json => {
        //console.log("parsed .., data is ["+ JSON.stringify(json)+"]");
        data = json.devtime;
        for( let field in data )
        {
          //console.log("dev/time: field["+field+"], value["+data[field]+"]");
          if (field == "time")
          {
            //console.log("Got new time ["+data[field]+"]");
            document.getElementById('theTime').innerHTML = data[field];
          }
        }
      })
      .catch(function(error) {
        var p = document.createElement('p');
        p.appendChild(
          document.createTextNode('Error: ' + error.message)
        );
      });     

Unix command

curl http://dsmr-api.local/api/v2/dev/time

Geeft dit als output:

{
  "devtime": {
    "timestamp": "230104142233W",
    "time": "04-01-2023 14:22:17",
    "time_rev": "2023-01-04 14:22:17",
    "epoch": 1672838537,
    "uptime": "1(d)-22:27(H:m)",
    "uptime_secs": 167241
  }
}

Home Assistant

configuration.yaml:

### configuration.yaml
### DSMRloggerAPI 

    <<help>>

geeft dit resultaat:

De source van deze code kun je op github vinden.

Andere systemen

Veel andere systemen hebben hun eigen manier om restAPI's op te vragen. Lees hiervoor de betreffende documentatie.

Last updated