I’ve seen a few people ask this question recently and I’ve seen that the answers are “you can’t”. So I tried. And it’s not hard at all.
These are instructions on how to use the value of energy consumption reported by a power metering accessory as part (a condition, not trigger) of an automation.
You’ll need to use the free Controller app for Homekit and you’ll probably need the manufacturer’s app for your power meter.
Step 1, you will need a way to trigger your automation. If you don’t know how to do this, this will go over your head, so learn this first. Create a scene that you want to promote through this automation.
Step 2. Plug in the power monitor socket and plug in something that draws a constant amount of zero power. Use the manufacturer’s application to find out what this power level is. Memorize this. For my device, it is 9 watts.
Step 3. Open the Controller for Homekit application. Go to your house. Go to Automation. Add a new automation. Called. Choose either time-based or event-based automation. You can change this later, so don’t worry, it’s no big deal. We recommend that it be connected to a switch that you can rotate to test it, so based on events.
Step 4. This will take you to the new event creation page. You will see the “activated” switch at the top. Don’t turn it on yet. Scroll down to “add a start event”. Select whatever you want, use the “value of a feature” and link it to a switch that I control manually, for now. So click to the left of the device name. For an outlet, the two available options are “Power Status” and “In-Use”. Choose the power state.
Step 4.5 This will set the power status that triggers this to “Any”. This means that ANY change of power supply will trigger this automation. If that’s not what you want, change it to On or Off.
Step 5. You have defined the very beginning, now define the state, which is the energy consumption. click “add condition”. Then click “Value of a feature”. You are taken to an accessory selection page, choose the outlet that measures energy consumption. I use a Koogeek socket that measures power and when I scroll down I see 5 items listed next to the name of my socket. The first has no value. The second has “url, data”. The third has “On”. The fourth has “8”, the fifth has “-21600”. My device’s power consumption was 9 watts, and 8 is pretty close to it, so I selected that row. I have three options, “1 REALTIME_ENERGY”, “2 CURRENT_HOUR_DATA” and “15 RUNNING_TIME”. We want real-time energy. Select it, then tap “Done” at the top.
Note: Different hardware may have different options. I have no way of knowing, because I only have Koogeek power monitoring outlets.
step 6: You have now returned to the automation creation page. Touch the status itself (block with an arrow pointing to the right, with the name of your device, just under the word “CONDITIONS”. Choose the characteristic value. For me, it was 5 watts. Tap the KEY icon very small. Type it. Click “perform.” Swipe down to return. Your status will now read “1 REALTIME_ENERGY is 5”.
Step 7: This device will rarely consume exactly 5 watts, so touch the status again. select “comparison operator”. And select the comparison you want to make. I want “greater than or equal to.”
Step 8. Select the scene you want to promote. I want to turn light red because my energy consumption is high.
Step 9. Scroll to the top of the automation builder screen. Enable “enabled”. In the upper left, select the “back” arrow.
Okay, we can do it here. But let’s do one more thing.
Step 10. Swipe left on the automation. “Clone” and “delete” are displayed. Select “clone”. Enter the new automation.
Step 11. Scroll down to the conditional statement. Touch it. Click on “comparison operator”. Select “Less than”.
Step 12. Select an appropriate scene. For me, I turn my light bulb green because my energy consumption is low.
step 13. enable automation.
Step 14. use the back arrow to return to the main page of the application. Then exit the application.
Step 15. Test automation. triggering it as you would normally want it to be triggered.
So that’s how you do it.
You can also use power consumption as a startup event. The best way to do this is probably to select it as above, selecting the power value as the feature. But instead of selecting a “bigger than” or “smaller than”, simply leave it as “it’s anything”. In this way, each change in energy consumption will cause it to check the conditions.