Quantcast
Channel: Configuration - Home Assistant Community
Viewing all articles
Browse latest Browse all 106467

Control MCZ Maestro pellet stove via HACore trough MQTT

$
0
0

Hi All,

Because of some limitations with Homekit I recently switched from Homebridge to Home Assistant Core.

As I’m trying to transfer all my smart devices to HACore I’m a bit stuck with my stove which sends and receives MQTT signals.

The MQTT data that I’m receiving is the following:

Bericht 8 ontvangen op PUBmcz om 21:55:
{
    "RPM - Vis sans fin - LIVE": 0,
    "RPM - Ventilateur fummées": 0,
    "Heure du poêle (0-23)": 21,
    "Etat du ventilateur d'ambiance": "Niveau 5",
    "Minutes du poêle (0-29)": 58,
    "TEMP - Carte mère": 30,
    "Heures de fonctionnement en puissance 1 (s)": "1:17:39:31",
    "TEMP - Consigne": 22,
    "Jour du poêle (1-31)": 23,
    "Heures de fonctionnement total (s)": "11:5:49:37",
    "Etat du mode Active": 1,
    "Mode Chronotermostato": 0,
    "Minutes avant extinction": 0,
    "ACTIVE - Live": 100,
    "Etat effets sonores": 1,
    "Température des fumées": 25,
    "Température ambiante": 15,
    "Heures de fonctionnement en puissance 5 (s)": "4:2:26:14",
    "Heures de fonctionnement en puissance 2 (s)": "1:3:18:44",
    "Puissance Active": "Puissance 3",
    "Mode": "Hiver",
    "Heures de fonctionnement en puissance 3 (s)": "1:23:48:16",
    "Etat du poêle": "Eteint",
    "Heures de fonctionnement en puissance 4 (s)": "0:20:26:50",
    "Mode ECO": 0,
    "RPM - Vis sans fin - SET": 0,
    "Etat de la bougie": 0,
    "Heures avant entretien": 1730,
    "ACTIVE - Set": 192,
    "Année du poêle": 2020,
    "Nombre d'allumages": 53,
    "Mode de régulation": "Manuelle",
    "Mois du poêle (1-12)": 10
}

Most of the stove’s codes are linked with numbers (full list below):

#coding: utf-8

'''
Tables des correspondances

        Le rang 0 correspond à la position de l'information dans la trame MAESTRO
        Le rang 1 correspond a l'intitulé publié sur le broker
        Le rang 2 (optionnel) permet de remplacer le code de la trame par une information texte correspondante

'''
RecuperoInfo=[
        [1,"Etat du poêle",[
                                                [0, "Eteint"],
                                                [1, "Controle du poele froid / chaud"],
                                                [2, "Clean Froid"],
                                                [3, "Load Froid"],
                                                [4, "Start 1 Froid"],
                                                [5, "Start 2 Froid"],
                                                [6, "Clean Chaud"],
                                                [7, "Load Chaud"],
                                                [8, "Start 1 chaud"],
                                                [9, "Start 2 chaud"],
                                                [10, "Stabilisation"],
                                                [11, "Puissance 1"],
                                                [12, "Puissance 2"],
                                                [13, "Puissance 3"],
                                                [14, "Puissance 4"],
                                                [15, "Puissance 5"],
                                                [30, "Mode diagnostique"],
                                                [31, "Marche"],
                                                [40, "Extinction"],
                                                [41, "Refroidissement en cours"],
                                                [42, "Nettoyage basse p."],
                                                [43, "Nettoyage haute p."],
                                                [44, "Débloquage vis sans fin"],
                                                [45, "AUTO ECO"],
                                                [46, "Standby"],
                                                [48, "Diagnostique"],
                                                [49, "CHARG. VIS SANS FIN"],
                                                [50, "Erreur A01 - Allumage raté"],
                                                [51, "Erreur A02 - Pas de flamme"],
                                                [52, "Erreur A03 - Surchauffe du réservoir"],
                                                [53, "Erreur A04 - Température des fumées trop haute"],
                                                [54, "Erreur A05 - Obstruction conduit - Vent"],
                                                [55, "Erreur A06 - Mauvais tirage"],
                                                [56, "Erreur A09 - Défaillance sonde de fumées"],
                                                [57, "Erreur A11 - Défaillance motoréducteur"],
                                                [58, "Erreur A13 - Température carte mère trop haute"],
                                                [59, "Erreur A14 - Défaut Active"],
                                                [60, "Erreur A18 - Température d'eau trop haute"],
                                                [61, "Erreur A19 - Défaut sonde température eau"],
                                                [62, "Erreur A20 - Défaut sonde auxiliaire"],
                                                [63, "Erreur A21 - Alarme pressostat"],
                                                [64, "Erreur A22 - Défaut sonde ambiante"],
                                                [65, "Erreur A23 - Défaut fermeture brasero"],
                                                [66, "Erreur A12 - Panne controleur motoréducteur"],
                                                [67, "Erreur A17 - Bourrage vis sans fin"],
                                                [69, "Attente Alarmes securité"],
                                                ]],
        [2,"Etat du ventilateur d'ambiance",[
                                                                                [0, "Désactivé"],
                                                                                [1, "Niveau 1"],
                                                                                [2, "Niveau 2"],
                                                                                [3, "Niveau 3"],
                                                                                [4, "Niveau 4"],
                                                                                [5, "Niveau 5"],
                                                                                [6, "Automatique"],
                                                                                ]],
        [5,"Température des fumées"],
        [6,"Température ambiante"],
        [10,"Etat de la bougie"],
        [11,"ACTIVE - Set"],
        [12,"RPM - Ventilateur fummées"],
        [13,"RPM - Vis sans fin - SET"],
        [14,"RPM - Vis sans fin - LIVE"],
        [20,"Etat du mode Active"],  #0: Désactivé, 1: Activé
        [21,"ACTIVE - Live"],
        [22,"Mode de régulation",[
                                                                [0, "Manuelle"],
                                                                [1, "Dynamique"],
                                                                ]],
        [23,"Mode ECO"],
        [25,"Mode Chronotermostato"],
        [26,"TEMP - Consigne"],
        [28,"TEMP - Carte mère"],
        [29,"Puissance Active",[
                                                     [11, "Puissance 1"],
                                                        [12, "Puissance 2"],
                                                        [13, "Puissance 3"],
                                                        [14, "Puissance 4"],
                                                        [15, "Puissance 5"],
                                                        ]],
        [32,"Heure du poêle (0-23)"],
        [33,"Minutes du poêle (0-29)"],
        [34,"Jour du poêle (1-31)"],
        [35,"Mois du poêle (1-12)"],
        [36,"Année du poêle"],
        [37,"Heures de fonctionnement total (s)"],
        [38,"Heures de fonctionnement en puissance 1 (s)"],
        [39,"Heures de fonctionnement en puissance 2 (s)"],
        [40,"Heures de fonctionnement en puissance 3 (s)"],
        [41,"Heures de fonctionnement en puissance 4 (s)"],
        [42,"Heures de fonctionnement en puissance 5 (s)"],
        [43,"Heures avant entretien"],
        [44,"Minutes avant extinction"],
        [45,"Nombre d'allumages"],
        [49,"Etat effets sonores"],
        [51,"Mode",[
                                [0, "Hiver"],
                                [1, "Eté"],
                                ]],
        ]

I used to be able to control this stove via the Homebridge-MQTT plugin via this configuration (it wasn’t perfect but it worked):

        {
            "accessory": "mqttthing",
            "type": "thermostat",
            "name": "MCZ VIVO 90",
            "logmqtt": true,
            "url": "mqtt://192.168.1.211:1883",
            "topics": {
                "getCurrentTemperature": {
                    "topic": "PUBmcz",
                    "apply": "return JSON.parse(message)['Température ambiante'].toFixed(1);"
                },
                "setTargetHeatingCoolingState": {
                    "topic": "SUBmcz",
                    "apply": "return message == 'HEAT' ? '34,1' : '34,40';"
                },
                "setTargetTemperature": {
                    "topic": "SUBmcz",
                    "apply": "return \"42,\"+message;"
                }
            }
        },

Now is the question:

How do I translate this into something working in HACore?

What I want to do:
2 states: On/Off
Temperature control

I don’t really need to do anything more as the stove itself regulates pellets and ventilation by it’s own built-in thermostat.

Thanks in advance!

1 post - 1 participant

Read full topic


Viewing all articles
Browse latest Browse all 106467

Trending Articles