A comprehensive Home Assistant integration for Qvantum heat pumps, providing real-time monitoring and control through the Qvantum cloud API.
Disclaimer: This is an unofficial integration and is not affiliated with or endorsed by Qvantum AB. Use at your own risk.
- Features
- Installation
- Configuration
- Entities
- Services
- Automation Examples
- Troubleshooting
- Contributing
Sensors (100+ entities)
- Temperature Monitoring: Indoor, outdoor, flow temperatures, tank temperature, and 30+ internal temperature sensors (BT1-BT34)
- Performance Metrics: Compressor speed, pump speeds, flow rates, pressures
- Energy Monitoring: Total power, compressor energy, additional energy consumption with historical tracking
- System Status: Heat pump operating status, operating mode, connectivity
- Diagnostic Data: Firmware versions, uptime, system parameters
Binary Sensors
- Real-time connectivity status with disconnect reason tracking
- Active alarm detection and monitoring
- Service access status indicator
- Relay states for heating, valves, and additional components
- SmartControl status indicators
Number Controls
- Indoor temperature target configuration
- DHW (Domestic Hot Water) start/stop temperature settings
- DHW capacity target adjustment
- Advanced heating parameters
Select Entities
- Heating curve shift (room temperature offset, -9 to +9)
- SmartControl mode selection (Off, Eco, Balanced, Comfort)
- Operation mode control (Auto, Manual, Additional Heat Only)
- DHW priority time configuration
- DHW outlet temperature selection
- Tap water capacity targets
- Room compensation factor
Switch Controls
- Extra hot water boost mode (1-hour quick activation)
- SmartControl enable/disable for heating and DHW
- Manual operation mode controls (Heating, DHW, Addition)
- Vacation mode
- Auto-elevate access control
- Various system settings
Button Controls
- Extra hot water activation (1 hour)
- Manual sensor refresh
- Service technician access elevation
- Multi-Device Support: Manage multiple heat pumps on one account
- Alarm Monitoring: Real-time alarm detection with severity levels and detailed descriptions
- Access Management: Automatic elevation to service technician level for advanced settings
- Dual-Speed Polling:
- Fast 5-second updates for power/current sensors (real-time energy monitoring)
- Normal 30-second updates for temperature/status sensors (efficient polling)
- Automatic Token Refresh: Seamless authentication without interruption
- Availability Tracking: Entities automatically reflect device online/offline status
- Multi-Language Support: English and Swedish translations included
- Ensure HACS is installed in your Home Assistant instance
- In Home Assistant, go to HACS โ Integrations
- Click the โฎ menu in the top right corner and select Custom repositories
- Add this repository URL:
https://github.com/majorfrog/qvantum-hass - Select Integration as the category
- Click Add
- Click Download on the Qvantum Heat Pump integration
- Restart Home Assistant
- Go to Settings โ Devices & Services
- Click + Add Integration
- Search for "Qvantum Heat Pump"
- Follow the configuration steps
- Download the latest release from the releases page
- Extract the
qvantum_hassfolder from the archive - Copy the folder to your Home Assistant's
custom_componentsdirectory- Path should be:
<config_dir>/custom_components/qvantum_hass/
- Path should be:
- Restart Home Assistant
- Go to Settings โ Devices & Services
- Click + Add Integration
- Search for "Qvantum Heat Pump"
- Follow the configuration steps
-
After adding the integration, you'll be prompted for your Qvantum account credentials:
- Email: Your Qvantum account email address
- Password: Your Qvantum account password
-
Click Submit
-
The integration will:
- Authenticate with the Qvantum cloud service
- Discover all heat pumps on your account
- Create devices and entities for each heat pump
Note: The integration uses two separate polling intervals for optimal performance:
- Fast polling (5s): For power consumption and current sensors โ real-time energy monitoring
- Normal polling (30s): For temperature and status sensors โ reduces unnecessary API load
To use services (like activating extra hot water), you need the Qvantum-assigned device ID.
The easiest way to find it is in Developer Tools โ States: look for any Qvantum entity
and check its attributes โ there will be a device_id attribute containing the identifier.
You can also see it in Settings โ Devices & Services โ Qvantum โ your device page.
The config_entry_id required by some services (set_access_level, toggle_auto_elevate) can
be found in Developer Tools โ Template:
{{ config_entries.async_entries('qvantum_hass')[0].entry_id }}
The integration creates comprehensive entities for each heat pump device. Most advanced/diagnostic entities are disabled by default and can be enabled as needed.
Enabled by Default:
- Outdoor Temperature (BT1)
- Accumulator Tank Temperature (BT30)
- Heating Medium Flow Line (BT11)
- Heat Pump Status
- Operation Mode
- Total Power
- Compressor Energy
- Additional Energy
- DHW Capacity
- Alarm Count
- Active Alarms
- Device Uptime
- Firmware Versions
Disabled by Default (can be enabled in UI):
- All internal temperature sensors (BT2-BT34)
- Pressure sensors (BP1, BP2)
- Flow rate sensors
- Fan and pump speeds
- Compressor speed
- Valve positions
- Advanced calculated values
- Heat Emitter Type (Underfloor Heating / Radiators)
- BTX Configuration (diagnostic enum sensor)
- BT4 Configuration (diagnostic enum sensor)
- Vacation Start / Vacation Stop (timestamp sensors)
- Wi-Fi SSID (diagnostic text sensor)
Number Entities:
- Indoor Temperature Target
- DHW Start/Stop Temperatures
- DHW Capacity Target
Select Entities:
- Heating Curve Shift (enabled by default, -9 to +9)
- SmartControl Mode
- Operation Mode
- Manual Mode (Off, Heating, Cooling)
- DHW Priority Time
- DHW Outlet Temperature
- Tap Water Capacity Target
- Room Compensation Factor
- Sensor Mode (which temperature sensor controls operation: BT2, BT3, BTX, or Off)
Switch Entities:
- Extra Hot Water (enabled by default)
- SmartControl Heating
- SmartControl DHW
- Vacation Mode (enabled by default)
- Auto-Elevate Access
- Various system settings (disabled by default)
Button Entities:
- Refresh Sensors
- Extra Hot Water 1 Hour
- Elevate Access Level
Activate extra hot water mode for a specified duration (1-24 hours).
Service: qvantum_hass.activate_extra_hot_water
Parameters:
device_id: Your Qvantum device ID (required)duration: Duration in hours, 1-24 (required)
Examples:
# Automation example - activate for 2 hours
service: qvantum_hass.activate_extra_hot_water
data:
device_id: "your_device_id_here"
duration: 2
# Script for 3 hour boost
activate_hot_water_3h:
alias: "Extended Hot Water Boost"
sequence:
- service: qvantum_hass.activate_extra_hot_water
data:
device_id: "your_device_id_here"
duration: 3Cancel active extra hot water mode.
Service: qvantum_hass.cancel_extra_hot_water
Parameters:
device_id: Your Qvantum device ID (required)
Example:
service: qvantum_hass.cancel_extra_hot_water
data:
device_id: "your_device_id_here"Note: You can also use the Extra Hot Water switch entity to turn on (1 hour) or turn off the boost mode.
Set the service access level for a specific device.
Service: qvantum_hass.set_access_level
Parameters:
config_entry_id: The config entry ID for this integration instance (required)device_id: Your Qvantum device ID (required)access_level: The access level to set โ"service"or"user"(required)
Example:
service: qvantum_hass.set_access_level
data:
config_entry_id: "your_config_entry_id"
device_id: "your_device_id_here"
access_level: "service"Enable or disable automatic access-level elevation for a device. When enabled, the integration automatically elevates to service technician level to read advanced settings.
Service: qvantum_hass.toggle_auto_elevate
Parameters:
config_entry_id: The config entry ID for this integration instance (required)device_id: Your Qvantum device ID (required)enable:trueto enable auto-elevate,falseto disable (required)
Example:
service: qvantum_hass.toggle_auto_elevate
data:
config_entry_id: "your_config_entry_id"
device_id: "your_device_id_here"
enable: trueTip: The Auto-Elevate Access switch entity is an easier way to toggle this โ it has the same effect without needing to call the service directly.
Get notified immediately when a critical or severe alarm occurs:
automation:
- alias: "Notify on Critical Heat Pump Alarm"
description: "Send notification when heat pump has critical/severe alarms"
trigger:
- platform: state
entity_id: binary_sensor.alarm_state
to: "on"
condition:
- condition: template
value_template: >
{{ state_attr('binary_sensor.alarm_state', 'most_severe_severity')
in ['CRITICAL', 'SEVERE'] }}
action:
- service: notify.mobile_app_your_phone
data:
title: "๐จ Heat Pump Alarm!"
message: >
Severity: {{ state_attr('binary_sensor.alarm_state', 'most_severe_severity') }}
{{ state_attr('binary_sensor.alarm_state', 'most_severe_description') }}
data:
priority: high
ttl: 0Get a daily summary of any alarms that occurred:
automation:
- alias: "Daily Heat Pump Alarm Summary"
description: "Send daily alarm summary if any alarms occurred"
trigger:
- platform: time
at: "20:00:00"
condition:
- condition: numeric_state
entity_id: sensor.alarm_count
above: 0
action:
- service: notify.mobile_app_your_phone
data:
title: "Heat Pump Daily Summary"
message: >
Active alarms: {{ states('sensor.active_alarms') }}
Total alarm count: {{ state_attr('sensor.alarm_count', 'total_alarms') }}Get notified if your heat pump loses connection:
automation:
- alias: "Heat Pump Offline Alert"
description: "Alert when heat pump disconnects from cloud"
trigger:
- platform: state
entity_id: binary_sensor.connectivity
to: "off"
for:
minutes: 5
action:
- service: notify.mobile_app_your_phone
data:
title: "Heat Pump Offline"
message: >
Heat pump disconnected at {{ state_attr('binary_sensor.connectivity', 'timestamp') }}
Reason: {{ state_attr('binary_sensor.connectivity', 'disconnect_reason') }}Get a confirmation when connectivity is restored:
automation:
- alias: "Heat Pump Back Online"
description: "Notify when heat pump reconnects"
trigger:
- platform: state
entity_id: binary_sensor.connectivity
to: "on"
condition:
- condition: state
entity_id: binary_sensor.connectivity
state: "off"
for:
minutes: 5
action:
- service: notify.mobile_app_your_phone
data:
title: "โ
Heat Pump Online"
message: "Heat pump has reconnected to the cloud"Automatically boost hot water before typical shower times:
automation:
- alias: "Morning Hot Water Boost"
description: "Activate extra hot water before morning showers"
trigger:
- platform: time
at: "06:00:00"
condition:
- condition: state
entity_id: binary_sensor.connectivity
state: "on"
action:
- service: qvantum_hass.activate_extra_hot_water
data:
device_id: "your_device_id_here"
duration: 2- Home Assistant 2024.1.0 or newer
- Active internet connection
- Qvantum account with registered heat pump
Symptoms: Integration fails to set up or shows error during configuration
Solutions:
- Verify your Qvantum credentials are correct
- Test by logging into the Qvantum web portal with the same credentials
- Check Home Assistant logs: Settings โ System โ Logs
- Ensure you have an active internet connection
- Try removing and re-adding the integration
Common Errors:
cannot_connect: API is unreachable - check your internet connectioninvalid_auth: Incorrect email or passwordno_devices: Account has no registered heat pumps
Symptoms: Most or all entities show "Unavailable"
Solutions:
- Check the Connectivity binary sensor - heat pump must be online
- Verify device has internet connection
- Check if Qvantum cloud service is operational
- Wait a few minutes - may be temporary connectivity issue
- Try clicking the Refresh Sensors button
- Restart the integration: Settings โ Devices & Services โ Qvantum โ โฎ โ Reload
Symptoms: Changes to number/select/switch entities don't affect the heat pump
Solutions:
- Verify heat pump is online (check connectivity sensor)
- Check you have proper access level - some settings require service technician access
- Enable Auto-Elevate Access switch for advanced settings
- Wait 30-60 seconds for changes to propagate
- Check Home Assistant logs for permission errors
- Try using the Elevate Access Level button before changing settings
Symptoms: Expected entities don't appear
Solutions:
- Many advanced entities are disabled by default
- Go to Settings โ Devices & Services โ Qvantum โ Device
- Click on the device name
- Scroll through entity list and enable desired entities
- Commonly disabled entities: internal temperature sensors (BT2-BT34), pressure sensors, advanced diagnostics
Symptoms: Home Assistant becomes slow after adding integration
Solutions:
- Disable unused entities to reduce processing load
- Check for errors in logs that might cause excessive retries
Enable detailed logging for troubleshooting:
logger:
default: info
logs:
custom_components.qvantum_hass: debugThen check logs at: Settings โ System โ Logs
The integration is configured to be respectful of API limits:
- Dual-speed polling:
- Fast coordinator: 5-second updates for 6 power/current metrics only
- Normal coordinator: 30-second updates for all other sensors
- Automatic token refresh
- Intelligent error handling and backoff
- Inventory caching to reduce API calls
- Minimal API load compared to single-interval polling
If you experience rate limiting:
- Reduce the number of enabled entities
- Check logs for excessive API calls
If you continue to experience issues:
- Check existing issues: GitHub Issues
- Create a new issue with:
- Home Assistant version
- Integration version
- Device model
- Detailed description of the problem
- Relevant log entries (with sensitive data removed)
- Steps to reproduce
For issues, questions, or feature requests:
- Issues: GitHub Issue Tracker
- Discussions: Use GitHub Discussions for questions and community support
- Home Assistant Community: Home Assistant Forums
Contributions are welcome! Whether it's bug reports, feature requests, or code contributions, please see CONTRIBUTING.md for guidelines.
Ways to contribute:
- Report bugs and suggest features
- Improve documentation
- Submit pull requests
- Help others in discussions
- Share your automations and use cases
This integration was developed independently and is inspired by the Qvantum ecosystem. Special thanks to:
- The Home Assistant community for their excellent documentation and support
- Contributors and testers who helped improve this integration
This project is licensed under the MIT License - see the LICENSE file for details.
Important: This is an unofficial, community-developed integration and is not affiliated with, endorsed by, or supported by Qvantum AB.
- Use at your own risk
- The integration uses Qvantum's cloud API which may change without notice
- Please refer to Qvantum's terms of service regarding API usage
- The developers of this integration are not responsible for any issues arising from its use
- Always ensure you understand the impact of changing heat pump settings before doing so
This integration:
- Stores your Qvantum credentials locally in Home Assistant
- Communicates directly with Qvantum's cloud API
- Does not send data to any third parties
- Uses HTTPS for all API communications
- Implements automatic token refresh to maintain security
Your credentials are stored securely in Home Assistant's configuration and are never logged or transmitted except to Qvantum's official API servers.