Klik HIER om een account aan te maken, zodat je alle scripts en posts kunt bekijken!

Auteur Topic: Gasverbruik uploaden naar MinderGas.nl  (gelezen 2417 keer)

Joost

  • Administrator
  • Full Member
  • *****
  • Berichten: 148
    • Bekijk profiel
Gasverbruik uploaden naar MinderGas.nl
« Gepost op: 24 oktober 2019, 20:14:17 »
Onderstaand dzVents-script zorgt ervoor dat het gasverbruik, uitgelezen via een P1-meter, wordt geŁpload naar MinderGas.nl, zodat je op die website een hele historie (en vergelijking) over jouw gasverbruik kunt bekijken.

Op de 2e regel van het script moet je de API-key invullen, deze kun je zelf aanmaken op https://mindergas.nl/member/api. Op regel 24 moet je de naam (of het idx-nummer) van jouw gasmeter (in Domoticz) zetten.

---------------------------------------------------------------------------------------------------------------
local AUTH_TOKEN = 'xxxxxxxxxxxxxx' -- Fill in here your Mindergas authentication token
---------------------------------------------------------------------------------------------------------------

return {
active = true,

on = {
timer = {'at 23:59'},
httpResponses = {'UploadToMindergas'}
},

logging = {
level = domoticz.LOG_DEBUG,
marker = 'Mindergas'
},

execute = function(domoticz, item)

        if item.isTimer then

local GasUsageCounter = domoticz.devices('Gas (P1)').counter
local TodaysDate = tostring(domoticz.time.rawDate)

domoticz.log('The gas usage is ' .. GasUsageCounter, domoticz.LOG_INFO)
domoticz.log('The date is ' .. TodaysDate, domoticz.LOG_INFO )

domoticz.openURL({
url = 'https://www.mindergas.nl/api/gas_meter_readings',
method = 'POST',
headers = {
['Content-Type'] = 'application/json',
['AUTH-TOKEN'] = AUTH_TOKEN
},
callback = 'UploadToMindergas',
postData = {
['date'] = TodaysDate,
['reading'] = GasUsageCounter
},
})

        elseif (item.isHTTPResponse) then
if item.ok then -- self.statusCode >= 200 and self.statusCode <= 299
domoticz.log('Gas usage data is sucessfully upoaded to Mindergas.nl.', domoticz.LOG_INFO)
else
if (item.statusCode == 401) then
domoticz.log('There was an authorisation problem with the Mindergas.nl database.', domoticz.LOG_ERROR)
end
if (item.statusCode == 422) then
domoticz.log('There was an unprocessable enrty while trying to upload the gas usage data to Mindergas.nl', domoticz.LOG_ERROR)
end
domoticz.notify('Domoticz error', 'An error occured while trying to upload the gas usage data to Mindergas.nl', PRIORITY_NORMAL)
end
        end
end
}

Auteur: roblom

dahmen

  • Newbie
  • *
  • Berichten: 1
    • Bekijk profiel
Re: Gasverbruik uploaden naar MinderGas.nl
« Reactie #1 Gepost op: 29 oktober 2019, 13:58:32 »
hoi joost, ik krijg een foutmelding  bij

logging =   {
      level   =   domoticz.LOG_DEBUG,

popup  Runtime error at line -1:
c:users\.......\mindergas.lua.14:attempt to index
global 'domoticz'(a nil value)

heb jij de oplossing voor mij?

Joost

  • Administrator
  • Full Member
  • *****
  • Berichten: 148
    • Bekijk profiel
Re: Gasverbruik uploaden naar MinderGas.nl
« Reactie #2 Gepost op: 09 januari 2021, 12:07:38 »
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.