DSMRlogger32
  • DSMRlogger32
    • De Hardware
    • Graphical User Interface
      • GUI - Actual
      • GUI - Uren
      • GUI - Dagen
      • GUI - Maanden
      • GUI - Telegram
      • GUI - All Fields
      • GUI - Systeem Info
      • GUI - restAPI's
      • FSmanager
      • Settings Editor
      • Systeem Log
    • Telnet User Interface
    • Betekenis NeoPixels
  • Beschrijving restAPI's (v2)
    • Slimme Meter gerelateerde restAPI's
    • DSMR-logger gerelateerde restAPI's
    • Historische Gegevens gerelateerde restAPI's
    • Arduino MEGA met Ethernet shield
    • ESP8266 (WiFi)
    • ESP32 (WiFi)
  • Integratie met Home-Assistant
  • updateServer
  • firmware
    • Benodigde Bibliotheken
    • DSMRrlogger32 firmware clonen
    • Firmware Compileren en Uploaden
    • Pré Compiled Binaries Uploaden
  • Voorbereiding
    • Arduino IDE
    • ESP32 core
    • ESP32 Data Upload tool
    • Installatie Bibliotheken
  • De eerste keer opstarten
  • Vragen (en antwoorden)
    • Werkt de DSMR-logger32 met mijn Slimme Meter?
  • Onderdelen Lijst
  • License
Powered by GitBook
On this page
  • Aanroepen restAPI vanuit verschillende systemen
  • Javascript
  • Unix command
  • Home Assistant
  • Andere systemen
Export as PDF

Beschrijving restAPI's (v2)

PreviousBetekenis NeoPixelsNextSlimme Meter gerelateerde restAPI's

Last updated 2 years ago

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:

Heeft iemand een werkend Home-Assistant yaml bestand dat hij wil delen?

Andere systemen

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

De source van deze code kun je op vinden.

github
DSMR-logger gerelateerde restAPI's
Slimme Meter gerelateerde restAPI's
Historie gerelateerde restAPI's
Arduino Mega met Ethernet Shield
ESP8266
ESP32
Javascript
Unix command
Home Assistant