Pour les machines HA distantes, une excellente solution consiste à employer le module de @TheD6Bel. Basé sur un esp8266, l’intégration avec espHome a permis de récupérer avec succès les valeurs de mon compteur
Hello, je me suis amusé à ajouter tout les sensors qui étaient possible d’ajouter
je me suis basé sur :
et retirer ceux qui ne sont pas compatibles avec nos compteurs:
voici mon YAML:
substitutions:
name: p1-reader
friendly_name: DSMR Reader
esphome:
name: p1-reader
platform: ESP8266
board: d1_mini
# Enable Home Assistant API
api:
encryption:
key: "XXX"
ota:
password: "XXX"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Dsmr Fallback Hotspot"
password: "XXX"
captive_portal:
logger:
# Serial logging is disabled by setting the logger baud rate to 0.
# Otherwise the logger will occupy the hardware UART, making it unavailable
# for receiving smart meter data on pin D7 (GPIO13).
baud_rate: 0
level: VERBOSE
uart:
rx_pin: D7
baud_rate: 115200
rx_buffer_size: 1500
dsmr:
request_pin: D5
request_interval: 15s
sensor:
- platform: dsmr
energy_delivered_tariff1:
name: ${friendly_name} Energy Delivered Tariff 1
id: Delivered_Tariff1
state_class: total_increasing
energy_delivered_tariff2:
name: ${friendly_name} Energy Delivered Tariff 2
id: Delivered_Tariff2
state_class: total_increasing
energy_returned_tariff1:
name: ${friendly_name} Energy Returned Tariff 1
id: Returned_Tariff1
energy_returned_tariff2:
name: ${friendly_name} Energy Returned Tariff 2
id: Returned_Tariff2
power_delivered:
name: ${friendly_name} Power Consumed
power_returned:
name: ${friendly_name} Power Returned
electricity_failures:
name: ${friendly_name} Electricity Failures
electricity_long_failures:
name: ${friendly_name} Electricity Long Failures
voltage_l1:
name: ${friendly_name} Voltage L1
voltage_l2:
name: ${friendly_name} Voltage L2
voltage_l3:
name: ${friendly_name} Voltage L3
current_l1:
name: ${friendly_name} Current L1
current_l2:
name: ${friendly_name} Current L2
current_l3:
name: ${friendly_name} Current L3
power_delivered_l1:
name: ${friendly_name} Power Delivered L1
power_delivered_l2:
name: ${friendly_name} Power Delivered L2
power_delivered_l3:
name: ${friendly_name} Power Delivered L3
power_returned_l1:
name: ${friendly_name} Power Returned L1
power_returned_l2:
name: ${friendly_name} Power Returned L2
power_returned_l3:
name: ${friendly_name} Power Returned L3
gas_delivered_be:
name: ${friendly_name} Gas Delivered BE
active_energy_import_current_average_demand:
name: ${friendly_name} Current Average
active_energy_import_maximum_demand_running_month:
name: ${friendly_name} Max Demande Running Month
active_energy_import_maximum_demand_last_13_months:
name: ${friendly_name} Max Demande Last 13 months
water_delivered:
name: ${friendly_name} Water Delivered
- platform: wifi_signal
name: "WiFi Signal Strenght"
id: wifi_signal_db
update_interval: 60s
- platform: copy
source_id: wifi_signal_db
name: "WiFi Signal (percent)"
id: wifi_signal_pct
unit_of_measurement: "%"
accuracy_decimals: 0
filters:
- lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
entity_category: "diagnostic"
- platform: template
name: Energy Delivered Total
unit_of_measurement: kWh
lambda: |-
return (id(Delivered_Tariff1).state + id(Delivered_Tariff2).state);
- platform: template
name: Energy Returned Total
unit_of_measurement: kWh
lambda: |-
return (id(Returned_Tariff1).state + id(Returned_Tariff2).state);
text_sensor:
- platform: dsmr
identification:
name: ${friendly_name} Identification
p1_version_be:
name: ${friendly_name} Version BE
message_long:
name: ${friendly_name} Message Long
- platform: wifi_info
ip_address:
name: "IP Address"
ssid:
name: "WiFi SSID"
bssid:
name: "WiFi BSSID"
il y a beaucoup de sensors en plus (et tous ne seront pas fonctionnel chez vous), des infos sur le wifi du module et deux template qui calcul la somme total de la conso (tarif 1 + tarif 2) et de ce qui est envoyé dans le réseau, à vous de voir ce qui est utile pour vous
voici en image chez moi ce que ça donne ( j’ai un monophasé donc pas de L2 et L3 chez moi)
Merci pour la mise à jour
J’utilisais déjà le calcul des consommations totales suite à nos échanges.
Merci pour le wifi, c’est commode de voir la qualité de la connexion du module dsmr.
oui c’est pratique, j’ai ajouté cette partie de code sur tous les modules esphome
Bonjour,
Quelqu’un a t’il une idée de la rallongedu cable maximum possible avec du cat5e ou 6 ?
Je dois avoir ± 15m entre le compteur et mon HA (rpi4b).
Sinon je partirai sur la solution de TheD6bel avec un D1 Mini en wifi
Merci
Eddy
Saint-Denis, Belgique
Je ne sais pas te donner la longueur max, ma première installation avec un adaptateur USB/rj12 j’avais placé un câble cat 5e qui devait faire 6 ou 7 mètres connecté à un serveur HP gen8
Maintenant la longueur dépend de la puissance de l’USB et la puissance USB du RPI n’est pas folle, tu devrais le connecter avec un HUB USB alimenté pour pouvoir le faire et atteindre tes 15 mètres MAIS sans certitude
Merci pour les infos et surtout pour tout le tuto.
Niveau alimentation USB, le Rpi ne va rien alimenter d’autre que la puce dans le connecteur USB du cable et comme ce connecteur USB sera du coté du Rpi, l’extension du cable va juste véhiculer les signaux qui doivent transiter jusqu’au compteur. Cable d’extension cat5 pas forcément adapté… (vu que le cat5/6 est torsadé et donc adapté à des signaux électriques en mode différentiel. Et les signaux ici sont seriels donc par rapport à la masse, si je ne me trompe pas)
Le risque c’est d’acheter le câble USB + extension en cat5 et que ça ne marche pas vu la rallonge…
Je vais donc plutôt aller vers ta solution avec un D1 Mini et ESPHome/DSMR
En achetant le matériel ici: https://www.domohab.be/categorie-produit/passerelle/
Domohab a réalisé un tuto avec ESPeasy mais la solution ESPHome/DSMR me semble bien plus facile
Encore merci
Eddy
Hello.
Finalement, je n’aurai mon compteur communicant que fin mars 2024 (mais gratuit car demande faite avant fin 2023, ouf).
J’ai vu une possibilité de prolonger en cable cat5/6 avec 2 convertisseurs-drivers de paires torsadées (liens ci-dessous) mais vu le prix… à moins de tenter de le faire soi-même vu qu’ils donnent les schémas.
Ces 2 modules convertissent des signaux logiques genre TTL en signaux différentiels pour paires torsadées, ce qui permet de transmettre sur 1 + grande longueur mais à tester
Récepteur:
Transmetteurs (driver):
Ce à quoi il faut toujours ajouter le cable serial-USB pour connection P1/DSMR si connection vers un pi3/4/5…
Si je trouve les IC en versions classiques (non-SMD) à un prix raisonnable, je testerai. Sinon, je resterai sur la solution du D1 mini
Eddy
ha oui chaud
je ne suis pas aller voir les prix des IC mais pour une solution sans wifi je pensais plus pour un ESP32 avec carte réseau qui est géré par esphome
je vais regarder pour en commander un pour le tester et voir les possibilités/compatibilités avec le PCB que j’ai déjà
EDIT : j’ai pas trouver un esp32 qui pourrait utiliser le PCB tel quel, faudra soit le mapper avec des fils soit refaire le cablage avec une platine de test mais ça se joue
Bonjour, je suis le créateur du petit module du site domohab. A l’origine, il a été développé pour Jeedom, juste pour moi , j’ai eu ensuite des demandes d’autres personnes sur jeedom, j’aa créé mon petit site pour facilité la vente. Ensuite, certaines parsonne de HA étaitent aussi interessées par celui ci. n’étant pas un pro de HA, j’ai fait le tuto avec un peu d’aide. Maintenant, s’il existe une solution plus simple, je suis interessé de la connaitre pour eventuellement l’ajouter. je n’ai pu le tester aussi que en Belgique, je ne peux pas garantir qu’il fonctionnera aussi dans les autres pays.
regarde si tu sais adapter le code de esphome à ton montage:
en théorie il ne devrait pas y avoir trop de stress
projet initial sur git :
Merci,
Je vais regarder cela. C’est sûrement faisable
après un peu de recherches et de découvertes, j’ai bien reussi a intégré les données dans HA a partir de ESP Home. rien n’a été modifié physiquement sur le module, la solution ESP Home marche aussi bien que ESP easy.
et ds les logs, j’ai les bonnes valeurs, reste plus qu’a vérifier que toutes les valeurs sont bien prises en compte…
ce qui est ok:
j’ai 33 valeurs qui remontent:
J’ai fait un petit tuto pour cette solution avec mon module, merci pour le coup de main
Merci « poluket » ! J’irai très certainement vers cette solution avec ESPHome.
Les IC pour « driver » une ligne en cat5/6 ne sont pas dispo en boitier DIL mais uniquement en SMD…
La soluce avec un ESP32-ETH a été testée par un developpeur (je ne retrouve pas le lien) et il rencontrait des problèmes d’incompatibilité avec le code DSMR pour ESPHome et le module ethernet et n’avait pas trouvé de solution dans l’immédiat…
Merci à tous et bonne fête
[29-12-2023] Pour ceux qui ne veulent pas de wifi, je viens de voir ceci: https://www.zuidwijk.com/product/p1-reader-ethernet/
Je viens d’installer ce petit module suite à l’installation du compteur communicant.
Tout fonctionne à merveille dès le branchement, j’ai bien toutes les valeurs annoncées qui remontent dans ESP-Home.
C’est parfait, une solution simple et efficace.
Bonjour TheD6BEL, je débute sur Home assistant, je ne possède pas supervisor, y a t il un autre moyen de rechercher l’USB? Merci pour le retour.
Hello, tu souhaites recherché le path de ton matériel, du genre /dev/ttyACM0?
Dans paramètres tu n’as pas système → matériel ?
Quel os utilises-tu?
je suis en train de finaliser une version câblée (rj45) pour ne pas utiliser le wifi. attention que ce modèle a besoin d’une alimentation extérieur pour l’alimenter (USB typeC 5V) .
S’il y en a qui veulent être des beta tester (fonctionne bien chez moi) avec espeasy, je n’ai pas cherché d’autres solutions pour le moment . envoyez moi un mp
Bonjour,
Je n’ai pas encore de compteur communicant mais je comptais partir sur le module ici en WiFi (impossible de câbler chez moi): https://www.zuidwijk.com/product/slimmelezer-plus/
ça a l’air nickel et pas besoin d’alimentation supplémentaire. Juste le raccordement au port P1. A tester !