Unofficial integration for Quatt Heat Pump.
Do you have HACS installed?
- Click here or add repository manually
- Select Integrations, then select the 3-dots in the upper-right corner, then select Custom Repositories.
- Put the Reposity URL in the Repository field, then select Integration in the Category dropdown list and click Add.
- Search integrations for Quatt
- Click
Install - Restart Home Assistant
- Using the tool of choice open the directory (folder) for your HA configuration (where you find
configuration.yaml). - If you do not have a
custom_componentsdirectory (folder) there, you need to create it. - In the
custom_componentsdirectory (folder) create a new folder calledquatt. - Download in the
Releasessection thequatt.zipfile for the version of the integration you want to install and extract the files. Alternatively, download all the files from thecustom_components/quatt/directory (folder) in this repository. Note that the version number will not be updated if you choose the latter. - Place the files you downloaded in the new directory (folder) you created.
- Restart Home Assistant
- In Home Assistant click on
Settings - Click on
Devices & services - Click on
Integrations - Click on
+ Add integration - Search for and select
Quatt - Enter the ip address of your Quatt CIC (for instance: 192.168.0.100 without http:// or port number)
- Click
Submit - Enjoy
The Quatt integration relies on DHCP requests made by the Commander In Chief (CIC) for autodiscovery. To force a DHCP request, turn off the CIC and wait 10 seconds and turn it back on again.
- In Home Assistant click on
Settings - Click on
Devices & services - In case the
Quatthas been auto-discovered, the discovered CIC is shown at the top of the screen - Click on
Configure - Click on
Submitto confirm to automatically add the integration to Home Assistant - Enjoy
This integration supports the Quatt Remote Mobile API as an optional addition to the local CIC JSON API. The remote API provides access to additional sensors and controls beyond what's available through the local API.
Special thanks to @WoutervanderLoopNL for reverse engineering the official Quatt mobile app, which made this remote API support possible!
- Additional sensors: Access to sensors not available via the local API (see list below)
- Sound level controls: Programmable day and night maximum sound levels (normal, library, silent)
- Smart filtering: Only sensors not already available through the local API are added, avoiding duplicates
- Seamless integration: Remote API is configured as an optional toggle on the existing CIC device
The remote API provides access to numerous sensors that complement the local API:
- Connectivity status: WiFi SSID, WiFi/LTE/cable connection status
- Energy pricing: Electricity prices (standard, day, night), gas prices, and night time schedule configuration
- Sound control: Silent mode status, day/night max sound levels, and sound schedule configuration
- Heat battery metrics (All-Electric only): Serial number, status, size, charge percentage
- Enhanced heat pump data: Compressor frequency (actual and demand), minimum/rated/expected power, water pump level, ODU type, on/off status, Modbus slave ID
- Installation details: Installation date, insights start date, Quatt build version, installation name, location (zip code, country), and order number
- Thermostat data: Outside temperature (via remote API)
- Boiler data (Hybrid only): Additional boiler power and temperature sensors
- Beta status: This feature is currently in beta with no backwards compatibility guarantees between versions
- Optional feature: The integration works fully with only the local API; remote API is optional
- Reverse engineered API: The remote API was obtained through reverse engineering of the official Quatt mobile app. As such, the long-term stability cannot be guaranteed
- Dependent on Quatt: This feature depends on Quatt's remote API infrastructure. Changes to Quatt's authentication system or API may cause the remote API integration to stop working
- No official support: Since this is based on reverse engineering, there is no official support from Quatt for this functionality
- Smart filtering: The integration intelligently filters remote sensors to avoid duplicating data already available from the local API
To enable the remote API for your existing Quatt CIC:
- In Home Assistant, go to
Settings→Devices & services→Integrations - Click
+ Add integrationand search for Quatt - Enter your CIC IP address (e.g., 192.168.0.100)
- When prompted, enable Remote API by toggling the option
- Enter your first name and last name
- Within 60 seconds, press the physical button on your CIC to complete pairing
- The setup will complete with both local and remote API active
- Go to
Settings→Devices & services→Integrations - Find your Quatt integration and click Configure
- Enable the Add Remote API toggle
- Enter your first name and last name
- Within 60 seconds, press the physical button on your CIC to complete pairing
- The integration will reload with remote API sensors and controls available
Once enabled, additional sensors and the sound level controls will appear in your Home Assistant installation.
This integration includes a fully-featured Quatt Dashboard Card that replicates and enhances the dashboard from the official Quatt mobile app directly in your Home Assistant interface. This provides a comprehensive, at-a-glance view of your Quatt heat pump system status and performance.
Special thanks to @WoutervanderLoopNL for reverse engineering the official Quatt mobile app. The extracted images form the foundation of this card!
- Complete system overview: Visual representation of your entire Quatt system including heat pump(s), boiler, and heat battery
- Real-time status: Live updates of temperatures, power consumption, and operating modes
- Universal support: Works with all Quatt configurations:
- Hybrid setups (heat pump + boiler)
- All-Electric setups (with heat battery/heat charger)
- Quatt Mono (single heat pump)
- Quatt Duo (dual heat pumps)
- Additional features:
- Airconditioning integration including heating and cooling animations
- Solar panel integration including animations
- Solar collector integration including animations
- Home battery integration
- Hot water tank integration including water temperature animations
- Responsive design: Adapts to different screen sizes and devices
- Custom card implementation: Uses a dedicated Lovelace custom card for optimal performance
The Quatt Dashboard works with the local CIC JSON API. Configuring the Remote Mobile API is optional but recommended for more accurate heat pump images.
To get the most out of the Quatt Dashboard:
-
Optional: Remote API configured: Configure the Remote Mobile API (see Remote Mobile API section above).
-
Optional:
OduTypesensor enabled: TheOduType(ODU Type) sensor is used to select the correct heat pump image.- When
OduTypeis available and enabled, the dashboard shows the accurate heat pump image for your unit. - When
OduTypeis not available (for example if the Remote API is not configured), the dashboard will still work but will fall back to generic v1 heat pump images.
The
OduTypesensor is disabled by default. To enable it:- Go to
Settings→Devices & services→Integrations→Quatt - Click on your CIC device
- Find the
OduTypesensor, you will find it under the Diagnostics of the Heatpump (if you have two heatpumps enabling one is enough) - Click on the sensor and enable it
- When
The Quatt Dashboard is implemented as a custom Lovelace card which is installed automatically during installation of the integration, making it easy to add the card to any dashboard.
- Card not found:
- Ensure Home Assistant has loaded the integration properly. Does the config have a
quatt-dashboard-card.jsfile in<HA config>/custom_components/quatt/www/js/? Download a newer version when the file is missing. - Try restarting Home Assistant
- Caching can be an issue, clear the cache or try incognito mode
- Ensure Home Assistant has loaded the integration properly. Does the config have a
- Generic heat pump image: Enable and configure the
OduTypesensor (requires Remote API) to show the accurate heat pump image instead of the generic v1 image - Mobile card not loading: On Android/iOS devices newly added cards may not load. Caching can be an issue. On Android/iOS clear the cache and or wipe Home Assistant application data and log back in. On iOS a double pull down of the screen with the card in it may result in it loading properly.
With the quatt.get_insights action it is possible to recreate a Quatt-style usage graph (similar to the official app) in Home Assistant.
![]() Day |
![]() Week |
![]() Month |
![]() Year |
![]() All |
This setup uses three building blocks that work together:
- The
quatt.get_insightsaction (service) to fetch detailed usage data from Quatt - A small Python script that stores the retrieved JSON data in a Home Assistant sensor
- An ApexCharts custom card that reads the raw insights sensor and renders a stacked kWh bar chart
ℹ️ API refresh rate
The insights data on the Quatt side is only refreshed once every hour.
Polling more frequently will not return fresher data and will only return cached data from the last refresh. Please do not schedule the automation more often than once per hour.
All example files are included in this repository:
- Python script:
examples/set_quatt_insights.py - Automation:
examples/quatt_insights_today.yaml - ApexCharts charts:
- Day card:
examples/apexcharts_quatt_insights_day.yaml - Week card:
examples/apexcharts_quatt_insights_week.yaml - Month card:
examples/apexcharts_quatt_insights_month.yaml - Year card:
examples/apexcharts_quatt_insights_year.yaml - All card:
examples/apexcharts_quatt_insights_all.yaml
- Day card:
-
ApexCharts card installed
Install the ApexCharts Card via HACS (Frontend → Search for
apexcharts-card). -
Python Scripts enabled in Home Assistant
In your
configuration.yaml:python_script:Create a
python_scriptsfolder in your Home Assistant config directory if it doesn’t exist yet.
Copy the contents of:
into a file called:
<HA config>/python_scripts/set_quatt_insights.py
This script creates/updates sensor.quatt_insights_<day/week/month_year/all> with the insights data retrieved from the Quatt integration for that specific timeframe.
Import the automation from:
Either:
- Paste the contents into Settings → Automations & Scenes → Add automation → Edit in YAML, or
- Include it in
automations.yaml - Update the
periods_to_fetchvariable in the automation to specify which timeframes you want to fetch (day, week, month, year, all). Remove the insights that are not needed to reduce the number API calls.
This automation:
- Runs on Home Assistant startup and then once per hour
- Calls
quatt.get_insightsfor each timeframe inperiods_to_fetch - Retries up to 3 times until valid data is returned
- Calls
python_script.set_quatt_insightsto updatesensor.quatt_insights_<day/week/month_year/all>
By default, the example automation is scheduled to run at 15 minutes past every hour. To help spread load across the Quatt servers, it is recommended to change the minute value in the trigger to a value between 13 and 20 that is unique for each installation.
For example, if the automation uses:
trigger:
- platform: time_pattern
minutes: "15"this can be changed to, for example:
trigger:
- platform: time_pattern
minutes: "17"Add a new Manual card in your dashboard and paste the contents of the required card. For instance for the daily usage card use:
This card displays the daily usage graph similar to the official Quatt app.
All sensors from the local API feed are available. In addition, the following computed sensors are provided:
- Supervisory control mode: Textual representation of the QC
supervisoryControlModestatus. - COP: Calculated using the produced heat and the power consumed by the external power sensor (configurable).
- Heat power: Heat output of the heat pumps.
- Total power: Combined heat output of both heatpumps (Quatt Duo only).
- Total power input: Combined power input of both heatpumps (Quatt Duo only).
- Total system power: Combined system power
- All-electric setup:
heat charger + heatpump(s) - Standard setup:
boiler + heatpump(s)
- All-electric setup:
- Total Quatt COP: COP calculated using the produced heat and the power used by the heatpump(s).
- Quatt COP: COP calculated using the produced heat and the power used by the heatpump.
- Water delta: Difference between inlet and outlet water temperatures.
- Heat power: Heat output of the boiler.
Special thanks to @patrickvorgers for maintaining this integration and enhancing the integration to its current level.
If you want to contribute to this please read the Contribution guidelines






