Objet Refoss EM06

Bonjour, et merci pour ce très bon Plugin. Je viens d’acheter un EM06 de Refoss qui semble plutôt prometteur pour faire de l’analyse de conso en triphasé. Après quelques recherches il semble que Refoss soit étroitement liée à la société Meross, ne trouvant aucun plugin compatible, j’ai essayé quelques bricolages.

J’ai par exemple essayé d’utilisé le plugin wifilightv2 pour gérer cet équipement, j’ai dans les sources modifiées le script Meross.py pour changé l’URL : https://iotx-eu.meross.com/v1/Auth/signIn en https://iotx-eu.refoss.net/v1/Auth/signIn (après avoir bien sûr vérifié que cette URL est fonctionnelle) mais la récupération de la clef ne fonctionne pas avec mon identifiant Refoss, mais fonctionne toujours avec mon identifiant Meross.

Je me demande alors si ma manipulation est bien la bonne, ou si l’URL de Refoss pointe sur la BDD de Meross.

Si vous avez une idée pour moi, ou une solution autre pour gérer du matériel Refoss (non géré par l’application Meross).

N.B : J’ai essayé de trouver une doc pour les API Refoss, mais je n’ai absolument rien trouvé.

Merci d’avance.

pour l’appel au cloud, il faut essayer d’obtenir une clé avec l’API
si c’est la même que Meross, créer un périphérique Meross, lui mettre la clé meross et faire une test avec stateget et voir s’il répond.

Bonjour, et merci pour votre réponse. C’est bien ce que j’essaye de faire, mais ce périphérique n’est pas connue dans l’application Meross, je suis donc obligé de l’appareiller dans l’application Refoss (à la différence de pas mal de périphériques Refoss, qui sont reconnus dans l’application Meross).

J’essaye donc de récupérer la clef Refoss, mais en changeant uniquement l’URL ln 39 du script Meross.py cela ne semble pas fonctionner. En lisant le code du module, il me semble pourtant que c’est bien ici qu’est envoyée la commande de récupération de la clef.

Ma question, suis-je bien au bon endroit ?

l’api meross n’est déjà pas officielle, alors celle de Refoss…
J’ai regardé sur github comment ils résupèrent la clé et le EM06 al’air de fonctionner sur hommeassistant.
Ils font une découverte local et j’ai l’impression que pas besoin de clé.

Bonjour,

As-tu eu l’occasion faire de nouveaux essais? Fructueux?

J’allais en acheter un pour essayer et je suis tombé sur ton post… ça me refroidit un peu, j’en ai marre de passer mes nuits à essayer d’intégrer des matériels « exotiques » ^^

Comme l’as dit Bernard il semble fonctionner sous HA (en tout cas certaines versions de HA)…

Salut, j’arrive à l’intégrer, mais pour l’instant je ne récupère aucune info mis à part le statut de connexion.

ce qui manque c’est la clé et sans elle pas d’échange possible.

Dans le code de homeassistant, je ne trouve rien en rapport avec la clef, mais c’est la création des commandes qui me pose probléme, je trouve ici :

Ce genre de tableau :
RefossSensorEntityDescription(
key=« voltage »,
translation_key=« voltage »,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfElectricPotential.MILLIVOLT,
suggested_display_precision=2,
suggested_unit_of_measurement=UnitOfElectricPotential.VOLT,
subkey=« voltage »,
),
J’ai donc essayé de crée ce genre de commande :


Mais rien ne remonte, je c’est pas trop comment deviner les commandes en questions.

Voici les logs qui me semble en lien :

log.txt (5,1 Ko)

Ce que fait le plugin :
-il récupère une clé de cryptage sur les serveurs Meross

  • il utilise cette clé pour dialoguer avec le périphérique, la clé sert au cryptage de l’échange
    Le serveur ne sert qu’à celà, il faut créer à la main chaque périphérique. Il semble que sur ha il y a une découverte locale des périphériques, je n’ai pas eu le temps de regarder en profondeur comment ils font et s’ils peuvent se passer ce cette clé.

il faudrait trouver un projet github qui dialogue avec les meross/refoss et qui n’a pas besoin de ha. Et faire du debogage dessus. J’ai fait cela pour la découverte tuya par exemple.

Sujet interessant, le materiel EM06 permet la mesure de 6 puissances pour un prix assez sympa: Refoss EM06 Compteur Électrique Connecté Wi-Fi, Compteur d’Énergie Intelligent 3 Phases avec 6 Canaux de Mesure (150A), Mesure Consommation Électrique, Suivi de la Production d’Énergie Solaire, App : Amazon.fr: Bricolage

merci de nous dire si tu trouves une solution :hugs:

Ce qui me semble prometteur c’est ceci :

Le logiciel se connecte en mode AP au wifi du périphérique et récupère alors les informations nécessaires.

1 « J'aime »

J’avance doucement, je suis arrivée a récupérer l’état du périphérique :

{« type »:« em06 »,« subType »:« eu »,« version »:« 2.0.0 »,« chipType »:« esp32-c3 »,« uuid »:« 2401066025124374070148e1e9e92b82 »,« macAddress »:« xxx »},« firmware »:{« version »:« 2.3.8 »,« compileTime »:« May 14 2024 – 15:59:34 »,« encrypt »:1,« wifiMac »:« 48:e1:e9:e9:2b:82 »,« innerIp »:« 192.168.1.xx »,« server »:« mqtt-eu-5.refoss.net »,« port »:443,« userId »:xxxxxx},« time »:{« timestamp »:1727359276,« timezone »:« Europe/Paris »,« timeRule »:[…]},« online »:{« status »:1,« bindId »:« Ly2iAxxxxx »,« who »:1}},« digest »:{}}}}

Je suis également arrivée à récupérer les commandes prises en charges :

« payload »:{« payloadVersion »:1,« ability »:{« Appliance.Config.Key »:{},« Appliance.Config.WifiList »:{},« Appliance.Config.Wifi »:{},« Appliance.Config.WifiX »:{},« Appliance.Config.Trace »:{},…}}}

Mais la plupart des commandes ne répondent pas.

Par exemple : Appliance.Control.ConsumptionH

Je vois plusieurs raisons possibles :

  • soit la clef est effectivement necessaire pour ce genre de commande, mais c’est étrange qu’elle ne le soit pas pour celle qui dévoile l’IP, l’adresse mac et le bindId. Et je ne vois vraiment pas comment HA arrive a trouver cette clef.

  • soit la requête, Appliance.System.Ability renvoie n’importe quoi.

  • soit je n’ai vraiment pas compris quelque chose.

J’ai fait une installe de HA et effectivement il découvre en auto sans aucun login mdp le périphérique et remonte bien toutes les données.

J’ai essayé de comprendre le code de HA, mais honnêtement je ne pige pas comment ça fonctionne.

Je n’ai pas encore essayé l’Apps que tu proposes @bernardfr.caron mais de mémoire le périph n’émet pas de wifi pour le bind, cela se passe en Bluetooth

Comment as tu fait pour récupérer ces infos ?
Il faut que tu détaille tout exactement.
C’est le plugin, c’est ha comment les infos sont récupérées ?

le dialogue se fait parfaitement mais le sign error des logs vient de la clé qui n’est pas correcte.

je vais regarder pour coder la façon dont HA accède au périphérique et ça semble en local en utilisant le uuid.

Pour récupérer les infos que j’ai collées, j’ai modifié ton plugin pour meros, j’envoie la commande Appliance.System.All (fonction getStatus) qui me renvoie les infos (donc sans clef correcte).

En relisant les logs que j’ai envoyé je ne comprends effectivement pas pourquoi j’avais « sign error » et maintenant un retour correct pour la même commande. Pour les commandes qui ne passent pas, je n’ai aucun retour du périph.

tu n’as aucun moyen de modifier avec l’interface les commandes envoyées, il faut modifier le code.

Oui, c’est bien dans le code que je fait mes modifs.

alors sans la clé il ne renvoie pas son état.
J’ai tout essayé, même le code HA, il ne veut pas.
par contre on peut actionner une prise.