IoTaWatt is a wifi energy meter that can monitor your home's total energy usage at the sub-circuit level. You can then query real-time usage via the local API.
This is my very basic script for identifying when different appliances are running.
Microwave > 50w -> running Dishwasher > 10w -> running (needs to be less for at least 5min before we count it as off) GarbageDisposal > 100w means water dispenser was used, >20W and < 80W is garbage disposal (wait until it goes back <1W) WasherRouter > 45W -> running Stove > 100W -> running Dryer > 100W -> running Oven > 100W -> running WarmingDrawer > 10W
npm install node-fetch@2
node ./iotawatt.js