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 polubienie

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 polubienie

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 polubienie

Witam,

Od 10 dni posiadam wodomierz Maddalena ELECTO SJ. Dziś odebrałem Magic Reader v2 od @Mariusz_Woszczyński Poza małymi problemami na początku z wgraniem .bin, bo nie używam HA tylko póki co web-server to wszystko działa jak należy. Na macOS poprawnie wgrywa się .bin przez OTA Update tylko na Firefox. Na Chrome niby proces przebiega, ale nie wgrywa się z jakiś przyczyn. W Safari nie sprawdzałem.
Potrzeba była wyłączenia API, bo po 15 min leciał reboot:

14:59:39	[E]	[api:128]	No client connected to API. Rebooting...
14:59:39	[I]	[app:125]	Forcing a reboot...

Przy okazji resetowało się SSID i hasło. Za każdym rebootem czytnik wpadał w tryb AP i na nowo trzeba było wklepywać SSID i hasło do WiFi.

Jest nas aż dwóch(ja i @Marek_l) w tym wątku z tym wodomierzem :). Jakbyś miał kiedy chęci i czas @_Szczepan to fajnie byłoby jakbyś dodał do drivera evo868 więcej odczytów niż same metry sześcienne. :pray:

Póki co wszystko bangla jak trzeba. Mało miejsca w szafie rackowej na coś pod HA, ale może kiedyś coś się wrzuci 1U.

1 polubienie

Kiedyś dodam - jak zrobię wersje 4 z portem wmbusmeters. Narazie czasu brak - ale repo jest otwarte i można samemu, dla całej społecznosci wMBus, dodawać kod i robić requesty na merge.

btw
Ciekawe jest to że 99% korzystających płaci za HW a tylko 1% szarpnie się na kawę.

3 polubienia

Może to coś da :slight_smile:

4 polubienia

To domyślne ustawienie - brak komunikacji dowolnego klienta np. z HA i leci reboot, można to wyłączyć:

# Example configuration ESPHome 
api:
  reboot_timeout: 0s

Wtedy później można bez kompilacji kodu dodać ESPHome do HA.

2 polubienia

Urządzenie nagle przestało czytać licznik prądu. Licznik wody bez problemu. Dużo kombinuję ostatnio z HA. Zbiegło mi się to z ostatnią aktualizacja ESPHome (OTA poprawione). Nie zwróciłem uwagi, czy działało przed aktualizacją, czy nie. Tak jakby licznik nagle przestał wysyłać informację. Nowe ESPHome, a może to wina Taurona? Prosiłbym o jakieś sugestie

Dla zainteresowanych.
Urządzenie działa. Tauron coś zakombinował i teraz logi lecą tylko co jakiś czas. Po godz. 16 leciały co 30s, potem co 7 min i teraz ok g. 18 cisza :confused:

