Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.74 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.                           print('voltage1 = '..voltage1)
  19.                       end
  20.                       if ((current1 > 0 and power1 > 0) or (current1 > 0)) then
  21.                            dz.devices(101).updateCurrent(current1)
  22.                            print('current1 = '..current1)
  23.                       end
  24.                       if (power1 == 0) then
  25.                           dz.devices(104).updateElectricity(0, energy1)
  26.                           print('energy1 = '..energy1)
  27.                       else
  28.                           dz.devices(104).updateElectricity(power1, energy1)
  29.                           print('power1 = '..power1..' ,energy1 = '..energy1)
  30.                       end
  31.                    v2, c2, p2, e2 = dz.devices('pzem2')._state:match("([^;]+);([^;]+);([^;]+);([^;]+)")
  32.                    voltage2 = tonumber(v2 or 0)
  33.                    current2 = tonumber(c2 or 0)
  34.                    power2   = tonumber(p2 or 0)
  35.                    energy2  = tonumber(e2 or 0)
  36.                       if (voltage2 > 0) then
  37.                           dz.devices(99).updateVoltage(voltage2)
  38.                           print('voltage2 = '..voltage2)
  39.                       end
  40.                       if ((current2 > 0 and power2 > 0) or (current2 > 0)) then
  41.                            dz.devices(102).updateCurrent(current2)
  42.                            print('current2 = '..current2)
  43.                       end
  44.                       if (power2 == 0) then
  45.                           dz.devices(105).updateElectricity(0, energy2)
  46.                           print('energy2 = '..energy2)
  47.                       else
  48.                           dz.devices(105).updateElectricity(power2, energy2)
  49.                           print('power2 = '..power2..' ,energy2 = '..energy2)
  50.                       end
  51.                    volt = (voltage1 + voltage2) / 2
  52.                    amp  = current1 + current2
  53.                    pow  = power1 + power2
  54.                    enrg = energy1 + energy2
  55.                    print('volt = '..volt)
  56.                    print('amp = '..amp)
  57.                    print('pow = '..pow..'enrg = '..enrg)
  58.         end      
  59.     end
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement