Wątek archiwalny - Komponent wM-Bus do ESPHome (SzczepanLeon) starsze wersje do 1.5.1 włącznie

A ktoś z Was rozpatrywał różnice sprzętowe między tymi płytkami prototypowymi?
devkit v1 (ESP32) o ile mnie pamięć nie myli ma wlutowany LED statusu na GPIO2

a ESP32-POE nie wiem czy ma cokolwiek na stałe podpiętego na wykorzystanych pinach, chodzi o wypust Olimex?

Tak, to złącze OLIMEXowe na ich akcesoria. Pewnie nic na tych liniach nie ma podpiętego extra, poza rezystorami podciągającymi.

Dokładnie, nie dopatrzyłem się niczego innego (ale nic nie zaszkodzi gdy sprawdzi to ktoś jeszcze), wersja “I” (“i” nie “jeden”, jeśli kupowana w ostatnich miesiącach)

I dokumentacja reszty wersji (są i dawniejsze i przyszłe), ale nie spodziewam się różnic w akurat tym fragmencie schematu, trochę wkurzają na schematach wstawki po bułgarsku (no mogliby to jednak wstawiać po angielsku :stuck_out_tongue: )

@_Szczepan
Wrzucany program wyglada tak:

esphome:
  name: "esphome-web-33e900dddupa"

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:
  level: debug

# Enable Home Assistant API
api:

ota:


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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esphome-Web-33E900"
    password: "5KKwRGrB7zU7"

captive_portal:


external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus ]

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO17
  clk_pin:  GPIO18
  cs_pin:   GPIO14
  gdo0_pin: GPIO15
  gdo2_pin: GPIO16

GPIO pozmienialem teraz powyzej 12 bo wedlug tej stronki ESP32 Pinout Reference: Which GPIO pins should you use? | Random Nerd Tutorials DEVKIT V1 wczesniejsze nie sa rekomendowane.

Upload wyglada w porzadku.

INFO Successfully compiled program.
INFO Resolving IP address of esphome-web-33e900dddupa.local
INFO  -> 192.168.1.63
INFO Uploading /data/esphome-web-33e900dddupa/.pioenvs/esphome-web-33e900dddupa/firmware.bin (857392 bytes)
Uploading: [============================================================] 100% Done...

INFO Waiting for result...
INFO OTA successful
INFO Successfully uploaded program.
INFO Starting log output from esphome-web-33e900dddupa.local using esphome API
WARNING Can't connect to ESPHome API for esphome-web-33e900dddupa.local: Hello timed out
INFO Trying to reconnect to esphome-web-33e900dddupa.local in the background

Po wrzuceniu juz nie moge sie polaczyc bezprzewodowo aby podejrzec logi wiec po USB wyglada to tak:

...
[C][ota:093]: Over-The-Air Updates:
[C][ota:094]:   Address: esphome-web-33e900dddupa.local:3232
[W][ota:103]: Last Boot was an unhandled reset, will proceed to safe mode in 1 restarts
[C][api:025]: Setting up Home Assistant API server...

CC1101 version: 0
CC1101 initialized
[I][app:062]: setup() finished successfully!
E (26662) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (26662) task_wdt:  - loopTask (CPU 1)
E (26662) task_wdt: Tasks currently running:
E (26662) task_wdt: CPU 0: IDLE
E (26662) task_wdt: CPU 1: loopTask
E (26662) task_wdt: Aborting.

abort() was called at PC 0x400f1271 on core 0


Backtrace:0x400837cd:0x3ffbe9bc |<-CORRUPTED




ELF file SHA256: 0000000000000000

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13132
load:0x40080400,len:3036
entry 0x400805e4
[I][logger:258]: Log initialized
[C][ota:469]: There have been 10 suspected unsuccessful boot attempts.
[D][esp32.preferences:113]: Saving 1 preferences to flash...
[D][esp32.preferences:142]: Saving 1 preferences to flash: 0 cached, 1 written, 0 failed
[E][ota:476]: Boot loop detected. Proceeding to safe mode.
[I][app:029]: Running through setup()...

Aktualnie odłączyłem CC1101 aby nie było wątpliwości ze blokuje.

ps
Czy dostęp po http bezposrednio na ESP powinien działać cały czas? Bo po adopcji do ESPhome przestaje działać, nawet zanim wrzucę juz program wmbus, ale polaczenie z ESPhome i podgląd logów działa cały czas.

To jest ta płytka?

Podepnij tak jak jest na rysunku MOSI, MISO, etc a GPIOx np. pod SCL + SDA.

Z wypiętym CC1101 komponent też (najprawdopodobniej) będzie się wieszał.

Mam licznik Apator Ultrimis DN 15-50, udało się komuś dokonać odczytu z niego.

Próbowałeś złapać jakieś ramki z tego wodomierza?
Masz na wyświetlaczu widoczny symbol radia?
obraz

Z informacji w internecie (znalezionych bardzo szybko) wynika że powinien on nadawać ramki T1 i to OMS, więc nie powinno być problemu z ich odczytem. Pozostaje tylko kwestia czy klucz do kodowania jest ustawiony czy nie.

Najlepiej jakbyś podesłał parę ramek.

Juz miałem pisać ze nadal nie dziala ale…
Z racji ze mam:

  • jedno Arduino+CC1101 ktore dziala (ale nie chcialem ruszac)
  • jedno ESP8266+CC1101 ktore juz dzialalo na programie @Mariusz_Woszczyński
  • dwa ESP32 z jednym CC1101

Zaczalem podmieniac ESP 8266 i 32 modulami CC1101 i jak sie okazuje jeden nowy nie dziala na zadnym z nich a drugi dziala na obu (przewody pomierzone i polaczenia sa ok) wiec mam jeden modul walniety.

To moze byc cenna informacja do readme ze jesli modul nie jest prawidlowo podlaczony/wykryty to bedzie widac restarty w logach (i to o czym pisalem wczesnie, ze mozna nie konfigurowac w ogole czesci “sensor:” licznika jesli nie wiemy ktory jest nasz.)

@Artur_Musiałek pisał o takich samych problemach i nie wiem czy rozwiązał problem.

Dla potomnych gdyby ktoś się zastanawiał jak podłączyć ESP32 DEV KIT V1 użyłem:

 mosi_pin: GPIO23
 miso_pin: GPIO19
 clk_pin:  GPIO18
 cs_pin:   GPIO5
 gdo0_pin: GPIO25
 gdo2_pin: GPIO26
2 polubienia

Kto by tam readme pisal - kod jest lepszy. A tak na powaznie to i tak komponent jest duzym skokiem w storunku do tunera TV :wink:

Panowie, a co zrobić w takiej sytuacji :

  • na początku miałem tuner dvb-t wpięty do maliny z wmbusmeters, która wysyłała przez mqtt do HA na innej maszynie wskazania - w HA zdefiniowane sensory MQTT

  • zamieniłem maline na CC1101+ESP32 + komponent Szczepana do wysyłania ramek do HA z wmbusmeters, gdzie dalej po odkodowaniu jest to pchane po mqtt - w konfigu HA zmieniłem tylko tematy w konfigu sensorow

  • skoro Szczepan ogarnął już dekodowanie apatora na poziomie esp bez odczytów “z sufitu” to chciałem wgrać ten wariant do ESP , ale esphome nie wystawia czujnika po mqtt - wiec zmieni sie encja do zakladki energia - to jak to ogarnąć, żeby nie stracić historii ?

Czy po prostu zostawić tak jak jest skoro działa ?

Ja ostatnio podmieniałem encje ze zużyciem gazu kotla gazowego (z dziennej na roczna aby w razie utraty polaczenia nie tracił danych) i nie straciłem historii, wiec zrob backup i sprawdź podmiane encji.

Takie przesyła mi ramki

@Krzynio Wklej jako tekst a nie obrazek.
A najlepiej to jedną taką ramkę wklej do https://wmbusmeters.org/ i sprawdź czy coś odczytał.

[20:34:51][C][wmbus:119]: GDO0 Pin: GPIO4
[20:34:51][C][wmbus:120]: GDO2 Pin: GPIO5
[20:34:51][C][wmbus:126]: Available drivers: apator08, apator162, evo868, izar, unismart
[20:35:01][I][wmbus:049]: Using driver ‘evo868’ for ID [0x80098425] T: 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)
[20:35:01][E][wmbus:062]: Something was not OK during decoding telegram for ID [0x80098425] ‘evo868’
[20:35:01][E][wmbus:063]: T : 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)
[20:35:01][E][wmbus:064]: T’: 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)
[20:35:25][I][wmbus:049]: Using driver ‘evo868’ for ID [0x80098425] T: 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)
[20:35:25][E][wmbus:062]: Something was not OK during decoding telegram for ID [0x80098425] ‘evo868’
[20:35:25][E][wmbus:063]: T : 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)
[20:35:25][E][wmbus:064]: T’: 2E4401062584098001167AFC0020058B593CCF36AEF45E7809C4F5DA5520B8ACA932EDEFB0A50FC0EF7153E0BFC6B0 (47)

@Krzynio Problemem jest klucz - domyślne zera nie działają. Albo uzyskasz go od właściela wodomierza, albo coś w ciemno trafisz :wink:

mam klucz do wodomierza
gdzie go wpisać

Narazie na stronie https://wmbusmeters.org/ wklej i klucz i jakiś telegram i daj znać czy poprawnie odkodował dane. Jak tak to możesz się podzielić się tym odkodowanym telegramem (z tamtej strony).

tekst z strony
Sterownik automatyczny: ultrimis Najlepszy sterownik: ultrimis 15/15 Korzystanie ze sterownika: ultrimis 00/00 000: 2e długość (46 bajtów) 001: 44 dll-c (z licznika SND_NR) 002: 0106 dll-mfct ​​(APA) 004: 25840980 dll -id (80098425) 008 : 01 dll-version 009 : 16 dll-type (wodomierz zimnej wody) 010 : 7a tpl-ci-field (EN 13757-3 Application Layer (short tplh)) 011 : fb tpl-acc-field 012 : 00 tpl-sts-field (OK) 013 : 2005 tpl-cfg 0520 (AES_CBC_IV nb=2 cntn=0 ra=0 hc=0 ) 015 : 2f2f odszyfruj bajty kontrolne (OK) 017 : 04 dif (32-bitowa liczba całkowita /Binary Wartość chwilowa) 018 : 13 vif (objętość l) 019 C!: E93F0100 („total_m3”:81.897) 023 : 03 dif (24-bitowa liczba całkowita/binarna wartość chwilowa) 024 : FD vif (drugie rozszerzenie FD kodów VIF ) 025 : 17 vife (flagi błędów (binarne)) 026 C!:000008 (“current_status”: “ERROR_FLAGS_80000”) 029 : 44 dif (32-bitowa liczba całkowita/binarna pamięć chwilowa nr = 1) 030 : 13 vif (objętość l) 031 C!: 6A3F0100 (“target_m3”: 81,77) 035 : 04 dif (32-bitowa liczba całkowita/binarna wartość chwilowa) 036: 93 vif (objętość l) 037: 3C kombinowane vif (przepływ wsteczny) 038 C!: 3A000000 („total_backward_flow_m3”: 0,058) 042 : 2F pomiń 043 : 2F pomiń 044 : 2F pomiń 045 : 2F pomiń 046 : 2F pomiń { “media”:“zimna woda”, “meter”:“ultrimis”, “name”:"", “id”:" 80098425", “total_m3”: 81,897, “target_m3”: 81,77, “current_status”: “ERROR_FLAGS_80000”, “total_backward_flow_m3”: 0,058, “timestamp”: “2023-01-05T19:39:26Z” } Używanie: wmbusmeters: 1.11 .0-23-gfce935e fce935ea4770343958fa391718c2e8119068c807 Czy wiesz, jak poprawić dekodowanie? Otwórz wstępnie wypełniony bilet wydania

Trudno sie to czyta - tu mozesz podeslac screenshota :slight_smile:
Ale odkodowal dobrze?

Jak tak to za pare dni dodam obsluge kluczy.

Przesyłam screen
dziEki za pomoc