MCZ Maestro et Jeedom

Bonjour à tous,

Je vous propose ma méthode pour interfacer Jeedom à nos poêle MCZ équipés de la technologie Maestro.

Pré requis :

  • Un raspberry avec le wifi de disponible ou un dongle
  • Jeedom ou mosquitto

Installation :

  • Côté Jeedom :
    Installer le plugin jMQTT et créer un broker si vous n’en avez pas.

  • Côté RPI :

git clone https://github.com/Anthony-55/maestro.git
cd maestro

Pour une installation et lancement en mode console :

sudo bash install

Pour une installation en daemon :

sudo bash install_daemon

Connecter la carte wifi du raspberry au point d’accès local du poêle (MCZ-xxxxxxxxxxxxx), la clé est affichée sur le poêle.

Lancer le daemon :

sudo /etc/init.d/maestro start

En l’état et si le daemon est installé sur la même machine qui héberge Jeedom, les informations devraient commencer à remonter sur le topic MCZpub du broker.
Dans le cas d’une configuration différente, il faudra renseigner les adresses nécessaire :

sudo nano /opt/maestro/_config_.py

Et enfin relancer le daemon :

sudo /etc/init.d/maestro restart

:warning: Ce script permet de lire l’état du poêle et de remonter les informations sur un broker mqtt mais il permet aussi de commander le poêle, modifier des valeurs et paramètres. Attention aux commandes utilisées !

Ci joint, voici une capture des différentes remontée et commandes possibles pour un usage courant mais tous les paramètres peuvent être modifiés / remontés :

7 « J'aime »

Bonsoir,

J’ai reussi a avoir les infos en retour de mon poele, en passant par un pi intermédiaire.
Par contre, j’aurais 2 questions :

  • Comment met tu en forme ton équipement pour qu’il apparaisse comme ta capture d’écran ?
  • Comment crées-tu les commandes (en créant un autre équipement, mais en SUB ?

En tout cas, merci beaucoup pour ton tuto, je pense que nous étions nombreux a attendre un pareil tuto !!!

Mick

Quand tu dis que tu as réussi à avoir les informations en retour c’est où ? Sur la console ou dans le plugin jMQTT ?
Si c’est ce dernier, tu as juste à aller dans la config du topic, cliquer sur JSON en haut à droite et les infos vont etre séparées et tu n’as plus qu’a enregistrer les infos voulues :

Pour les commandes, sur cette même page de config, il faut cliquer sur « Ajouter une commande action », mettre le topic SUBmcz et la commande voulue :

1 « J'aime »

Je recupère les infos sur jeedom, mais voila ce que cela donne sur le dashboard:

Pour les commandes, comment savoir le nom de la commande qui doit exister, comme ton exemple, « son ON » et la valeur 50.1 ?
Y a t’il une liste de commande existante et leur valeur ?

@mikiki, c’est bien si tu as ce message sur le dashboard, c’est que le script communique bien. Pour la mise en forme, tu as juste à cliquer éditer les commandes de PUBmcz et cliquer sur JSON et tu auras tout qui sera séparé.

Pour la liste des actions voici les principales mais elle n’est pas encore complète :

La commande est composée de 2 paramètres séparés par une virgule. Le premier correspond à une fonction, le second à la valeur à écrire.


  • Activer les sons du poêle : 50,1
  • Desactiver les sons du poêle : 50,0

  • Activer le mode ECO : 41,1
  • Désactiver le mode ECO : 41,0

  • Allumer le poêle : 34,1
  • Éteindre le poêle : 34,40

  • Désactiver le thermostat interne (c’est par exemple jeedom qui régulera les on et off) : 40,0
  • Régulation de température sur sonde (sonde interne) : 40,1

  • Niveau de puissance 1 : 36,1
  • Niveau de puissance 2 : 36,2
  • Niveau de puissance 3 : 36,3
  • Niveau de puissance 4 : 36,4
  • Niveau de puissance 5 : 36,5

  • Chono ON : 1111,1
  • Chrono OFF : 1111,0

  • Envoyer une consigne de température en degré : 42,xx ou xx est la consigne demandée (nombre entier compris entre 5 et 35)

Nota : Pour que ce soit fonctionnel, il ne faut pas être en mode manuel pour que cette valeur soit prise en compte (40,1)


1 « J'aime »

Bonjour,

J’ai tenté de creer les commandes, mais celles-ci ne fonctionnent pas

Depuis le raspberry, j’ai aussi tenté de lancer le daemon, mais je n’ai pas de retour sur jeedom, alors qu’en mode console, cela fonctionne !

Toutes tes infos sur ta copie d’écran émanent d’un virtuel, je suppose. Aurais-tu une copie d’écran, car je n’arrive pas a creer un virtuel, toutes les valeurs sont a 0.

Ca fait beaucoup de questions !!!

En tout cas , merci a toi !

Mick

Bonsoir, pour les commandes tu faisais comme il fallait mais une erreur s’était glissée dans le script, je l’ai mis à jour, normalement ça fonctionne maintenant.

Pour le deamon, as tu fait :

sudo /etc/init.d/maestro restart

Et si oui, que te retourne :

sudo /etc/init.d/maestro status

Et pour finir, non les infos sur ma copie d’écran est tirée de cette même page :

Cliques sur JSON en haut à droite et tout doit apparaitre :

J’ai mis a jour le fichier maestro.py, depuis c’est ok pour les commandes !
pour le deamon, sudo /etc/init.d/maestro status ne me donne absolument rien ! A savoir que je suis parti d’un raspbian lite, et que j’ai dû installer pas mal de truc, j’ai peut-etre encore quelque chose qui manque ?
image

Je clique bien sur JSON et tout apparait, mais le probleme est sur le dashboard, ou je ne peux pas changer les widget, et la mise en page


Pour les infos sur le dashboard, le bouton JSON va découper la trame en différentes infos après il faut que tu renseignes le nom des commandes (peu importe le nom) dans la case de gauche que tu veux afficher et sauvegarder. Et à partir de ce moment là ça devrait s’afficher sur le dashboard et ensuite tu auras accès aux paramètres d’affichage, de visibilité et d’historisation.

Pour la mise en daemon j’ai remodifié cette partie, peux tu réessayer après mise à jour ?

sudo systemctl start maestro.service

Et si ça fonctionne :

sudo systemctl enable maestro.service

Pour le rendre executable dès le démarrage du PI

Tu peux me dire ce que tu as du installer stp ?

Bonjour,

Je suis passé par le bash de mise a jour update_deamon, mais cela m’a tout cassé.

Pour la mise en page, c’est bon en effet en renseignant un nom, ca marche mieux !!!

J’ai du installer python, python 3 dans le doute, paho_mqtt, websocket, websocket client, et peut-etre autre chose, mais pas sur.

C’est bizzare les erreurs que tu as, une apostrophe semble disparue d’après ton erreur.
Ce que je peux te proposer c’est de repartir sur une installation « propre » :

cd
sudo rm -Rf /opt/maestro
cd maestro
git pull

Edite ton fichier de config (attention aux guillemets)

sudo nano _config_.py

Puis installe le daemon

sudo bash install-daemon

Et enfin lance le :

sudo systemctl start maestro.service
1 « J'aime »

Tout est bon, cela fonctionne en repartant propre, lancement du deamon ok, aucunes erreurs !
Bravo !!!

:stuck_out_tongue: Content que ça marche et n’oublie pas que si tu veux que le script se lance au démarrage du rpi, il faudra l’activer :

sudo systemctl enable maestro.service
1 « J'aime »

Hello,
Merci pour ce tuto.
J’ai un message d’erreur lors de l’installation :

pi@raspberrypi:~/maestro $ sudo bash install
Installation des dépendances
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: paho-mqtt in /usr/local/lib/python3.7/dist-packages (1.5.0)
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: websocket-client in /usr/local/lib/python3.7/dist-packages (0.56.0)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from websocket-client) (1.12.0)
Copie des fichiers necessaires
Traceback (most recent call last):
  File "/opt/maestro/maestro.py", line 4, in <module>
    import paho.mqtt.client as mqtt
