Wemos D1 Mini + CC1101 i odczyt z licznika Sensus Iperl

Dokładnie to co napisał @szopen
Od wersji 1.11.0 został dodany support “portów”. Czyli dodatek może odbierać ramki po TCP/UDP a mój komponent może te ramki wysyłać (opcja client).

Ruszy. U mnie działa już ponad rok.

To jeszcze dodam, że nie tyle chodzi o obsługę sprzętu co odbiór telegramów po sieci (z użyciem netcat - polecenie nc z argumentami).

@szopen w takim razie zwracam honor - nie znalazłem informacji o tym w zmianach/aktualizacjach dodatku.

P.S. @_Szczepan to Ty?

Version 1.11.0 2022-12-29

Version 1.11.0-RC2 2022-12-29

Improve release process.

Version 1.11.0-RC1 2022-12-29

Chpego and SzczepanLeon improved the HA-addon. Thanks!

Tak. A opis konfiguracji jest tu

Czy aktualny to nie wiem, na pewno dobry dla 1.11.0

Ostatni offtop - aktualna wersja dodatku to 1.12.0 z marca 2023, konfiguracja została przeniesiona do interfejsu.

1 polubienie

Jak na razie nie ma mnie w domu.
Przez wifi w logach dalej cisza.
Jak wrócę jutro do domu to podłączę kablem do komputera.
@szopen Te przekierowanie portów dla netcat to gdzie mam wkleić - w dodatku wmbusmeters?

Więc możliwe, że masz uwalony CC1101, wielu którzy zamawiali większą ilość z ChRL mieli ten problem, że cześć układów przyszła martwa, ja zamówiłem jeden i też dostałem trupa…

ściągawka jest ukryta pod słowem tu

Ja miałem ten sam przypadek, tylko nie zamawiałem z chin a z botlandu.
Pierwszy moduł był martwy, ale przysłali mi drugi. I ten normalnie w logach już jest widoczny jako podłączony.

U mnie jak CC1101 był martwy to już na samym początku nic nie dało się z niego odczytać. Tym samym mój komponent pokazywał błąd o połączeniu zamiast listy driver’ów.

btw 1
Jak chcesz mieć loga to dodaj opcję log_unknown (opis na github’ie). W najnowszej wersji to się zmieniło.

btw 2
Tak jak już tu było napisane - nejlepiej pozbierać log łącząc się “po serialu”.

Miałem już wezucony ten kod do Wemosa:

wmbus:
  clients:
    - name: "wmbusmeters_udp"
      ip_address: "192.168.254.223"
      port: 7011
      format: RTLWMBUS
      transport: UDP

Teraz wrzuciłem go jeszcze do dodatku wmbusmeters

Edit:

@_Szczepan No to mój chyba nie jest martwy, bo pokazuje tą listę i jest do niego połączenie
Log_level: log_unknown
tak ma być?

Nie. Dodaj:

wmbus:
  log_unknown: True

W logach na razie cisza jeżeli chodzi o znalezione urządzenia. Poczekam do 22.30 i dam znać czy się coś zmieniło.
Edit
Nic się nie zmieniło. Logi odzczytane w config/wmbusmeters/wmbusmeters.log:

Started config device=rtlwmbus listening on none using CMD(/usr/bin/nc -lku 9011)
No meters configured. Printing id:s of all telegrams heard!
(wmbusmeters) version: 1.12.0-31-gd135ed9
(config) using device: device=rtlwmbus:CMD(/usr/bin/nc -lku 9011) 
(config) number of meters: 0
(serial) expecting devices to work
(serial) expecting devices to work
(lookup) with cmd "device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)"
(main) opening device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)
Started config device=rtlwmbus listening on none using CMD(/usr/bin/nc -lku 9011)
(rtlwmbus) using command: /usr/bin/nc -lku 9011
(rtlwmbus) opening cmd_0
(bgshell) exec background "/bin/sh"
(serial) EVENT thread interrupted
(bgshell) arg "-c"
(bgshell) arg "/usr/bin/nc -lku 9011"
(serialcmd) opened /bin/sh pid 183 fd 3 (rtlwmbus)
(main) regular reset of rtlwmbus  using CMD(/usr/bin/nc -lku 9011) will happen every 82800 seconds
(wmbus) no alarm (expected activity) for rtlwmbus
(serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
No meters configured. Printing id:s of all telegrams heard!
(serial) waiting for stop
(serial) stopping manager
(serial) MAIN thread interrupted
(serial) EVENT thread interrupted
(serial) closing 1 devices
(serial) event loop stopped!
(shell) sending SIGTERM to process group 183
(bgshell) sent sigterm, now waiting for child 183 to exit.
(serial) TIMER thread interrupted
(bgshell) 183 terminated due to signal 15
(wmbus) disconnected cmd_0 rtlwmbus
(serialcmd) closed /bin/sh pid=183 fd=3 (rtlwmbus)
(wmbus) deleted rtlwmbus
(serial) closing 1 devices
(serial) no devices working emergency exit!
(wmbusmeters) version: 1.12.0-31-gd135ed9
(config) using device: device=rtlwmbus:CMD(/usr/bin/nc -lku 9011) 
(config) number of meters: 0
(serial) expecting devices to work
(serial) expecting devices to work
(lookup) with cmd "device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)"
(main) opening device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)
Started config device=rtlwmbus listening on none using CMD(/usr/bin/nc -lku 9011)
(rtlwmbus) using command: /usr/bin/nc -lku 9011
(rtlwmbus) opening cmd_0
(bgshell) exec background "/bin/sh"
(bgshell) arg "-c"
(bgshell) arg "/usr/bin/nc -lku 9011"
(serial) EVENT thread interrupted
(serialcmd) opened /bin/sh pid 183 fd 3 (rtlwmbus)
(main) regular reset of rtlwmbus  using CMD(/usr/bin/nc -lku 9011) will happen every 82800 seconds
(wmbus) no alarm (expected activity) for rtlwmbus
(serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
No meters configured. Printing id:s of all telegrams heard!
(serial) waiting for stop
(serial) stopping manager
(serial) MAIN thread interrupted
(serial) closing 1 devices
(bgshell) 183 terminated due to signal 15
(wmbus) disconnected cmd_0 rtlwmbus
(serialcmd) closed /bin/sh pid=183 fd=3 (rtlwmbus)
(serial) event loop stopped!
(serial) TIMER thread interrupted
(wmbus) deleted rtlwmbus
(serial) closing 1 devices
(serialcmd) closed /bin/sh pid=183 fd=-1 (rtlwmbus)
(serialcmd) closed /bin/sh pid=183 fd=-1 (rtlwmbus)
(serial) no devices working emergency exit!
(wmbusmeters) version: 1.12.0-31-gd135ed9
(config) using device: device=rtlwmbus:CMD(/usr/bin/nc -lku 9011) 
(config) number of meters: 0
(serial) expecting devices to work
(serial) expecting devices to work
(lookup) with cmd "device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)"
(main) opening device=rtlwmbus:CMD(/usr/bin/nc -lku 9011)
Started config device=rtlwmbus listening on none using CMD(/usr/bin/nc -lku 9011)
(rtlwmbus) using command: /usr/bin/nc -lku 9011
(rtlwmbus) opening cmd_0
(bgshell) exec background "/bin/sh"
(serial) EVENT thread interrupted
(bgshell) arg "-c"
(bgshell) arg "/usr/bin/nc -lku 9011"
(serialcmd) opened /bin/sh pid 183 fd 3 (rtlwmbus)
(main) regular reset of rtlwmbus  using CMD(/usr/bin/nc -lku 9011) will happen every 82800 seconds
(wmbus) no alarm (expected activity) for rtlwmbus
(serial) registered regular callback HOT_PLUG_DETECTOR(0) every 2 seconds
No meters configured. Printing id:s of all telegrams heard!
(serial) waiting for stop

@AndroidGamesManiaq_T
Podsyłaj logi z ESPHome

INFO Reading configuration /config/esphome/wodkomierz.yaml...
INFO Starting log output from 192.168.254.77 using esphome API
INFO Successfully connected to 192.168.254.77
[23:27:52][I][app:102]: ESPHome version 2023.4.4 compiled on May  4 2023, 19:12:11
[23:27:52][C][wifi:505]: WiFi:
[23:27:52][C][wifi:363]:   Local MAC: D8:F1:5B:12:E3:B7
[23:27:52][C][wifi:364]:   SSID: [redacted]
[23:27:52][C][wifi:365]:   IP Address: 192.168.254.77
[23:27:52][C][wifi:366]:   BSSID: [redacted]
[23:27:52][C][wifi:368]:   Hostname: 'wodomierz'
[23:27:52][C][wifi:370]:   Signal strength: -36 dB ▂▄▆█
[23:27:52][C][wifi:374]:   Channel: 9
[23:27:52][C][wifi:375]:   Subnet: 255.255.255.0
[23:27:52][C][wifi:376]:   Gateway: 192.168.254.254
[23:27:52][C][wifi:377]:   DNS1: 192.168.254.254
[23:27:52][C][wifi:378]:   DNS2: 8.8.8.8
[23:27:52][C][logger:294]: Logger:
[23:27:52][C][logger:295]:   Level: DEBUG
[23:27:52][C][logger:296]:   Log Baud Rate: 115200
[23:27:52][C][logger:297]:   Hardware UART: UART0
[23:27:52][C][version.text_sensor:021]: Version Text Sensor 'wemos-woda2 - Wersja EspHome'
[23:27:52][C][version.text_sensor:021]:   Icon: 'mdi:new-box'
[23:27:52][C][mdns:108]: mDNS:
[23:27:52][C][mdns:109]:   Hostname: wodomierz
[23:27:52][C][ota:093]: Over-The-Air Updates:
[23:27:52][C][ota:094]:   Address: 192.168.254.77:8266
[23:27:52][C][ota:097]:   Using Password.
[23:27:52][C][api:138]: API Server:
[23:27:52][C][api:139]:   Address: 192.168.254.77:6053
[23:27:52][C][api:141]:   Using noise encryption: YES
[23:27:52][C][sntp:053]: SNTP Time:
[23:27:52][C][sntp:054]:   Server 1: '0.pool.ntp.org'
[23:27:52][C][sntp:055]:   Server 2: '1.pool.ntp.org'
[23:27:52][C][sntp:056]:   Server 3: '2.pool.ntp.org'
[23:27:52][C][sntp:057]:   Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[23:27:52][C][wifi_info:009]: WifiInfo IPAddress 'wemos-woda2 - IP Address'
[23:27:52][C][wifi_info:009]:   Icon: 'mdi:wifi'
[23:27:52][C][wifi_info:011]: WifiInfo SSID 'wemos-woda2 - Podłączony do'
[23:27:52][C][wifi_info:011]:   Icon: 'mdi:wifi-strength-2'
[23:27:52][C][wmbus:312]: wM-Bus v1.5.1:
[23:27:52][C][wmbus:314]:   Clients:
[23:27:52][C][wmbus:316]:     wmbusmeters_udp: 192.168.254.223:7011 UDP [rtl-wmbus]
[23:27:52][C][wmbus:329]:   CC1101 SPI bus:
[23:27:52][C][wmbus:330]:     MOSI Pin: GPIO13
[23:27:52][C][wmbus:331]:     MISO Pin: GPIO12
[23:27:52][C][wmbus:332]:     CLK Pin:  GPIO14
[23:27:52][C][wmbus:333]:     CS Pin:   GPIO15
[23:27:52][C][wmbus:334]:     GDO0 Pin: GPIO5
[23:27:52][C][wmbus:335]:     GDO2 Pin: GPIO4
[23:27:52][C][wmbus:342]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, elf, evo868, fhkvdataiii, hydrocalm3, itron, izar, mkradio3, mkradio4, qheat, qwater, ultrimis, unismart, vario451
[23:42:05][D][sntp:077]: Synchronized time: 2023-05-04 23:42:05
[23:42:05][D][main:193]: Synchronized sntp clock
[23:57:05][D][sntp:077]: Synchronized time: 2023-05-04 23:57:05
[23:57:05][D][main:193]: Synchronized sntp clock
[00:12:05][D][sntp:077]: Synchronized time: 2023-05-05 00:12:05
[00:12:05][D][main:193]: Synchronized sntp clock
[00:27:05][D][sntp:077]: Synchronized time: 2023-05-05 00:27:05
[00:27:05][D][main:193]: Synchronized sntp clock
[00:42:05][D][sntp:077]: Synchronized time: 2023-05-05 00:42:05
[00:42:05][D][main:193]: Synchronized sntp clock
[00:57:05][D][sntp:077]: Synchronized time: 2023-05-05 00:57:05
[00:57:05][D][main:193]: Synchronized sntp clock
[01:12:05][D][sntp:077]: Synchronized time: 2023-05-05 01:12:05
[01:12:05][D][main:193]: Synchronized sntp clock

Zaczynam się zastanawiać, czy mój wodomierz nie nadaje czasami na 433mhz zamiast 868mhz

Na pewno przejdź na nowszy wmbus (2.x). Czy on nadaje na 433 to nie mam pojęcia.

miałem pisać że na pewno 868 MHz ponieważ u mnie na tym nadajniku RTL działa i jest OK… ale wolałem się upewnić => Sensus iPERL – ciepło i woda no i jednak są dwie wersje…

Komunikacja i dostęp do danych

iPERL jest wyposażony w niskiej mocy zintegrowany moduł radiowy o częstotliwości 868 MHz lub 433 MHz. Komunikację zapewnia innowacyjna technologia odczytów inkasenckich „walk-by” / „drive-by” oraz możliwość odpytywania urządzenia w celu pozyskania aż do 2880 punktów z danymi z rejestracji oraz alarmów.

Wraz z radiem Sensus iPERL oferuje także platformę transmisji OMS umożliwiającą migrację danych z odczytów inkasenckich „walk-by / „drive-by” do sieci stacjonarnych bez konieczności dostępu do urządzenia.

Przeszedłem

INFO Reading configuration /config/esphome/wodkomierz.yaml...
INFO Starting log output from 192.168.254.77 using esphome API
INFO Successfully connected to 192.168.254.77
[12:04:43][I][app:102]: ESPHome version 2023.4.4 compiled on May  5 2023, 08:29:15
[12:04:43][C][wifi:505]: WiFi:
[12:04:43][C][wifi:363]:   Local MAC: D8:F1:5B:12:E3:B7
[12:04:43][C][wifi:364]:   SSID: [redacted]
[12:04:43][C][wifi:365]:   IP Address: 192.168.254.77
[12:04:43][C][wifi:366]:   BSSID: [redacted]
[12:04:43][C][wifi:368]:   Hostname: 'wodomierz'
[12:04:43][C][wifi:370]:   Signal strength: -37 dB ▂▄▆█
[12:04:43][C][wifi:374]:   Channel: 9
[12:04:43][C][wifi:375]:   Subnet: 255.255.255.0
[12:04:43][C][wifi:376]:   Gateway: 192.168.254.254
[12:04:43][C][wifi:377]:   DNS1: 192.168.254.254
[12:04:43][C][wifi:378]:   DNS2: 8.8.8.8
[12:04:43][C][logger:294]: Logger:
[12:04:43][C][logger:295]:   Level: DEBUG
[12:04:43][C][logger:296]:   Log Baud Rate: 115200
[12:04:43][C][logger:297]:   Hardware UART: UART0
[12:04:43][C][version.text_sensor:021]: Version Text Sensor 'wemos-woda2 - Wersja EspHome'
[12:04:43][C][version.text_sensor:021]:   Icon: 'mdi:new-box'
[12:04:43][C][mdns:108]: mDNS:
[12:04:43][C][mdns:109]:   Hostname: wodomierz
[12:04:43][C][ota:093]: Over-The-Air Updates:
[12:04:43][C][ota:094]:   Address: 192.168.254.77:8266
[12:04:43][C][ota:097]:   Using Password.
[12:04:43][C][api:138]: API Server:
[12:04:43][C][api:139]:   Address: 192.168.254.77:6053
[12:04:43][C][api:141]:   Using noise encryption: YES
[12:04:43][C][sntp:053]: SNTP Time:
[12:04:43][C][sntp:054]:   Server 1: '0.pool.ntp.org'
[12:04:43][C][sntp:055]:   Server 2: '1.pool.ntp.org'
[12:04:43][C][sntp:056]:   Server 3: '2.pool.ntp.org'
[12:04:43][C][sntp:057]:   Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[12:04:43][C][wifi_info:009]: WifiInfo IPAddress 'wemos-woda2 - IP Address'
[12:04:43][C][wifi_info:009]:   Icon: 'mdi:wifi'
[12:04:43][C][wifi_info:011]: WifiInfo SSID 'wemos-woda2 - Podłączony do'
[12:04:43][C][wifi_info:011]:   Icon: 'mdi:wifi-strength-2'
[12:04:43][C][wmbus:286]: wM-Bus v2.1.0:
[12:04:43][C][wmbus:288]:   Clients:
[12:04:43][C][wmbus:290]:     wmbusmeters_udp: 192.168.254.223:7011 TCP [rtl-wmbus]
[12:04:43][C][wmbus:303]:   CC1101 SPI bus:
[12:04:43][C][wmbus:304]:     MOSI Pin: GPIO13
[12:04:43][C][wmbus:305]:     MISO Pin: GPIO12
[12:04:43][C][wmbus:306]:     CLK Pin:  GPIO14
[12:04:43][C][wmbus:307]:     CS Pin:   GPIO15
[12:04:43][C][wmbus:308]:     GDO0 Pin: GPIO5
[12:04:43][C][wmbus:309]:     GDO2 Pin: GPIO4
[12:04:43][C][wmbus:316]:   Available drivers:  amiplus, apator08, apator162, apatoreitn, bmeters, compact5, elf, evo868, fhkvdataiii, hydrocalm3, hydrus, itron, izar, mkradio3, mkradio4, qheat, qwater, sharky774, topaseskr, ultrimis, unismart, vario451
[12:06:13][D][sntp:077]: Synchronized time: 2023-05-05 12:06:13
[12:06:13][D][main:195]: Synchronized sntp clock
[12:21:13][D][sntp:077]: Synchronized time: 2023-05-05 12:21:13
[12:21:13][D][main:195]: Synchronized sntp clock
[12:36:13][D][sntp:077]: Synchronized time: 2023-05-05 12:36:13
[12:36:13][D][main:195]: Synchronized sntp clock
[12:51:13][D][sntp:077]: Synchronized time: 2023-05-05 12:51:13
[12:51:13][D][main:195]: Synchronized sntp clock
[13:06:13][D][sntp:077]: Synchronized time: 2023-05-05 13:06:13
[13:06:13][D][main:195]: Synchronized sntp clock
[13:21:13][D][sntp:077]: Synchronized time: 2023-05-05 13:21:13
[13:21:13][D][main:195]: Synchronized sntp clock
[13:36:13][D][sntp:077]: Synchronized time: 2023-05-05 13:36:13
[13:36:13][D][main:195]: Synchronized sntp clock
[13:51:13][D][sntp:077]: Synchronized time: 2023-05-05 13:51:13
[13:51:13][D][main:195]: Synchronized sntp clock
[14:06:13][D][sntp:077]: Synchronized time: 2023-05-05 14:06:13
[14:06:13][D][main:195]: Synchronized sntp clock
[14:21:13][D][sntp:077]: Synchronized time: 2023-05-05 14:21:13
[14:21:13][D][main:195]: Synchronized sntp clock
[14:36:13][D][sntp:077]: Synchronized time: 2023-05-05 14:36:13
[14:36:13][D][main:195]: Synchronized sntp clock
[14:51:13][D][sntp:077]: Synchronized time: 2023-05-05 14:51:13
[14:51:13][D][main:195]: Synchronized sntp clock
[15:06:13][D][sntp:077]: Synchronized time: 2023-05-05 15:06:13
[15:06:13][D][main:195]: Synchronized sntp clock

To nadal “głucha cisza”, moim zdaniem albo masz zwalony CC1101 (to w ogóle wersja 868MHz?) albo w okolicy (w zasięgu anteny) nikt nie ma żadnego licznika/podzielnika wmbus na 868MHz.
Możesz czekać dalej (może akurat nie nadaje, na githubie bodajże w issues do projektu wmbusmeters były opisywane przypadki, gdy nakładka nadaje okresowo co kilka tygodni przez kilka dni, przez pozostały czas jest w uśpieniu), możesz się przemieścić z odbiornikiem w inne miejsce (np. dalej od licznika, bo za wysoki sygnał RF też może prowadzić do braku odbioru).

Wersja to 868mhz. Zamówiłem jeszcze jedną płytkę CC1101, ale tym razem 433mhz.
Odnośnie debugowania po kablu - podłączyłem do komputera. Logi mam czytać przez ESPHOME tak jak poprzednio? Czy np. przez Arduino IDE albo PlatformIO ?

Najprościej to używając dowolnego terminala szeregowego (np. PuTTY) z ustawieniami 115200bps, 8, N, 1 (to najbardziej standardowe ustawienia) - przykładowo dla COM5 (port oczywiście wybierasz ten pod którym zgłasza się twój mostek UART-USB)


Możesz też użyć dowolnego IDE, w którym jest wbudowany terminal szeregowy.

Nawet może być tablet, czy telefon, przykładowy prosty terminal szeregowy na androida to dostępny w alternatywnym sklepie F-droid “Android USB Serial Monitor Lite” (niestety nie ma możliwości kopiowania z ekranu do schowka, przynajmniej na moim współczesnym telefonie…)