Stand gasmeter uploaden naar MinderGas.nl 2.0
Begin vorig jaar hebben we uitgelegd hoe je met een Python-script de stand van de gasmeter automatisch kunt uploaden naar MinderGas.nl. Nu is er een eenvoudigere manier, door middel van een bash-script.
Benodigdheden
- Raspberry Pi
- Domoticz software
- Slimme gasmeter of koppeling met slimme thermostaat
Allereerst moeten we jq installeren:
1 |
sudo apt-get install jq |
Account aanmaken
Nu gaan we een account aanmaken op Mindergas.nl, hiervoor heb je alleen een email adres en een wachtwoord nodig. Nadat je ingelogd bent ga je op Mindergas.nl naar Meterstand API en klik je vervolgens op Genereren onder Authenticatietoken. Je krijgt nu een token toegewezen, zoals bv. gPsoTQ2HmvgAJ1Xv_6fs
. Deze token hebben we dadelijk nodig.
Script
Download hier het bash-script. Plaats het bestand mindergas.sh in de folder /home/pi/domoticz/scripts/
. Uiteraard kun je het script ook in een andere folder plaatsen, maar dan moet je verder de cronjob ook aanpassen. Voordat je het bestand op de Raspberry Pi zet moet je op regel 4 het token vervangen en op regel 7 het IDX-nummer van je gas-device in Domoticz vervangen (je moet dus 221 vervangen door het juiste IDX).
Zorg dat het script uitvoerbaar is:
1 |
sudo chmod +x /home/pi/domoticz/scripts/mindergas.sh |
Om ervoor te zorgen dat het script iedere dag automatisch uitgevoerd wordt gaan we een cron job instellen. Open de tabel van de cron jobs met commando:
1 |
sudo crontab -e |
En voeg onderstaande regel toe:
1 |
<0..59> 23 * * * sudo ~/domoticz/scripts/mindergas.sh |
Vervang 0..59 door een getal tussen de 0 en 59. Het getal geeft aan op de hoeveelste minuut van het uur het script wordt uitgevoerd. De meterstand wordt nu in het laatste uur van de dag geüpload naar MinderGas.nl. Het exacte tijdstip maakt niet zo heel veel uit aangezien je meestal tussen 23.00 en middernacht weinig tot geen gas zal gebruiken.
Tot slot nog een paar opmerkingen:
- Indien je in Domoticz authentication aan het staan zorg er dan voor dat je
127.0.0.*
hebt toegevoegd bij Local networks (no username/password) onder Settings. - Als je token op Mindergas.nl begin met een minus-teken of underscore (bijv. -qTGD……..) dan zal deze token niet werken. Je kunt de token dan intrekken en een nieuwe aanmaken.
Als alles goed gegaan is en de cronjob heeft voor het eerst gedraaid, is het uploaden naar MinderGas.nl begonnen! De eerste meterstand van het gas vind je terug onder Meterstanden op de website:
Hallo,
Ik heb domoticz op de rpi staan en draait ook goed, maar als ik de sd kaart benader dan hen ik geen submap met domoticz. Wel een map met overlays. Doe ik iets fout?
Bij mij werkt het script niet zoals verwacht op m’n raspberry pi.
Ik krijg de fout : Status : 422 Unprocessable Entity
En er staan nog geen meterstanden geregistreerd onder Mijn Gasverbruik > Meterstanden.
Heeft er iemand hetzelfde en een oplossing ?
Werkt super allemaal.
Tip:
Vervang 0..59 door een getal tussen de 0 en 59
Vervang “” door een getal tussen de 0 en 59
In het script moet https://www.mindergas.nl/api/gas_meter_readings vervangen worden door https://www.mindergas.nl/api/meter_readings. De oude url zal binnenkort nl. niet meer werken.
De oude werkt nog steeds, maar inderdaad. Heb de aanpassing ook maar even doorgevoerd.
Hoi Joost, heb je toevallig het script nog? ik kan deze niet downloaden van je site.
Ik krijg het mindergas script niet gedownload, zie deze foutmelding:
Invalid File Type (/home/ehocuiwa/public_html/wp-content/uploads/download-manager-files/1555260229wpdm_mindergas.sh)!
Wat gaat er mis?
Bedankt voor het doorgeven, het zou nu weer moeten werken.
Bedankt voor het maken van het script.
Werkt nu bij mij. Maar ik moest wel het DeviceID (Idx) veranderen in het script
221 is bij mij 19.
Per 1 Oktober is de API aangepast dus moet ook het script iets worden aangepast, ‘gas_’ weghalen lijkt voldoende.
https://mindergas.nl/member/api
‘De URL is veranderd van http(s)://www.mindergas.nl/api/gas_meter_readings naar http(s)://www.mindergas.nl/api/meter_readings.’
Script werkte tot SD kaart storing. Na nieuwe install krijg ik “meterstand geen getal” foutmelding. Iemand een idee?