Skip to main content

Fritz!Box p3exporter collector module

Project description

p3exporter collector module for FritzBox smarthome data

PyPI version Codacy Badge

This module provides collector for FritzBox smarthome device data. It can be enabled with a default p3exporter installation via p3.yml.

The collector is in a very early state and it provides temperature data from connected thermostat devices with temperature sensors.

Tested with:

  • Comet DECT thermostat

Installation and Running

You need to install p3exporter first. It is available on pypi so you can use pip to install the exporter and run it locally.

pip install p3exporter

Now you need to install p3exporter-fritzbox-smarthome. Choose one method mentioned below.

Install from pypi.org

We also provide a pypi.org package. You can install the collector with the following command:

pip install p3exporter-fritzbox-smarthome

Install from repository

You can install it from a local clone of our github repository.

$ git clone https://github.com/codeaffen/p3exporter-fritzbox-smarthome.git
Cloning into 'p3exporter-fritzbox-smarthome'...
...
$ cd p3exporter-fritzbox-smarthome
$ pip install -e .

Activation FritzBox smarthome collectors

To start p3exporter you need a valid p3.yml you can either edit an existing one or take the example from this repository.

curl --silent https://raw.githubusercontent.com/codeaffen/p3exporter-fritzbox-smarthome/develop/p3.yml.example --output ~/tmp/p3.yml

If you edit an existing p3.yml add the following content to activate the collector.

exporter_name: "Python prammable Prometheus exporter /w FritzBox collector"
collectors:
  - p3eFritzBox.collector.smarthome
collector_opts:
  smarthome:
    defaults:
      hostname: https://fb.example.com # use this hostname as default (if never set hostname defaults to 'https://fritz.box')
      username: smarthome # use this username as default
      ssl_verify: false # disable ssl certificate verification by default
    devices:
      - name: FB@home
        password: v3rys3cr3t
      - name: FB@cottage
        password: 4l5ov3rys3cr3t
        hostname: https://myfritzbox.example.com
        ssl_verify: true # enable ssl certificate verification for this device connection

After that you can start the p3exporter as usual:

$ p3exporter -c /tmp/p3.yml
INFO:root:Collector 'p3eFritzBox.collector.smarthome' was loaded and registred successfully
INFO:root:Start exporter, listen on 5876

Configuration

To configure this collector you need to create a dict with the connection parameters within the devices list. There are some parameters avaiable to configure the collector. In the following table all parameters are listed.

Name Default Mandatory Description
name device_<NUM> An arbitrary name to identify metrics according the device. If not given it will be generated as seen in default column. <NUM> stands for the list index, starting with 1.
username * Username used to authenticate against FritzBox
password * Password used to authenticate against FritzBox
hostname https://fritz.box Hostname of FritzBox to connect to. Protocol can be http or https. If no protocol is given default will be https.
device_types List of device type to enable. If List is empty all device types are activated. Possible values are:
  • temperature_sensor
ssl_verify True Set to True to disable ssl certificate verfication. This is useful in case of using self signed certificates.
Note: To use this parameter pyfritzhome from github is needed as the ssl_verify parameter is not yet available in pypi package. For details use requirements.txt.

All parameters from the table above except name can also be defined in defaults dict. Parameters defined here will be used as defaults for each device in devices list if the corresponding parameter is not defined there.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

p3exporter-fritzbox-smarthome-1.1.0.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file p3exporter-fritzbox-smarthome-1.1.0.tar.gz.

File metadata

File hashes

Hashes for p3exporter-fritzbox-smarthome-1.1.0.tar.gz
Algorithm Hash digest
SHA256 9a18b43f296afc76e83916a66d40bb64edbe49f3dc7f1ae74286802b6468c2a0
MD5 167168ecfc4438bc5b8603e67d62699e
BLAKE2b-256 67f734bcd5e9e6f5b63f96dd203d685ed56498e1024315f07ca6b125e6fbbaac

See more details on using hashes here.

File details

Details for the file p3exporter_fritzbox_smarthome-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for p3exporter_fritzbox_smarthome-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b7fc2c84150db4951226e033d04b694b6a002d0aa67cf4dd2d900c91db460de
MD5 5d2691539fb22a505141294b1f5f20e0
BLAKE2b-256 b552ceadd21e664d6d3b46257eb79dc5971d3b603a840725f4df60e7a4da44f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page