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

dzięki piękne zaczęło działać

Może nic nie nadaje albo masz GDO zamienione miejscami.

Dzień dobry,
Wymienili mi licznik na apator-na-1
Urządzenie które posiadam ma: ESP8266 co klinuje mnie na wersji 3.x
Czy da się jakoś obsłużyć: apatorna1 przez ten komponent?
Czy potrzebuję postawić wmbusmeters żeby to dekodować?
Jeśli tak, to jak to ogarnąć bez addona do HA? - używam ha w wersji docker.
Czy pozostaje mi kupić nowe urządzenie oparte na ESP32?

Jak samemu dodasz driver to bez problemu.

Bez zmian w repo w wersji v3 tylko wmbusmeters albo opcja wyżej.

Wszystko jest w repo opisane. Musisz miec gdzies wmbusmetersa odpalonego oraz MQTT.

Nie, ale migracja na ESP32 jest najwygodniejsza.

Hej,
Podszedłem ambitnie, ale:

Jak samemu dodasz driver to bez problemu.

Jest dość trudne. Nie bardzo rozumiem gdzie są pliki driverów. Po sklonowaniu Twojego repo i zmianie gałęzi na version_3 mam dużo brakujących plików w tym np. drivers.h

Rozumiem, że pasujące jest repo ‘wmbus-drivers’, ale nie wiem jak one są połączone? Mam oba sklonować do tego samego katalogu?
Bo na żadnym poziomie nie widzę podłączonego tego repo jako submodułu.

W init pythonowym jest referencja do driverow. Podczas budowania ESPHome jest zaciagane wszystko z automatu.

Dobra, poddaję się :slight_smile: Dzięki za wyjaśnienia, ale mimo prób nie uzyskałem poprawnie zdeszyfrowanego wyniku. Gdzie zatem mogę kupić wersję pod 4.0? z esp32?

Za tydzien bede mial UltimateReader’a.

Witajcie, co i gdzie mam dopisać do konfiguracji aby pokazywało mi wszystkie dostępne liczniki w okolicy, poniżej moja konfiguracja.

#dashboard_import:
#  package_import_url: github://MariuszWoszczynski/wmbus-reader-v2/wmbus-reader-v2.yaml@main
#  import_full_config: true
 
substitutions:
  name: "wmbus-reader-v2"
  friendly_name: "wmbus reader v2"
  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@version_3
    refresh: 0d
    components: [ wmbus ]
 
time:
 - platform: sntp
   id: time_sntp
 
# Enable logging
logger:
  level: debug
 
# Enable Home Assistant API
api:
  encryption:
    key: "D0KKR80TBX3z2sx+Pejf1BBJ/+jaj5dQZXNZuwD/s8k="
 
ota:
  - platform: esphome
 
wifi:
  ssid: !secret wifi_ssid #""
  password: !secret wifi_password #""
  power_save_mode: LIGHT
  fast_connect: true
  reboot_timeout: 10min
  output_power: 18dB
#  static IP configuration (instead of data from the secret file)
#  manual_ip:
#    static_ip: 192.168.10.99
#    gateway: 192.168.10.1
#    subnet: 255.255.255.0
 
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  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"

# # mieszkanie sensor Gama150 (electricity)
  - platform: wmbus
    meter_id: 0x13891185
    type: amiplus
    key: "xxxxxxx"
    add_prefix: false
    mode: T1C1
    rssi:
      name: "P1 My RSSI"
    total_energy_consumption_kwh:
      #Wskazanie licznika kWh
      name: "P1 My consumption in kWh"
      icon: "mdi:power-plug"
    current_power_consumption_kw:
      #Bierzące zużycie kW
      name: "P1 My current power consumption in kW"
    total_energy_production_kwh:
      #Całościowa produkcja (oddane do sieci) kWh
      name: "P1 My total energy production in kWh"
    current_power_production_kw:
      #Bierząca produkcja (oddane do sieci) kW
      name: "P1 My current power production in kW"
    voltage_at_phase_1_v:
      #Napięcie w sieci V
      name: "P1 My V1"
###
  # klatka sensor Otus1 (electricity)
  - platform: wmbus
    meter_id: 0x55172400
    type: amiplus
    key: "xxxxxxx"
    add_prefix: false
    mode: T1C1
    rssi:
      name: "P2 My RSSI"
    total_energy_consumption_kwh:
      name: "P2 My consumption in kWh"
      #Wskazanie licznika kWh
      icon: "mdi:power-plug"
    current_power_consumption_kw:
      #Bierzące zużycie kW
      name: "P2 My current power consumption in kW"
    voltage_at_phase_1_v:
      #Napięcie w sieci V
      name: "P2 My V1"
  # more options on 
button:
  - platform: restart
    name: "Restart"

Gdzie pokazywało, w logach czy w HA?

Jak w logach to:

Jak w HA to kazdy musisz zdefiniowac w YAMLU.

Post został scalony z istniejącym tematem: Komponent wM-Bus do ESPHome (SzczepanLeon) wersja 4.x - wątek ogólny

Witam, od 21 maja nie pobiera mi odczytów z liczników apator162. Czy coś w wersji 3 zostało zmienione?

A gdzie twój YAML? Jakieś logi itd?

Nie. Ostatnia zmiana była tam 3 miesiące temu i nie planuję więcej zmian w v3.

Mam problem z kompilacją otrzymuję taki komunikat

INFO ESPHome 2024.12.2
INFO Reading configuration /config/esphome/woda1.yaml…
INFO Updating https://github.com/SzczepanLeon/esphome-components.git@version_3
ERROR Unable to load component wmbus:
Traceback (most recent call last):
File “/esphome/esphome/loader.py”, line 177, in _lookup_module
module = importlib.import_module(f"esphome.components.{domain}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 1206, in _gcd_import
File “”, line 1178, in _find_and_load
File “”, line 1149, in _find_and_load_unlocked
File “”, line 690, in _load_unlocked
File “”, line 940, in exec_module
File “”, line 241, in _call_with_frames_removed
File “/data/external_components/89a00179/components/wmbus/init.py”, line 62, in
cv.Required(CONF_IP_ADDRESS): cv.ipv4address,
^^^^^^^^^^^^^^
AttributeError: module ‘esphome.config_validation’ has no attribute ‘ipv4address’
Failed config

wmbus: [source /config/esphome/woda1.yaml:43]

Component not found: wmbus.
mosi_pin: GPIO13
miso_pin: GPIO12
clk_pin: GPIO14
cs_pin: GPIO02
gdo0_pin: GPIO05
gdo2_pin: GPIO04

mój Yaml

web_server:
  port: 80
time:
  - platform: sntp
    id: time_sntp

external_components:
  - source: github://SzczepanLeon/esphome-components@version_3
    refresh: 0d
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin: GPIO14
  cs_pin: GPIO02
  gdo0_pin: GPIO05
  gdo2_pin: GPIO04

#  led_pin: GPIO0
#  led_blink_time: "1s"

text_sensor:
  - platform: wmbus
    name: "Text debug for Apator 16-2"
sensor:
  - platform: wmbus
    meter_id: 0x0622224
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-dom"
    rssi:
      name: "ZW-dom RSSI"
    total_water_m3:
      name: "ZW-dom m3"
  - platform: wmbus
    meter_id: 0x06870665
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-ogrod"
    rssi:
      name: "ZW-ogrod RSSI"
    total_water_m3:
      name: "ZW-ogrod m3"

To NIE jest kompletny YAML, więc nie da się ocenić czegoś, czego nam nie wkleiłeś (błąd raczej dotyczy fragmentu kodu, którego nie wkleiłeś do posta).

Właśnie kompiluję kod, który sobie sam uzupełniłem fragmentem możliwie najbardziej standardowym i wynik kompilacji jest taki

Linking .pioenvs/test-v3/firmware.elf
RAM:   [=         ]  13.0% (used 42604 bytes from 327680 bytes)
Flash: [======    ]  56.0% (used 1027613 bytes from 1835008 bytes)
Building .pioenvs/test-v3/firmware.bin
Creating esp32 image...
Successfully created esp32 image.
esp32_create_combined_bin([".pioenvs/test-v3/firmware.bin"], [".pioenvs/test-v3/firmware.elf"])
SHA digest in image updated
Wrote 0x10c4b0 bytes to file /data/build/test-v3/.pioenvs/test-v3/firmware.factory.bin, ready to flash to offset 0x0
esp32_copy_ota_bin([".pioenvs/test-v3/firmware.bin"], [".pioenvs/test-v3/firmware.elf"])
======================== [SUCCESS] Took 153.97 seconds ========================

mój yaml

esphome:
  name: test-v3
  friendly_name: test-v3

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "TBri0d4gfHmaOIivsB+LvC/bVW+lsIvW/M+e9pjaCA4="

ota:
  - platform: esphome
    password: "442ddd7889ed450638020f1a0d532f9b"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Test-V3 Fallback Hotspot"
    password: "muAVYWzcYE35"

captive_portal:
    
web_server:
  port: 80
time:
  - platform: sntp
    id: time_sntp

external_components:
  - source: github://SzczepanLeon/esphome-components@version_3
    refresh: 0d
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin: GPIO14
  cs_pin: GPIO02
  gdo0_pin: GPIO05
  gdo2_pin: GPIO04

#  led_pin: GPIO0
#  led_blink_time: "1s"

text_sensor:
  - platform: wmbus
    name: "Text debug for Apator 16-2"
sensor:
  - platform: wmbus
    meter_id: 0x0622224
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-dom"
    rssi:
      name: "ZW-dom RSSI"
    total_water_m3:
      name: "ZW-dom m3"
  - platform: wmbus
    meter_id: 0x06870665
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-ogrod"
    rssi:
      name: "ZW-ogrod RSSI"
    total_water_m3:
      name: "ZW-ogrod m3"

wkleiłem Twój kod i niestety też się “wywala”

ERROR Unable to load component wmbus:

ponadto przy pisaniu podkreśla mi na czerwono te linijki

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin: GPIO14
  cs_pin: GPIO02
  gdo0_pin: GPIO05
  gdo2_pin: GPIO04

#  led_pin: GPIO0
#  led_blink_time: "1s"

text_sensor:

mój cały yaml

esphome:
  name: woda1
  friendly_name: woda1

esp8266:
  board: d1_mini

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "simMG+YdBqzkwbk3PvBlxBQ+qd/PkmudHjejLjlGhn8="

ota:
  - platform: esphome
    password: "d2e00ce7601c433291799e6a4cfba6b3"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

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

captive_portal:

web_server:
  port: 80
time:
  - platform: sntp
    id: time_sntp

external_components:
  - source: github://SzczepanLeon/esphome-components@version_3
    refresh: 0d
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin: GPIO14
  cs_pin: GPIO02
  gdo0_pin: GPIO05
  gdo2_pin: GPIO04

#  led_pin: GPIO0
#  led_blink_time: "1s"

text_sensor:
  - platform: wmbus
    name: "Text debug for Apator 16-2"
sensor:
  - platform: wmbus
    meter_id: 0x0622224
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-dom"
    rssi:
      name: "ZW-dom RSSI"
    total_water_m3:
      name: "ZW-dom m3"
  - platform: wmbus
    meter_id: 0x06870665
    type: apator162
    key: "00000000000000000000000000000000"
    lqi:
      name: "ZW-ogrod"
    rssi:
      name: "ZW-ogrod RSSI"
    total_water_m3:
      name: "ZW-ogrod m3"

mam inną płytkę ale zmiana też nic nie daje ??? ciągle "czepia się wmbus-a

Uaktualnij ESPHome do czegos z tego roku.

1 polubienie

OK - właśnie się aktualizuje:)

Dziękuję - poszło - jak zwykle należy aktualizować HA :frowning: