Danielhiversen/pyRFXtrx

Support for Gas fireplace (Mertik Maxitrol) with rfxtrx

Closed this issue · 10 comments

RFXcom support the Mertik Maxitrol remotes that can control gas fireplaces.

Example of commands in RFXmgr

Packettype = Thermostat3
subtype = Mertik G6R-H4TB, G6R-H4T5, G6R-H4T, G6R-H4TV21-Z22
Sequence nbr = 10
ID = 0x2B6A3 decimal:177827
Command = On
Signal level = 7 -64dBm


Packettype = Thermostat3
subtype = Mertik G6R-H4TB, G6R-H4T5, G6R-H4T, G6R-H4TV21-Z22
Sequence nbr = 11
ID = 0x2B6A3 decimal:177827
Command = Up
Signal level = 7 -64dBm


Packettype = Thermostat3
subtype = Mertik G6R-H4TB, G6R-H4T5, G6R-H4T, G6R-H4TV21-Z22
Sequence nbr = 12
ID = 0x2B6A3 decimal:177827
Command = Down
Signal level = 7 -64dBm


Packettype = Thermostat3
subtype = Mertik G6R-H4TB, G6R-H4T5, G6R-H4T, G6R-H4TV21-Z22
Sequence nbr = 14
ID = 0x2B6A3 decimal:177827
Command = Off
Signal level = 7 -64dBm

And here an OFF command for a Mertik G6R-H4TB:

Thermostat3 command: 08 42 01 03 02 B6 A3 00 00
Packettype = Thermostat3
subtype = Mertik G6R-H4TB, G6R-H4T5, G6R-H4T, G6R-H4TV21-Z22
Sequence nbr = 3
ID = 0x2B6A3 decimal:177827
Command = Off

Also see this message with comments in Home Assistant forum.

Interesting this is indeed what i am looking for too...
is there a roadmap heading to support fireplaces too?

In version 0.113 of Home Assistant it will be possible to send RfxTrx event codes with the new rfxtrx.send service.

I just tested this in the beta release and this works great.

First capture and test the needed command code for each remote button in the Rfx Manager application. And copy this code so that it can be usd in service call.

This works for me very well, so I will close this request

In version 0.113 of Home Assistant it will be possible to send RfxTrx event codes with the new rfxtrx.send service.

I just tested this in the beta release and this works great.

First capture and test the needed command code for each remote button in the Rfx Manager application. And copy this code so that it can be usd in service call.

This works for me very well, so I will close this request

This is a great feature and works perfectly for me! thx

I like to add my final solution to the issue stated above.
There are 6 available commands: on, off, up, down, run-down, and run-up.
The first two you use twice a year because with Gas you leave the small flame burning ;-)
I have created four buttons in my Lovelace UI for the 4 left actions. The actions are tap_actions just calling the service sending the right rfxtrx byte string. (find out your exact code with the tool from rfxtrx.com)
(I added confirmation for on and off; it still is a controlled fireplace!)
Next to that, I added one extra button for the cosy mode for the gas heating.
This button just calls a home assistant script.
This performsthe sequence 1 "run-up", 2 delay for 2 minutes, than repleat 9 times: 3.1 "down" 3.2 delay for 10 seconds.
In the end, you finish with the right volume of heat for our living room.

Thanks for providing this simple extension to the integration!

In version 0.113 of Home Assistant it will be possible to send RfxTrx event codes with the new rfxtrx.send service.
I just tested this in the beta release and this works great.
First capture and test the needed command code for each remote button in the Rfx Manager application. And copy this code so that it can be usd in service call.
This works for me very well, so I will close this request

This is a great feature and works perfectly for me! thx

I like to add my final solution to the issue stated above.
There are 6 available commands: on, off, up, down, run-down, and run-up.
The first two you use twice a year because with Gas you leave the small flame burning ;-)
I have created four buttons in my Lovelace UI for the 4 left actions. The actions are tap_actions just calling the service sending the right rfxtrx byte string. (find out your exact code with the tool from rfxtrx.com)
(I added confirmation for on and off; it still is a controlled fireplace!)
Next to that, I added one extra button for the cosy mode for the gas heating.
This button just calls a home assistant script.
This performsthe sequence 1 "run-up", 2 delay for 2 minutes, than repleat 9 times: 3.1 "down" 3.2 delay for 10 seconds.
In the end, you finish with the right volume of heat for our living room.

Thanks for providing this simple extension to the integration!

I still trying to figure out how to add the fireplace to HA. Do you have a example of the configuration ? I'am using RFlink wich should be pretty much the same. How did you found the code for the fireplace. Can you please provide a example of the configuration.

I still trying to figure out how to add the fireplace to HA. Do you have a example of the configuration ? I'am using RFlink wich should be pretty much the same. How did you found the code for the fireplace. Can you please provide a example of the configuration.

I used the RFX manager tool of RFXTRX on Windows PC to capture the codes that were send by the remote, and copied these into the automation. For that I use the following scripts that turn the pilot light of the fireplace on/off, makes the fire narrower or wider, turn the flames up or down and instantly maximize or minimize flames (repeat 12 times).

gashaard_waakvlam_aan:
  alias: Gashaard waakvlam aan
  icon: mdi:fireplace
  mode: single
  sequence:
  - data:
      event: 0842012D01057B0100
    service: rfxtrx.send

gashaard_waakvlam_uit:
  alias: Gashaard waakvlam uit
  icon: mdi:fireplace-off
  mode: single
  sequence:
  - data:
      event: 0842012C01057B0000
    service: rfxtrx.send

gashaard_hoger:
  alias: Gashaard hoger
  icon: mdi:thermometer-plus
  mode: single
  sequence:
  - data:
      event: 0842012A01057B0200
    service: rfxtrx.send

gashaard_lager:
  alias: Gashaard lager
  icon: mdi:thermometer-minus
  mode: single
  sequence:
  - data:
      event: 0842012B01057B0300
    service: rfxtrx.send

gashaard_breder:
  alias: Gashaard breder
  icon: mdi:arrow-expand-horizontal
  mode: single
  sequence:
  - data:
      event: 0842012F01057B0500
    service: rfxtrx.send

gashaard_smaller:
  alias: Gashaard smaller
  icon: mdi:arrow-collapse-horizontal
  mode: single
  sequence:
  - data:
      event: 0842012E01057B0400
    service: rfxtrx.send

gashaard_aan:
  alias: Gashaard aan
  sequence:
  - repeat:
      count: '12'
      sequence:
      - service: script.gashaard_hoger
        data: {}
  mode: single
  icon: mdi:thermometer

gashaard_uit:
  alias: Gashaard uit
  sequence:
  - repeat:
      count: '12'
      sequence:
      - service: script.gashaard_lager
        data: {}
  mode: single
  icon: mdi:thermometer-off

Thanks for your example groenmarsmannetje. I have completely different codes. so I suggest Joost uses the tool from rfxtrx.com to find out his codes. You receive them while using your old remote against the rfxtrx tool.
be aware your fire starts burning too ;-)

by the way, there was in my case a run down and run up command.
For cozy I use the sequence of run-up (full power) wait a minute and go in a repeat loop for 9 times to down a bit with intervals of 10 seconds. :-)

(I am missing the smaller and broader commands by the way)

Oh and maybe remove the waakvlam (small standby flame) commands. You keep the waakvlam on in the normal standby situation.
The on tikkerdy tik sequence is anoiing ;-)

Thanks for your example groenmarsmannetje. I have completely different codes. so I suggest Joost uses the tool from rfxtrx.com to find out his codes. You receive them while using your old remote against the rfxtrx tool.
be aware your fire starts burning too ;-)

by the way, there was in my case a run down and run up command.
For cozy I use the sequence of run-up (full power) wait a minute and go in a repeat loop for 9 times to down a bit with intervals of 10 seconds. :-)

(I am missing the smaller and broader commands by the way)

Oh and maybe remove the waakvlam (small standby flame) commands. You keep the waakvlam on in the normal standby situation.
The on tikkerdy tik sequence is anoiing ;-)

I can't find the tool to use for the listen part ? Do you have a direct link. My HomeAssistant is using a RFlink on a Arduino. It works great for sending codes. But how to listen for codes. Normaly it just adds a device in my HA setup

Thanks for your example groenmarsmannetje. I have completely different codes. so I suggest Joost uses the tool from rfxtrx.com to find out his codes. You receive them while using your old remote against the rfxtrx tool.
be aware your fire starts burning too ;-)
by the way, there was in my case a run down and run up command.
For cozy I use the sequence of run-up (full power) wait a minute and go in a repeat loop for 9 times to down a bit with intervals of 10 seconds. :-)
(I am missing the smaller and broader commands by the way)
Oh and maybe remove the waakvlam (small standby flame) commands. You keep the waakvlam on in the normal standby situation.
The on tikkerdy tik sequence is anoiing ;-)

I can't find the tool to use for the listen part ? Do you have a direct link. My HomeAssistant is using a RFlink on a Arduino. It works great for sending codes. But how to listen for codes. Normaly it just adds a device in my HA setup

Ok did the listening part :-)
Up

