Ondanks dat we in het tijdperk van de wifi leven is er veel behoefte aan fysieke internet koppelingen (ethernet). Ook zijn er inmiddels diverse vragen binnen gekomen of het niet mogelijk is om een ethernet P1 dongle te maken waarmee de slimme meter gegevens via het ethernet beschikbaar komen.

Weer een leuk onderzoeksprojectje 🙂 Ben direct eens gaan zoeken naar de mogelijkheden. Enkele mogelijkheden die te onderzoeken zijn:

  1. TTL (serieel) naar Ethernet adapter (Eport E10 – E20 etc)
  2. ESP32 met ethernet aansluiting (WT32-ETH of WT32-S1)
  3. W5500 lite adapter op een ESP32C3 (zelf onderzoeken)

De eerste twee zijn beschikbaar de ESP32C3 W5500 oplossing zal uit losse onderdelen gebouwd dienen te worden.

Eerste onderzoek: WT32-ETH

De WT32-ETH of S1 is al een tijdje op de markt beschikbaar en voor ca 15 euro kan je deze in Nederland op de kop tikken. Het bordje ziet er zo uit:

Wat er nog mist is:

  1. 5V voeding
  2. Seriele adapter om de WT32 te programmeren (flashen)
  3. klein beetje logica voor de P1 aansluiting

5V Voeding en seriele adapter

5V voeding en seriele adapter kunnen worden gecombineerd met een FTDI adapter, zie hieronder. TIP: wel de adapter op 5Volt zetten:-)

Aansluitingen op de WT32:
GND – GND
5V – 5V
RX – RX0 (niet RXD)
RX – TX0 (niet RXD)

GND en IO0 op de WT32 dienen doorverbonden te worden voor het flashen. Daarna niet vergeten deze weg te halen (anders blijft de download modus actief).

P1 logica

Alles wat je nodig hebt voor om de P1 aan te sluiten is:

  • RJ11 (6P6C) male connector
  • 6 aderige kabel (liefst plat)
  • 4k7 ohm weerstand

Pinout RJ11

Hieronder de P1 = RJ11 pinout voor een SMR 4 / 5 slimme meter. De SMR 2 en 3 versies hebben geen voeding op pin 1 en 6 staan.

Wat dient er te gebeuren om de P1 en WT32 te verbinden?

  1. RJ11 pin 2 dient aan 5V (pin 1) gekoppeld te worden. SMR 2/3 dient de 5V van extern te komen
  2. RJ11 pin 5 dient op IO4 van de WT32 aangesloten te worden
  3. RJ11 pin 3 (en evt 6) op GND van de WT32
  4. op de WT32 dient de 4k7 ohm weerstand tussen 3.3Volt en io4 gesoldeerd te worden
  5. eventueel kan de 5V (pin 1) op de WT32 5V worden aangesloten voor de voeding. In mijn testopstelling laat ik de FTDI via USB de WT32 voeden.

Als dit allemaal is aangesloten dan kan de firmware er opgezet worden.

4k7 weerstand tussen 3v3 en io4

Firmware

Keuze is gevallen op ESPHome omdat dit zo lekker snel en makkelijk aanpasbaar is. Hieronder de configuratie.

esphome:
  name: wt32
  platform: ESP32
  board: esp-wrover-kit

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  clk_mode: GPIO0_IN
  phy_addr: 1
  power_pin: GPIO16

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:

web_server:
  port: 80
  
uart:
  rx_pin:
    number: 4
    inverted: true
  baud_rate: 115200
  rx_buffer_size: 1700
  
dsmr:
 id: dsmr_instance
 receive_timeout: 200ms
 max_telegram_length: 1700

button:  
  - platform: restart
    name: "Reboot device" 
    id: reboot
      
sensor:
  - platform: dsmr
#    energy_delivered_lux:
#      name: "Energy Consumed Luxembourg"
#      state_class: total_increasing
    energy_delivered_tariff1:
      name: "Energy Consumed Tariff 1"
      state_class: total_increasing
    energy_delivered_tariff2:
      name: "Energy Consumed Tariff 2"
      state_class: total_increasing
#    energy_returned_lux:
#      name: "Energy Produced Luxembourg"
#      state_class: total_increasing
    energy_returned_tariff1:
      name: "Energy Produced Tariff 1"
      state_class: total_increasing
    energy_returned_tariff2:
      name: "Energy Produced Tariff 2"
      state_class: total_increasing
    power_delivered:
      name: "Power Consumed"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_returned:
      name: "Power Produced"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    electricity_failures:
      name: "Electricity Failures"
      icon: mdi:alert
    electricity_long_failures:
      name: "Long Electricity Failures"
      icon: mdi:alert
    voltage_l1:
      name: "Voltage Phase 1"
    voltage_l2:
      name: "Voltage Phase 2"
    voltage_l3:
      name: "Voltage Phase 3"
    current_l1:
      name: "Current Phase 1"
    current_l2:
      name: "Current Phase 2"
    current_l3:
      name: "Current Phase 3"
    power_delivered_l1:
      name: "Power Consumed Phase 1"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_delivered_l2:
      name: "Power Consumed Phase 2"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_delivered_l3:
      name: "Power Consumed Phase 3"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_returned_l1:
      name: "Power Produced Phase 1"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_returned_l2:
      name: "Power Produced Phase 2"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    power_returned_l3:
      name: "Power Produced Phase 3"
      unit_of_measurement: "W"
      state_class: "measurement"
      accuracy_decimals: 0
      filters:
        - multiply: 1000
    gas_delivered:
      name: "Gas Consumed"
      state_class: total_increasing
    gas_delivered_be:
      name: "Gas Consumed Belgium"
      state_class: total_increasing
  - platform: uptime
    name: "Uptime"
      
text_sensor:
  - platform: dsmr
    identification:
      name: "DSMR Identification"
    p1_version:
      name: "DSMR Version"
    p1_version_be:
      name: "DSMR Version Belgium"
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: true

Na het flashen van de WT32 kan de webinterface gevonden worden via http://wt32.local

In HomeAssistant zal de WT32 snel gevonden kunnen worden en toegevoegd aan de devices. De gegevens rollen dan snel vanzelf binnen.

Ik zal later ook de andere onderzoeken in de blog publiceren.

Voor- en nadelen

De WT32 oplossing heeft enkele voor en nadelen, namelijk:

+ goedkope hardware
+ snel up and running
+ Home Assistant koppeling fluitje van een cent (net zo makkelijk als met andere oplossingen)
– FTDI of andere Seriele – TTL converter nodig
– soldeerwerk om de weerstand te verbinden
– RJ11 aansluiting kan gedoe zijn als je de juiste tools niet hebt

Ben je handig en heb je een TTL – Seriele adapter liggen dan is bovenstaande snel voor elkaar. De FTDI adapter is niet meer nodig na flashen. De 5V voeding kan dan uit de slimme meter gehaald worden (bij een SMR 4 en 5 versie).

Conclusie

Slimme meter via ethernet uitlezen is goed te doen met redelijk betaalbare componenten. De WT32-ETH oplossing is leuke en snel voor de hobbyist die weet wat hij/zij doet. Mis wel een geïntegreerde TTL – Seriele adapter waardoor er nu nog een FTDI adapter nodig is. De ESP32C3 oplossing heeft op dit moment op papier mijn voorkeur 😉

Geef een reactie

Winkelwagen

0
image/svg+xml

Geen producten in uw maandje

Verder winkelen