HTTP upload
De huidige implementatie heeft een REST API, een MQTT client en https://mindergas.nl/ push connectie. Het lijkt me tof om daar ook een generieke HTTP push functionaliteit bij te maken. Gewoon de allersimpelste implementatie waar de DSMRLogger de hele packet upload naar een te definiëren URL. Dat scheelt weer een actief draaiende broker, en kan bijvoorbeeld op een serverless oplossing draaien om de data op te slaan. Moet prima passen in bijvoorbeeld de Free Tier van Google Cloud Run.
Zou u daar oren naar hebben als ik dat contribute? Of heeft u dat zelf al eens gemaakt?
Met een dynamisch op te maken payload kan je het zelfs uploaden naar een gratis instantie van Grafana. Daarvoor kan je requests maken zoals deze:
# Prometheus format
API_KEY="1234:your-api-key"
URL="https://influx-prod-01-eu-west-0.grafana.net/api/v1/push/influx/write"
curl -X POST -H "Authorization: Bearer $API_KEY" -H "Content-Type: text/plain" "$URL" -d "test,bar_label=abc,source=grafana_cloud_docs metric=35.2"
of deze
# Graphite format
API_KEY="1234:your-api-key"
URL="https://graphite-prod-01-eu-west-0.grafana.net/graphite/metrics"
curl -X POST -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" "$URL" -d '[{
"name": "test.metric",
"interval": 10,
"value": 12.345,
"tags": ["foo=bar", "source=grafana_cloud_docs"],
"time": 1690564325053
}]'
Met deze settings zou je er vgm moeten zijn:
- url
- headers
- payload format, met daarin
%01%tm%99%die dan vervangen worden met vaste velden uit de DSMR payload.
@hermanbanken Eerlijk gezegd heb ik geen idee wat je daar mee zou moeten doen, maar het staat je vrij om zoiets te maken.
Ik zal het sowieso niet meer in de DSMRloggerAPI firmware opnemen! Maar als je het op een nette manier voor de DSMRlogger32 firmware ontwikkelt zal ik het zeker in die versie opnemen.
zie hier