bobrik / kasa_exporter

Prometheus exporter for TP-Link Kasa smart home products.
7 stars 0 forks source link
kasa prometheus prometheus-exporter rust rust-lang

kasa_exporter

Prometheus exporter for TP-Link Kasa smart home products.

The metrics are exported for all devices find on a local network.

Supported products

There might be others that have the same API. The following ones have been tested.

Smart wifi plug (HS110)

HS110

Smart wifi plug (KP115)

KP115

Exported metrics

All three as reported by API with device_id and device_alias labels:

Building

Install Rust, then from cloned repo:

$ cargo build --release

Usage

After Building, run the command to get help:

$ ./target/release/kasa_exporter --help
Prometheus exporter for TP-Link kasa devices

Usage: kasa_exporter [OPTIONS]

Options:
      --web.listen-address <LISTEN_ADDRESS>
          Address on which to expose metrics and web interface [default: [::1]:12345]
  -h, --help
          Print help
  -V, --version
          Print version

Note that web.listen-address expects <ip>:<port>, e.g.:

Example response:

$ curl http://localhost:12345/
# HELP device_electric_current_amperes Corrent reading from device
# TYPE device_electric_current_amperes gauge
device_electric_current_amperes{device_alias="Banana",device_id="800607035E84C0B634C36B7DF52CCEC3188C1BAB"} 0.256972
device_electric_current_amperes{device_alias="Potato",device_id="800691A498F774D60997B91E241EE2CC18D08921"} 0.031424
# HELP device_electric_potential_volts Voltage reading from device
# TYPE device_electric_potential_volts gauge
device_electric_potential_volts{device_alias="Banana",device_id="800607035E84C0B634C36B7DF52CCEC3188C1BAB"} 123.16094
device_electric_potential_volts{device_alias="Potato",device_id="800691A498F774D60997B91E241EE2CC18D08921"} 123.130631
# HELP device_electric_power_watts Power reading from device
# TYPE device_electric_power_watts gauge
device_electric_power_watts{device_alias="Banana",device_id="800607035E84C0B634C36B7DF52CCEC3188C1BAB"} 30.071476
device_electric_power_watts{device_alias="Potato",device_id="800691A498F774D60997B91E241EE2CC18D08921"} 0.750854

License

MIT