MCZ Maestro et Jeedom

Bonjour,

@Anthony oui j’ai bien récupéré toutes les infos dans Jeedom, le seul problème c’est que je n’arrive malheureusement pas à faire de bouton de commande afin de modifier la température.

Bonne journée

Hello,

Je n’avais pas encore été plus loin que récupérer les infos du poêle et aujourd’hui j’ai essayé de créer des commandes pour pouvoir le piloter depuis Jeedom.
J’ai fait comme indiqué mais ça ne fonctionne pas :

  • dans l’équipement poele du plugin jMQTT, j’ai créé des commandes actions en indiquant le topic SUBmcz, avec les valeurs type 50,0 (avec une virgule et pas un point) et en laissant le reste par défaut.
  • le log du broker indique bien que le message a été transmis.
  • par ailleurs, le plugin récupère toujours bien les données du topic PUBmcz et le démon sur le raspberry a un statut sans problème.

Qu’est-ce qui peut coincer ?

@Anthony, en ssh sur le raspberry qui héberge le script, il y a un moyen de voir ce qu’il reçoit de jMQTT et renvoie au poêle ?

Merci Anthony pour cette Appli,

Quelques commandes supplémentaires possibles:

Changer la vitesse des ventilateurs : idVentilateur,vitesseVentilateur
	avec idVentilateur :
		Air Chaud (principal) : 37
		Canalisé 1 :38
		Canalisé 2 : 39
	et vitesseVentilateur à 0 pour mode NO-AIR; 6 pour mode Auto; ou de 1 à 5

Passage en mode Silence : 45,1
Desactiver mode Silence : 45,0

Modifier température consigne mode Chrono :
	T1 : 1108,xx ou xx est la consigne demandée (nombre entier compris entre 5 et 35)
	T2 : 1109,xx
	T3 : 1110,xx

Passage Mode Eté/Hiver :
	Eté 	: 58,1
	Hiver 	: 58,0

Mode ACTIVE :
	Activé 		: 35,1
	Désactivé	: 35,0
	Reset du mode ACTIVE : 2,255 

Hello,

Quelqu’un aurait une idée ?

Edit : bon, réinstallation complète sur un autre rpi… et tout fonctionne, info comme commandes.
:slight_smile:

Bonjour,

Je ne suis pas utilisateur de Jeedom mais si cela intéresse j’ai trouvé comment interroger directement les serveurs MCZ et ne plus devoir être connecté au Wifi du poêle.

Voici un extrait du code python:

from pprint import pprint
import socketio

sio = socketio.Client()
MCZ_device_serial = "YourDeviceSerial"
MCZ_device_MAC = "YourDeviceMAC"
MCZ_App_URL = "http://app.mcz.it:9000"


@sio.event
def connect():
    pprint("Connected")
    pprint("SID is : {}".format(sio.sid))


@sio.event
def disconnect():
    pprint("Disconnected")

# Equivalent de "def on_message"
@sio.event
def rispondo(response):
    pprint("Received 'rispondo' message")
    datas = response["stringaRicevuta"].split("|")
    # Traitement de la réponse avec RecuperoInfo

# Connexion au serveur MCZ
sio.connect(MCZ_App_URL)

# A priori nécessaire pour associer la session à notre poêle 
sio.emit(
    "join",
    {
        "serialNumber": MCZ_device_serial,
        "macAddress": MCZ_device_MAC,
        "type": "Android-App",
    },
)

# A priori également nécessaire mais je ne sais pas ce que cela retourne exactement
sio.emit(
    "chiedo",
    {
        "serialNumber": MCZ_device_serial,
        "macAddress": MCZ_device_MAC,
        "tipoChiamata": 0,
        "richiesta": "RecuperoParametri",
    },
)

# Permet de récupérer les informations
sio.emit(
    "chiedo",
    {
        "serialNumber": MCZ_device_serial,
        "macAddress": MCZ_device_MAC,
        "tipoChiamata": 1,
        "richiesta": "C|RecuperoInfo",
    },
)

Le format de retour est identique à celui récupéré en direct avec le poêle.
Je n’ai pas encore testé mais je pense qu’il est également possible d’envoyer des commandes.

1 « J'aime »

Salut, @Anthony, @mikiki,

J’ai une petite question, savais vous comment je peux intégrer le broker sur un plugin Homebridge? J’ai encore un peu de mal avec le maniement de MQTT.

Il a le plugins Homebridge-mqttthing, avec un exemple pour la température :

{
« accessory »: « mqttthing »,
« type »: « temperatureSensor »,
« name »: «  »,
« url »: « <url of MQTT server (optional)> »,
« username »: « <username for MQTT (optional)> »,
« password »: « <password for MQTT (optional)> »,
« caption »: « <label (optional)> »,
« topics »:
{
« getCurrentTemperature »: « <topic used to provide ‹ current temperature ›> »,
« getStatusActive »: « <topic used to provide ‹ active › status (optional)> »,
« getStatusFault »: « <topic used to provide ‹ fault › status (optional)> »,
« getStatusTampered »: « <topic used to provide ‹ tampered › status (optional)> »,
« getStatusLowBattery »: « <topic used to provide ‹ low battery › status (optional)> »
},
« history »: « <true to enable History service for Eve App (optional)> »
}

