Domoticz – OWL CM 180 votre consommation électrique en temps réel (sans Linky)

Dans un précédent article, nous avons vu comment avoir sur Domoticz notre consommation électrique en ajoutant notre compteur Linky. Aujourd’hui nous allons récupérer l’information en temps réel.
Pour les besoins de mon association de modélisme, il me fallait un visuel temps réel de l’intensité. Lors des gros événements, comme le championnat de France, les pilotes utilisent des couvertures chauffantes pour leurs pneus… imaginez, vous multipliez environ 200w pour 90 pilotes. Qui dit course dit aussi système informatique pour le comptage et les chronos qui n’ont pas le droit à la moindre coupure. Même si le système est sur onduleur je voulais anticiper les coupures de courant et éviter ce que nous avons vécu sur une autre course. Je me suis donc mis à la recherche d’une pince ampèremétrique, mais il fallait que je puisse l’ajouter sur Domoticz. On trouve très rapidement le modèle idéal… Il en existe très peu. Le modèle qui ressort le plus souvent c’est le modèle de chez OWL – CM180 compter 46€ pour la pince et son écran d’affichage.

OWL CM 180

Regardons le produit de plus près (contenu et caractéristiques)…

Caractéristiques techniques :

  • Fréquence : 433MHz ;
  • Portée : 30m ;
  • Rafraîchissement : 12 secondes ;
  • Durée de la batterie : 14 mois ;
  • Puissance maxi : 71A ;
  • Fonctionne sur le triphasé.

Contenu de la boite :

  • 1x Transmetteur ;
  • 1x Écran LCD ;
  • 1x Pince ampèremétrique standard ;
  • 5x piles AA LR061x Manuel utilisateur.

Pour ce boîtier il me fallait 2 critères indispensables, qu’il soit possible d’avoir la consommation sur Domoticz mais aussi la puissance max ici de 71A sachant que notre compteur est à 60A.

L’afficheur

L’écran d’affichage est léger et petit (10 x 10 cm), il affichera les infos suivantes :

  • La consommation instantanée (kW) et cumulée (kWh) ;
  • Le tarif quotidien et mensuel en euros ;
  • La consommation moyenne (jour, semaine, mois) ;
  • Comparée la consommation (jour/semaine/mois précédent) ;
  • Jour / heure.

L’émetteur

Ce boîtier de 10 x 8 cm sera à placer prés de votre compteur électrique ou près de l’arrivée de votre tableau. Il permet de connecter la pince ampèremétrique pour une installation monophasée ou 3 princes pour une installation triphasée. Une pince étant livrée il vous faudra en acheter 2 supplémentaires.

La pince ampèremétrique

La pince livrée est assez petite, son diamètre permettra d’être monté sur un fil de section de 10mm maximum. Elle se relie sur l’émetteur. Le système de blocage en plastique est de bonne qualité. Une fois ouverte on aperçoit les aimants.

OWL a aussi pensé aux câbles de plus grosse section. En effet, une pince option est disponible. Elle permet d’être montée sur un fil de 17mm maximum (CMA116). Au niveau de la taille, elle est beaucoup plus imposante. Il faudra plus de place pour son montage.

Pour vous donner une idée de la taille des pinces voici une photo sur une boite de CD, à gauche comme vous vous en doutez il s’agit de la pince option et à droite la pince livrée avec le CM180.

L’installation

Dans mon cas, l’installation a été assez simple. Le compteur Linky est installé à l’extérieur de nos locaux à environ 50m : trop loin pour une communication avec le RFLink. La pince a donc été montée sur la phase, dans le tableau électrique, non loin de la baie informatique. Le boîtier est positionné juste au-dessus.

Ajouter le CM180 sur Domoticz

Si vous avez laissé la détection automatique sur Domoticz depuis que vous avez mis les piles dans les boîtiers, celui-ci envoi déjà des informations. Sur Domoticz allez dans Réglages puis sur Dispositif, classez la liste par IDX pour avoir en dernier le CM180, que vous devriez voir dans la liste. Cliquez sur la flèche verte pour l’ajouter, indiquez un nom de préférence sans accent cela pourrait être gênant pour la suite, puis Ajouter un dispositif. Allez maintenant sur le  menu Mesures et vous aurez votre puissance en watt.

