trmpluym
(Theo Pluym)
July 26, 2021, 7:42am
1
Dear all,
Ik like to control my Dru fireplace using Home Assistant. My Dru fireplace uses a Honeywell BRDG-03EM01 gateway. Using this gateway I am able to control the fireplace using the Dru app.
Some people got it working using OpenHab
We recently purchased a DRU Maestro Fireplace running on natural gas. This Fireplace includes a so called āWifi moduleā to allow control of the Fireplace using an app on your phone or tablet besides the standard remote that comes with the...
Reading time: 12 mins š
Likes: 7 ā¤
The protocol is bases on modbus. Home Assistant supports modbus:
Does anyone managed the get the Dru fireplace control working in Home Assistant ?
Theo
I have this working with 2021.5
In configuration.yaml
modbus:
- name: haard
type: tcp
host: <ip>
port: 502
timeout: 10
- platform: modbus
scan_interval: 30
registers:
# All registers for the Dru Ecowave over the Honewell controller
# Gateway = slave 207
# Haard = 2 (auto assigned upon reg)
# See "20190607 - Dru - Info_07_EN_26319_Remote_Access_DFGT-2.pdf"
#
# Haard (called DFGT, slave address 2 auto assigned) holding registers:
- name: Huiskamer haard last seen seconds
hub: haard
slave: 2
register: 40100
register_type: holding
- name: Huiskamer haard comm status
hub: haard
slave: 2
register: 40101
register_type: holding
# - name: Huiskamer haard action
# hub: haard
# slave: 2
# register: 40200
# register_type: holding # writable
# - name: Huiskamer haard flame heigth
# hub: haard
# slave: 2
# register: 40201
# register_type: holding # writable
- name: Huiskamer haard status raw
hub: haard
slave: 2
register: 40203
register_type: holding
- name: Huiskamer haard fault
hub: haard
register: 40204
slave: 2
register_type: holding
- name: Huiskamer haard RSSI gateway
hub: haard
register: 40205
slave: 2
register_type: holding
scale: -0.5
precision: 1
unit_of_measurement: dBm
device_class: signal_strength
- name: Huiskamer haard RSSI DFGT
hub: haard
register: 40206
slave: 2
register_type: holding
scale: -0.5
precision: 1
unit_of_measurement: dBm
device_class: signal_strength
- name: Huiskamer haard room temp
hub: haard
register: 40207
slave: 2
register_type: holding
scale: 0.1
precision: 1
unit_of_measurement: Ā°C
device_class: temperature
And here is the config for 2021.8:
# https://www.home-assistant.io/integrations/modbus/
modbus:
- name: haard
type: tcp
host: <ip>
port: 502
timeout: 10
delay: 1
sensors:
# All registers for the Dru Ecowave over the Honewell controller
# Gateway = slave 207
# Haard = 2 (auto assigned upon reg)
# See "20190607 - Dru - Info_07_EN_26319_Remote_Access_DFGT-2.pdf"
#
# Haard (called DFGT, slave address 2 auto assigned) holding registers:
- name: Huiskamer haard last seen seconds
slave: 2
address: 40100
- name: Huiskamer haard comm status
slave: 2
address: 40101
# - name: Huiskamer haard action
# slave: 2
# address: 40200
# - name: Huiskamer haard flame heigth
# slave: 2
# address: 40201
- name: Huiskamer haard status raw
slave: 2
address: 40203
- name: Huiskamer haard fault
address: 40204
slave: 2
- name: Huiskamer haard RSSI gateway
address: 40205
slave: 2
scale: -0.5
precision: 1
unit_of_measurement: dBm
device_class: signal_strength
- name: Huiskamer haard RSSI DFGT
address: 40206
slave: 2
scale: -0.5
precision: 1
unit_of_measurement: dBm
device_class: signal_strength
- name: Huiskamer haard room temp
address: 40207
slave: 2
scale: 0.1
precision: 1
unit_of_measurement: Ā°C
device_class: temperature
1 Like
Nice @DennisF , thanks for sharing
For thos who are wondering, iāve setup some switches allowing me to turn the fireplace on and/or activate second burner, (eco) wave:
- platform: template
switches:
fireplace_status_wave:
friendly_name: "Fireplace wave"
value_template: "{{ states('sensor.fireplace_status_raw')|int|bitwise_and(512) > 0 }}"
turn_on:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 105
hub: fireplace
turn_off:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 7
hub: fireplace
fireplace_status_main_burner:
friendly_name: "Fireplace Main burner"
value_template: "{{ states('sensor.fireplace_status_raw')|int|bitwise_and(4) > 0 }}"
turn_on:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 101
hub: fireplace
turn_off:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 3
hub: fireplace
fireplace_status_second_burner:
friendly_name: "Fireplace second burner"
value_template: "{{ states('sensor.fireplace_status_raw')|int|bitwise_and(8) > 0 }}"
turn_on:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 102
hub: fireplace
turn_off:
service: modbus.write_register
data:
address: 40200
unit: 2
value: 4
hub: fireplace
Note 1; the Hub
value is the name
you define in your modbus configuration
Note 2; Either the second burner of main burner turns on the fireplace
also some other states I read via:
- platform: template
sensors:
fireplace_status_fault:
friendly_name: "Fireplace fault"
value_template: "{{ states('sensor.fireplace_haard_status_raw')|int|bitwise_and(1) > 0 }}"
fireplace_status_pillot_flame:
friendly_name: "Fireplace pilot flame"
value_template: "{{ states('sensor.fireplace_haard_status_raw')|int|bitwise_and(2) > 0 }}"
1 Like
DennisF
September 19, 2021, 5:18pm
5
Ah totally forgot to post how to do things, here are my different scripts which steer the fireplace
# See "20190607 - Dru - Info_07_EN_26319_Remote_Access_DFGT-2.pdf"
# Notes:
# - 100 (Turn Pilot ON) does nothing
# - 101 (Turn Main Burner ON) also turns on second burner
# - 102 (Turn Second Burner ON) also turns on main burner
huiskamer_haard_zacht_enkel:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 101 # Main burner on
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 4 # Second burner off
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 5 # %
huiskamer_haard_medium_dubbel:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 101 # Main burner on
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 25 # %
huiskamer_haard_wave:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 102 # Turn Second Burner ON
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 30 # %
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 105 # Wave on
huiskamer_haard_uit:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 1 # Turn fireplace off
DennisF
September 19, 2021, 5:19pm
6
And the binary sensors (which derive from the registers):
# https://www.home-assistant.io/integrations/binary_sensor.template/
- platform: template
sensors:
# Huiskamer haard
# register 40203
# See "20190607 - Dru - Info_07_EN_26319_Remote_Access_DFGT-2.pdf"
huiskamer_haard_main_burner_on:
friendly_name: "Huiskamer haard main burner on"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**2) > 0 }}"
huiskamer_haard_second_burner_on:
friendly_name: "Huiskamer haard second burner on"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**3) > 0 }}"
huiskamer_haard_low_battery:
friendly_name: "Huiskamer haard low battery"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**4) > 0 }}"
huiskamer_haard_230v_phase_fault:
friendly_name: "Huiskamer haard 230v phase fault"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**5) > 0 }}"
huiskamer_haard_reset_possible:
friendly_name: "Huiskamer haard reset possible"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**6) > 0 }}"
huiskamer_haard_wave_active:
friendly_name: "Huiskamer haard wave active"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**9) > 0 }}"
huiskamer_haard_flame_height_locked:
friendly_name: "Huiskamer haard flame height locked"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**10) > 0 }}"
huiskamer_haard_remote_control_bound:
friendly_name: "Huiskamer haard flame remote control bound"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**11) > 0 }}"
huiskamer_haard_ignition_not_allowed:
friendly_name: "Huiskamer haard ignition allowed"
value_template: "{{ states('sensor.huiskamer_haard_status_raw')|int|bitwise_and(2**15) == 0 }}"
stingone
(Stingone)
September 19, 2021, 5:56pm
7
Great i was looking for this long time. are the scripts also placed under configuration.yaml?
DennisF
September 19, 2021, 6:14pm
8
That depends a bit on how youāve laid things out but without any fancy layout, yes.
stingone
(Stingone)
September 19, 2021, 6:23pm
9
Integration of your first code is working. however the last 2 scripts are giving me an error.
homeassistant.exceptions.HomeAssistantError: The system cannot restart because the configuration is not valid: Component error: huiskamer_haard_uit - Integration 'huiskamer_haard_uit' not found.
Component error: sensors - Integration 'sensors' not found.
Component error: huiskamer_haard_medium_dubbel - Integration 'huiskamer_haard_medium_dubbel' not found.
Component error: platform - Integration 'platform' not found.
Component error: huiskamer_haard_zacht_enkel - Integration 'huiskamer_haard_zacht_enkel' not found.
Component error: huiskamer_haard_wave - Integration 'huiskamer_haard_wave' not found.
trmpluym
(Theo Pluym)
October 4, 2021, 7:41pm
10
@Dennis : thanks for helping me out
@Stingtone : regarding the error. Put the following lines in your configuration.yaml
# Includes
script: !include scripts.yaml
And put DennisF code in the scripts.yaml
# See "20190607 - Dru - Info_07_EN_26319_Remote_Access_DFGT-2.pdf"
# Notes:
# - 100 (Turn Pilot ON) does nothing
# - 101 (Turn Main Burner ON) also turns on second burner
# - 102 (Turn Second Burner ON) also turns on main burner
huiskamer_haard_zacht_enkel:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 101 # Main burner on
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 4 # Second burner off
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 5 # %
huiskamer_haard_medium_dubbel:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 101 # Main burner on
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 25 # %
huiskamer_haard_wave:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 102 # Turn Second Burner ON
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40201 # register
value: 30 # %
- delay: 10 # seconds
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 105 # Wave on
huiskamer_haard_uit:
sequence:
- service: modbus.write_register
data:
hub: haard
unit: 2 # slave
address: 40200 # register
value: 1 # Turn fireplace off
Hi,
I canāt get this to work. either I have a modbus error
ā2022-01-08 14:18:13 ERROR (MainThread) [homeassistant.setup] Setup failed for modbus: Invalid configā
or the sensors are available but do not give any data/update.
Can you share the input to put in the configuration.yaml and scripts.yaml?
Iām doing something wrong, but really cannot figure out what it is that iām doing wrongā¦
Thanks!
Core: core-2021.12.8
Firewizz
(Kevin Manders)
January 14, 2022, 3:00pm
12
For people looking for dru fireplace integration (with the Honeywell bridge) I have created a āsimpleā setup to add this to your own HA.
Still work in progress and I am hoping to get it perfect soon.
Tips are welcome.
2 Likes
simon3
January 29, 2022, 12:43pm
13
Hello Firewizz,
just installed your integration. Works great, I am very happy with it.
Thank you very much,
Simon
nemrah
February 3, 2022, 11:32am
14
Hello,
I also installed this inegration and it seems to work fine.
However, when I do so, the apps on my phone/tablet stop working with error message: āGateway errorā.
Any idea why?
Thanks,
Harmen
Firewizz
(Kevin Manders)
February 22, 2022, 8:43am
15
Sorry for the late reply,
Who is giving the error, the home assistant app? Or is it in the logs? Is this only on mobile devices or also when logged in to home assistant using browser?
PerMax
May 19, 2022, 12:06pm
16
Hi Nemrah and Firewiz
Did you get this fixed? I really appriciate the integration, Firewizz - but I have the same problem. The app stops working.
Firewizz
(Kevin Manders)
May 25, 2022, 3:56pm
17
My apologies for the late response.
I havenāt made any changes yet. Didnāt get a response to my questions.
At the moment I am super busy but maybe next week I can check if I can find a solution.
PerMax
May 30, 2022, 11:44am
18
Super and thank you. What Iām experiencing is that the DRU app on the phone comes with the error āGateway errorā. Not sure how to investigate more. But let me know if there is anything I can provide to help.
Firewizz
(Kevin Manders)
June 3, 2022, 2:58pm
19
Hi, do you mean the original app stop working? Not the HA app?
You can solve this by increasing the timeout. As a default since I do not use the original app and only the HA app I put this on the max. So it could be that the gateway stops accepting connections/updates.
Iāve got a couple of settings you can play with (in /packages/dru_fireplace.yaml) :
Please let me know if one of these helped!
PerMax
June 10, 2022, 5:50am
20
Hello
I have now tried timeout from 1 to 50 and delay from 1 to 20, but same result. The Dru app does not work.
Iām considering using Home Assistant instead. Can you also control the level (the size of the fire from 1-15) in any way?