Mais je ne comprend pas trop la configuration des topic quelqu’un saurait m’aiguiller? Je voudrais faire des tests pour HomeKit.

Merci par avance,
M.

Salut!
Au fait, je me demandai si c’était possible d’avoir deux wifi sur Raspberry 3.
et si on peut faire en sorte que le deamon continue a communiquer avec le poel.
Ça serait le top :slight_smile: . Pour le moment j’ai un dongle TPLink qui n’est pas reconnu :confused: Edimax a l’aire mieux supporté? pour le paramétrage, je n’ai aucune idée. j’imagine que si cela marche avec le RJ45 pourquoi pas en wifi…

Dongle USB wifi Edimax chez moi sur Odroid C2.
Aucun problème de reconnaissance ; Raspbian l’a monté direct.

Bonjour à tous,

J’ai un phénomène un peu bizarre : toutes les commandes fonctionnent parfaitement (et sont bien retranscrites dans l’app MCZ, ce qui est cool), sauf la commande pour éteindre le poêle. Visiblement l’ordre arrive bien au poêle (il bipe), mais il ne s’éteint pas et l’état du poêle (dans l’équipement jeedom comme dans l’app) reste inchangé.
Avez-vous pu constater celà ? Est-ce lié à un état du poêle qui n’accepterait pas l’extinction (genre le mode écostop qui ne peut pas être activé lorsqu’on est en mode manuel) ?

Merci
Bonson

Personne ?

Je me demandais s’il n’y avait pas une autre commande pour l’extinction et j’aurais bien essayé de trouver le paramètre par moi-même. Comment vous faites pour le man in the middle ?

Personne ? :face_with_head_bandage:

Une piste, avec l’app si il y a le mode timer d’actif il est impossible d’éteindre le poêle directement, il faut d’abord désactiver le timer pour éteindre ensuite.

C’est une bonne raison mais ce n’est pas ça dans mon cas, j’ai désactivé le mode chrono et j’ai créé un agenda dans le plugin agenda pour gérer le poêle.
Il y a donc autre chose…
Sinon, le fait que tu me parles de timer me fait penser qu’il y a aussi un mode « sleep » qui pourrait être une façon de contourner mon problème : si j’active un sleep avec une heure d’extinction, peut-être qu’il s’éteindrait tout seul à l’heure demandée, sans besoin de lancer l’ordre d’extinction…
Bon, c’est moins facile à customiser, mais ce serait déjà ça…
Qui peut me dire le numéro de la commande pour le mode sleep ?

Bonson

Hello,

Pour le man in the middle perso j’ai installé tPacketCapture sur mon téléphone, lancé la capture puis l’appli MCZ. Ensuite tu lances les commandes depuis l’appli MCZ, puis tu stoppes la capture.
Tu récupères un fichier « .pcap » que tu peux analyser avec Wireshark. Fais un filtre sur l’adresse IP des serveurs MCZ (si tu es connecté en mode remote) ou du poêle (si tu es en direct) : « ip.addr == 52.58.247.7 » ou « ip.addr == 192.168.120.1 ».
Il faut regarder les échanges avec le protocol « WebSocket ». De ce que j’en comprend ce devrait être un message type « C|WriteParametri|<CodeParamètre>|<Valeur> ».

Etienne

1 « J'aime »

Super merci. J’ai installé également Packet Capture et lancé la capture des communications de l’app MCZ, mais le résultat que j’en sors est cryptique pour moi. C’est la suite avec Wireshark qui me manquait, je vais tester ça ce soir…

Bon, je suis content, non seulement j’ai compris le problème (le paramètre pour éteindre est 34,40 et pas 34,0 comme je l’avais enregistré), mais en plus je l’ai trouvé en mettant (bien modestement, grâce à toi @EtienneME) les mains dans le cambouis. Merci :slight_smile:

Ok, la réponse était au début de ce fil, mais c’est pas grave :smiley::sweat_smile:

Bonjour à tous,
Je dispose d’un poele Ego mais en version AIR, quelqu’un sait-il comment avoir l’état du ventilateur canalisé?

Bonjour!

C’est super à voir que quelqu’un a fait un plugin pour MCZ Maestro.
Je n’utilise pas le jeedom mais je voudrais utiliser cette plugin pour connecter mon VIVO90 avec homebridge.

J’ai installé une nouvelle RPi avec Raspbian ensemble avec votre plugin.

Quand j’essaie a démarrer le daemon, il me dit:

sudo systemctl start maestro.service
System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down

Je suis seulement un amateur de « home automation » et j’espère de trouver une solution pour connecter mon poêle avec Homekit avec votre assistance.

Merci d’avance!

Kim

PS: Est-ce que c’est possible de communiquer en anglais? Il serait plus facile pour moi parce que mon français n’est pas très bien. Merci d’avance!
PS2: Normalement j’utilise un Mac Mini comme serveur. Il faut mieux d’utiliser celui-ci en place du RPi si c’est possible.

Bonjour,
L’info n’apparaît pas dans le “data.py”, dans /opt/maestro/ ?

Impossible de lire le fichier data.py, en plus les fichier comporte le symbole « _ » avant chaque désignation

pi@raspberrypi : /opt/maestro $ ls
config.py config.pyc data.py data.pyc maestro.py pycache