What ? C’est une pince ampèremétrique mais ça remonte en Watt

Comme sur l’écran du CM180, la remontée en watt peut nous informer sur la consommation mais dans mon cas je devais avoir une remontée en ampère… afin d’éviter de disjoncter. Domoticz a tout prévu,allez dans Réglages puis Paramètres et sur l’onglet Sondes / Compteurs : il y a un encart pour le CM180. Vous pouvez indiquer la tension et le type d’affichage en Watt ou Ampère mais ça ne fonctionne pas.

Nous allons regarder comment obtenir les 2 valeurs, grâce à un membre du forum easydomoticz. Ce dernier a créé un script pour ajouter un affichage en ampère. Pour cela, il faut utiliser la formule de la puissance I = P / U d’où Puissance en watt que l’on connaît par le CM180 divisé par la puissance en volt qui est le 230v = I qui donnera l’ampérage.
Mais attention l’ampérage varie selon la puissance. Le fait de perdre quelques volts sur votre arrivée peut faire vite monter l’ampérage, ce qui est mon cas (on en reparlera plus bas). Si vous avez un onduleur sur Domoticz (voir cet article), nous avons la tension en temps réel et nous pouvons l’utiliser pour connaitre la vrai valeur de l’Intensité. Dans Domoticz, nous allons ajouter un matériel virtuel : allez dans Réglages puis Matériel indiquez un Nom CM180 (important, il va nous servir plus loin) et dans la liste Type sélectionnez Dummy puis cliquez sur Ajouter.

Une fois ajouté, cliquez sur Créer un capteur virtuel, indiquez un nom et dans la liste Type de capteur sélectionnez Ampère (Monophasé) et cliquez sur OK. Vous devriez voir votre capteur dans le menu Mesures.

Le script avec une tension fixe

Allez maintenant dans le menu Réglages puis Dispositifs, repérez dans la liste le capteur virtuel CM180, puis dans la colonne idx notez l’ID ici 8.

On va ajouter le script pour remonter la valeur en ampère : allez dans Réglages puis Plus d’options et Événement. Entrez un nom puis en dessous sélectionnez Lua et Device, puis cochez la case pour l’activer. Effacez tout le code d’exemple et collez le code ci-dessous.

local idx = 8 --idx du device virtual
local cm180 = 'Wattmetre' --nom du capteur CM180
local tension = '230' --valeur de la tension, puisque non mesuré par le CM180
function round(num, dec)
   if num == 0 then
	 return 0
   else
	 local mult = 10^(dec or 2)
	 return math.floor(num * mult + 0.5) / mult
   end
end

commandArray = {}


