Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.92 KB | None | 0 0
  1. return {
  2.     on = {
  3.         devices = {'pzem1', 'pzem2'}
  4.     },
  5.     logging = {
  6.         level = domoticz.LOG_ERROR
  7.     },
  8.     execute = function(dz, item)
  9.        
  10.         if (item.changed) then
  11.             v1, c1, p1, e1 = dz.devices('pzem1')._state:match("([^;]+);([^;]+);([^;]+);([^;]+)")
  12.             voltage1 = tonumber(v1 or 0)
  13.             current1 = tonumber(c1 or 0)
  14.             power1   = tonumber(p1 or 0)
  15.             energy1  = tonumber(e1 or 0)
  16.                if (voltage1 > 0) then
  17.                    dz.devices(98).updateVoltage(voltage1)
  18.                end
  19.                if ((current1 > 0 and power1 > 0) or (current1 > 0)) then
  20.                     dz.devices(101).updateCurrent(current1)
  21.                end
  22.                if (power1 == 0) then
  23.                    dz.devices(104).updateElectricity(0, energy1)
  24.                else
  25.                    dz.devices(104).updateElectricity(power1, energy1)
  26.                end
  27.             v2, c2, p2, e2 = dz.devices('pzem2')._state:match("([^;]+);([^;]+);([^;]+);([^;]+)")
  28.             voltage2 = tonumber(v2 or 0)
  29.             current2 = tonumber(c2 or 0)
  30.             power2   = tonumber(p2 or 0)
  31.             energy2  = tonumber(e2 or 0)
  32.                if (voltage2 > 0) then
  33.                    dz.devices(99).updateVoltage(voltage2)
  34.                end
  35.                if ((current2 > 0 and power2 > 0) or (current2 > 0)) then
  36.                     dz.devices(102).updateCurrent(current2)
  37.                end
  38.                if (power2 == 0) then
  39.                    dz.devices(105).updateElectricity(0, energy2)
  40.                else
  41.                    dz.devices(105).updateElectricity(power2, energy2)
  42.                end
  43.             dz.devices(100).updateVoltage((voltage1 + voltage2) / 2)
  44.             dz.devices(103).updateCurrent(current1 + current2)
  45.             dz.devices(106).updateElectricity((power1 + power2), (energy1 + energy2))
  46.         end    
  47.     end
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement