A Home Assistant custom integration for controlling Beurer FreshHome air purifiers via the cloud API.
This integration allows you to control your Beurer FreshHome air purifiers directly from Home Assistant. It connects to Beurer's cloud servers using a SignalR WebSocket connection, providing real-time device control and sensor updates.
This integration was reverse-engineered from the official Beurer FreshHome mobile app. It enables seamless integration of your air purifiers into your smart home automation workflows.
The following Beurer FreshHome air purifier models are supported:
| Model | Status |
|---|---|
| LR 500 | ✅ Tested and confirmed working |
| LR 400 | ✅ Should work (same protocol) |
| LR 401 | ✅ Should work (same protocol) |
| LR 405 | ✅ Should work (same protocol) |
| LR 406 | ✅ Should work (same protocol) |
Other Beurer FreshHome models may also work but have not been tested. If you have a different model, please open an issue to report your experience.
- Reverse Engineering: The underlying SignalR protocol was mainly reverse-engineered by me from the Beurer FreshHome mobile app.
- Development: The Home Assistant Integration architecture and implementation was primarily generated with the assistance of AI coding tools (OpenCode/Antigravity), guided and heavily reviewed by me.
- Disclaimer: Not affiliated with or endorsed by Beurer GmbH
- All product names and trademarks are property of their respective owners
This integration provides full control over your air purifier with the following functions:
| Function | Description |
|---|---|
| Power | Turn the device on or off |
| Fan Speed | Set speed level from 1 to 4 |
| Mode | Choose between Manual, Auto, Sleep, or Turbo modes |
| Timer | Set auto-off timer from 0 to 480 minutes |
| Sleep Mode | Enable quiet operation mode |
| UV Light | Control the built-in UV-C sterilization light |
| Temperature Unit | Switch between Celsius and Fahrenheit display |
| Filter Reset | Reset the filter replacement timer |
| Refresh State | Force an immediate state update from the device |
| Buzzer | Enable or disable button press sounds |
The integration exposes the following sensor data from your air purifier:
| Sensor | Unit | Description |
|---|---|---|
| PM2.5 | µg/m³ | Fine particulate matter concentration |
| Air Quality Index | - | Overall air quality rating (1-4) |
| Humidity | % | Relative humidity level |
| Temperature | °C/°F | Current room temperature |
| Filter Status | h | Remaining filter life in hours |
If you mirror this repository to GitHub, you can install via HACS:
- Open HACS in your Home Assistant instance
- Go to Integrations
- Click the ⋮ menu and select Custom repositories
- Add https://github.com/Babo96/fresher-home.git
- Set the category to Integration
- Click Add
- Find Beurer FreshHome in the HACS store and click Download
- Restart Home Assistant
- Download or clone this repository
- Copy the
custom_components/beurer/folder to your Home Assistantconfig/custom_components/directory - Install the Python dependency:
pip install signalrcoreor addsignalrcoreto yourrequirements.txt - Restart Home Assistant
- Add the integration via Settings → Devices & Services → Add Integration → "Beurer FreshHome"
Note: HACS custom repository installation requires the repository to be hosted on GitHub. If you mirror this repo to GitHub, you can add it via HACS → Custom Repositories with the GitHub URL.
After installation, add the integration to Home Assistant:
- Go to Settings → Devices & Services
- Click Add Integration
- Search for Beurer FreshHome
- Enter your Beurer account credentials:
- Email: Your Beurer FreshHome app login email
- Password: Your Beurer FreshHome app password
- The integration will automatically discover all devices associated with your account
Each connected air purifier creates the following entities in Home Assistant:
| Entity | Type | Description |
|---|---|---|
| Air Purifier | fan |
Main control entity with on/off and speed |
| Power | switch |
Toggle device power |
| Sleep Mode | switch |
Enable/disable sleep mode |
| UV Light | switch |
Toggle UV-C sterilization |
| Mode | select |
Choose operating mode (Manual/Auto/Sleep/Turbo) |
| Temperature Unit | select |
Switch between °C and °F |
| Timer | number |
Set auto-off timer (0-480 minutes) |
| Filter Reset | button |
Reset filter replacement timer |
| Refresh | button |
Force immediate state refresh |
| PM2.5 | sensor |
Fine particulate matter level |
| Air Quality | sensor |
Air quality index (1-4) |
| Humidity | sensor |
Relative humidity percentage |
| Temperature | sensor |
Current temperature |
| Filter Life | sensor |
Remaining filter life percentage |
If your device does not appear after configuration:
- Ensure the device is connected to WiFi and showing as online in the Beurer FreshHome mobile app
- Verify your account credentials are correct
- Try removing and re-adding the integration
- Double-check your email and password
- Ensure you are using the same credentials as the official Beurer FreshHome mobile app
- If you recently changed your password, try logging out and back into the mobile app first
The integration includes automatic reconnection with exponential backoff. If connection issues persist:
- Check your internet connection
- Verify the Beurer cloud service is operational
- Check Home Assistant logs for specific error messages
If sensor values appear stale:
- Press the Refresh button entity to force an immediate state update
- Check that the device is online in the mobile app
- Verify the device firmware is up to date
Contributions are welcome. Please open an issue or pull request on the repository.
When submitting pull requests, please follow the template in .github/PULL_REQUEST_TEMPLATE.md.
This project is licensed under the MIT License. See the LICENSE file for details.