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

super :smiley: akurat dzis odpalilem v5 :smiley: na tym szemranym sx1276 z ali i działa :smiley: dio1 to IRQ reszta jest opisana jak trzeba

1 polubienie

Masz na myśli ten?

tak ten, zasieg w porównaniu do cc1101 to jakiś kosmos jest

1 polubienie

No to… Dziękuję wszystkim za pomoc, szczególnie Mariuszowi że pofatygował się i sprawdził inne płytki… Wygląda na to że ten mój cc1101 jest upośledzony i tyle… Zapomnijmy o nim już.

Tak to jest jak się podejmuje decyzje o zakupie sprzętu po pierwszej minucie jakiegoś poradnika na y2b :sweat_smile::sweat_smile:

Zielone cc1101 są dziwne. Ja miałem ze 30% odrzutów, dlatego przeszedłem na E07 900M10S. Żadna uszkodzona się nie trafiła

2 polubienia

Czyli można kompilować na esphome 2025.8.x i będzie działać ?

Wiecie co, ten mój cc1101 to był trochę brzydko polutowany. Ewidentnie chińczykom coś na sicie nie siadło, tak jakby mało pasty było albo jakiś badziewny topnik był użyty (mogę wam podesłać fotki z mikroskopu jak chcecie zobaczyć)

Ale jest malutki progres bo teraz w logach widzę co kilka minut: Recievied T1 A frame

Hmmm…

Spróbuj, najwyżej przywrócisz 6.3

v4 na esphome 8.1 na plytce esp32-poe tez dziala, dzis sprawdzilem

U mnie V4 na esphome 8.1 również działa bez problemu, cały konfig:

esphome:
  name: licznik-wody

esp32:
  board: esp32dev
  framework:
    type: arduino

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

# Enable logging
logger:
# Enable Home Assistant API
api:
  encryption:
    key: "xxxxxxxxxxxxxxxx"

ota:
  platform: esphome
  password: "xxxxxxxxxxxxxxx"

wifi:
  ssid: XXXXX
  password: xxxxxxxxxxxxx

  manual_ip:
    static_ip: 192.168.0.220
    gateway: 192.168.0.1
    subnet: 255.255.255.0

time:
  - platform: sntp
    id: time_sntp

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin: GPIO14
  cs_pin: GPIO15
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4

  led_pin: GPIO0
  led_blink_time: "1s"

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

sensor:
  # Apator water meter
  - platform: wmbus
    meter_id: 0x000xxxxxxxx
    type: apator162
    key: "00000000000000000000000000000000"
    sensors:
      - name: "Stan licznika wody Apator"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
      - name: "Apator rssi"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
        entity_category: "diagnostic"

  # Otus 1 meter
  - platform: wmbus
    meter_id: 0xxxxxxxxxxx
    type: amiplus
    key: "xxxxxxxxxxxxxxxxx"
    sensors: 
      - name: "Otus 1 rssi"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
      - name: "Energia pobrana"
        field: "total_energy_consumption"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Aktualny pobór"
        field: "current_power_consumption"
        accuracy_decimals: 1
        unit_of_measurement: "kW"
        device_class: "power"
        state_class: "measurement"
      - name: "Energia wysłana"
        field: "total_energy_production"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Aktualna wysyłka"
        field: "current_power_production"
        accuracy_decimals: 1
        unit_of_measurement: "kW"
        device_class: "power"
        state_class: "measurement"
      - name: "Energia pobrana taryfa 1"
        field: "total_energy_consumption_tariff_1"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Energia pobrana taryfa 2"
        field: "total_energy_consumption_tariff_2"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Energia wysłana taryfa 1"
        field: "total_energy_production_tariff_1"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Energia wysłana taryfa 2"
        field: "total_energy_production_tariff_2"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"

  # Gama 350 meter
  - platform: wmbus
    meter_id: 0xxxxxxxxxxx
    type: amiplus
    key: "xxxxxxxxxxxxxxx0000000000000000000"
    sensors:
      - name: "Gama 350 RSSI"
        field: "rssi"
        accuracy_decimals: 0
        unit_of_measurement: "dBm"
        device_class: "signal_strength"
        state_class: "measurement"
      - name: "Góra energia pobrana"
        field: "total_energy_consumption"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Góra aktualny pobór"
        field: "current_power_consumption"
        accuracy_decimals: 1
        unit_of_measurement: "kW"
        device_class: "power"
        state_class: "measurement"
      - name: "Góra energia wysłana"
        field: "total_energy_production"
        accuracy_decimals: 3
        unit_of_measurement: "kWh"
        device_class: "energy"
        state_class: "total_increasing"
      - name: "Góra aktualna wysyłka"
        field: "current_power_production"
        accuracy_decimals: 1
        unit_of_measurement: "kW"
        device_class: "power"
        state_class: "measurement"
      - name: "Góra napięcie na fazie 1"
        field: "voltage_at_phase_1"
        accuracy_decimals: 0
        unit_of_measurement: "V"
        device_class: "voltage"
        state_class: "measurement"
      - name: "Góra napięcie na fazie 2"
        field: "voltage_at_phase_2"
        accuracy_decimals: 0
        unit_of_measurement: "V"
        device_class: "voltage"
        state_class: "measurement"
      - name: "Góra napięcie na fazie 3"
        field: "voltage_at_phase_3"
        accuracy_decimals: 0
        unit_of_measurement: "V"
        device_class: "voltage"
        state_class: "measurement"


  # Additional diagnostic sensors
  - platform: uptime
    name: "Uptime Wodomierz"

  - platform: wifi_signal
    name: "Licznik-wody WiFi signal"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "Licznik-wody WiFi signal %"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "%"
    entity_category: "diagnostic"

text_sensor:
  - platform: wifi_info
    ssid:
      name: "Licznik-wody SSID"
    mac_address:
      name: "Licznik-wody MAC"

Edycja 28.08:
Jednak wróciłem do wersji 6.2, coś mi dużo telegramów gubił przy wersji 8.1, szczególnie od licznika wody.

1 polubienie

8 postów zostało scalonych z istniejącym tematem: [Sprzedam] UltimateReader - czytnik wM-Bus

Dzięki za cynk. Ja dalej siędzę na 6.3 wszystko działa ale nie wiem kiedy będzie można zrobić update :frowning:

Wtedy kiedy ty o tym zadecydujesz, zawsze możesz zrobić :floppy_disk: i w razie czego wracasz do poprzedniej wersji.

mi wszystko działa na 8.2

1 polubienie

Chciałbym cały czas korzystać jeszcze z wersji v4.x i CC1101, ale po którymś upgrade HA i ESPhome do nowszej wersji (obecnie chyba 25.09.01) mój wmbus-reader się posypał. Jak poradzić sobie z takim błędem, który powoduje ciągły restart esp32-s3?

[11:11:19][W][component:279]: api set Warning flag: unspecified
[11:11:19][  7048][E][esp32-hal-gpio.c:176] __digitalWrite(): IO 12 is not set as GPIO.
[11:11:19][  7055][E][esp32-hal-gpio.c:176] __digitalWrite(): IO 11 is not set as GPIO.
[11:11:19][  7064][E][esp32-hal-gpio.c:190] __digitalRead(): IO 13 is not set as GPIO.
[11:11:19][  7071][E][esp32-hal-gpio.c:190] __digitalRead(): IO 13 is not set as GPIO.


esphome:
  name: odbiornik-wmbus
  friendly_name: Odbiornik WMBUS/BLE
  name_add_mac_suffix: false


esp32:
  board: esp32-s3-devkitc-1
  variant: esp32s3
#  psram:
#    mode: quad
  flash_size: 16MB
  framework:
    type: arduino


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

wmbus:
  mosi_pin: GPIO11 # pomarańczowy
  clk_pin: GPIO12  # fioletowy
  miso_pin: GPIO13 # brązowy
  gdo0_pin: GPIO14 # szary
  gdo2_pin: GPIO9  # żółty
  cs_pin: GPIO10   # czerwony

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

Witam. Próbuje przejsć z komponentu w wersji 3.x na 4.x z licznikiem izar. w komponencie 3 mam odczyty z następujących sensorów

    total_water_m3:
      name: "Przod Water total"
      filters:
        - offset: -310
      on_raw_value:
        then:
          - lambda: id(water_timestampfront).publish_state(id(homeassistant_time).now().timestamp);
    last_month_total_water_m3:
      filters:
        - offset: -310
      name: "Przod Water last month"
    current_month_total_water_l:
      name: "Przod Water current"
      unit_of_measurement: m³
      filters:
        - offset: -310
        - multiply: 0.001

Niestety przechodząc na nowy komponent tracę odczyt obecnego miesiąca

#  Water Main
  - platform: wmbus
    meter_id: 0xaaaaaaaaa
    type: izar
#    mode: T1
    sensors:
      - name: "Woda Tył zużycie totalne"
        field: "total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
        filters:
          - offset: -287.204
        on_raw_value:
           then:
             - lambda: id(water_timestamp2).publish_state(id(homeassistant_time).now().timestamp);

      - name: "Woda Tył zużycie poprzedni miesiac"
        field: "last_month_total"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
        filters:
          - offset: -287.204
        on_raw_value:
           then:
             - lambda: id(water_timestamp2).publish_state(id(homeassistant_time).now().timestamp);

      - name: "Woda Tył zużycie ten miesiac"
        field: "current_month_total_water"
        accuracy_decimals: 3
        unit_of_measurement: "m³"
        device_class: "water"
        state_class: "total_increasing"
        icon: "mdi:water"
        filters:
#          - offset: -287.204        
          - multiply: 0.001

Ktoś podpowie gdzie popełniam błąd ?

Pewnie masz inne nazwy.

No właśnie niby wpisane ok ale nie do końca. Wsadziłem ramkę w wmbusdecoder i tej wartości tam nie pokazuje. Nic będe jutro kombinował dalej być może zamiast
current_month_total_water przetestuję current_month_total_water_m3 lub L

Jakbys pokazal logi, stare i nowe ramki to byo by latwiej.

Jasne przygotuję. Zaraz polece odebrać Twoją przesyłkę i siadam do komputera

Obydwie rami wyglądają identycznie
1944304C7A0D2261CC01A2411C0013B87DA28CA695560CE2EAE2