Config EAI-90 (ou ZMAi-90)

Bonjour,
J’ai reçu un compteur d’énergie EAI-90 (identique au ZMAi-90), comme j’ai du chercher pas mal pour pouvoir m’en servir, je mets ci dessous les principales infos pour l’intégrer à Jeedom:

Comme ca fonctionne avec Smart Life, l’intégrer dans Jeedom avec le pluging WifilightV2, utilisant le Type de périph « Tuya Smart Life compatible V3 », Sous-type « Personnalisé ».
Remplir le LocalKey et devId avec la méthode habituelle.

Les dps sont: (https://github.com/rospogrigio/localtuya/issues/310)
1: à diviser par 100 pour avoir le cumul en kWh
6: info regroupant les valeurs instantanées de tension, intensité et puissance, voir plus bas
10: défaut (code ? binaire ?)
12: inconnu
13: inconnu
16: controle de relais électromécanique intégré
17: seuils d’alarme, codage inconnu (probablement à déterminer avec le principe de codage du dps 6)

Le dps 6 regroupe la tension, l’intensité et la puissance en base64:
16 premiers bits: tension (V, x10)
24 bits suivants: intensité (mA)
24 bits suivants: puissance (W)

Pour afficher cela dans Jeedom:

  • créer un scénario, insérer un bloc code et y copier:
$string = cmd::byString('#[Garage][Compteur denergie][V_I_P_dps_6]#')->execCmd();

//Conversion de base64 en une chaine de bits
   	$string_bin = base_convert(bin2hex(base64_decode($string)),16,2);
           echo 'string bin: '.$string_bin;

//Mise à jour de la tension (les premiers bits hors les 48 derniers (car les premiers 0 ont été supprimés!)
	$tension_bin= substr($string_bin,0,strlen($string_bin)-48);
   	$tension = bindec($tension_bin)/10;
	echo 'Tension: '.$tension.' V';
	cmd::byString('#[Garage][Energy Meter][Tension]#')->event($tension);

// Mise à jour de l'intensité: (les 24 bits suivants)
	$intensite_bin = substr($string_bin,strlen($string_bin)-48,24);
    $intensite = bindec($intensite_bin)/1000;
	echo ' - Intensité: '.$intensite.' A';
	cmd::byString('#[Garage][Energy Meter][Intensité]#')->event($intensite);

// Mise à jour de la puissance: (les 24 bits suivants)
   	$puissance_bin = substr($string_bin,strlen($string_bin)-24,24);
   	$puissance = bindec($puissance_bin);
	echo ' - Puissance:  '.$puissance.' W';
	cmd::byString('#[Garage][Energy Meter][Puissance]#')->event($puissance);

// Mise à jour de la conso totale
	$conso = cmd::byString('#[Garage][Compteur denergie][Total_NRJ_dps1]#')->execCmd();
	$conso =  $conso/100;
	echo ' - Conso: '.$conso.' kWh';
    cmd::byString('#[Garage][Energy Meter][Conso_Total]#')->event($conso);

#[Garage][Compteur denergie][V_I_P_dps_6]# : c’est là qu’est récupéré le dps6 (« Compteur denergie » est l’équipement WifilightV2)
#[Garage][Energy Meter][****]# sont des infos dans un virtuel qui permet de collecter les 4 info (puissance, tension, intensité, conso totale) (« Energy Meter » est le nom du Virtuel)

Le scénario est du type provoqué, sur changement de #[Garage][Compteur denergie][V_I_P_dps_6]#.

il y a une config zmai dans le plugin. elle ne fonctionne pas ?
par contre dps 1/16/17 non implantés

Hello,
je ne l’avais pas vue, désolé !
Au départ je m’étais focalisé sur EAI-90 avant de voir au gré de mes recherches que c’était probablement la meme chose d’où mon commentaire « identique au ZMAi-90 » mais sans rechercher dans la liste des config.

Du coup, je viens de tester la config ZMAI,

  • ca remonte la consommation totale (mais il faudrait x10 ou /100 pour avoir des Wh ou des kWh)
  • ça remonte 0 pour la tension, l’intensité et la puissance
  • le dps 6 remonte bien une valeur en base64 (j’ai modifié de « numérique » à « autre » pour l’afficher)

ci dessous :

  • le résultat de mon code php et, à coté, ce qui est remonté « sans filtre » par les dps
  • en dessous, le résultat de la config ZMAI qq minutes plus tard

Le dps 6 remonte dans les deux cas une valeur en base64 mais voltage, intensité et puissance affichent toujours 0 (dps 7, 8 et 9 de la config ZMAI), donc je pense qu’il faudrait implémenter le traitement du dps 6 que j’ai indiqué dans mon 1er post pour que ces informations soient directement disponibles.

ps: merci pour ton plugin qui permet d’associer tous les équipements fonctionnant sous SMART LIFE !

image

Copie d’écran de SMART LIFE (qq minutes plus tard)
image

C’est bien le cas.
bogues corrigés
ajout dps 16

Prendre beta plugin
sauvegarde de l’équipement

Hello,
C’est bon (y compris le controle du relais et son état), sauf la puissance. :face_with_head_bandage:

Elle est contenue dans les 24 derniers bits de CUAAATYAADE= soit 00001001 01000000 00000000 00000001 00110110 00000000 00000000 00110001
soit 00000000 00000000 00110001 = 49 W

corrigé en beta et stable

Merci, le plugin est fonctionel!
Pour du perfectionnisme, l’unité « mA » devrait etre « A » et « W » devrait etre « kW ».

image

Vu. modifié et merci pour les retours.

Si le plugin vous plait et que vous voulez le soutenir, n’hésitez pas à voter pour lui et à mettre un commentaire.

C’est ici
le lien pour voter est à droite des 3 premiers commentaires.

Il faut avoir lié votre compte community avec le market : aller dans votre profil sur le market et renseigner : pseudo pour la communauté.

Si vous n’aimez pas le plugin, me contacter pour participer à son amélioration.

Merci

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.