local sensors = require "sensors" local config, _ = sensors.read_config('/etc/sensors.json') sensors.setup(config) local units = { temperature = "celsius", humidity = "percent", pressure = "pascals", gpio = "status", } local function scrape() local readings, err = sensors.read(config) if not readings then return end for name, values in pairs(readings) do labels = { name = name, kind = values._kind_ } for t, v in pairs(values) do local unit = units[t] if unit ~= nil then metric("sensors_" .. t .. "_" .. unit, "gauge", labels, v) end end end end return { scrape = scrape }