Example: Home power-line load monitor based on LM3 Re:actor


How to make cost-effective power-line current monitor solution based on LM3 Re:actor?

Connect current sensor with analog output to Re:actor Analog input

We recommend Veris Industries H923 split-core current sensor which provides accurate load trending information with a proportional output signal.


Add Analog input object in Reactor tab of LogicMachine2


The measurement is automatically seen in Reactor tab as well as Objects tab



Calculate the Amps of flow

As the analog input will show the value in Volts, you have to calculate real Amps of the load, also calculate average Amps per hour.
Click on the Event-based script icon on the respective Analog input channel line



Add the following code, which will update the object 1/1/3 once an hour with average load in Amps

Source code    
  1. amps = event.getvalue() * 3 -- max current device supports is 30A, Analog input is 0..10V, so 30A/10V = 3A = 1V
  2. avg = storage.get('avg', {}) -- array of variables
  3. table.insert(avg, amps)
  5. if #avg == 60 then -- reading is done once in a minute so we have to record 60 readings to calculate average
  6. total = 0
  7. for _, value in ipairs(avg) do -- summarize all reading to calculate average
  8. total = total + value
  9. end
  11. average = total / 60
  12. grp.update('1/1/3', average)
  14. avg = {}
  15. end
  17. storage.set('avg', avg)

The load measurement object 1/1/3 can be later used for example in Trends or kWh usage can be calculated through scripting