VCF Operations has long supported the ingestion of custom metrics and data through custom management packs, typically created by 3rd party vendors. While users can build their own custom management packs, it was a non-starter for many due to the development background required.
The newly integrated VCF Operations Management Pack Builder provides a no-code solution that can connect to any REST-based API endpoint, making it trivial to bring in custom metrics and associating that with existing or new objects within VCF Operations.

My recent purchase of a Kasa Smart Plug for energy monitoring gave me the perfect opportunity to use the VCF Operations Management Pack Builder!
Long story short, Kasa does not provide any public APIs to access their smart devices, but the open-source community has reversed engineer their protocol and built a python library called python-kasa allowing users to interact with their Kasa smart devices.
Since I can not directly interact with the Kasa API, which would be easiest method of bringing the power metrics into VCF Operations. I have built a small Python application that will pull the metrics using python-kasa and serve the results over an HTTP endpoint, which will then enable VCF Operations to retrieve metrics.
With the help of Google Gemini, I was able to quickly build a small python application in just 20min! The majority of the time was to validate the connection and refining the output.

Step 1 - Install the base python-kasa module which will require you to have a Python 3.13 environment. In addition, you will also need to install python-dotenv and pytz using pip. While I used a VM to connect to Kasa smart plug, you can easily take this solution and morph it into a container-based solution, in fact this would be a nice use case for using vSphere Pods given the small footprint of the python application.
Step 2 - Download kasa_power_monitor.py script on the system that has python-kasa installed and create a kasa.env file that contains following:
# IP Address of your Kasa Smart Plug KASA_DEVICE_IP=172.30.0.99 # Username to login to Kasa app KASA_USERNAME=FILLME # Password to login to Kasa app KASA_PASSWORD=FILLME # Default HTTP endpoint for serving Kasa Power Metrics SERVER_PORT=8080 # Polling interval in seconds to check power metrics KASA_POLL_INTERVAL=30 # Suppress output in console when running script KASA_QUIET_MODE=true # Desired TZ KASA_TIMEZONE=America/Los_Angeles
Note: You can either use the Kasa CLI to discover your devices or you can potentially identify the IP Address of your Kasa devices by inspecting the DHCP leases from your router.
Step 3 - Start the script by running the following command:
python kasa_power_monitor.py
The script will attempt to connect to the Kasa device using the credentials you provided and assuming it can connect, it will verify that it supports energy monitoring before starting the HTTP endpoint as you can see from screenshot below.

You should now be able to open a browser to the IP Address/FQDN and the designated port (e.g. http://exit.vcf.lab:8080/power) and you should hopefully see some information about your Kasa device returned in JSON format.
{
"device_status": "Device is ON.",
"device_alias": "VCF",
"current_power_watts": 223.182,
"current_voltage_volts": 121.196,
"current_amps": 1.943,
"total_kwh": 0,
"last_updated_ts": "2025-11-05 12:17:23 PM PST",
"unit": "W",
"polling_interval_seconds": 30
}
If we add append the following ?output=ui query parameter (e.g. http://exit.vcf.lab:8080/power?output=ui), the output should now be rendered as HTML as shown in the screenshot below.

After you have confirmed that you can successfully retrieve the metrics via JSON format, you can proceed to the next step in creating your own management pack in VCF Operations.
Step 4 - Login to VCF Operations and navigate to Developer Center->Management Pack Builder to begin creating your own custom management pack. Below are just handful of screenshots showcasing a few of the milestones while setting up a new management pack. For a detailed step by step, please refer to Dale's blog post or the official VCF Operations Management Pack Builder documentation for more information.

After stepping through the management pack builder wizard, there is a final verification step that is performed to ensure the objects, metrics and properties can be collected by VCF Operations.

Lastly, we can now install our custom Kasa Smart Plug Power Metrics management pack with a click of a button!

As you can see, the new VCF Operations Management Pack Builder has significantly reduced the barrier to entry for administrators to easily bring in custom metrics from external systems and integrating that into VCF Operations, so you have a single place to correlate all relavent data.
Nice write-up William as always. That was the reason I dropped KASA years ago and moved to either Shelly or more cost friendly Tasmota plugs.