I understand how you use your stove. I use it in a different way. so I prefer my config. but I think this topic could help other people
I use it in a different way I use external sensors, as the MCZ wifi one eats battery like hell, ans I don’t find it very precise.
I’m using automations to turn it on and off depending of the Temperature from other sensors.
But thxs all for your help
That’s the next step here as well…
I’m planning on using a Xiaomi BLE Hygrothermograph as the sensor instead of the stove’s sensor.
When this arrives I will change the desired temperature based on the BLE sensor trough an automation rule. This way I can still let the stove use it’s internal pellet/ventilation management.
I’m using as well Xiaomi sensors though zigbee2mqtt, they work like a charm
Nice!
As I only need an on/off switch and a way to send/receive temperature, my thermostat card will do just fine for now
But it’s always interesting to see the yaml’s
Wow! Great Job! can you share please?
I’ve updated the page:
)Here’s the YAML for the page:
- title: ''
path: poele
icon: 'mdi:fire'
badges: []
cards:
- type: horizontal-stack
cards:
- type: 'custom:button-card'
entity: switch.poele_on_off
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.silence_on_off
color: 'rgb(152,251,152)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.chrono_on_off
color: 'rgb(0, 255, 0)'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: horizontal-stack
cards:
- type: 'custom:button-card'
entity: switch.poele_p_1
name: P1
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.poele_p_2
name: P2
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.poele_p_3
name: P3
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.poele_p_4
name: P4
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:button-card'
entity: switch.poele_p_5
name: P5
color: 'rgb(255, 165, 0)'
state:
- value: 'off'
color: 'rgb(128, 128, 128)'
- type: 'custom:scheduler-card'
include:
- switch.marche_arret_poele
- switch.poele_on_off
title: Calendrier
- cards:
- name: Ventilateur Ambiance
type: 'custom:button-card'
- cards:
- type: 'custom:button-card'
entity: switch.fan_1_0
color: 'rgb(0, 255, 0)'
name: '0'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_1
color: 'rgb(0, 255, 0)'
name: '1'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_2
color: 'rgb(0, 255, 0)'
name: '2'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_3
color: 'rgb(0, 255, 0)'
name: '3'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_4
color: 'rgb(0, 255, 0)'
name: '4'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_5
color: 'rgb(0, 255, 0)'
name: '5'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_1_auto
color: 'rgb(0, 255, 0)'
name: auto
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
type: horizontal-stack
type: vertical-stack
- cards:
- name: Ventilateur Salle à Manger
type: 'custom:button-card'
- cards:
- type: 'custom:button-card'
entity: switch.fan_2_0
color: 'rgb(0, 255, 0)'
name: '0'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_1
color: 'rgb(0, 255, 0)'
name: '1'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_2
color: 'rgb(0, 255, 0)'
name: '2'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_3
color: 'rgb(0, 255, 0)'
name: '3'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_4
color: 'rgb(0, 255, 0)'
name: '4'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_5
color: 'rgb(0, 255, 0)'
name: '5'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_2_auto
color: 'rgb(0, 255, 0)'
name: auto
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
type: horizontal-stack
type: vertical-stack
- cards:
- name: Ventilateur 2
type: 'custom:button-card'
- cards:
- type: 'custom:button-card'
entity: switch.fan_3_0
color: 'rgb(0, 255, 0)'
name: '0'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_1
color: 'rgb(0, 255, 0)'
name: '1'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_2
color: 'rgb(0, 255, 0)'
name: '2'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_3
color: 'rgb(0, 255, 0)'
name: '3'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_4
color: 'rgb(0, 255, 0)'
name: '4'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_5
color: 'rgb(0, 255, 0)'
name: '5'
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
- type: 'custom:button-card'
entity: switch.fan_3_auto
color: 'rgb(0, 255, 0)'
name: auto
state:
- value: 'off'
color: 'rgb(255, 0, 0)'
type: horizontal-stack
type: vertical-stack
Here’s the sensors:
- platform: mqtt
name: "Mode"
state_topic: "PUBmcz"
value_template: "{{ value_json.Mode }}"
- platform: mqtt
name: "Etat du poele"
state_topic: "PUBmcz"
value_template: "{{ value_json['Etat du poêle'] }}"
- platform: mqtt
name: "Ventilateur Ambiance"
state_topic: "PUBmcz"
value_template: "{{ value_json['Etat du ventilateur d\\'ambiance'] }}"
- platform: mqtt
name: "Temperature Fumees"
state_topic: "PUBmcz"
unit_of_measurement: '°C'
value_template: "{{ value_json['Température des fumées'] }}"
- platform: mqtt
name: "Ventilateur Fumees"
state_topic: "PUBmcz"
value_template: "{{ value_json['RPM - Ventilateur fummées'] }}"
- platform: mqtt
name: "Vis Sans Fin"
state_topic: "PUBmcz"
value_template: "{{ value_json['RPM - Vis sans fin - LIVE'] }}"
- platform: mqtt
name: "Mode Chronotermostato"
state_topic: "PUBmcz"
value_template: "{{ value_json['Mode Chronotermostato'] }}"
- platform: mqtt
name: "Température - Carte mère"
state_topic: "PUBmcz"
unit_of_measurement: '°C'
value_template: "{{ value_json['TEMP - Carte mère'] }}"
- platform: mqtt
name: "Puissance Active"
state_topic: "PUBmcz"
value_template: "{{ value_json['Puissance Active'] }}"
- platform: mqtt
name: "Minutes avant extinction"
state_topic: "PUBmcz"
value_template: "{{ value_json['Minutes avant extinction'] }}"
- platform: mqtt
name: "Ventilateur 1"
state_topic: "PUBmcz"
value_template: "{{ value_json['Etat du ventilateur canalise 1'] }}"
- platform: mqtt
name: "Ventilateur 2"
state_topic: "PUBmcz"
value_template: "{{ value_json['Etat du ventilateur canalise 2'] }}"
- platform: mqtt
name: "Mode Silence"
state_topic: "PUBmcz"
value_template: "{{ value_json['Mode Silence'] }}"
- platform: mqtt
name: "Bougie"
state_topic: "PUBmcz"
value_template: "{{ value_json['Etat de la bougie'] }}"
And the switches:
# Switch Poele On Off
- platform: template
switches:
poele_on_off:
friendly_name: "Poêle"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Eteint') %}
off
{% else %}
on
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 34,1
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 34,40
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Eteint') %}
mdi:fire-alert
{% else %}
mdi:fire
{% endif %}
# Switch Chrono On Off
- platform: template
switches:
chrono_on_off:
friendly_name: "Mode Chrono"
value_template: >-
{% if is_state('sensor.mode_chronotermostato', 'Marche') %}
on
{% elif is_state('sensor.mode_chronotermostato', 'Arrêt') %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 1111,1
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 1111,40
icon_template: >-
{% if is_state('sensor.mode_chronotermostato', 'Marche') %}
mdi:clock
{% else %}
mdi:clock-alert
{% endif %}
# Switch Silence On Off
- platform: template
switches:
silence_on_off:
friendly_name: "Mode Silence"
value_template: >-
{% if is_state('sensor.mode_silence', 'Marche') %}
on
{% elif is_state('sensor.mode_silence', 'Arrêt') %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 45,1
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 45,0
icon_template: >-
{% if is_state('sensor.mode_silence', 'Marche') %}
mdi:fan-off
{% else %}
mdi:fan
{% endif %}
- platform: mqtt
unique_id: ecoonoff
name: "Mode Eco"
command_topic: "SUBmcz"
payload_on: "41,1"
payload_off: "41,0"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: ventilo1automatique
name: "Ventilo 1 Auto"
command_topic: "SUBmcz"
payload_on: "37,6"
payload_off: "37,6"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_0
name: "Ventilo 1 0"
command_topic: "SUBmcz"
payload_on: "37,0"
payload_off: "37,0"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_1
name: "Ventilo 1 1"
command_topic: "SUBmcz"
payload_on: "37,1"
payload_off: "37,1"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_2
name: "Ventilo 1 2"
command_topic: "SUBmcz"
payload_on: "37,2"
payload_off: "37,2"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_3
name: "Ventilo 1 3"
command_topic: "SUBmcz"
payload_on: "37,3"
payload_off: "37,3"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_4
name: "Ventilo 1 4"
command_topic: "SUBmcz"
payload_on: "37,4"
payload_off: "37,4"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_5
name: "Ventilo 1 5"
command_topic: "SUBmcz"
payload_on: "37,5"
payload_off: "37,5"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_1_Auto
name: "Ventilo 1 Auto"
command_topic: "SUBmcz"
payload_on: "37,6"
payload_off: "37,6"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
# Ventilo 2
- platform: mqtt
unique_id: Ventilo_2_0
name: "Ventilo 2 0"
command_topic: "SUBmcz"
payload_on: "38,0"
payload_off: "38,0"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_1
name: "Ventilo 2 1"
command_topic: "SUBmcz"
payload_on: "38,1"
payload_off: "38,1"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_2
name: "Ventilo 2 2"
command_topic: "SUBmcz"
payload_on: "38,2"
payload_off: "38,2"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_3
name: "Ventilo 2 3"
command_topic: "SUBmcz"
payload_on: "38,3"
payload_off: "38,3"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_4
name: "Ventilo 2 4"
command_topic: "SUBmcz"
payload_on: "38,4"
payload_off: "38,4"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_5
name: "Ventilo 2 5"
command_topic: "SUBmcz"
payload_on: "38,5"
payload_off: "38,5"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_2_Auto
name: "Ventilo 2 Auto"
command_topic: "SUBmcz"
payload_on: "38,6"
payload_off: "38,6"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
# Ventilo 3
- platform: mqtt
unique_id: Ventilo_3_0
name: "Ventilo 3 0"
command_topic: "SUBmcz"
payload_on: "39,0"
payload_off: "39,0"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_1
name: "Ventilo 3 1"
command_topic: "SUBmcz"
payload_on: "39,1"
payload_off: "39,1"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_2
name: "Ventilo 3 2"
command_topic: "SUBmcz"
payload_on: "39,2"
payload_off: "39,2"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_3
name: "Ventilo 3 3"
command_topic: "SUBmcz"
payload_on: "39,3"
payload_off: "39,3"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_4
name: "Ventilo 3 4"
command_topic: "SUBmcz"
payload_on: "39,4"
payload_off: "39,4"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_5
name: "Ventilo 3 5"
command_topic: "SUBmcz"
payload_on: "39,5"
payload_off: "39,5"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
- platform: mqtt
unique_id: Ventilo_3_Auto
name: "Ventilo 3 Auto"
command_topic: "SUBmcz"
payload_on: "39,6"
payload_off: "39,6"
state_on: "ON"
state_off: "OFF"
optimistic: false
qos: 0
retain: true
# Switch Poele Puissance 1
- platform: template
switches:
poele_p_1:
friendly_name: "Poêle Puissance 1"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 1') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,1
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,1
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 1') %}
mdi:fire
{% else %}
mdi:fire-alert
{% endif %}
# Switch Poele Puissance 2
- platform: template
switches:
poele_p_2:
friendly_name: "Poêle Puissance 2"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 2') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,2
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,2
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 2') %}
mdi:fire
{% else %}
mdi:fire-alert
{% endif %}
# Switch Poele Puissance 3
- platform: template
switches:
poele_p_3:
friendly_name: "Poêle Puissance 3"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 3') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,3
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,3
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 3') %}
mdi:fire
{% else %}
mdi:fire-alert
{% endif %}
# Switch Poele Puissance 4
- platform: template
switches:
poele_p_4:
friendly_name: "Poêle Puissance 4"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 4') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,4
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,4
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 4') %}
mdi:fire
{% else %}
mdi:fire-alert
{% endif %}
# Switch Poele Puissance 5
- platform: template
switches:
poele_p_5:
friendly_name: "Poêle Puissance5"
value_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 5') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,5
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 36,5
icon_template: >-
{% if is_state('sensor.etat_du_poele', 'Puissance 5') %}
mdi:fire
{% else %}
mdi:fire-alert
{% endif %}
Switches for Fan I paste only the 1st one, copy and paste for the other 2
# Switch Ventilo Principal Auto
- platform: template
switches:
fan_1_auto:
friendly_name: "Fan 1 Auto"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Automatique') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,6
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,6
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Automatique') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 0
- platform: template
switches:
fan_1_0:
friendly_name: "Fan 1 0"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Désactivé') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,0
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,0
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Désactivé') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 1
- platform: template
switches:
fan_1_1:
friendly_name: "Fan 1 1"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 1') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,1
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,1
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 1') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 2
- platform: template
switches:
fan_1_2:
friendly_name: "Fan 1 2"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 2') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,2
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,2
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 2') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 3
- platform: template
switches:
fan_1_3:
friendly_name: "Fan 1 3"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 3') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,3
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,3
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 3') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 4
- platform: template
switches:
fan_1_4:
friendly_name: "Fan 1 4"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 4') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,4
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,4
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 4') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
# Switch Ventilo Principal 5
- platform: template
switches:
fan_1_5:
friendly_name: "Fan 1 5"
value_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 5') %}
on
{% else %}
off
{% endif %}
turn_on:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,5
turn_off:
service: mqtt.publish
data:
topic: SUBmcz
payload: 37,5
icon_template: >-
{% if is_state('sensor.ventilateur_ambiance', 'Niveau 5') %}
mdi:fan
{% else %}
mdi:fan-off
{% endif %}
Hello,
and thanks a lot for your shares. I just bought a MCZ stove, and i really want to control it with Home Assistant. I’m running with Hassio on RPI4 and i’am intersted to know how you received MQTT events from your stove ?
Thanks a lot.
For me it’s done using this setup on a seperate pi:
Hello,
I’ve used a seperate Pi to connect to the MCZ servers. I’ve tried connecting to the stove directly but, the connection was too unstable.
I’ve used this package: https://github.com/pipolaq/maestro
Very nice project @Zeta38090! As I tend to buy a stove, that works the way you automated it, may i ask you what particular stove you´ve bought? And as I see it, the MCZ devices tend to have had addon wifi modules in different versions, maybe also the particular WiFi Module?
Other Hand: Do you or does anyone have an idea, if the MCZ devices always work via mqtt?
Thanks and regards,
Jakob
Hello,
I’ve got a MCZ Philo 14kW, with integrated wifi. Most of the new ones have integrated wifi I guess nowdays.
Nicolas
Hi Zeta38090,
can you post a complete howto? That would help me a lot, unfortunately I just can’t get it to work
Sure, I’ll do that as soon as I can promise Gimme a couple of days
Thanks very much
Hi - Just checking if you’d found the time to write a HowTo… ?
Hello
Sorry for the long delay.
- connect your stove through wifi to the MCZ servers, to be able to control it through their app.
- On a another RPI (not the Hassio one), install this: https://github.com/pipolaq/maestro. Read all the requirements
- modify config.py with your own MQTT info, and maestro.py, with your own serial and MAC
- start the program. If you have a windows PC, you can check the MQTT messages using a free mqtt sniffer.
- When everything is up and running, configure MQTT in Hassio.
- Add the sensors I’ve listed on Jan 18 (Control MCZ Maestro pellet stove via HACore trough MQTT - #28 by Zeta38090), and restart Hassio.
Everything should be OK, if not, or if i’m not clear do not hesitate
For those who would be interested, I’ve created a small HA addon that embeds the python scripts from Chibald and Anthony-55 : ha-addons/maestro_gateway at main · SebLz/ha-addons · GitHub
Hello
Why install on a another RPI and not on a HASS ?