A library for setting FRITZ!DECT thermostat values (e.g. offset, holidays, timer), that can't be set via AHA requests.
Project description
Advanced Fritz Thermostat
A library for setting the values AHA requests won't let you!
For basic settings use Heikos (hthiery) amazing pyfritzhome!
This library will always be hacky and will never leave the "beta state", since it uses undocumented API's. I use this library myself and I give my best to keep it updated.
But with any FritzOS upgrade this library might stop working, don't uses this if you can't live with that!
Remember: I'm doing this for free as a hobby, so be nice!
Requirements
- Python 3.12.0 or higher
Tested configurations
| Device | Tested in FritzOS |
|---|---|
| FRITZ!DECT 301 | 7.60 |
If you have a different device or FritzOS version set experimental=True this will disable all checks, but beware there might be dragons!
Setup
Install using pip:
pip install fritz-advanced-thermostat
You will also need to setup a user.
Homeassistant integration
You can integrate this library as a HACS AppDaemon App. For installation and configuration checkout: mietzen/fritz-advanced-thermostat-hacs
Example Usage in Python
from fritz_advanced_thermostat import FritzAdvancedThermostat
from fritz_advanced_thermostat import FritzAdvancedThermostatError
host = '192.168.178.1'
user = 'my-user'
password = 'my-password'
try:
fat = FritzAdvancedThermostat(host, user, password, ssl_verify=False, experimental=False)
print('Available thermostats:')
devices = fat.get_thermostats()
for dev in devices:
print('Device name: ' + dev)
device_name = next(iter(devices)) # Get the first device name
current_offset = fat.get_thermostat_offset(device_name)
print(f'Current offset of {device_name}: {current_offset}')
fat.set_thermostat_offset(device_name, current_offset + 1)
fat.commit()
new_offset = fat.get_thermostat_offset(device_name, force_reload=True)
print(f'New offset of {device_name}: {new_offset}')
except FritzAdvancedThermostatError as err:
print('An error occurred, check the logs!')
print(err)
Credits
Thanks to:
- Argelbargel from the openHab community for showing me a way to obtain the thermostat data without selenium.
Disclaimer
This package is not related to or developed by AVM. No relationship between the developer of this package and AVM exists.
All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this package are for identification purposes only. Use of these names,trademarks and brands does not imply endorsement.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fritz_advanced_thermostat-1.4.0-py3-none-any.whl.
File metadata
- Download URL: fritz_advanced_thermostat-1.4.0-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
415aa64c162dd77ecb32e6ab271f0b3b3b66c0729ccc873745264dfad5466883
|
|
| MD5 |
a50cfa1afd22d93d531aad54290f5c5c
|
|
| BLAKE2b-256 |
a80bd145d522f570164ea8035187c70666271941537bbfc05fcb76fcef9decd9
|