GET
http://dsmr-api.local/api/v1/dev/info
Deze restAPI geeft informatie terug van de DSMR-logger
GET
http://dsmr-api.local/api/vi/dev/time
Deze restAPI geeft de systeem tijd van de DSMR-logger
GET
http://dsmr-api.local/api/v1/dev/settings
Deze restAPI geeft alle, door de gebruiker muteerbare, settings terug
POST
http://dsmr-api.local/api/v1/settings/{"name":"<settingVeld>","value":"<nieuweWaarde>"}
type: String
maxlen: 29
Opmerking:
Characters
type: float
min: 0
max: 10
decimalen: 5
type: float
min: 0
max: 10
Decimalen: 5
type: float
min: 0
max: 10
Decimalen: 5
type: float
min: 0
max: 10
Decimalen: 5
type: float
min: 0
max: 10
Decimalen: 5
type: float
min: 0
max: 100
Decimalen: 2
Opmerking:
Euro's per maand
type: float
min: 0
max: 100
Decimalen: 2
Opmerking:
Euro's per maand
type: Integer
min: 1
max: 60
Opmerking:
Seconden
type: String
maxlen: 49
Opmerking:
Characters
Default: DSMRindex.html
type: String
maxlen: 100
Opmerking:
Characters
type: Integer
min: 0
max: 9999
type: String
maxlen: 39
Opmerking:
Characters
type: String
maxlen: 29
Opmerking:
Characters
type: String
maxlen: 20
Opmerking:
Characters
type: Integer
min: 0
max: 600
Opmerking: Seconden
indien '0' worden er géén berichten verstuurd
er wordt nooit vaker een bericht verstuurd dan tlgrm_interval
type: String
maxlen: 20
Opmerking:
Characters
indien korter dan 5 char's worden er geen gegevens naar mindergas.nl
verstuurd
GET
http://dsmr-api.local/api/v1/sm/info
Geeft systeem een JSON string met informatie van de Slimme Meter, zoals ID's en Serie nummers, terug.
GET
http://dsmr-api.local/api/v1/sm/actual
Geeft de actuele meterstanden van de Slimme Meter terug in een JSON string.
GET
http://dsmr-api.local/api/v0/sm/actual
Deze api dient voor backwards compatibility met de DSMRloggerWS firmware. Deze api call geeft de actuele informatie van de Slimme Meter terug in een JSON string.
GET
http://dsmr-api.local/api/v1/sm/fields
Geeft een JSON string met alle velden die door de DSMRloggerAPI firmware kunnen worden terug gegeven.
Let op! Niet iedere Slimme Meter geeft ook al deze velden terug. Als de Slimme meter een veld niet terug geeft heeft "value"
de waarde "-"
.
GET
http://dsmr-api.local/api/v1/sm/fields/<fieldName>
Geeft een JSON string met informatie over één veld terug. Bijvoorbeeld: http://dsmr-api.local/api/v1/sm/fields/current_l2
GET
http://dsmr-api.local/api/v1/sm/telegram
Geeft een telegram terug precies zo als de Slimme Meter die ook afgeeft, dus inclusief "\r\n" line endings en inclusief de CheckSum!
De restAPI's voor het opvragen van historische gegevens hebben dit formaat:
of:
GET
http://dsmr-api.local/api/v1/hist/hours
Geeft een JSON string met de historische gegevens over de afgelopen 24 uur terug.
GET
http://dsmr-api.local/api/v1/hist/days
Geeft een JSON string met alle gegevens over de afgelopen 14 dagen terug.
GET
http://dsmr-api.local/api/v1/hist/months
Geeft een JSON string met alle gegevens van de afgelopen 24 maanden terug.
Alle beschikbare gegevens kunnen via restAPI call's bij de DSMR-logger worden opgevraagd. De restAPI's zijn verdeelt 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
).
Een restAPI kan op verschillende manieren worden aangeroepen.
Geeft dit als output:
configuration.yaml:
geeft dit resultaat:
Met hassOS lukt het mij niet om bij resource de hostname (DSMR-API.local) te gebruiken. Met het IP adres lukt het wel.
Ik ben niet erg handig met JSON libraries (liefst parse ik de data helemaal zelf zodat ik ook alles zelf "in de hand" heb). Het zou mij daarom ook niet verbazen als onderstaande code simpeler en beter kan.
Getest door Bert Diepeveen (met dank!).
Verder moet je de Algemene functies onderaan deze pagina in je sketch opnemen.
Ik ben niet erg handig met JSON libraries (liefst parse ik de data helemaal zelf zodat ik ook alles zelf "in de hand" heb). Het zou mij daarom ook niet verbazen als onderstaande code simpeler en beter kan.
Verder moet je de Algemene functies onderaan deze pagina in je sketch opnemen.
With some help from Random Nerd Tutorials.
Ik ben niet erg handig met JSON libraries (liefst parse ik de data helemaal zelf zodat ik ook alles zelf "in de hand" heb). Het zou mij daarom ook niet verbazen als onderstaande code simpeler en beter kan.
Verder moet je de Algemene functies onderaan deze pagina in je sketch opnemen.
In de main loop() function moet deze code komen:
De source van deze code kun je op github vinden.
Veel andere systemen hebben hun eigen manier om restAPI's op te vragen. Lees hiervoor de betreffende documentatie.