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

Po czym opisujesz jeden z typowych problemów…

Natomiast warto zdać sobie sprawę z zupełnie innej kwestii

Do działania Integracji w HA nie jest potrzebny żaden Dodatek.
Urządzenia ESPHome będą się integrowały z dowolnymi wersjami HA tak długo jak długo API będzie nadal zgodne wstecznie (przy breaking changes kompatybilność wsteczna jest utrzymywana zwykle przez pół roku, ale bywały przypadki, że było to nawet kilka lat).

1 polubienie

Czy może pokazać ktoś dokładnie jakie radio należy podłączyć SX1276 aby było zgodne z główną gałęzią projektu ? Bo obecnie radio jakie mam CC1101 nie działa z nową kompilacją ESPhome w wersji 2025.7.x Będę wdzięczny za pomoc.

Cześć ! budował ktoś ostatnio V4 na najnowszym HAOS i ESPhome? Mam wrażenie, że moje esp32 nie chce wyjść z save mode:

[01:36:50][I][safe_mode:042]: Boot seems successful; resetting boot loop counter
[01:36:50][D][esp32.preferences:142]: Writing 1 items: 0 cached, 1 written, 0 failed

A od wielkiego dzwona odczyta co najwyżej pustą ramkę i to jedną gdzie w promieniu 10m mam z 15 apatorów162 (mieszkam w bloku), klucz zakomentowany bo wiem że nie szyfrują danych, próbowałem wpisywać numer licznika, próbowałem z PID… cały czas to samo

Czy może cc1101 trzaśnięty? Bo podobno się zdarzają… aczkolwiek jak odepne SPI to w logach widzę że nie znaleziono CC1101 więc do tego momentu działa. Tak jakby custom component nie chciał działać i ESP nie chce wstać do końca.

Stawiam na brak RAMu, skompiluj w starszej wersji.

Grzebie w tym jeszcze i wychodzi na to że jak użyje wersji 4.1.4 zamiast version_4 to są różnice w kompilacji i wychodzi na to że się trochę zmieniło od czasu ostatniego commita w branchu V4. (najnowsze esphome to chyba innego toolchaina używa…)

Przesiadam się na V5. Trudno, sx1276 już płynie

Nie chcę zapeszać, ale działa mi soft V4 na ESPHome 2025.8.0…

Działać będzie, ale pod warunkiem że zbudowałeś wsad na starszej wersji.

Dzisiaj bawiłem się starym projektem termometra i kod który od roku działa, wymagał dodania frwmework: esp-idf (domyślny czyli arduino nie jest już wspierany).

Po dalszym grzebaniu i zdefiniowaniu nowego frameworka do V4 - okazuje się że nie ma sterownika do cc1101 dla esp-idf (ELECHOUSE_CC1101_SRC_DRV.h).

Nie wiem, wygląda na to że z najnowszym esphome będzie masa problemów jezeli będzie używany framework arduino (tak jak w przypadku V4).

Jeżeli dobrze kombinuje to trzeba by dopisać sterownik dla esp-idf dla CC1101 i skomitowac go w repo V4 ale nie jestem aż tak biegły w tym…

Zależy mi na tym żeby działać w najnowszej wersji esphome bo cały czas robię coś nowego i niektóre nowe rzeczy mogą się przydać… A w przypadku starych projektów (jak V4) no cóż… Nie grzebać jak działa

Ty tak na poważnie?..

Nie jest tak? Przegapiłem moment w którym zmienił się framework a wszystko działa poprawnie (mam 15 urządzeń na esphome). Problemy są dopiero z użyciem starego projektu który nawet sam stworzyłem i który dawniej działał…

Oczywiście że tak jest. Ale jak pisze że działa mi V4 na 8.0, to znaczy że go skompilowałem na 8.0…


Zmartwiłeś mnie teraz…

Podeślesz yaml?

Czemu zmartwiłem? To się trzeba cieszyć że działa:)
Poniżej yaml. Nic szczególnego w nim nie ma.
Próbowałem na którejś 7 i się komplikowało, ale czytnik się resetował i nic nie odczytywał. Wczoraj zrobiłem update do 8.0, clean build files, kompilacja i śmiga…

#  dashboard_import:
#  package_import_url: github://MariuszWoszczynski/WMBUS-reader/WMBUS-reader-v2.yaml@main
#  import_full_config: true
 
substitutions:
  name: "piwnica"
  friendly_name: "Piwnica"
  status_led: GPIO15
  
esphome:
  name: "${name}"
  friendly_name: "${friendly_name}"
  project:
    name: esphome.wmbus_reader_v2
    version: "1.0"
 
esp32:
  board: lolin_s2_mini
  framework:
    type: arduino
 
external_components:
  - source: github://SzczepanLeon/esphome-components@version_4
    components: [ wmbus ]
    refresh: 0d
 
 
