kasa_exporter

Crates.iokasa_exporter
lib.rskasa_exporter
version0.4.0
sourcesrc
created_at2019-01-22 04:44:15.508656
updated_at2024-05-04 18:57:35.918182
descriptionPrometheus exporter for TP-Link kasa devices
homepage
repositoryhttps://github.com/bobrik/kasa_exporter
max_upload_size
id109929
size38,730
Ivan Babrou (bobrik)

documentation

README

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:

  • device_electric_current_amperes
  • device_electric_potential_volts
  • device_electric_power_watts
  • device_electric_energy_joules_total

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.:

  • 127.0.0.1:12345 for IPv4
  • [::1]:12345 for IPv6

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

Commit count: 78

cargo fmt