Komponent wM-Bus do ESPHome (SzczepanLeon) wersja 3.x - wątek ogólny

Czytałeś dokumentację?, bo ja tam nie widzę czegoś takiego co chcesz mieć (a zakładam, że dokumentacja podąża za aktualnymi możliwościami komponentu Szczepana)

Jeżeli chcesz dekodować wskazania, których nie obsługuje komponent do ESPHome to wysyłaj telegramy do własnej instancji wmbusmeters i tam dekoduj.

@Dariusz_Barczyński
Jaką masz wersję komponentu Szczepana?

You should open an issue on Github, and ask @_Szczepan to add support to the amiplus telegrams to decode total_energy_consumption_tariff_1_kw, because your telegram does not contain the total_energy_consumption_kwh

@Dariusz_Barczyński jemu dekoduje, choć w dokumentacji nie ma
“total_energy_consumption_tariff_1_kw” dlatego i ja kombinuję :wink: Tak jak napisałem wcześniej, dopiero zaczynam zabawę, nie mam pojęcia jak wysłać telegramy do własnej instancji.

Takie wyrywki bez szczegółów, które skonkretyzują sytuację, niczego nie dowodzą, a nie mam czasu by kopać po kodzie czy w ogóle taka konfiguracja jak jego może działać…

Najlepiej by autor @_Szczepan skrobnął ze 3 słowa.

to akurat jest w dokumentacji…

Albo dopisz ich obsługę do komponentu :wink:

A jakiś komentarz do tego co napisał @Dariusz_Barczyński ?

Nie mam pojecia jak to dziala Darkowi - ale u mnie to pole total_energy_consumption_tariff_1_kw nie jest dla amiplus zaimplementowane.

1 Like

Sorki działa ale tylko odczyt poprzez DVBT, driver=amiplus

{
  "media": "electricity",
  "meter": "amiplus",
  "name": "WM-Gama 350",
  "id": "30415995",
  "current_power_consumption_kw": 0,
  "current_power_production_kw": 0.834,
  "total_energy_consumption_kwh": 373.584,
  "total_energy_consumption_tariff_1_kwh": 373.584,
  "total_energy_consumption_tariff_2_kwh": 0,
  "total_energy_consumption_tariff_3_kwh": 0,
  "total_energy_production_kwh": 1866.959,
  "total_energy_production_tariff_1_kwh": 1866.959,
  "total_energy_production_tariff_2_kwh": 0,
  "total_energy_production_tariff_3_kwh": 0,
  "voltage_at_phase_1_v": 236,
  "voltage_at_phase_2_v": 236,
  "voltage_at_phase_3_v": 236,
  "device_date_time": "2024-06-10 07:28:13",
  "timestamp": "2024-06-10T05:28:08Z",
  "device": "rtlwmbus[00000001]",
  "rssi_dbm": 37
}

Dla ESP nie ma w konfiguracji “total_energy_consumption_tariff_1_kwh”
Odczytuje liczniki poprzez ESP @_Szczepan oraz poprzez tuner DVBT i robię odczyt z MQTT

      - name: "Taryfa 1"
        unique_id: "Taryfa 1 Gama 350"
        state_topic: "wmbusmeters/WM-Gama 350"
        json_attributes_topic: "wmbusmeters/WM-Gama 350"
        value_template: "{{ ((value_json.total_energy_consumption_tariff_1_kwh))|round (2) }}"
        state_class: "measurement"
        device_class: energy
        unit_of_measurement: "kWh"

Cześć, podłączyłem i skonfigurowałem wmbus readera od @Mariusz_Woszczyński. Konfiguracja identyczna z wmbusmeters - tam dwa liczniki apatora 162 odczytują się bez problemu. WMBus nie odbiera nic - w trybie verbose, widzę, że okazjonalnie łapie ramki od innych liczników.

[08:55:56][V][rxLoop:167]: Have 137 bytes from CC1101 Rx, RSSI: -82 dBm LQI: 128
[08:55:56][D][mbus:034]: Processing T1 A frame
[08:55:57][V][mbus:045]: Frame: 73271C8DA3563A52DA39A59759658ED3A9A64E62E9596716599C8BC4D8D92CD4CE8D338E3636AC99ACA69599639B18F4C6973264ED195E7C8DA5C9ACC5AC5E69CB2F2CECECA3563A52DA39A59759658ED3A9A64E62E9596716599C8BC4D8D92CD4CE8D338E3636AC99ACA69599639B18F4C6973264ED195E7C8DA5C9ACC5AC5E69CB2F2CECA3563A52 (137) [RAW]
[08:55:57][V][3of6:083]: Decode 3 out of 6 failed..


[09:54:19][V][rxLoop:167]: Have 45 bytes from CC1101 Rx, RSSI: -97 dBm LQI: 138
[09:54:19][D][mbus:034]: Processing T1 A frame
[09:54:19][V][mbus:045]: Frame: 36571C2D67345A34F238E38CC5C58D65DCD498E4CD35C71634B2E38CB8DA5AC353D199B22E3599693A638DAC5C (45) [RAW]
[09:54:19][V][3of6:083]: Decode 3 out of 6 failed.

Poniżej konfiguracja sensorów

  - platform: wmbus
    meter_id: 0x01709249
    type: apator162
    add_prefix: true
    mode: T1C1
    key: "00000000000000000000000000000000"
    lqi:
      name: "Lqi"
    rssi:
      name: "RSSI"
    total_water_m3:
      name: "Cold water"
  - platform: wmbus
    meter_id: 0x04110278
    type: apator162
    add_prefix: true
    key: "00000000000000000000000000000000"
    mode: T1C1
    lqi:
      name: "Lqi"
    rssi:
      name: "RSSI"
    total_water_m3:
      name: "Cold water"

Dla potomnych - pomogło ustawienie sync_mode: true

Potomni nie będę wiedzieć gdzie to dopisać.

1 Like

Potomni nie będę wiedzieć też w jakiej konfiguracji to może pomóc (a dokumentacja wskazuje na tą opcję tylko dla konfiguracji wykorzystujących MQTT…).
Piję konkretnie do tego, że konfiguracja została przedstawiona jedynie wyrywkowo.

Całościowo działająca konfiguracja wygląda tak jak poniżej. Faktycznie dokumentacja wspomina, że to ustawienie dla konfiguracji z włączonym mqtt, z tym, że u mnie nie naprawiło to problemu z mqtt, a z odczytem liczników - bez tego ustawienia, nie odczytywałem praktycznie nic.

Gdyby ktoś pytał, dlaczego broker jest publiczny - nie udało mi się skonfigurować go z żadnym darmowym, prywatnym chmurowym brokerem - wszystkie oczekują SSL a na frameworku Arduino nie znalazłem sposobu żeby to skonfigurować (esp-idf pozwala na definiowanie certificate_authority, ale wmbus dla tego frameworka się nie kompiluje)

substitutions:
  name: "xxxxx"
  friendly_name: "xxxxx"
  status_led: GPIO15
  
esphome:
  name: "${name}"
  friendly_name: "${friendly_name}"
  project:
    name: esphome.wmbus_reader_v2
    version: "1.0"
  # only for RPI 
  compile_process_limit: 1
  
esp32:
  board: lolin_s2_mini
  framework:
    type: arduino
 
external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus ]
    refresh: 0d
 
 
time:
 - platform: sntp
   id: time_sntp
 
 
# Enable logging
logger:
  level: DEBUG
 
# Enable Home Assistant API
api:
  encryption:
    key: "xxxxx"
 
mqtt:
  id: mqtt_custom_client
  broker: broker.hivemq.com
  topic_prefix: xxxxx

ota:
 
wifi:
  ssid: xxxxx
  password: "xxxxx"
#  power_save_mode: LIGHT
#  fast_connect: true
#  reboot_timeout: 10min
#  output_power: 18dB
  ap:
    ssid: "WMBUS Reader v2"
#    password: "password_12345678"
 
# Status LED for connection
status_led:
  pin:
    # Blue LED
    number: ${status_led}

captive_portal:
 
web_server: 
  port: 80
 
wmbus:
  mosi_pin: GPIO35
  clk_pin:  GPIO36 
  miso_pin: GPIO37
  gdo2_pin: GPIO1 
  gdo0_pin: GPIO2
  cs_pin:   GPIO34
  log_unknown: true
  sync_mode: true

text_sensor: 
    # For Apator16-2 water meter please add also text sensor (for debug purposes):
  - platform: wmbus                       
    name: "Text debug for Apator 16-2"
    #diagnostic info
  - platform: wifi_info                   
    ip_address:
      name: 'IP Address'
      icon: mdi:wifi
    ssid:
      name: 'Connected SSID'
      icon: mdi:wifi-strength-2
      
sensor:
    # Reports the WiFi signal strength/RSSI in dB
  - platform: wifi_signal 
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"
  - platform: wmbus
    meter_id: 0x000000000
    type: apator162
    add_prefix: true
    key: "00000000000000000000000000000000"
    lqi:
      name: "Lqi"
    rssi:
      name: "RSSI"
    total_water_m3:
      name: "Cold water"
      filters:
        - offset: -169.753
  - platform: wmbus
    meter_id: 0x000000000
    type: apator162
    add_prefix: true
    key: "00000000000000000000000000000000"
    lqi:
      name: "Lqi"
    rssi:
      name: "RSSI"
    total_water_m3:
      name: "Cold water"
      filters:
        - offset: -2.464
  - platform: wmbus
    meter_id: 0x000000000
    type: amiplus
    add_prefix: true
    key: 00000000000000000000000000000000
    mode: T1C1
    rssi:
      name: "RSSI"
    total_energy_consumption_kwh:
      name: "Consumption in kWh"
      icon: "mdi:power-plug"
    current_power_consumption_kw:
      name: "Current power consumption in kW"
    total_energy_production_kwh:
      name: "Total energy production in kWh"
    current_power_production_kw:
      name: "Current power production in kW"
    voltage_at_phase_1_v:
      name: "V1"
    voltage_at_phase_2_v:
      name: "V2"
    voltage_at_phase_3_v:
      name: "V3"
1 Like