Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- return {
- on = {
- devices = {'pzem1', 'pzem2'}
- },
- logging = {
- level = domoticz.LOG_ERROR
- },
- execute = function(dz, item)
- if (item.changed) then
- v1, c1, p1, e1 = dz.devices('pzem1')._state:match("([^;]+);([^;]+);([^;]+);([^;]+)")
- voltage1 = tonumber(v1 or 0)
- current1 = tonumber(c1 or 0)
- power1 = tonumber(p1 or 0)
- energy1 = tonumber(e1 or 0)
- if (voltage1 > 0) then
- dz.devices(98).updateVoltage(voltage1)
- print('voltage1 = '..voltage1)
- end
- if ((current1 > 0 and power1 > 0) or (current1 > 0)) then
- dz.devices(101).updateCurrent(current1)
- print('current1 = '..current1)
- end
- if (power1 == 0) then
- dz.devices(104).updateElectricity(0, energy1)
- print('energy1 = '..energy1)
- else
- dz.devices(104).updateElectricity(power1, energy1)
- print('power1 = '..power1..' ,energy1 = '..energy1)
- end
- v2, c2, p2, e2 = dz.devices('pzem2')._state:match("([^;]+);([^;]+);([^;]+);([^;]+)")
- voltage2 = tonumber(v2 or 0)
- current2 = tonumber(c2 or 0)
- power2 = tonumber(p2 or 0)
- energy2 = tonumber(e2 or 0)
- if (voltage2 > 0) then
- dz.devices(99).updateVoltage(voltage2)
- print('voltage2 = '..voltage2)
- end
- if ((current2 > 0 and power2 > 0) or (current2 > 0)) then
- dz.devices(102).updateCurrent(current2)
- print('current2 = '..current2)
- end
- if (power2 == 0) then
- dz.devices(105).updateElectricity(0, energy2)
- print('energy2 = '..energy2)
- else
- dz.devices(105).updateElectricity(power2, energy2)
- print('power2 = '..power2..' ,energy2 = '..energy2)
- end
- volt = (voltage1 + voltage2) / 2
- amp = current1 + current2
- pow = power1 + power2
- enrg = energy1 + energy2
- print('volt = '..volt)
- print('amp = '..amp)
- print('pow = '..pow..'enrg = '..enrg)
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement