Comet-WiFi-Communicator
A library for setting up of and asynchronous communication with Comet WiFi Thermostats over a custom MQTT broker. This library is also the backend to the corresponding Home Assistant integration.
🚀 Introduction
Comet WiFi Thermostats usually communicate with the Eurotronic MQTT brokers and require a dedicated app. This library allows changing the configuration of Comet WiFi thermostats to use a custom MQTT broker instead. With this setup it is possible to control your thermostats from within your LAN without any Internet connection.
⚠️ Using this library is not compatible with the stock Eurotronic Smart Living app. If you want to change the configuration back to the stock configuration, reset the thermostat and follow the official setup guide.
️⚠️ This library uses undocumented functionality of the thermostat firmware with a very small risk to brick your thermostat. You perform all actions below on your own risk.
✅ Requirements
- Comet WiFi Thermostat
- MQTT Broker without authenitication
- Python 3.14
🛠️ Installation and Setup
⚠️ Resetting your thermostat will delete all data stored on the thermostat (schedules, etc.).
- Install library:
pip install commet-wifi-communicator - Make sure your MQTT broker is setup and running.
- Reset Thermostat (follow official instructions)
- Use a pin to press and hold the reset button in the battery tray until the display is off.
- Release the button.
- Remove the batteries and re-insert the batteries.
- After a few seconds, the display should show "PA" (pairing) and the Wi-Fi symbol should blink.
- Connect your PC to the thermostat Wi-Fi. SSID:
Comet Wifi, Password11223344. - In a terminal, run
setup_thermostat --wifi-ssid YOUR_SSID --wifi-password YOUR_PASSWORD --mqtt-broker YOUR_MQTT_BROKER_IP. Optionally you can also specify the MQTT port with the--mqtt-portflag.
🌡️ Communicate with Thermostat
Connect and set temperature
import time
from asyncio import run
from comet_wifi_communicator.thermostat import Thermostat
thermostat = Thermostat(mqtt_host="192.168.0.10", mqtt_port=1883, mac="AA:BB:CC:DD:EE:FF")
run(thermostat.connect())
# Queries thermostat for setpoint temperature, ambient temperature, and temperature offset
run(thermostat.update_heating_values())
time.sleep(3) # Wait for thermostat to respond
# Get ambient temperature and setpoint
print(thermostat.setpoint)
print(thermostat.temperature_ambient)
# Change setpoint to 27.5°C
run(thermostat.set_temperature(27.5))
time.sleep(3) # Wait for thermostat to respond
print(thermostat.setpoint)
For more information about the library, have a look at the thermostat.py file.
🚧 Limitations
- Thermostat does not support SSL
- Thermostat does not support MQTT authentication when using custom MQTT broker
- The thermostat will regularly send ping messages to MQTT. While running, the Thermostat library will automatically handle these requests. Therefore, it has to be kept running.
⚙️ Implementation Details
To be added.
📜 License
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007, see the license file.
Release files for comet-wifi-communicator 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| comet_wifi_communicator-0.8.0.tar.gz | 35.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| comet_wifi_communicator-0.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 59.4 kB
Release files / comet_wifi_communicator-0.8.0.tar.gz
| Download URL | comet_wifi_communicator-0.8.0.tar.gz |
|---|---|
| Size | 35.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ee81461ebfd7481215c34d212c0f48942d786d7d177582047169794caacb5c7
|
|
BLAKE2b-256 checksum How to use checksums |
9ae25bc1d207ca04037a21fee8b7168df4e4c6dff4552beb800c133e1bd3ea2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency logRelease files / comet_wifi_communicator-0.8.0-py3-none-any.whl
| Download URL | comet_wifi_communicator-0.8.0-py3-none-any.whl |
|---|---|
| Size | 23.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5c328e8438bba8efd2c6ce7c48246c1c8bf5b13551e39c738a3a1d958ec4fdd8
|
|
BLAKE2b-256 checksum How to use checksums |
bd7f6b92b7161a478638ee3a70b70f6e5e86979a7b758b44415f2727b985f533
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 6, 2026.
Transparency log