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 ?
Hello,
You need to run a python script 24/7, unsure you can do that on Hassio. If you have Hassio on top of a Raspbian OS, yes you can.
Nicolas
You need to run a python script 24/7, unsure you can do that on Hassio
This is what my addon is doing, no problem with that