if (devicechanged[cm180]) then
    --on calcul l'intensite
    --print('Valeur '..otherdevices[cm180])
    p1, p2 = string.match(otherdevices_svalues[cm180], "(%d+.%d*);(%d+.%d*)")
    --on les transforme en Ampere
	intensite = p1 / tension
	--2 chiffres après la virgule
	intensite = round(intensite, 2)
	commandArray[#commandArray+1]={['UpdateDevice'] = idx..'|0|'..intensite} ---- mise a jour du device virtuel
end
return commandArray

 

Dés la première ligne du code, il faut indiquer l’IDX de votre capteur virtuel précédemment créé (dans mon exemple il s’agit de 8). Dans la seconde ligne, indiquer le nom du vrai capteur du CM180 qui remonte la puissance en watt. Plus haut, on peut voir qu’il se nomme Wattmetre, entrez le nom entre les guillemets et sans accent, c’est très important. Une fois les modifications faites, cliquez sur Save. Allez sur le menu Mesures vous devriez voir votre consommation en watt du CM 180 et en ampère grâce au script.

Si cela ne fonctionne pas, aller dans Réglages puis Logs et regardez si vous avez des erreurs. Si tout ce passe bien vous devriez avoir les lignes suivantes.

2019-04-08 09:18:37.176 (RFLink) General/kWh (Wattmetre)
2019-04-08 09:18:37.304 Status: EventSystem: Script event triggered: Amperage

Le script avec une tension connu

Avec un onduleur, il est possible d’avoir une valeur la plus exacte possible comme celui-ci remonte la tension, le calcul sera au plus juste.
La manipulation reste la même mais il y a une ligne du script qui change. Ajoutez un événement comme vu ci-dessus et copiez le code suivant :

local idx = 8 --idx du device virtual
local cm180 = 'Wattmetre' --nom du capteur CM180
local tension = otherdevices['Onduleur Baie - Tension'] --valeur de la tension, de l'onduleur
function round(num, dec)
   if num == 0 then
	 return 0
   else
	 local mult = 10^(dec or 2)
	 return math.floor(num * mult + 0.5) / mult
   end
end

commandArray = {}


if (devicechanged[cm180]) then
    --on calcul l'intensite
    --print('Valeur '..otherdevices[cm180])
    p1, p2 = string.match(otherdevices_svalues[cm180], "(%d+.%d*);(%d+.%d*)")
    --on les transforme en Ampere
	intensite = p1 / tension
	--2 chiffres après la virgule
	intensite = round(intensite, 2)
	commandArray[#commandArray+1]={['UpdateDevice'] = idx..'|0|'..intensite} ---- mise a jour du device virtuel
end
return commandArray

Toujours sur la première ligne indiquez l’IDX du capteur virtuel, dans la seconde ligne le nom du capteur du CM 180 la nouveauté se trouve à la 3e ligne indiquez entre les guillemets le nom de votre capteur de l’onduleur qui remonte le tension. Il ne faut pas non plus de caractères spéciaux. Allez dans votre menu Mesures et votre valeur en ampère devrait s’afficher.

L’importance d’avoir la tension

Comme indiqué plus haut, si la tension chute, l’intensité augmente et peut faite disjoncter votre compteur en temps normal. La tension varie peu mais pas chez nous et elle peut faire très peur. Les graphiques ci-dessous parle d’eux mêmes. Il y avait une forte consommation ce week-end. Même si la valeur à atteint les 80A pour un compteur à 60A, le pic n’a pas duré… donc le compteur n’a pas sauté. Ci-dessous le graphique de la tension, on peut voir une chute à 204v à cette tension certains appareils peuvent ne plus fonctionner grâce à mon onduleur tout à tenu. En effet, il est passé en mode BOOST pour ajuster à 230v en sortie grâce aux batteries.

Sur le graphique suivant, c’est l’intensité. On peut voir la forte montée de l’ampérage.

La consommation en détail

Pour le wattmètre, dans les logs, on retrouve sa consommation en temps réel pour chaque heure mais aussi pour la semaine, le mois et l’année.

Qu’en pensez-vous ?

  1. Pas mal… Ce compteur est-il capable de comptabiliser les consommations des puissances de types ACTIVE, REACTIVE et APPARENTE ? Il me semblait que cette technologie sans contacte direct ne permettait pas de comptabiliser l’un des trois types de consommations et donc une légère incohérence par rapport au compteur ENEDIS

  2. Bonjour, J’utilise un CM160 nommer OWL avec 3 pinces ampèremétrique j’ai modifier le code comme ce si je ne connais pas LUA j’ai modifier cm180 par OWL ? Merci pour votre réponse

    local idx = 77 –idx du device virtual
    local cm180 = ‘OWL’ –nom du capteur CM180
    local tension = otherdevices[‘230’] –valeur de la tension, de l’onduleur
    function round(num, dec)
    if num == 0 then
    return 0
    else
    local mult = 10^(dec or 2)
    return math.floor(num * mult + 0.5) / mult
    end
    end

    commandArray = {}

    if (devicechanged[OWL]) then
    –on calcul l’intensite
    –print(‘Valeur ‘..otherdevices[cm180])
    p1, p2 = string.match(otherdevices_svalues[OWL], « (%d+.%d*);(%d+.%d*) »)
    –on les transforme en Ampere
    intensite = p1 / tension
    –2 chiffres après la virgule
    intensite = round(intensite, 2)
    commandArray[#commandArray+1]={[‘UpdateDevice’] = idx..’|0|’..intensite} —- mise a jour du device virtuel
    end
    return commandArray

    1. Normalement c’est bon du moment que tu mets l’idx et le nom de ton OWL après tu as 3 pinces donc en tri phasé je ne sais pas si le script marche si tu as bien une valeur en Watt normalement oui car le script fait tout simplement le calcul.

  3. >> Pour les besoins de mon association de modélisme
    Auto à priori ? TT ou piste ? Ca serait marrant qu’on se soit déjà rencontré qq part sur une piste 😉

    Sinon, sujet intéressant à titre perso : vais peut être te piquer qq idées 😉

  4. Bonjour,
    grâce à vos articles d’une grande pédagogie, je découvre peu à peu les possibilités offertes par Domoticz et plus spécifiquement sa version Synology, grand merci à vous!

    À ce sujet, je me demandais si le modèle OWL CM160 équipé d’une prise USB permettait de faire l’économie du module RFLink une fois branché au Syno, qui se trouve pour ma part juste à côté de l’arrivée électrique de la maison?
    Si le lecteur « MANGEON » repasse par ici ou que quelqu’un connait la réponse, je suis preneur.

    1. Hello,

      A mon avis, non. Le capteur est indiqué en 433Mhz sur sa fiche technique, c’est donc via RF qu’il envoie les infos (notamment à l’écran je suppose, sur un fonctionnement normal). Après, te passer du RFLink c’est possible, tu peux prendre un RFXCom (qui ne fait que la fréquence 433)

  5. Bonjour,

    merci pour ce très bon tuto, et merci pour la qualité de votre site, je suis un lecteur assidu!
    J’ai mis en oeuvre ce tuto la semaine dernière, et je retrouve dans les courbes de relevés des « aberrations » sur puissance (et par conséquent ampérage): 1 pic sur 24h (mais pas tous les jours), la nuit (jamais à la même heure), et non synchronisé avec un basculement HP/HC. La puissance monte sur des valeurs aberrantes (ex: 100kW) sur un point de mesure puis retombe à un niveau normal… une idée de ce à quoi ça pourrait être lié? C’est facheux car cela fausse les statistiques, et le graphe devient illisible.

    1. Salut,
      Très bizarre les piques que tu parle perso aucun problème de ce type depuis l’installation. Par contre tu as peut être des chutes de tension qui fait monter l’ampérage mais ça serait pas aussi haut ! Il faudrait un onduleur connecté à Domoticz pour voir si ça se produit au même moment.

  6. Bonjour,

    J’ai un Raspberry pi 3 avec Domoticz et un Rflink 433 MHz.

    J’ai installé le dispositif d’affichage des consos fournies par Linky via Enedis.fr. Ceci avec votre tuto, et c’est nickel.

    Par contre, j’ai un dispositif équivalent à celui présenté ici qui me fournit les conso en temps réel (toutes les 10s). C’est un Efergy Engage (https://efergy.com/engage/...) en Z-Wave utilisé via le site de Wivaldy (https://www.wivaldy.com/) qui fournit une interface web minimum, que je ne trouve pas complète.

    Si je veux utiliser Domoticz avec, j’ai donc à priori deux solutions :

    1. Acheter/monter un « Rflink » like en Z-Wave et faire comme expliqué ici.
    2. Utiliser l’API de Wivaldy (que leur patron m’a envoyé) afin de récupérer les données, comme pour le Linky.

    Je voulais savoir ce que vous en pensez.

    Je suis développeur, mais en terrain inconnu sur Domoticz 🙂

  7. Ah dommage, je viens de découvrir l’article et étais bien tenté… mais OWL CM 180 n’est plus dispo à la vente. Reste un produit similer d’aeotec, en zwave. Autres produits similaires ?

  8. Bonsoir,
    Je viens de prendre connaissance de votre sujet mais le calcul de l’intensité ne peut pas se faire en tenant compte uniquement de la puissance active (P en W). Il faudrait connaître la puissance apparente S (en VA) pour un calcul fiable de l’intensité du courant.
    Cordialement
    JC

  9. En courant continu P = U.I mais en alternatif, P = U.I.cos(phi)
    Le cos(phi), compris entre 0 et 1, dépend des appareils branchés sur l’installation électrique.

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.