ImportError: No module named paho.mqtt.client

Je ne sais pas ce qui ne va pas.
Ce que j’ai fait sur le raspberry :

  • installé raspbian buster lite
  • installé git, bash, python pip3, mosquitto, mosquitto-client
  • puis lancé ton tuto

Une idée ?
Merci
Bonson

Peux tu essayer :

pip install paho-mqtt

Et relancer le script ?

1 « J'aime »

Je vais essayer ça ce soir mais la ligne suivante me fait penser que ça doit pas être ça.

Requirement already satisfied: paho-mqtt in /usr/local/lib/python3.7/dist-packages (1.5.0)

On verra bien.

Bonsoir,

J’ai eu ce defaut, c’était bien paho qui était manquant. Ce que dit Anthony devrait fonctionner

Bonsoir,
Meme message d’erreur chez moi

J’ai installé Python 3.7, donc j’ai utilisé pip3 car pip me renvoie une erreur.
Ca me répond « requirement already satisfied ».
C’est peut-être une histoire de versions incompatibles des différents composants et du script ?
Quelles versions de quels logiciels a-t-on besoin en pré-requis ?

Bonjour tout le monde,
Bravo ANTHONY pour ce topic, je suis ce que tu fais depuis tes débuts sur l’autre forum et je me suis lancé depuis que tu as demandé des testeurs.

Tout fonctionne chez moi également, j’obtiens bien les infos du poêle, me reste plus qu’à définir des actions mais ça devrait pas être trop compliqué.

PS : comme souligné par mikiki et Anthony lorsqu’un message d’erreur python apparaît il suffit juste de faire un pip install « nom du package » et de relancer.

Encore bravo pour ton travail,
Morgan