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)
- end
- if ((current1 > 0 and power1 > 0) or (current1 > 0)) then
- dz.devices(101).updateCurrent(current1)
- end
- if (power1 == 0) then
- dz.devices(104).updateElectricity(0, energy1)
- else
- dz.devices(104).updateElectricity(power1, 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)
- end
- if ((current2 > 0 and power2 > 0) or (current2 > 0)) then
- dz.devices(102).updateCurrent(current2)
- end
- if (power2 == 0) then
- dz.devices(105).updateElectricity(0, energy2)
- else
- dz.devices(105).updateElectricity(power2, energy2)
- end
- dz.devices(100).updateVoltage((voltage1 + voltage2) / 2)
- dz.devices(103).updateCurrent(current1 + current2)
- dz.devices(106).updateElectricity((power1 + power2), (energy1 + energy2))
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement