Gasmeterstand uploaden naar Mindergas.nl

Domoticz kan de meterstand van het gas bijhouden en grafieken weergeven, maar op Mindergas.nl is dat net iets mooier. Met een paar simpele stappen wordt er voor gezorgd dat we de meterstand van het gas iedere dag automatisch kunnen uploaden naar MinderGas.nl

Benodigdheden
Account aanmaken

Allereerst 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. ewSJnX7BA8r9nLDPjrV8. Deze token hebben we dadelijk nodig.

Script

Download hier het python-script en pak het uit met een extracter, bv. Winrar. Plaats het python-script 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.

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:

sudo crontab -e

En voeg onderstaande regel toe:

<0..59> 0 * * * python /home/pi/domoticz/scripts/mindergas.py -a <MINDERGASTOKEN> -d <IDXgasmeter>

<0..59>: Vervang dit door een getal tussen de 0 en 59. Het getal geeft aan op de hoeveelste minuut van het uur het script wordt uitgevoerd.
<MINDERGASTOKEN> : Vervang dit door de authenticatietoken die we eerder op Mindergas.nl opgevraagd hebben.
<IDXgasmeter> Dit is het idx dat correspondeert met jouw gasmeter in Domoticz. Ga naar Setup -> Devices en je ziet het Idx voor aan de regel staan:

 

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:

2 gedachten over “Gasmeterstand uploaden naar Mindergas.nl

  • 13 september 2018 om 11:34
    Permalink

    Erg interessant!
    Kun je aangeven wat ik moet doen om het op een synology te doen? Mijn domoticz haalt gasmeterstanden binnen via P1 kabel.

    Beantwoorden
  • 16 januari 2019 om 19:06
    Permalink

    Dank voor geboden info!
    Bovenstaand script met kleine portwijziging in file geplaatst in een map in Domoticz op mijn Synology 718+ met DSM 6.2 en Python-package.
    Python werkt in principe goed en wordt ook gebruikt om elke 5 minuten mijn opbrengst naar PVoutput te uploaden.
    Taak aangemaakt welke bovenstaand script uitvoert.

    Dit is de taakopdracht in Synology:

    python /volume1/@appstore/domoticz/var/scripts/mindergas.py -a xxxxxxxxxxxxxxxxxxxx -d 734

    Script wordt kennelijk wel aangeroepen maar genereert de volgende fouten:

    Taakplanner heeft een geplande taak voltooid.

    Taak: Upload MinderGas.nl
    Starttijd: Wed, 16 Jan 2019 18:48:50 GMT
    Stoptijd: Wed, 16 Jan 2019 18:48:50 GMT
    Huidige status: 1 (Onderbroken)
    Standaard uitvoer/fout:
    Traceback (most recent call last):
    File “/volume1/@appstore/domoticz/var/scripts/mindergas.py”, line 54, in
    sys.exit(main())
    File “/volume1/@appstore/domoticz/var/scripts/mindergas.py”, line 27, in main
    device_data = json.load(urllib2.urlopen(“%s/json.htm?type=devices&rid=%s” % (args.url, args.device), timeout=5))
    File “/usr/lib/python2.7/urllib2.py”, line 154, in urlopen
    return opener.open(url, data, timeout)
    File “/usr/lib/python2.7/urllib2.py”, line 429, in open
    response = self._open(req, data)
    File “/usr/lib/python2.7/urllib2.py”, line 447, in _open
    ‘_open’, req)
    File “/usr/lib/python2.7/urllib2.py”, line 407, in _call_chain
    result = func(*args)
    File “/usr/lib/python2.7/urllib2.py”, line 1228, in http_open
    return self.do_open(httplib.HTTPConnection, req)
    File “/usr/lib/python2.7/urllib2.py”, line 1198, in do_open
    raise URLError(err)
    urllib2.URLError:

    Wat zou oorzaak kunnen zijn?
    Verkeerde aanroep in taakopdracht?
    Verkeerde versie van Python?

    Met belangstelling,
    Pieter

    Beantwoorden

Laat een reactie achter op Bart van der Mark Reactie annuleren

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *