Dobrze rozumiem, że działa Ci płytka z sx1262 na pokładzie, która niby nie jest wpierana przez wersję v5?
CC1101 bedzie w 2026.
ale co do SX1262 to nie mam planow (gdzies tam lata w necie jakies mini wsparcie)
Jeśli chodzi o SX1262 - na githubie jest działający komponent, ktoś zrobił forka i dostosował:
radugeo74/esphome-sx1262
Na Heltec Lora v3 działa od 24h całkiem dobrze.
poniżej YAML który u mnie działa
esphome:
name: esphome-wmbus
friendly_name: esphome-wmbus
external_components:
- source: github://radugeo74/esphome-sx1262@master
esp32:
variant: esp32s3
flash_size: 8MB
cpu_frequency: 240MHZ
framework:
type: esp-idf
psram:
mode: quad
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
logger:
id: component_logger
level: DEBUG
baud_rate: 115200
time:
- platform: homeassistant
web_server:
version: 3
spi:
clk_pin:
number: GPIO9
mosi_pin: GPIO10
miso_pin:
number: GPIO11
debug:
update_interval: 5s
wmbus_radio:
radio_type: SX1262
cs_pin: GPIO8
reset_pin: GPIO12
irq_pin: GPIO14
on_frame:
- then:
- logger.log:
format: "RSSI: %ddBm T: %s (%d) %s"
args: [ frame->rssi(), frame->as_hex().c_str(), frame->data().size(), toString(frame->link_mode()) ]
wmbus_common:
drivers: all
wmbus_meter:
- id: water_meter
meter_id: 0x00
type: apator162
key: "00000000000000000000000000000000"
sensor:
- platform: wmbus_meter
parent_id: water_meter
field: total_m3
device_class: water
name: Licznik wody
accuracy_decimals: 3
state_class: total_increasing
unit_of_measurement: "m³"
icon: "mdi:water"
- platform: wifi_signal
name: "WiFi Signal dB"
id: wifi_signal_db
update_interval: 60s
entity_category: "diagnostic"
- platform: copy
source_id: wifi_signal_db
name: "WiFi Signal %"
filters:
- lambda: return {min(max(2 * (x + 100.0), 0.0), 100.0)};
unit_of_measurement: "%"
entity_category: "diagnostic"
- platform: internal_temperature
name: "Internal Temperature"
- platform: debug
free:
name: "Heap Free"
loop_time:
name: "Loop Time"
- platform: uptime
type: seconds
name: Uptime
text_sensor:
- platform: debug
device:
name: "Device Info"
reset_reason:
name: "Reset Reason"
Możesz podesłać swojego yaml’a.
U mnie ten co podałeś nie działa niestety z SX1262.
Z jakiej odległości do licznika pobiera Ci dane?
Czy to pytanie do mnie? Ok. 7-10 m w linii prostej przez strop i ściany
Czy ktoś jeszcze może potwierdzić działanie tego komponentu.
Witamy na forum.
Którego? Obecnie jest V5 od @_Szczepan, a w tym temacie jest mowa o sprzęcie, który nie jest (jeszcze) w tym komponencie obsługiwany czyli SX1262.
Chyba, że chodzi ci o ten wpis kolegi @pio-ter
Czyli te repozytorium:
Chodzi mi o współpracę komponentu V5 z sx1262. Próbowałem to uruchomić na esp32 i DX-LR30-900 m22sb lecz jak narazie bez powodzenia.
Od 1.02.2026 została dodana obsługa tegoSXa.
Traz próbuję z komponęcie Szczepana lecz dalej nie działa. Kompiluje się bez błędow ale nic nie odbiera. Może ktoś mądrzejszy coś doradzi.
yaml
esphome:
name: esp32-sx1262
friendly_name: esp32_sx1262
esp32:
board: az-delivery-devkit-v4
framework:
type: esp-idf
external_components:
- source: github://SzczepanLeon/esphome-components@main
components: [wmbus_common, wmbus_radio, wmbus_meter]
refresh: 0d
# Enable logging
logger:
level: DEBUG # INFO
# logs:
# wmbus: ERROR
# wmbusmeters: ERROR
# Enable Home Assistant API
api:
encryption:
key: "S+o8zGoFEnhLZTA______824YJlkvvkf/Mjuo="
ota:
- platform: esphome
password: "c221be9538_______1a6aa5e99dfbc"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Esp32-Sx1262 Fallback Hotspot"
password: "Uib2______oX"
captive_portal:
web_server:
version: 3
time:
- platform: homeassistant
# DX-LR30-900M22S
spi:
mosi_pin: GPIO23 # MOSI I SPI slave input
clk_pin: GPIO18 # SCK I SPI clock
miso_pin: GPIO19 # MISO O SPI slave output
wmbus_radio:
radio_type: Sx1262
cs_pin:
number: GPIO5 # NSS I SPI Slave Select
ignore_strapping_warning: true
reset_pin: GPIO16 # NRESET I Reset signal, active low
irq_pin: GPIO17 # DIO1 I/O Multi-purpose digital IO
wmbus_meter:
- id: water
meter_id: !secret watermeterId
type: izar
sensor:
- platform: "wmbus_meter"
name: "Wskazanie bieżące."
parent_id: "water"
field: "total_m3"
device_class: "water"
# accuracy_decimals: 3
state_class: "total_increasing"
unit_of_measurement: "m³"
icon: "mdi:water"
logi
INFO ESPHome 2026.1.3
INFO Reading configuration /config/esphome/esp32-sx1262.yaml...
INFO Detected timezone 'Europe/Warsaw'
INFO Starting log output from 192.168.1.22 using esphome API
INFO Successfully resolved esp32-sx1262 @ 192.168.1.22 in 0.000s
INFO Successfully connected to esp32-sx1262 @ 192.168.1.22 in 0.324s
INFO Successful handshake with esp32-sx1262 @ 192.168.1.22 in 0.152s
[19:56:53.024][I][app:206]: ESPHome version 2026.1.3 compiled on 2026-02-05 16:46:52 +0100
[19:56:53.037][I][app:213]: ESP32 Chip: ESP32 r3.1, 2 core(s)
[19:56:53.037][W][app:222]: Set minimum_chip_revision: "3.1" to reduce binary size
[19:56:53.052][C][logger:316]: Logger:
[19:56:53.052][C][logger:316]: Max Level: DEBUG
[19:56:53.052][C][logger:316]: Initial Level: DEBUG
[19:56:53.053][C][logger:322]: Log Baud Rate: 115200
[19:56:53.053][C][logger:322]: Hardware UART: UART0
[19:56:53.053][C][logger:332]: Task Log Buffer Size: 768 bytes
[19:56:53.073][C][spi:066]: SPI bus:
[19:56:53.073][C][spi:152]: CLK Pin: GPIO18
[19:56:53.074][C][spi:152]: SDI Pin: GPIO19
[19:56:53.089][C][spi:152]: SDO Pin: GPIO23
[19:56:53.089][C][spi:074]: Using HW SPI: SPI2_HOST
[19:56:53.090][C][homeassistant.time:010]: Home Assistant Time
[19:56:53.119][C][time:028]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[19:56:53.119][C][wmbus.transceiver:145]: Transceiver: SX1262
[19:56:53.120][C][wmbus.transceiver:152]: Reset Pin: GPIO16
[19:56:53.139][C][wmbus.transceiver:152]: IRQ Pin: GPIO17
[19:56:53.140][C][wmbus.transceiver:151]: RX Gain: Boosted
[19:56:53.140][C][wmbus.transceiver:156]: Sync Mode: Normal
[19:56:53.153][C][wmbus_meter:028]: wM-Bus Meter:
[19:56:53.154][C][wmbus_meter:029]: ID: 0x414fb71a
[19:56:53.154][C][wmbus_meter:030]: Driver: izar
[19:56:53.167][C][wmbus_meter:031]: Key: not-encrypted
[19:56:53.167][C][wmbus_meter.sensor:014]: wM-Bus Sensor:
[19:56:53.167][C][wmbus_meter.sensor:015]: Parent meter ID: 0x41____1a
[19:56:53.175][C][wmbus_meter.sensor:017]: Field: 'total_m3'
[19:56:53.175][C][wmbus_meter.sensor:016]: Name: 'Wskazanie bieżące.'
[19:56:53.175][C][wmbus_meter.sensor:016]: State Class: 'total_increasing'
[19:56:53.175][C][wmbus_meter.sensor:016]: Unit of Measurement: 'm³'
[19:56:53.175][C][wmbus_meter.sensor:016]: Accuracy Decimals: 0
[19:56:53.176][C][wmbus_meter.sensor:026]: Device Class: 'water'
[19:56:53.191][C][wmbus_meter.sensor:030]: Icon: 'mdi:water'
[19:56:53.192][C][wmbus_common:013]: wM-Bus Component v5.1.7-1.19.0-fe1b1e0:
[19:56:53.192][C][wmbus_common:015]: Loaded drivers:
[19:56:53.204][C][wmbus_common:017]: izar
[19:56:53.205][C][captive_portal:128]: Captive Portal:
[19:56:53.205][C][wifi:1304]: WiFi:
[19:56:53.205][C][wifi:1304]: Local MAC: 20:__:__:__:1D:70
[19:56:53.205][C][wifi:1304]: Connected: YES
[19:56:53.229][C][wifi:1037]: IP Address: 192.168.1.22
[19:56:53.229][C][wifi:1048]: SSID: 'Orange_Swiatlowod_029A'[redacted]
[19:56:53.229][C][wifi:1048]: BSSID: F8:__:__:__:__:9A[redacted]
[19:56:53.229][C][wifi:1048]: Hostname: 'esp32-sx1262'
[19:56:53.229][C][wifi:1048]: Signal strength: -64 dB ▂▄▆█
[19:56:53.229][C][wifi:1048]: Channel: 1
[19:56:53.229][C][wifi:1048]: Subnet: 255.255.255.0
[19:56:53.229][C][wifi:1048]: Gateway: 192.168.1.1
[19:56:53.229][C][wifi:1048]: DNS1: 192.168.1.1
[19:56:53.229][C][wifi:1048]: DNS2: 0.0.0.0
[19:56:53.231][C][web_server:416]: Web Server:
[19:56:53.231][C][web_server:416]: Address: esp32-sx1262.local:80
[19:56:53.242][C][esphome.ota:075]: Over-The-Air updates:
[19:56:53.242][C][esphome.ota:075]: Address: esp32-sx1262.local:3232
[19:56:53.242][C][esphome.ota:075]: Version: 2
[19:56:53.243][C][esphome.ota:082]: Password configured
[19:56:53.243][C][safe_mode:021]: Safe Mode:
[19:56:53.243][C][safe_mode:021]: Successful after: 60s
[19:56:53.243][C][safe_mode:021]: Invoke after: 10 attempts
[19:56:53.243][C][safe_mode:021]: Duration: 300s
[19:56:53.275][C][safe_mode:038]: Bootloader rollback: support unknown
[19:56:53.276][C][web_server.ota:231]: Web Server OTA
[19:56:53.276][C][api:221]: Server:
[19:56:53.276][C][api:221]: Address: esp32-sx1262.local:6053
[19:56:53.276][C][api:221]: Listen backlog: 4
[19:56:53.276][C][api:221]: Max connections: 8
[19:56:53.348][C][api:228]: Noise encryption: YES
[19:56:53.348][C][mdns:177]: mDNS:
[19:56:53.348][C][mdns:177]: Hostname: esp32-sx1262
[19:57:26.692][I][safe_mode:066]: Boot seems successful; resetting boot loop counter
[19:57:52.365][D][esp32.preferences:155]: Writing 1 items: 0 cached, 1 written, 0 failed
[20:02:17.062][D][wifi:2112]: Roam scan (-73 dBm, attempt 1/3)
[20:06:31.112][D][wifi:2112]: Roam scan (-74 dBm, attempt 2/3)
[20:11:31.107][D][wifi:2112]: Roam scan (-67 dBm, attempt 3/3)
I dalej co jakiś czas powtarza się ostatnia linia.
Sprawdź sobie piny i zasilanie anteny. Czasem trzeba dodać do sekcji wmbus_radiotaki element:
wmbus_radio:
# ... reszta pinów ...
dio2_rf_switch: true # <--- To często rozwiązuje problem "braku odbioru"
Piny mam podłączone w ten sposób.
# DX-LR30-900M22S
spi:
mosi_pin: GPIO23 # MOSI I SPI slave input
clk_pin: GPIO18 # SCK I SPI clock
miso_pin: GPIO19 # MISO O SPI slave output
wmbus_radio:
radio_type: Sx1262
cs_pin:
number: GPIO5 # NSS I SPI Slave Select
ignore_strapping_warning: true
reset_pin: GPIO16 # NRESET I Reset signal, active low
irq_pin: GPIO17 # DIO1 I/O Multi-purpose digital IO
Czyżby to było niepoprawne podłączenie?
Spróbuj tak :
wmbus_radio:
radio_type: SX1262
cs_pin: GPIO5
reset_pin: GPIO16
irq_pin: GPIO17
busy_pin: GPIOXX # <-- obowiązkowo, faktyczny pin BUSY z modułu
# rf_switch: true # <-- jeśli moduł używa DIO2 jako RF switch
Właśnie miałem o tym napisać
wmbus_radio:
radio_type: Sx1262
cs_pin: GPIO5 # Pin 19 (NSS)
reset_pin: GPIO16 # Pin 15 (RESET)
irq_pin: GPIO17 # Pin 13 (DIO1)
busy_pin: GPIO21 # <--- POŁĄCZ FIZYCZNIE PIN 14 Z GPIO21
dio2_rf_switch: true # <--- obsługuje Pin 8
Widzę, że nikt z nas nie sprawdził dokładnie dokumentacji komponentu V5
A dokładniej? Bo nie zabardzo rozumiem.
Na githubie na stronie głównwj jest adnotacja dotycząca połączenia modułu sx1262 .
Nadal mam cisze lecz na dziś wystarczy tej walki.
Hmm troszkę pokory sugeruję (ale to IMHO). Koledzy zasugerowali rozwiązanie, a Ty piszesz w formie “zbiorowej odpowiedzialności”, pomijam fakt, że to Ty przyszedłeś tutaj zapytać.
Potwierdzam SX1262 działa, i to jak szalony. Ale nie czyta licznika energii, rozumie że adnotacja " * Add support for SX1262 (with limited frame length)" ma na to wpływ.