time:
 - platform: sntp
   id: time_sntp
 
 
# Enable logging
logger:
  level: debug
 
# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxk"
 
ota:
  - platform: esphome
 
wifi:
  ssid: "xxxxxxx"
  password: ""xxxxxxxx"
  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: "Piwnica"
#    password: "password_12345678"
 
# Status LED for connection
status_led:
  pin:
    # Blue LED
    number: ${status_led}

captive_portal:
 
web_server: 
  port: 80
  version: 3
  
 
wmbus:
  mosi_pin: GPIO35
  clk_pin:  GPIO36 
  miso_pin: GPIO37
  gdo2_pin: GPIO1 
  gdo0_pin: GPIO2 
  cs_pin:   GPIO34

  frequency: 868.950
  all_drivers: False
  sync_mode: True
  log_all: True


sensor:
  - platform: wmbus
    meter_id: 0x00000000
    type: izar
    sensors:
      - name: "RSSI Izar"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"
      - name: "Stan licznika wody Izar"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "Zużycie w ostatnim miesiącu - Izar"
        field: "last_month_total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "Okres nadawania - Izar"
        field: "transmit_period"
        accuracy_decimals: 0
        unit_of_measurement: "Second"
      - name: "Pozostały żywot baterii - Izar"
        field: "remaining_battery_life"
        accuracy_decimals: 0
        unit_of_measurement: "Year"


  - signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy # Reports the WiFi signal strength in %
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"

  - platform: ultrasonic
    trigger_pin: 
      number: GPIO40
      allow_other_uses: true
    echo_pin: 
      number: GPIO39
      allow_other_uses: true
    name: "Poziom soli w zbiorniku"
    update_interval: 60s
    unit_of_measurement: '%'
    accuracy_decimals: 0
    filters:
      - median:
          window_size: 5
          send_every: 5
          send_first_at: 1
      - calibrate_linear:
        - 0.10 -> 100
        - 0.70 -> 0
      - round: 0

  - platform: ultrasonic
    trigger_pin: 
      number: GPIO40
      allow_other_uses: true
    echo_pin: 
      number: GPIO39
      allow_other_uses: true
    name: "Poziom soli - odległość"
    accuracy_decimals: 2
    filters:
      - median:
          window_size: 5
          send_every: 5
          send_first_at: 1
    update_interval: 60s

  - platform: dht
    pin: 
      number: GPIO38
    model: DHT22
    temperature:
      name: "Piwnica - temperatura"
    humidity:
      name: "Piwnica - wilgotność"
    update_interval: 60s
1 polubienie

Dzięki Mariusz :beers::beers:

Siądę do tego pewnie jutro wieczorem bo widzę spore różnice w tym czego ja używam ale kosmetyczne. Przede wszystkim pinout inny bo inna płytka (esp32 devkit-v1), inny licznik, inaczej skonfigurowana sieć… Ale no co szkodzi spróbować zanim moduł do V5 przypłynie

Ja jutro jeszcze sprawdzę na nodemcu 32s, na wt32-eth01 oraz na olimexie.

W sumie to twój yaml ma tą cześć która mnie interesuje czyli external_component taki sam jak u mnie… Jedyne różnice to inna płytka.

Może ten mój cc1101 po prostu nie odbiera niczego? Co prawda po odłączeniu na przyklad CS w debugu jest brak cc1101 więc domniemam że po SPI gada… Nie wiem, pooglądam w robocie pod mikroskopem i przelutuje to badziewie po bożemu… Miała być szybka robótka a problemy tylko są :smiley: ostatnio dość często muszę poprawiać elektronikę z Ali czego dawniej nie było

Trochę nie tak jak trzeba kombinujesz.
Jak dopiszecz CC1101 pod esp-idf to od razu na v5. Po co się męczyć z v4?

1 polubienie

Dokładnie tak!

Tylko ja nie jestem na tyle biegły w c/cpp żeby to zrobić od ręki a z czasem też jest cienko żebym do tego usiadł.

CC1101 podobno lubi sprawiać problemy, zwłaszcza przy uruchomieniu co najprawdopodobniej ma miejsce również u mnie, dodatkowo w gęsto zalicznikowanym rejonie, lepiej sprawdzi się SX1276…

A powiedzcie mi jedna rzecz jeszcze, jak na piach GDO0 / GDO2 nie będzie żadnego sygnału to ESP będzie sobie tak siedzieć włączone i czekać w nieskończoność aż się tam coś pojawi (czyli radio coś odbierze)? W takim przypadku nie ma żadnego pinga/żadnego loga, ten kod nic już nie robi / nie sprawdza niczego w między czasie?

Wszystkie sprawdzone i działają…

1 polubienie

Uwielbiam ESPHome :wink:
A tak na serio to fajnie ze v4 znowu działa - w pełni też popieram filozofię wydań ESPHome.