Intégration compteur P1 HomeWizard

Bonsoir à tous,

Un tuto pour commencer dans le monde de l’optimisation de l’énergie :slight_smile:
En effet, j’ai reçu le nouveau compteur communicant, non sans 3 visites d’ores (bienvenu chez les wallons!)

Ayant déjà les infos de mon solaredge grâce au plugin modbus de @Mips (merci à lui pour son temps pour ce plugin à prix dérisoire), il me manquait les données d’injection et prélèvement pour connaitre en temps réel ma consommation… Ce n’est que la première étape :grin:

J’ai décidé de partir sur la solution wifi Homewizard pour sa facilité de mise en place. J’avais également pris un cable P1 usb, mais il y avait pas de plugin prévu, il aurait encore fallu passer par un script, bref pas évidement pour faire correspondre les chiffres de production et de conso à un même instant T

Homewizard dispose d’une API local, point qui avait retenu mon attention.
Elle est consultable en JSON via l’URL http://{IP_ADDRESS}/api/v1/data ou bien en texte via http://{IP_ADDRESS}/api/v1/telegram

A noter que je suis dans un réseau bien belge :joy: 2x230v sans neutre. Dans le cas d’après la doc du compteur, pas de tension L2, normal qu’il soit à 0 ici :

Voici un extrait du json :

{
  "wifi_ssid": "----",
  "wifi_strength": 100,
  "smr_version": 50,
  "meter_model": "Fluvius xxxxxxxxx_D",
  "unique_id": "xxxxxxxxxxxxxxxxxxx",
  "active_tariff": 1,
  "total_power_import_kwh": 26.501,
  "total_power_import_t1_kwh": 21.396,
  "total_power_import_t2_kwh": 5.105,
  "total_power_export_kwh": 0.525,
  "total_power_export_t1_kwh": 0.491,
  "total_power_export_t2_kwh": 0.034,
  "active_power_w": 740,
  "active_power_l1_w": 350,
  "active_power_l2_w": 0,
  "active_power_l3_w": 389,
  "active_voltage_l1_v": 226.5,
  "active_voltage_l2_v": 0,
  "active_voltage_l3_v": 234.3,
  "active_current_l1_a": 3.47,
  "active_current_l2_a": 1.42,
  "active_current_l3_a": 2.29,
  "active_power_average_w": 315,
  "montly_power_peak_w": 3056,
  "montly_power_peak_timestamp": 240124200000,
  "external": []
}

récupération des données

Je me suis donc dirigé vers le plugin script pour digérer ce json. J’espérai bien que les multiples commandes faites sur la même URL seraient faite en une seule requête pour ne pas saturer le homewizard et bien oui :slight_smile: j’ai vérifié avec wireshark le trafic, merci pour cette optimisation l’équipe Jeedom !

Notez bien que je n’ai pas mis d’auto-actualisation car je veux descendre en dessous de la minute pour le relevé et surtout le faire correspondre au relevé du solaredge pour avoir une données de consommation exacte.

Il faut sélectionner sélectionner JSON de type info numérique. En paramètre l’url en question, l’ip est à changer pour la votre! A ce propos je vous conseille de fixer l’IP dans votre DHCP, la plupart des box internet je propose. Afin d’éviter qu’elle ne change :wink:


Ensuite je valide pour aller sur chaque commande changer l’arrondi, le type de valeur
image
J’arrange un peu l’affichage également avec des Tile, badge et line.

Point d’attention pour la puissance, pas de lissage, mais purge plus fréquente :

Une fois validé, j’ai une tuile pas trop dégeux , veuillez à actualisé manuellement jusqu’ici :

image

Actualisation des données

Pour actualiser les données, il faut le faire au moment de l’actualisation de l’onduleur solaire pour avoir des données fiables! On ne peut pas se fier au cron.

  1. Au début j’avais pris la donnée de la puissance de l’onduleur, mais cela pose problème quand l’onduleur ne produit rien :sweat_smile: la valeur n’étant pas mise à jour, pas d’évènement.
    Veuillez donc utiliser une donnée qui varie tout le temps, comme la fréquence réseau qui est à 3 décimales, quelle précision :dizzy_face:
  2. En plus de cela je met une programmation au cas où le solaredge serait en maintenance.
  3. désactivez les logs après les tests, c’est pas une donnée essentiel à garder

