Bonjour
Je viens d’acheter des prises Meross MSS310 et j’aimerais les interfacer avec Domoticz. J’ai donc parcouru les différents forums sur le sujet, mais hélas, les explications qui sont données sont tellement succinctes qu’à aucun moment je ne suis parvenu à mes fins.
- J’ai essayé de les interfacer avec IFTTT, mais sans succès, car aucune doc n’explique clairement la marche à suivre. Comment créer l’applet et comment l’interfacer dans Domoticz.
- J’ai essayé le script édité par Mangoose, https://github.com/mangoose002/Meross2D ... stallation mais une fois installé, je fais quoi ? Je ne trouve aucune trace des prises.
- J’ai donc essayé l’autre solution proposée par clément99 en python3.7 https://www.domoticz.com/forum/viewtopic.php?t=25007 mais encore une fois, le néant.
Si quelqu’un a réussi une de ces solutions, se serait sympa de faire un vrai tuto détaillé qui je suis sûr servirait à ceux qui comme moi galère sur des explications trop succinctes et incomplètes.
D’avance merci
[RESOLU] Problème d'interface avec MEROSS Mss310
[RESOLU] Problème d'interface avec MEROSS Mss310
Dernière modification par Ph.A le 20 sept. 2020, 09:30, modifié 1 fois.
Re: Problème d'interface avec MEROSS Mss310
Ne voyant malheureusement aucune réponse, j’ai un peu creusé la situation. Comme je l’ai dit, ne maitrisant pas IFTTT, j’ai laissé de coté.
D’après la version de Clément77, j’ai fait une procédure qui fonctionne très bien sous un prompt Raspbian fraichement installé mais qui hélas ne voulait pas fonctionner sous domoticz. Je pouvais allumer ou éteindre la prise de mon choix (sur les trois) mais uniquement sous le prompt de la Raspbian sous la forme ‘python3 meross.py 3 on’ par exemple pour allumer la prise N°3 et non sous domoticz
J’ai trouvé la solution
et je vous en fait part. Lorsque Domoticz s’exécute, il utilise son propre environnement et non celui de ‘moi’. Pour remédier au problème il faut simplement indiquer à Domoticz d’utiliser momentanément l’environnement de ‘moi’ pour s’exécuter. De plus cette solution évite l'erreur 256 que j'avais (voir le script plus bas meross.sh).
Voici un petit tuto de ce que j'ai fait pour utiliser mes prises Meross Mss310 et qui je l'espère pourra vous aider :
Matériel : Rpi3 – HD externe sur laquelle se trouve la partition ‘/’ – ‘/boot’ uniquement sur sdcard - Raspbian buster lite du 20.08.20 et Domoticz v2020 . L’installation de Domoticz s’est faite à l’aide de l’instruction 'curl -sSL install.domoticz.com | sudo bash'
Attention, si vous n'utiliser pas l'utilisateur pi mais un autre, il faut redonner les droits moi :moi au dossier domoticz qui avait les valeurs 1000 :1000 via la commande sudo chown -R moi:moi /home/moi/domoticz
Je me suis servi de ces deux adresses https://github.com/albertogeniola/MerossIot et https://albertogeniola.github.io/MerossIot/ pour avoir plus de détail.
sudo apt update
sudo apt install -y python3.7
sudo apt-get install build-essential python3-dev libffi-dev
sudo apt install -y python3-gribapi
sudo apt install -y python3-eccodes
sudo apt install -y python3-distutils
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
on vérifie que /home/moi/.local/bin se trouve dans la variable PATH avec la commande
echo $PATH
Si elle n'est pas présente :
nano .profile
export PATH=$HOME/.local/bin:$PATH
source ~/.profile
pip install meross_iot==0.4.0.2
Création du script (dans ce script, j’ai remplacé mes identifiants et mot de passe par XXX)
nano /home/moi/domoticz/scripts/meross.py
#!/usr/bin/python3
import asyncio
import os
import sys
import time
from meross_iot.http_api import MerossHttpClient
from meross_iot.manager import MerossManager
EMAIL = "xxx"
PASSWORD = "xxx"
async def main():
http_api_client = await MerossHttpClient.async_from_user_password(email=EMAIL$
manager = MerossManager(http_client=http_api_client)
await manager.async_init()
await manager.async_device_discovery()
plugs = manager.find_devices(device_type="mss310")
x=(sys.argv[1])
y=(sys.argv[2])
if x == "3":
dev = plugs[0]
elif x == "1":
dev = plugs[1]
elif x == "0":
dev = plugs[2]
if y == "on":
await dev.async_turn_on(channel=0)
else:
await dev.async_turn_off(channel=0)
manager.close()
await http_api_client.async_logout()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
Je donne les droits +x au script
chmod + /home/moi/domoticz/scripts/meross.py
Création du script sh qui va bien
nano /home/moi/domoticz/scripts/meross.sh
#!/bin/bash
sudo -H -u moi /usr/bin/python3 /home/philou/domoticz/scripts/meross.py $1 $2
Je lui donne les droits +x via un chmod +x /home/moi/domoticz/scripts/meross.sh
Et là, plus de problème avec l’erreur 256
Lancement de domoticz puis création du bouton
1 Configuration – Matériel – on choisit Dummy puis on lui donne un nom Meross01 par exemple et on clic sur ajouter
2 un clic sur créer un capteur virtuel
3 On indique un nom explicite et on choisit Interrupteur. Une fois valider on peut se rendre dans Interrupteurs
On va donc le paramétrer via son bouton modifier
script://meross.sh 3 on
script://meross.sh 3 off
Et là, tout fonctionne parfaitement. je n'ai plus non plus l'erreur 256 et ceci grâce au script sh qui redirige l'environnement utilisateur.
D’après la version de Clément77, j’ai fait une procédure qui fonctionne très bien sous un prompt Raspbian fraichement installé mais qui hélas ne voulait pas fonctionner sous domoticz. Je pouvais allumer ou éteindre la prise de mon choix (sur les trois) mais uniquement sous le prompt de la Raspbian sous la forme ‘python3 meross.py 3 on’ par exemple pour allumer la prise N°3 et non sous domoticz
J’ai trouvé la solution
Voici un petit tuto de ce que j'ai fait pour utiliser mes prises Meross Mss310 et qui je l'espère pourra vous aider :
Matériel : Rpi3 – HD externe sur laquelle se trouve la partition ‘/’ – ‘/boot’ uniquement sur sdcard - Raspbian buster lite du 20.08.20 et Domoticz v2020 . L’installation de Domoticz s’est faite à l’aide de l’instruction 'curl -sSL install.domoticz.com | sudo bash'
Attention, si vous n'utiliser pas l'utilisateur pi mais un autre, il faut redonner les droits moi :moi au dossier domoticz qui avait les valeurs 1000 :1000 via la commande sudo chown -R moi:moi /home/moi/domoticz
Je me suis servi de ces deux adresses https://github.com/albertogeniola/MerossIot et https://albertogeniola.github.io/MerossIot/ pour avoir plus de détail.
sudo apt update
sudo apt install -y python3.7
sudo apt-get install build-essential python3-dev libffi-dev
sudo apt install -y python3-gribapi
sudo apt install -y python3-eccodes
sudo apt install -y python3-distutils
curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
on vérifie que /home/moi/.local/bin se trouve dans la variable PATH avec la commande
echo $PATH
Si elle n'est pas présente :
nano .profile
export PATH=$HOME/.local/bin:$PATH
source ~/.profile
pip install meross_iot==0.4.0.2
Création du script (dans ce script, j’ai remplacé mes identifiants et mot de passe par XXX)
nano /home/moi/domoticz/scripts/meross.py
#!/usr/bin/python3
import asyncio
import os
import sys
import time
from meross_iot.http_api import MerossHttpClient
from meross_iot.manager import MerossManager
EMAIL = "xxx"
PASSWORD = "xxx"
async def main():
http_api_client = await MerossHttpClient.async_from_user_password(email=EMAIL$
manager = MerossManager(http_client=http_api_client)
await manager.async_init()
await manager.async_device_discovery()
plugs = manager.find_devices(device_type="mss310")
x=(sys.argv[1])
y=(sys.argv[2])
if x == "3":
dev = plugs[0]
elif x == "1":
dev = plugs[1]
elif x == "0":
dev = plugs[2]
if y == "on":
await dev.async_turn_on(channel=0)
else:
await dev.async_turn_off(channel=0)
manager.close()
await http_api_client.async_logout()
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
Je donne les droits +x au script
chmod + /home/moi/domoticz/scripts/meross.py
Création du script sh qui va bien
nano /home/moi/domoticz/scripts/meross.sh
#!/bin/bash
sudo -H -u moi /usr/bin/python3 /home/philou/domoticz/scripts/meross.py $1 $2
Je lui donne les droits +x via un chmod +x /home/moi/domoticz/scripts/meross.sh
Et là, plus de problème avec l’erreur 256
Lancement de domoticz puis création du bouton
1 Configuration – Matériel – on choisit Dummy puis on lui donne un nom Meross01 par exemple et on clic sur ajouter
2 un clic sur créer un capteur virtuel
3 On indique un nom explicite et on choisit Interrupteur. Une fois valider on peut se rendre dans Interrupteurs
On va donc le paramétrer via son bouton modifier
script://meross.sh 3 on
script://meross.sh 3 off
Et là, tout fonctionne parfaitement. je n'ai plus non plus l'erreur 256 et ceci grâce au script sh qui redirige l'environnement utilisateur.
Re: [RESOLU] Problème d'interface avec MEROSS Mss310
Bonjour,
Je me permet de relancer ton sujet cas il m'a vraiment aider !
Déjà un peu de contexte, juste pour m'eviter de passer pour le dernier des neuneux
- Je suis totalement débutant sur domoticz... niveau 0
- Totalement débutant sur linux (J'ai un raspberry PI sous raspbian)
Donc en gros, tu vois une quiche ? ben moi, c'est 10 fois pire
Du coup... j'aj tout installer, le meross-iot est installé.
J'ai été sur le site https://albertogeniola.github.io/Meross ... start.html
et j'ai créer le script "listing device"... Tout ça, c'est bien jolie... mais je ne sais pas du quoi en faire... comment mettre tout ça en relation avec domoticz !
Je suis largué !
Si tu as quelques minutes pour m'adier, je suis preneur, et je t'en remercie vraiment par avance !
Bien a vous !
Je me permet de relancer ton sujet cas il m'a vraiment aider !
Déjà un peu de contexte, juste pour m'eviter de passer pour le dernier des neuneux
- Je suis totalement débutant sur domoticz... niveau 0
- Totalement débutant sur linux (J'ai un raspberry PI sous raspbian)
Donc en gros, tu vois une quiche ? ben moi, c'est 10 fois pire
Du coup... j'aj tout installer, le meross-iot est installé.
J'ai été sur le site https://albertogeniola.github.io/Meross ... start.html
et j'ai créer le script "listing device"... Tout ça, c'est bien jolie... mais je ne sais pas du quoi en faire... comment mettre tout ça en relation avec domoticz !
Je suis largué !
Si tu as quelques minutes pour m'adier, je suis preneur, et je t'en remercie vraiment par avance !
Bien a vous !
Re: [RESOLU] Problème d'interface avec MEROSS Mss310
Si Jamais quelqu'un passe par là, j'avance !!!
J'ai réussi à lancé un script Whouuuuuhouuuu
J'obtiens ça :
INFO:Initializing the MQTT connection...
INFO:Subscribed to topics, updating state for already known devices...
INFO:Updated 0 devices.
INFO:
------- Triggering HTTP discovery, filter_device: None -------
INFO:The following devices were already known to me: {}
INFO:The following devices are new to me: [<meross_iot.model.http.device.HttpDeviceInfo object at 0x75089d70>]
INFO:Updating 0 known devices form HTTPINFO and fetching data from 1 newly discovered devices...
INFO:Fetch and update done
INFO:
------- HTTP discovery ended -------
I've found the following devices:
- Parafoudre Salon (mss425f): OnlineStatus.ONLINE
INFO:Disconnecting from mqtt
INFO:Disconnection detected. Reason: 0
INFO:MQTT Client has fully disconnected.
INFO:Logout succeeded.
A priori il trouve bien ma multiprise !!!
Bon je continue de chercher ! et tout aide sera la bienvenue !
Merci à vous
J'ai réussi à lancé un script Whouuuuuhouuuu
J'obtiens ça :
INFO:Initializing the MQTT connection...
INFO:Subscribed to topics, updating state for already known devices...
INFO:Updated 0 devices.
INFO:
------- Triggering HTTP discovery, filter_device: None -------
INFO:The following devices were already known to me: {}
INFO:The following devices are new to me: [<meross_iot.model.http.device.HttpDeviceInfo object at 0x75089d70>]
INFO:Updating 0 known devices form HTTPINFO and fetching data from 1 newly discovered devices...
INFO:Fetch and update done
INFO:
------- HTTP discovery ended -------
I've found the following devices:
- Parafoudre Salon (mss425f): OnlineStatus.ONLINE
INFO:Disconnecting from mqtt
INFO:Disconnection detected. Reason: 0
INFO:MQTT Client has fully disconnected.
INFO:Logout succeeded.
A priori il trouve bien ma multiprise !!!
Bon je continue de chercher ! et tout aide sera la bienvenue !
Merci à vous
-
frenchyyii
- Messages : 310
- Inscription : 16 oct. 2015, 06:29
Re: [RESOLU] Problème d'interface avec MEROSS Mss310
petit rajout en me servant des bouts de ton topic, merci 
https://easydomoticz.com/forum/viewtopi ... 017#p89017
https://easydomoticz.com/forum/viewtopi ... 017#p89017