Page 2 of 2

Re: Open Energy Monitor

Posted: Tuesday 19 January 2016 14:01
by dwmw2
Thanks. I've got it working too, coping with counter resets as described at http://www.domoticz.com/wiki/Lua_-_Elec ... se_counter

Re: Open Energy Monitor

Posted: Thursday 09 March 2017 23:35
by Abbadon
dwmw2 wrote:Thanks. I've got it working too, coping with counter resets as described at http://www.domoticz.com/wiki/Lua_-_Elec ... se_counter
you still work on that script? i have problems with using it

Re: Open Energy Monitor

Posted: Monday 20 March 2017 20:47
by dwmw2
Haven't touched it for a while, and in fact the cable dropped out and it isn't even collecting data any more. But sure... what's the problem?

Re: Open Energy Monitor

Posted: Monday 20 March 2017 21:52
by Abbadon
i had small problems but now its working fine

Code: Select all

pulse_counter ='$PulsekWh'
power_device = '$PulsePower'
-- Electric meter virtual sensor
meter_name = 'Zużycie prądu'
meter_id = 116
 
-- User variable containing the counter zero point (Wh)
meter_base = 'licznik0'
commandArray = {}
if (devicechanged[pulse_counter]) then
   pulsepower, pulses =  otherdevices_svalues['$PulsekWh']:match("([^;]+);([^;]+)")
   power = tostring(otherdevices_svalues[power_device])
 pulses = pulses 
 --prev_meter = tonumber(otherdevices_svalues[meter_name])
 prevpower, prev_meter =  otherdevices_svalues['Zużycie prądu']:match("([^;]+);([^;]+)")
prev_meter = tonumber(prev_meter)
base = uservariables[meter_base]
base2 = uservariables[meter_base] + 2021891
--###########################################################--
--ccalibration of start point of meter, synchro witch meter #
--prev_meter = 51.678                                             
--base = 51.678                                              
--##########################################################--
   if (base + pulses < prev_meter) then
     -- Pulse counter seems to have been reset.
     print('Pulse count reset; updating base from ' .. base .. ' to ' .. prev_meter)
     base = prev_meter
     commandArray['Variable:' .. meter_base] = tostring(base)
     commandArray[1]={['OpenURL']='http://IP:PORT/json.htmtype=command&param=updateuservariable&vname=licznik0&vtype=string&vvalue='.. base }
   end
print('Meter reading ' .. base .. ' + ' .. pulses .. ' = ' .. base + pulses.. ' Power:'.. power)
 --  commandArray['UpdateDevice'] = meter_id .. "|0|" .. base + pulses
  commandArray[1]={['UpdateDevice'] = tostring(116 .. "|0|" .. power .. ';' .. base + pulses)}
  commandArray[2]={['UpdateDevice'] = tostring(115 .. "|0|" .. power .. ';' ..  base2 + pulses)}
 
end
 
return commandArray