Skip to main content

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:

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.

Release files for fritz-advanced-thermostat 1.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for fritz-advanced-thermostat 1.4.0
File Interpreter ABI Platform
fritz_advanced_thermostat-1.4.0-py3-none-any.whl Python 3 none any Details

Release files / fritz_advanced_thermostat-1.4.0-py3-none-any.whl

Download URL fritz_advanced_thermostat-1.4.0-py3-none-any.whl
Size 14.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
415aa64c162dd77ecb32e6ab271f0b3b3b66c0729ccc873745264dfad5466883
BLAKE2b-256 checksum
How to use checksums
a80bd145d522f570164ea8035187c70666271941537bbfc05fcb76fcef9decd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.4.0 This release

1 release file

1.3.0

1 release file

1.2.1

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.2.5

1 release file

0.2.4

1 release file

0.2.3

3 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page