access_from_lua_to_webhmi_itself
Table of Contents
Access from WebHMI itself
To access the WebHMI DB data via API, you have to generate API key in the setup menu and use it in your requests. You can use localhost address as a part of the resource address.
Getting meter data example
function getMeterData(startTime, endTime) local c = cURL.easy_init() c : setopt{ url = 'http://127.0.0.1/api/meters-log/', timeout = 15, httpheader = { 'X-WH-APIKEY: 4025D32205ADC52E8604690FFADFB4600B8D41AA', 'X-WH-START: ' .. startTime, 'X-WH-END: ' .. endTime, 'Accept: application/json', 'Content-Type: application/json' } } local res = "" c:perform{writefunction = function(str) res = res .. str end} c : close() if (res == '') or (res == '%[%]')then ERROR('No data in response!') return false else DEBUG(res) return res end end
Getting graph data example
function getGraphData(regId, startTime, endTime) local c = cURL.easy_init() c : setopt{ url = 'http://127.0.0.1/api/graph-data/', timeout = 15, httpheader = {'X-WH-APIKEY: 9833A5C553C5E05D944C28615EB252A6CB2E9322', 'X-WH-START: ' .. startTime, 'X-WH-END: ' .. endTime, 'X-WH-SLICES: ' .. 30, 'X-WH-REGISTERS: ' .. regId, 'Accept: application/json', 'Content-Type: application/json' } } local res = "" c:perform{writefunction = function(str) res = res .. str end} c : close() if (res == '') or (res == '%[%]')then ERROR('No data in response!') return false else return res end end
access_from_lua_to_webhmi_itself.txt ยท Last modified: 2023/03/02 10:56 by emozolyak