Skip to main content

thermotec-aeroflow-flexismart

Python Library to communicate with the Thermotec AeroFlow® FlexiSmart Gateway

Note

This project does not run standalone, just provides an API to interact with the Flexismart Gateway.

  • If you just want to control your Heaters, please visit my other Project (HASSIO Addon): thermotec_aeroflow
  • If you want to build a new Integration and need a library to control the heaters, this is the Project you could work with
  • If you want to fix communication issues or exted the featureset, this is the Project you could work with

Disclaimer:

This is completely a private / community project and is NOT related to the Company Thermotec AG in any way!
Use this Library / Client on your own risk. I am NOT responsible for any damage, data loss, error or malfunction!

Why this Project

When I got my Thermotec AeroFlow® heater, I was quite pleased by the product, but I figured out that the FlexiSmart Gateway module was not quite "smart" (at least not in the way I would think of "smart").

Why do I think it's not smart? There are only 2 ways of communication with the Gateway:

  • The APP for the SmartPhone (Android / iOS)
  • Alexa Skill

There are some nice features already build into the Heater itself. Like automatic window open detection.

BUT I have Door / Window sensors at every Door / Window, so I would like to directly control the heater and stop heating as long as the window(s) are open.

Or I want to go automatically in the anti freeze mode if I'm not in the area of my house.

There are many many many reasons why I want an API / Client / Direct way to communicate with the Gateway / Heater directly from my own network.

My Setup is based on HASS (Home Assistant), so I created this library / client project as a dependency for the hassio-integration.

Features

  • All* functions which are available in the APP

    • Programming is currently not implemented
  • Temperature

    • Read Current Temperature
    • Read Target Temperature
    • Set Target Temperature
  • Window Open Detection

    • Read current Status
    • Enable / Disable
  • Anti-Freeze

    • Read current value
    • Set target Temperature
  • Smart-Start

    • Read current status
    • Enable / Disable
  • Temperature Offset

    • Read current value
    • Set value
  • Holiday Mode

    • Read Current setting
    • Enable / Disable
  • Boost

    • Read if Boost is active
    • Set Boost
  • Restart

    • Restart the Heater
  • Register Heater

  • Zone

    • List Zones
      • With Heater Count
    • Add Zone
    • Delete Zone (delete heaters in zone)
  • Get Heater Firmware information

  • Gateway Information

    • Read Network settings
    • Date / Time
      • Read
      • Update
    • Read Firmware
    • Read Installation Information
    • Read external Severer endpoints
  • Ping

    • Custom implementation to see if the Gateway is available

Most Features are available for the whole Zone or for a specific Heater independently

Special features (which are not available in the APP)

  • Control each Heater independently or the whole Zone
    • specific Heater works even if in a zone with multiple Heaters
  • Enable Boost

How to use

You need the IP address of your Gateway

  • Use the APP (If you have the APP and you are in your local Network)
    • Open the APP -> Click on Configuration / Information
      • There you have your IP
  • Use your Router / DHCP Server to find the IP

Require this Repository in your Project and use the Commands defined in the commands class

Provide the IP to the function If your Port is different from the default (6653), you can specify the port next to the ip in the function parameter

How does it work / Restrictions

  • Communication via UDP
  • Direct communication in the Local Network
  • Internet is not necessary
    • I personally have blocked the Gateway from accessing the Internet
  • Complete Async approach
  • Commands are build as functions to make it easy to use
  • APP etc. still works
    • no side effects of using this project beside the official App
    • there might be more "sync" requests in the app, e.g. if you change zones

ToDo

  • add command for Programing
  • add some more DTOs for some objects
  • add limits to some commands
    • max temperature, etc.

Known issues

  • FlexiSmart Gateway: Subnet is always 255.255.255.0. It does NOT respect the DHCP information
    • This is unrelated to this Project, but maybe interesting to know

Note

This Project is Licenced under the GPL v3. This decision was made to keep this Project and any improvements Open Source.

Any Trademark, Name or Product is only referenced, but this project does not hold any of these.

  • AeroFlow® is the Registered Trademark by Thermotec AG
  • Thermotec AG is the Name of the Company behind the Heater and the Gateway
  • FlexiSmart is the Product Type / Line of the Gateway / Heater

Metadata

Release files for thermotecaeroflowflexismart 0.1.0

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

Source distribution (sdist)

Source distribution for thermotecaeroflowflexismart 0.1.0
File Size Uploaded
thermotecaeroflowflexismart-0.1.0.tar.gz 32.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for thermotecaeroflowflexismart 0.1.0
File Interpreter ABI Platform
thermotecaeroflowflexismart-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.1 kB

Release files / thermotecaeroflowflexismart-0.1.0.tar.gz

Download URL thermotecaeroflowflexismart-0.1.0.tar.gz
Size 32.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e820eaf7d9ca81a44a9a8ab0b6543d6b142136cbfc466c47118ed828a6442438
BLAKE2b-256 checksum
How to use checksums
f790a86c38bac2de2a116f754753b8ee263f97cafb2e5f3cd951885f8a8bd52e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / thermotecaeroflowflexismart-0.1.0-py3-none-any.whl

Download URL thermotecaeroflowflexismart-0.1.0-py3-none-any.whl
Size 25.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1dc579124a060de2029dd3aaadc372f81c4bb1b64219569f12679f5fd70a0bf6
BLAKE2b-256 checksum
How to use checksums
e3d870b71e14e17562dd87d465090e5aab2c8b09298bf585bc13c096e0a10516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

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