Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Working with VKW Honeywell DM515 #44

Open
g0mml opened this issue Sep 22, 2024 · 0 comments
Open

Working with VKW Honeywell DM515 #44

g0mml opened this issue Sep 22, 2024 · 0 comments

Comments

@g0mml
Copy link

g0mml commented Sep 22, 2024

Thank you for your effort @DomiStyle 👍

Works with VKW Honeywell DM515 smart meter using the following config:

esphome:
  name: vkw-waerme
  platform: ESP32
  board: az-delivery-devkit-v4
  includes:
    - ./esphome-dlms-meter

# Enable logging
logger:
  level: INFO
#  tx_buffer_size: 2048 # Only needed when logging large packets

# Enable Home Assistant API if not using MQTT
#api:
#  password: "1234"
#  reboot_timeout: 0s


ota:
  - platform: esphome
    password: ""

wifi:
  ssid: "xxx"
  password: "xxx"
  output_power: 8.5dB

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "xxx"
    password: "xxx"


#web_server:
#  port: 80

uart:
  tx_pin: GPIO16 #changed as recommend in other issue and on https://www.libe.net/smart-meter
  rx_pin: GPIO35 #changed as recommend in other issue and on https://www.libe.net/smart-meter
  baud_rate: 2400
  rx_buffer_size: 2048 # Needed to receive the large packets send by the smart meter
  id: mbus

sensor:
  - platform: template
    id: meter01_voltage_l1
    name: meter01_voltage_l1
    unit_of_measurement: V
    accuracy_decimals: 1
    device_class: "voltage"
    state_class: "measurement"
  - platform: template
    id: meter01_voltage_l2
    name: meter01_voltage_l2
    unit_of_measurement: V
    accuracy_decimals: 1
    device_class: "voltage"
    state_class: "measurement"
  - platform: template
    id: meter01_voltage_l3
    name: meter01_voltage_l3
    unit_of_measurement: V
    accuracy_decimals: 1
    device_class: "voltage"
    state_class: "measurement"

  - platform: template
    id: meter01_current_l1
    name: meter01_current_l1
    unit_of_measurement: A
    accuracy_decimals: 2
    device_class: "current"
    state_class: "measurement"
  - platform: template
    id: meter01_current_l2
    name: meter01_current_l2
    unit_of_measurement: A
    accuracy_decimals: 2
    device_class: "current"
    state_class: "measurement"
  - platform: template
    id: meter01_current_l3
    name: meter01_current_l3
    unit_of_measurement: A
    accuracy_decimals: 2
    device_class: "current"
    state_class: "measurement"

  - platform: template
    id: meter01_active_power_plus
    name: meter01_active_power_plus
    unit_of_measurement: W
    accuracy_decimals: 0
    device_class: "power"
    state_class: "measurement"
  - platform: template
    id: meter01_active_power_minus
    name: meter01_active_power_minus
    unit_of_measurement: W
    accuracy_decimals: 0
    device_class: "power"
    state_class: "measurement"

  - platform: template
    id: meter01_active_energy_plus
    name: meter01_active_energy_plus
    unit_of_measurement: Wh
    accuracy_decimals: 0
    device_class: "energy"
    state_class: "total_increasing"
  - platform: template
    id: meter01_active_energy_minus
    name: meter01_active_energy_minus
    unit_of_measurement: Wh
    accuracy_decimals: 0
    device_class: "energy"
    state_class: "total_increasing"

  - platform: template
    id: meter01_reactive_energy_plus
    name: meter01_reactive_energy_plus
    unit_of_measurement: Wh
    accuracy_decimals: 0
    device_class: "energy"
    state_class: "total_increasing"
  - platform: template
    id: meter01_reactive_energy_minus
    name: meter01_reactive_energy_minus
    unit_of_measurement: Wh
    accuracy_decimals: 0
    device_class: "energy"
    state_class: "total_increasing"

text_sensor:
  - platform: template
    id: meter01_timestamp
    name: meter01_timestamp

mqtt:
  broker: "192.168.1.xxx"
  port: "1883"
  id: mqtt_broker
  username: 'xxx'
  password: 'xxx'
  discovery: true

custom_component:
  - lambda: |-
      auto dlms_meter = new esphome::espdm::DlmsMeter(id(mbus));
      uint8_t key[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
      dlms_meter->set_key(key, 16); // Pass your decryption key and key length here

      dlms_meter->set_voltage_sensors(id(meter01_voltage_l1), id(meter01_voltage_l2), id(meter01_voltage_l3)); // Set sensors to use for voltage (optional)

      dlms_meter->set_current_sensors(id(meter01_current_l1), id(meter01_current_l2), id(meter01_current_l3)); // Set sensors to use for current (optional)

      dlms_meter->set_active_power_sensors(id(meter01_active_power_plus), id(meter01_active_power_minus)); // Set sensors to use for active power (optional)

      dlms_meter->set_active_energy_sensors(id(meter01_active_energy_plus), id(meter01_active_energy_minus)); // Set sensors to use for active energy (optional)
      dlms_meter->set_reactive_energy_sensors(id(meter01_reactive_energy_plus), id(meter01_reactive_energy_minus)); // Set sensors to use for reactive energy (optional)

      dlms_meter->set_timestamp_sensor(id(meter01_timestamp)); // Set sensor to use for timestamp (optional)

      dlms_meter->enable_mqtt(id(mqtt_broker), "meter01/data"); // Enable grouped together MQTT report, useful to get exact time with each data for storing results in InfluxDB

      return {dlms_meter};


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant