Fritz InfluxDb is a tiny daemon written in python to fetch data from a fritz box router and writes it to influxdb. It is equal capable as fritzcollectd and directly writing to influxdb.
- python3.6 or newer
- influxdb
- fritzconnection >= 1.3.3
If you still need to run it with Python 2 check out the the branch python2.7
- here we assume we install in
/opt
sudo apt-get install virtualenv python3-lxml
cd /opt
git clone https://github.com/yunity/fritzinfluxdb.git
cd fritzinfluxdb
virtualenv --system-site-packages -p python3 .venv
. .venv/bin/activate
pip3 install -r requirements.txt
yum install git python36-virtualenv python36-lxml
cd /opt
git clone https://github.com/yunity/fritzinfluxdb.git
cd fritzinfluxdb
virtualenv-3 --system-site-packages .venv
. .venv/bin/activate
pip3 install -r requirements.txt
- modify your configuration and test it
./fritzinfluxdb.py
Ubuntu
cp /opt/fritzinfluxdb/fritzinfluxdb.service /etc/systemd/system
RHEL/CentOS
sed -e 's/nogroup/nobody/g' /opt/fritzinfluxdb/fritzinfluxdb.service > /etc/systemd/system/fritzinfluxdb.service
systemctl daemon-reload
systemctl start fritzinfluxdb
systemctl enable fritzinfluxdb
git clone <this_repo_url>
cd fritzinfluxdb
Copy the config from the example to my-fritzinfluxdb.ini
and edit
the settings.
Now you should be able to build and run the image with following commands
docker build -t fritzinfluxdb .
docker run -d -v /PATH/TO/my-fritzinfluxdb.ini:/app/fritzinfluxdb.ini --name fritzinfluxdb fritzinfluxdb
You can alternatively use the provided docker-compose.yml:
docker-compose up -d
If you're running the influxdb in a docker on the same host you need to add --link
to the run command.
- starting the influx container
docker run --name=influxdb -d -p 8086:8086 influxdb
- set influxdb host in
fritzinfluxdb.ini
toinfluxdb
- run docker container
docker run --link influxdb -d -v /PATH/TO/my-fritzinfluxdb.ini:/app/fritzinfluxdb.ini --name fritzinfluxdb fritzinfluxdb
If you upgrade from a version < 0.3 make sure to perform following steps
- update your virtual env
pip3 install -r requirements.txt
- use the updated config and add the credentials and addresses from your old config
Use grafana_dashboard_fritzbox.json
to import this dashboard.
This was heavily inspired from: https://grafana.com/dashboards/713
check here to find a overview of more attributes which probaly could be added https://wiki.fhem.de/w/index.php?title=FRITZBOX
You can check out the full license here
This project is licensed under the terms of the MIT license.