Drooff fire+ integration

Hi,

I have written a custom integration for the Drooff fire+ combustion control system, which is installed in some Drooff fireplaces.

Installation instructions and an overview of the entities provided can be found at GitHub - tehlers/ha-drooff-fireplus: Drooff fire+ integration for Home Assistant.

This custom integration has so far only been tested with a single Drooff fire+ instance. Experience reports, feedback and suggestions for improvement are welcome.

All the best,
Thorsten

1 Like

Hi @thehlers

i installed the integration, but i could not connect in HA to the droof fire+.
I tried the real IP, the http://IP and also just the fire.

Is there any trick to connect?

Hi @niwe101187,

both the IP or the hostname should work as long as the hostname is resolved in your local network and the fire+ device is reachable from your Home Assistant. “http://” is added by the integration and should not be added.

You may have a fire+ version with a different API. Check the logs after you have tried to add the integration. If there are entries for ‘Drooff fire+ (custom integration)’, they could help me with further analysis.

All the best,
Thorsten

@thehlers that is the message which appears if if try to connect with the IP

Dieser Fehler stammt von einer benutzerdefinierten Integration

Logger: custom_components.drooff_fireplus
Quelle: custom_components/drooff_fireplus/config_flow.py:34
Integration: Drooff fire+ (Dokumentation, Probleme)
Erstmals aufgetreten: 18:56:46 (1 Vorkommnis)
Zuletzt protokolliert: 18:56:46

Error parsing responses from fire+: ‘"1\n1\n3\n4\n70\n337\n34.6\n-25.5\nGruen\n0\n1\n1\n0\n"’ and ‘"1.3.38\n525\n1\n1479905186\n1\n1\n900\n"’
Traceback (most recent call last):
File “/config/custom_components/drooff_fireplus/api.py”, line 148, in init
self.count = int(panel_values[16])
~~~~~~~~~~~~^^^^
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/config/custom_components/drooff_fireplus/config_flow.py”, line 34, in async_step_user
response = await self._test_host(
^^^^^^^^^^^^^^^^^^^^^^
host=user_input[CONF_HOST],
^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/config/custom_components/drooff_fireplus/config_flow.py”, line 77, in _test_host
return await client.async_get_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/drooff_fireplus/api.py”, line 43, in async_get_data
return FireplusResponse(
await self._api_wrapper(
…<6 lines>…
),
)
File “/config/custom_components/drooff_fireplus/api.py”, line 164, in init
raise FireplusApiClientInvalidResponseError(
msg,
) from exception
custom_components.drooff_fireplus.api.FireplusApiClientInvalidResponseError: Error parsing responses from fire+: ‘"1\n1\n3\n4\n70\n337\n34.6\n-25.5\nGruen\n0\n1\n1\n0\n"’ and ‘"1.3.38\n525\n1\n1479905186\n1\n1\n900\n"’

@thehlers
this if if use the default “fire”:

Dieser Fehler stammt von einer benutzerdefinierten Integration

Logger: custom_components.drooff_fireplus
Quelle: custom_components/drooff_fireplus/config_flow.py:38
Integration: Drooff fire+ (Dokumentation, Probleme)
Erstmals aufgetreten: 18:59:03 (1 Vorkommnis)
Zuletzt protokolliert: 18:59:03

Error fetching information - Cannot connect to host fire:80 ssl:default [Timeout while contacting DNS servers]

Hi @niwe101187,

the logs confirm my suspicion. Your device has an older version of the software (1.3.38) than the one I have (2.3.4). It looks like between these versions new fields have been added that the integration expects and thus fails.

I think I can make some changes so that the integration works with the older version, too. I will reach out to you in a direct message.

Regarding the use of the hostname I have a theory, too. Can you try “fire.local” instead of just “fire”? If I’m not mistaken that should generate the same error you saw when using the IP address.

All the best,
Thorsten

@thehlers

fire.local:

Dieser Fehler stammt von einer benutzerdefinierten Integration

Logger: custom_components.drooff_fireplus
Quelle: custom_components/drooff_fireplus/config_flow.py:34
Integration: drooff_fireplus (Dokumentation, Probleme)
Erstmals aufgetreten: 8. Oktober 2025 um 20:01:17 (2 Vorkommnisse)
Zuletzt protokolliert: 06:17:20

Error parsing responses from fire+: ‘"1\n1\n3\n4\n70\n243\n45.0\n-21.3\nGruen\n0\n1\n1\n0\n"’ and ‘"1.3.38\n525\n1\n1479905186\n1\n1\n900\n"’
Error parsing responses from fire+: ‘"1\n1\n3\n4\n70\n23\n0.4\n-1.4\naus\n0\n1\n0\n0\n"’ and ‘"1.3.38\n525\n1\n1479905186\n1\n1\n900\n"’
Traceback (most recent call last):
File “/config/custom_components/drooff_fireplus/api.py”, line 148, in init
self.count = int(panel_values[16])
~~~~~~~~~~~~^^^^
IndexError: list index out of range

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/config/custom_components/drooff_fireplus/config_flow.py”, line 34, in async_step_user
response = await self._test_host(
^^^^^^^^^^^^^^^^^^^^^^
host=user_input[CONF_HOST],
^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/config/custom_components/drooff_fireplus/config_flow.py”, line 77, in _test_host
return await client.async_get_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/config/custom_components/drooff_fireplus/api.py”, line 43, in async_get_data
return FireplusResponse(
await self._api_wrapper(
…<6 lines>…
),
)
File “/config/custom_components/drooff_fireplus/api.py”, line 164, in init
raise FireplusApiClientInvalidResponseError(
msg,
) from exception
custom_components.drooff_fireplus.api.FireplusApiClientInvalidResponseError: Error parsing responses from fire+: ‘"1\n1\n3\n4\n70\n243\n45.0\n-21.3\nGruen\n0\n1\n1\n0\n"’ and ‘"1.3.38\n525\n1\n1479905186\n1\n1\n900\n"’

With the information I received from @niwe101187, I was able to add support for an older version of the fire+ API. The recently released version 1.3.0 of the integration includes this.

All the best,
Thorsten