RFXcom and the MCZ pellet stove

Rfxtrx433e

Update so the counter resets after reaching 255


alias: MCZ
description: ""
triggers:
  - entity_id:
      - input_button.mcz_send_to_stove
    trigger: state
  - entity_id:
      - input_boolean.mcz_mode
    trigger: state
conditions: []
actions:
  - if:
      - condition: numeric_state
        entity_id: counter.mcz_counter
        above: 254
    then:
      - action: counter.reset
        metadata: {}
        data: {}
        target:
          entity_id: counter.mcz_counter
    else:
      - action: counter.increment
        metadata: {}
        data: {}
        target:
          entity_id: counter.mcz_counter
  - action: rfxtrx.send
    metadata: {}
    data:
      event: >-
        0C4300{{  "%02x" | format( states('counter.mcz_counter') | int) }}{{
        states('input_text.mcz_id') | string }}{% if
        states('input_boolean.mcz_beep') == 'off' %}00{% else %}01{% endif %}{{
        "%02x" | format( states('input_number.mcz_fan') | int) }}11{{ "%02x" |
        format( states('input_number.mcz_flame_power') | int) }}{% if
        states('input_boolean.mcz_mode') == 'off' %}00{% else %}01{% endif %}00
    enabled: true
mode: single

@rieschard Thanks for the information! I also have an MCZ Cute, which I’ve been using for several years now.
Have you made any improvements in the meantime?
Do you know if it’s possible to read out the current state of the stove?
I’m considering experimenting with the RFX as well.
Thanks in advance!

I have recently made some not insignificant progress in the control of my MCZ Mood pellet stove by turning off the timer on the remote control and using a Switchbot Bot to control the on /off button by physically giving it a 3-second press action on the button on the rear of the stove’s remote, which the stove responds to.

I leave the remote control set to the appropriate temperature and, in my case, on eco mode, and then control the stove on and off with automations and the switchbot integration in Home Assistant. Eco mode already shuts down the stove when the desired temperature has been maintained for 15 minutes and re-ignites it when needed. I have timeswitch automations which take into account the room temperature via a separate temperature sensor.

Another that turns off the stove if both my wife and I leave home and pushes a notification to our phones letting us know it has done it. Another to turn the stove on if the temperature is below a set temperature and either one of us returns home. Also, another Alexa routine which lets me turn the stove on and off by voice command.

While maybe not as elegant as the RFXCom route, this has been a lot more straightforward than my previous attempts and much more successful.

The new RFX-433EMC can be flashed with MQTT software and is much easier to setup and use with Home Assistant compared to the older RFXtrx.
See chapter 8.18 http://rfxcom.com/WebRoot/StoreNL2/Shops/78165469/MediaGallery/Downloads/RFX_MQTT_User_Guide.pdf

Thanks I will check that out.

Thanks for the tip about the RFX-433EMC! I purchased one and successfully added it to Home Assistant via MQTT. After sending a command with my original MCZ remote, HA automatically created the MCZ entities for my MCZ Cute.

However, I can’t get the stove to respond to any commands from Home Assistant.
I set fan speed and power first and then send the mode command (Manual/Off), but nothing happens.

Do I need to pair the RFX-433EMC as a new remote to the stove or is there another step I’m missing?

Any help would be appreciated

Sander

Did you remove the battery from the MCZ remote?
Please contact rfxcom support if still a problem.

Not yet, I wanted to first verify whether the RFX was actually sending valid commands.
But just to confirm, if the battery is still in the MCZ remote, will the stove ignore commands from the RFX?

I don’t think the remote with batteries is a problem now.
The remote will transmit commands if it detects a temp change.
It is necessary to remove the battery from the remote if you control the MCZ by the RFX to avoid the remote takes over the control.

I have just tested sending an MQTT Auto command with Beep on the RFX-433EMC using software version 4041 .
I don’t own the MCZ stove but the command is correct decoded by an RFXtrx:
27/11/2025 11:39:04:920= 0C4300060100000100770000C2
Packettype = Thermostat4
subtype = MCZ pellet stove 1 fan model
Sequence nbr = 6
ID = 0x010000 decimal:65536
Beep = Yes
Fan1 speed = 0
Flame power = 0
Command = Off
Signal level = 12 -24dBm

Please contact support rfxcom.

After some firmware issues, which were resolved very quickly by RFXcom support, I managed to control my MCZ Cute using a helper linked to a climate entity. Below is my working automation for reference.

alias: Pelletkachel MCZ Cute
description: ""
triggers:
  - trigger: state
    entity_id:
      - input_boolean.pellet_kachel
conditions: []
actions:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_boolean.pellet_kachel
            state:
              - "on"
        sequence:
          - action: switch.turn_off
            metadata: {}
            data: {}
            target:
              entity_id: switch.mcz1_d7b902_beep
          - action: fan.set_preset_mode
            metadata: {}
            data:
              preset_mode: "1"
            target:
              entity_id: fan.mcz1_d7b902_fan_1
          - action: fan.set_preset_mode
            metadata: {}
            data:
              preset_mode: "1"
            target:
              entity_id: fan.mcz1_d7b902_power
          - action: fan.set_preset_mode
            metadata: {}
            data:
              preset_mode: Manual
            target:
              entity_id: fan.mcz1_d7b902_mode
      - conditions:
          - condition: state
            entity_id: input_boolean.pellet_kachel
            state:
              - "off"
        sequence:
          - action: fan.set_preset_mode
            metadata: {}
            data:
              preset_mode: "Off"
            target:
              entity_id: fan.mcz1_d7b902_mode
mode: single