Le scénario est très simple, quand l’évènement déclencheur est le solaredge, on rafraichit le script.
Quand c’est le cron, on vérifie que l’état n’a pas changé dans la minute et donc que l’event du solaredge n’a pas eu lieu pour ne rafraichir la donnée qu’en cas de maintenance uniquement!
Le solaredge est configuré pour se rafraichir toutes les 15 secondes.

Calcul de puissance et consommation

J’ai créé un virtual pour le calcul de la puissance consommée, rien de sorcier

J’en ai créé un autre pour la consommation journalière, mensuel et annuel, il faudra attendre pour les données! Les calculs sont plus complexes, voici les exemples pour la consommation et l’autoconsommation :

Cela donne ceci :
image

Je n’ai pas encore regroupé toutes les consonsommateurs que je connais :
image

Prochaine étape, le plugin SolCast :grinning:

Salut,

Il existe aussi la solution de @Poluket: Relève informations compteur communiquant Belgique - #2 par Mips
pour laquelle il y a même un plugin (faut que je le passe en stable): SmartMeter P1, et la Documentation

1 « J'aime »

J’avais vu, mais cela sort des données en format texte (un peu comme l’api en mode telegram du homewizard) et tu dois passer une moulinette à chaque fois pour convertir les données, plusieurs fois par minutes, c’est pas très efficace.
Une page exploitable en JSON pour cette passerelle P1 serait un gros plus :slight_smile:
J’avais pas vu le plugin par contre, claire que ce serait encore plus simple, j’y penserai le jour où le homewizard pète :wink:

La solution homewizard rafraîchi à quelle fréquence?

Il peut descendre à la seconde si je m’interroge à cette fréquence. Le port P1 client ne descend pas en dessous de la seconde.

Oui je sais pour le port p1 mais tous les devices de ce type ne le font pas

Hello,
J’ai fait vite fait un plugin home wizard p1 en bêta chez moi, il peut tourner à la seconde mais je le fait tourner à 5 sec (j’ai leur écran aussi qui s’y connecte, pas envie de trop le surcharger) aussi. Il tourne depuis 4 mois.

Ah c’est cool
C’est en projet d’inclure le support de cette passerelle dans le mien (le code est dans une branche à part mais je veux encore nettoyer un peu l’intégration)

Ah alors je vais pas me donner la peine, j’attends que tu intègres en utilisant le miens :wink: mais homewizard c’est aussi des prises connectées, des disjoncteurs, un liseur de compteur d’eau etc

Ou je ne le fait pas justement
Car je n’ai pas l’intention de supporter tous leur devices

Ah moi j’avais prévu :wink: tu veux que je le fasse et mette des fonctions statiques si tu veux intégrer ? (Y’a une plus value de calcul dans ton plugin non ?)

Ok vas-y
Pour les calculs c’est pas rocket-science, juste des compteurs journalier et mensuel ainsi que des totaux hc+hp et puissance net (import - export) donc parfaitement faisable via virtuel au pire.

On pourra voir ensuite comment lier les deux éventuellement.

Salut belgotux

A tout hasard, sais-tu ce que siginifie la valeur « active_power_average_w » ?
J’ai comme toi un compteur intelligent et le HomeWizard P1.

J’ai réussi a remonter les valeurs via un script python dans jeedom mais je n’arrive pas a interpréter correctement cette valeur, que veut-elle dire ? :slight_smile:

J’ai un plugin en bêta si tu veux :wink: mais les données sont juste remontées dans une commande qui a son nom :slight_smile: donc ça n’aidera pas pour ta question. Relevée toutes les 5 secondes pour l’instant mais sera configurable.

Ça sert à rien cette valeur, ou plutôt disons que j’en vois pas l’intérêt, surtout avec une box domotique derrière.
C’est la même avec tous les modules, pas que homewizard, c’est le compteur qui calcule, et de mémoire c’est la moyenne sur le derniers quart d’heure.

Je ne l’ai pas exploitée, c’est une moyenne oui mais sur quelle période ça je ne sais pas.
J’étais tombé sur un document de la norme du cahier des charges des compteurs, quand j’avais voulus regarder à faire l’électronique moi même. Puis j’ai vu le prix du homewizard et j’ai changé d’avis :sweat_smile:
Après si tu as le compteur kWh, selon la période tu peux la déduire avec une différence sur cette même période.
Je vois pas trop l’utilité de cette valeur je t’avoue.