20;04;DEBUG;Pulses=46;Pulses(uSec)=270,510,510,210,510,180,510,210,210,510,510,210,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,510,180,510,180,510,180,210,510,510,210,510,6990;
20;05;Mertik_GV60;ID=03ac9b;SWITCH=13;CMD=UP;
20;06;DEBUG;Pulses=46;Pulses(uSec)=270,510,510,210,510,210,510,210,210,510,510,210,210,510,510,180,510,180,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,510,180,510,210,510,210,210,510,510,210,510,6990;
20;07;Mertik_GV60;ID=03ac9b;SWITCH=13;CMD=UP;
20;08;DEBUG;Pulses=46;Pulses(uSec)=270,510,510,210,510,210,510,210,210,510,510,180,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,180,510,180,210,510,510,210,510,210,510,210,210,510,510,210,510,6990;
20;09;DEBUG;Pulses=38;Pulses(uSec)=90,480,480,180,210,480,480,180,480,180,180,480,210,480,480,180,180,480,180,480,480,180,510,210,210,510,510,180,510,180,510,210,210,510,510,210,510,6990;
20;0A;DEBUG;Pulses=46;Pulses(uSec)=270,480,480,180,480,180,480,180,210,450,480,180,180,480,480,180,480,180,210,510,210,510,510,180,210,510,210,510,510,210,510,210,210,510,510,210,510,210,510,180,210,510,510,180,510,6990;
20;0B;Mertik_GV60;ID=03ac9b;SWITCH=13;CMD=UP;
20;0C;DEBUG;Pulses=46;Pulses(uSec)=300,510,510,180,510,210,510,210,210,510,510,210,210,510,510,210,510,180,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,510,180,510,180,510,210,210,510,510,210,510,6990;
20;0D;DEBUG;Pulses=38;Pulses(uSec)=60,450,480,180,180,480,480,180,480,180,210,480,210,480,480,180,210,480,210,480,480,180,510,210,210,510,510,210,510,210,510,210,210,510,510,180,510,6990;
20;0E;Bosch;ID=0240;SWITCH=2;CMD=00;
20;0F;DEBUG;Pulses=46;Pulses(uSec)=300,510,510,180,510,180,510,210,210,510,510,210,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,510,210,510,180,510,180,210,510,510,210,510,6990;
20;10;DEBUG;Pulses=38;Pulses(uSec)=60,450,480,180,210,480,480,180,480,180,180,480,180,480,480,180,210,480,210,480,480,180,510,210,210,510,510,210,510,210,510,210,210,510,510,180,510,6990;
20;11;DEBUG;Pulses=46;Pulses(uSec)=270,480,480,180,480,180,480,180,180,450,480,180,180,480,480,180,480,180,210,510,210,510,510,210,210,510,210,510,510,210,510,180,210,510,510,180,510,210,510,210,210,510,510,210,510,6990;
20;12;Mertik_GV60;ID=03ac9b;SWITCH=13;CMD=UP;
20;13;DEBUG;Pulses=46;Pulses(uSec)=300,510,510,210,510,210,510,210,210,510,510,180,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,180,510,210,210,510,510,210,510,210,510,210,210,510,510,210,510,6990;
20;14;DEBUG;Pulses=38;Pulses(uSec)=60,480,480,180,210,480,480,180,480,180,210,480,210,480,480,180,180,480,180,480,480,180,510,210,210,510,510,180,510,180,510,210,210,510,510,210,510,6990;
20;15;Bosch;ID=0240;SWITCH=2;CMD=00;
20;16;DEBUG;Pulses=46;Pulses(uSec)=300,510,510,210,510,210,510,210,210,510,510,180,210,510,510,180,510,210,210,510,210,510,510,210,210,510,210,510,510,180,510,180,210,510,510,210,510,210,510,210,210,510,510,210,510,6990;
20;17;DEBUG;Pulses=38;Pulses(uSec)=90,480,480,180,210,480,480,180,480,180,210,480,210,450,480,180,180,480,180,480,480,180,510,210,210,510,510,180,510,180,510,180,210,510,510,210,510,6990;
20;18;DEBUG;Pulses=46;Pulses(uSec)=270,480,480,180,480,180,480,180,210,450,480,180,180,480,480,180,480,180,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,510,210,510,210,510,210,210,510,510,180,510,6990;
20;19;Mertik_GV60;ID=03ac9b;SWITCH=13;CMD=UP;

Down
20;00;Nodo RadioFrequencyLink - RFLink Gateway V1.1 - R47;
10;version;
20;01;VER=1.1;REV=47;BUILD=08;
10;status;
20;02;STATUS;setRF433=ON;setNodoNRF=OFF;setMilight=OFF;setLivingColors=OFF;setAnsluta=OFF;setGPIO=OFF;setBLE=OFF;setMysensors=OFF;
10;rfdebug=on;
20;03;RFDEBUG=ON;
20;04;DEBUG;Pulses=46;Pulses(uSec)=240,510,510,210,510,210,510,180,210,510,510,210,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,210,510,210,510,180,210,6990;
20;05;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,450,480,180,480,180,210,480,180,480,480,180,210,480,180,480,480,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;06;DEBUG;Pulses=46;Pulses(uSec)=240,480,480,180,480,180,480,180,180,480,480,180,210,480,480,180,480,210,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;07;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,480,480,180,480,180,180,480,180,480,480,180,210,450,180,480,480,180,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;08;Bosch;ID=0246;SWITCH=2;CMD=00;
20;09;DEBUG;Pulses=46;Pulses(uSec)=270,510,510,210,510,210,510,210,210,510,510,180,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,210,510,180,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;0A;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,450,480,180,480,180,210,450,180,480,480,180,180,480,180,480,480,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;0B;Bosch;ID=0246;SWITCH=2;CMD=00;
20;0C;DEBUG;Pulses=48;Pulses(uSec)=2400,600,210,510,510,210,510,210,510,210,210,510,510,210,210,510,510,210,510,210,210,510,210,510,510,210,210,510,210,510,510,210,510,180,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;0D;DEBUG;Pulses=36;Pulses(uSec)=90,180,210,480,480,180,480,180,180,480,180,480,480,180,180,480,180,480,480,180,480,180,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;0E;DEBUG;Pulses=46;Pulses(uSec)=240,480,480,180,480,180,480,180,180,480,480,180,210,480,510,210,510,210,210,510,210,510,510,180,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,180,510,180,510,210,210,6990;
20;0F;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,450,480,180,480,180,180,480,180,480,480,180,180,480,180,480,480,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;10;DEBUG;Pulses=46;Pulses(uSec)=300,480,480,180,480,180,480,180,180,480,480,180,210,450,480,180,480,180,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;11;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,480,480,180,480,180,210,480,180,480,480,180,210,480,180,480,480,210,510,210,210,510,210,510,210,510,510,180,510,180,510,210,210,6990;
20;12;DEBUG;Pulses=46;Pulses(uSec)=270,480,480,180,480,180,480,180,180,480,480,180,210,450,480,180,480,210,210,510,210,510,510,210,210,510,210,510,510,180,510,180,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;13;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,480,480,180,480,180,210,480,180,480,480,180,180,480,180,480,480,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;14;DEBUG;Pulses=46;Pulses(uSec)=300,480,480,180,480,180,480,180,180,480,480,180,210,480,480,180,480,210,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,180,510,210,510,180,210,6990;
20;15;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,450,480,180,480,180,210,480,180,480,480,180,210,480,180,480,480,180,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;16;DEBUG;Pulses=46;Pulses(uSec)=240,480,480,180,480,180,480,180,180,480,480,180,210,480,480,180,480,180,210,510,210,510,510,210,210,510,210,510,510,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;17;DEBUG;Pulses=38;Pulses(uSec)=270,480,480,180,210,480,480,180,480,180,210,450,180,480,480,180,180,450,180,480,480,210,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;
20;18;DEBUG;Pulses=46;Pulses(uSec)=240,480,480,180,480,180,480,180,180,480,480,180,210,450,480,180,480,210,210,510,210,510,510,210,210,510,210,510,510,180,510,210,210,510,210,510,210,510,510,210,510,210,510,210,210,6990;

Now i'am completly lost

This is the vendor's website: http://www.rfxcom.com/

Go to downloads

I used RFXmngr on windows. After the research, I put it back in the Linux box.
(actually the VMWare ESXI and connected it to my Linux docker instance in which I have the home assistant docker instance running)

Manuals are next to it, so you can see which other equipment is supported ;-)

this tool gives you the byte strings you can use in the new home assistant rfxtrx.send service.

have fun!

This is the vendor's website: http://www.rfxcom.com/

Go to downloads

I used RFXmngr on windows. After the research, I put it back in the Linux box.
(actually the VMWare ESXI and connected it to my Linux docker instance in which I have the home assistant docker instance running)

Manuals are next to it, so you can see which other equipment is supported ;-)

this tool gives you the byte strings you can use in the new home assistant rfxtrx.send service.

have fun!

I think i need other hardware, i use rflink and it doesn't seem to be compatible with this program.
I can get the codes from the rflink_loader but thats another thing :-(