INFO ESPHome 2024.6.1
INFO Reading configuration /config/esphome/sih-reader.yaml...
INFO Updating https://github.com/SzczepanLeon/esphome-components.git@main
INFO Detected timezone 'Europe/Warsaw'
INFO Starting log output from 192.168.1.56 using esphome API
INFO Successfully connected to sih-reader @ 192.168.1.56 in 0.005s
INFO Successful handshake with sih-reader @ 192.168.1.56 in 2.611s
[13:14:44][I][app:100]: ESPHome version 2024.6.1 compiled on Jun 21 2024, 23:58:19
[13:14:44][C][status_led:019]: Status LED:
[13:14:44][C][status_led:020]:   Pin: GPIO2
[13:14:44][C][wifi:599]: WiFi:
[13:14:44][C][wifi:427]:   Local MAC: 48:E7:29:58:43:58
[13:14:44][C][wifi:432]:   SSID: [redacted]
[13:14:44][C][wifi:435]:   IP Address: 192.168.1.56
[13:14:44][C][wifi:438]:   BSSID: [redacted]
[13:14:44][C][wifi:440]:   Hostname: 'sih-reader'
[13:14:44][C][wifi:442]:   Signal strength: -52 dB ▂▄▆█
[13:14:44][C][wifi:446]:   Channel: 1
[13:14:44][C][wifi:447]:   Subnet: 255.255.255.0
[13:14:44][C][wifi:448]:   Gateway: 192.168.1.1
[13:14:44][C][wifi:449]:   DNS1: 192.168.1.1
[13:14:44][C][wifi:450]:   DNS2: 0.0.0.0
[13:14:44][C][logger:185]: Logger:
[13:14:44][C][logger:186]:   Level: DEBUG
[13:14:44][C][logger:188]:   Log Baud Rate: 0
[13:14:44][C][logger:189]:   Hardware UART: UART0
[13:14:44][C][status:034]: Status Binary Sensor 'Status SIH Reader'
[13:14:44][C][status:034]:   Device Class: 'connectivity'
[13:14:44][C][captive_portal:088]: Captive Portal:
[13:14:44][C][sntp:048]: SNTP Time:
[13:14:44][C][sntp:049]:   Server 1: '0.pool.ntp.org'
[13:14:44][C][sntp:050]:   Server 2: '1.pool.ntp.org'
[13:14:44][C][sntp:051]:   Server 3: '2.pool.ntp.org'
[13:14:44][C][sntp:052]:   Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[13:14:44][C][mdns:115]: mDNS:
[13:14:44][C][mdns:116]:   Hostname: sih-reader
[13:14:44][C][esphome.ota:073]: Over-The-Air updates:
[13:14:44][C][esphome.ota:074]:   Address: sih-reader.local:8266
[13:14:44][C][esphome.ota:075]:   Version: 2
[13:14:44][C][esphome.ota:078]:   Password configured
[13:14:44][C][safe_mode:018]: Safe Mode:
[13:14:44][C][safe_mode:019]:   Boot considered successful after 60 seconds
[13:14:44][C][safe_mode:021]:   Invoke after 10 boot attempts
[13:14:44][C][safe_mode:022]:   Remain in safe mode for 300 seconds
[13:14:44][C][api:139]: API Server:
[13:14:44][C][api:140]:   Address: sih-reader.local:6053
[13:14:44][C][api:142]:   Using noise encryption: YES
[13:14:44][C][wmbus:372]: wM-Bus v3.2.1:
[13:14:44][C][wmbus:385]:   LED:
[13:14:44][C][wmbus:386]:     Pin: GPIO0
[13:14:44][C][wmbus:387]:     Duration: 150 ms
[13:14:44][C][wmbus:389]:   CC1101 frequency: 868.950 MHz
[13:14:44][C][wmbus:390]:   CC1101 SPI bus:
[13:14:44][C][wmbus:391]:     MOSI Pin: GPIO13
[13:14:44][C][wmbus:392]:     MISO Pin: GPIO12
[13:14:44][C][wmbus:393]:     CLK Pin:  GPIO14
[13:14:44][C][wmbus:394]:     CS Pin:   GPIO15
[13:14:44][C][wmbus:395]:     GDO0 Pin: GPIO5
[13:14:44][C][wmbus:396]:     GDO2 Pin: GPIO4
[13:14:44][C][wmbus:403]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, c5isf, compact5, dme07, elf, evo868, fhkvdataiii, flowiq2200, hydrocalm3, hydrus, iperl, itron, izar, kamheat, mkradio3, mkradio4, mkradio4a, multical21, qheat, qwater, rfmtx1, sharky774, topaseskr, ultrimis, unismart, vario451
[13:14:44][C][wmbus:421]:   Meter:
[13:14:44][C][wmbus:422]:     ID: 9331 [0x00002473]
[13:14:50][D][mbus:034]: Processing T1 A frame
[13:14:50][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -72 dBm LQI: 129 Frame: T1 A T: 1944304C90DE3141CC01A22117001323B0DCE5F57D9AD032DD5B (26)
[13:14:50][D][sensor:093]: 'SIH Reader RSSI': Sending state -72.00000 dBm with 0 decimals of accuracy
[13:14:50][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:07][D][mbus:034]: Processing T1 A frame
[13:15:07][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -76 dBm LQI: 128 Frame: T1 A T: 1944304C90DE3141CC01A24117001323C23F500FB97204E88B54 (26)
[13:15:07][D][sensor:093]: 'SIH Reader RSSI': Sending state -76.00000 dBm with 0 decimals of accuracy
[13:15:07][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:24][D][mbus:034]: Processing T1 A frame
[13:15:24][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -71 dBm LQI: 129 Frame: T1 A T: 1944304C90DE3141CC01A26117001323EC61C359FAD5B75EB951 (26)
[13:15:24][D][sensor:093]: 'SIH Reader RSSI': Sending state -71.00000 dBm with 0 decimals of accuracy
[13:15:24][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:32][D][mbus:034]: Processing T1 A frame
[13:15:32][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -70 dBm LQI: 128 Frame: T1 A T: 1944304C90DE3141CC01A27117001323FB4E8AF2DB066E85A053 (26)
[13:15:32][D][sensor:093]: 'SIH Reader RSSI': Sending state -70.00000 dBm with 0 decimals of accuracy
[13:15:32][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:40][D][mbus:034]: Processing T1 A frame
[13:15:40][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -72 dBm LQI: 128 Frame: T1 A T: 1944304C90DE3141CC01A201170013239E8276A33E3D6384EF5E (26)
[13:15:40][D][sensor:093]: 'SIH Reader RSSI': Sending state -72.00000 dBm with 0 decimals of accuracy
[13:15:40][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:50][D][mbus:034]: Processing T1 A frame
[13:15:50][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -70 dBm LQI: 128 Frame: T1 A T: 1944304C90DE3141CC01A2111700132389AD3F081FEEBA5FF65C (26)
[13:15:50][D][sensor:093]: 'SIH Reader RSSI': Sending state -70.00000 dBm with 0 decimals of accuracy
[13:15:50][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy
[13:15:58][D][mbus:034]: Processing T1 A frame
[13:15:58][D][wmbus:090]: Using driver 'izar' for ID [0x4131DE90] RSSI: -68 dBm LQI: 128 Frame: T1 A T: 1944304C90DE3141CC01A22117001323B0DCE5F57D9AD032DD5B (26)
[13:15:58][D][sensor:093]: 'SIH Reader RSSI': Sending state -68.00000 dBm with 0 decimals of accuracy
[13:15:58][D][sensor:093]: 'SIH Reader Licznik Wody': Sending state 803.07300 m³ with 3 decimals of accuracy

Jesteś pewien, że to przez Taurona? U mnie też nagle przestał zbierać licznik Taurona, podczas gdy wmbusmeters ciągle działa bez zastrzeżeń.

Jutro sprawdzę o tej samej, czy tak samo polecą logi. Licznik wody czyta cały czas. Na razie winny jest tauron :slight_smile: