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

substitutions:
  devicename: "nodemcu2"
  upper_devicename: "NodeMCU v3"
esphome:
  name: $devicename
  platform: ESP8266
  board: nodemcuv2
external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus ]
wifi:
  ssid: !secret wifi_ssid_iot
  password: !secret wifi_password_iot
  fast_connect: true
  ap:
    ssid: "${devicename} Fallback Hotspot"
    password: "iPRgvNLi9xIu"
  manual_ip:
    static_ip: 192.168.2.132
    gateway: !secret wifi_gateway_iot
    subnet: !secret wifi_subnet_iot
captive_portal:
logger:
  level: DEBUG
api:
ota:
web_server:
  port: 80
wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO2
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4
sensor:
  - platform: wmbus
    name: "My water from Apator"
    meter_id: 0x1777708
    type: apator162

Sprawdzałem też, nieskutecznie:

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO5
  clk_pin:  GPIO2
  cs_pin:   GPIO14
  gdo0_pin: GPIO15
  gdo2_pin: GPIO16
ets Jan  8 2013,rst cause:2, boot mode:(3,2)

load 0x4010f000, len 3460, room 16 
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4 
tail 4
chksum 0xc9
csum 0xc9
v0006b230
~ld
[I][logger:258]: Log initialized
[C][ota:469]: There have been 1 suspected unsuccessful boot attempts.
[I][app:029]: Running through setup()...
[C][wifi:037]: Setting up WiFi...
[C][wifi:038]:   Local MAC: 18:FE:34:CB:57:C6
[I][wifi:257]: WiFi Connecting to 'jaskiniatroliIOT'...
[I][wifi:518]: WiFi Connected!
[C][wifi:362]:   Local MAC: 18:FE:34:CB:57:C6
[C][wifi:363]:   SSID: [redacted]
[C][wifi:364]:   IP Address: 192.168.2.132
[C][wifi:365]:   BSSID: [redacted]
[C][wifi:367]:   Hostname: 'nodemcu2'
[C][wifi:369]:   Signal strength: -58 dB ▂▄▆█
[C][wifi:373]:   Channel: 13
[C][wifi:374]:   Subnet: 255.255.255.0
[C][wifi:375]:   Gateway: 192.168.2.1
[C][wifi:376]:   DNS1: 0.0.0.0
[C][wifi:377]:   DNS2: 0.0.0.0
[D][wifi:527]: Disabling AP...
[C][web_server:092]: Setting up web server...
[C][ota:093]: Over-The-Air Updates:
[C][ota:094]:   Address: 192.168.2.132:8266
[C][api:025]: Setting up Home Assistant API server...

CC1101 version: 255
CC1101 initialized
[I][app:062]: setup() finished successfully!

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

>>>stack>>>

ctx: cont
sp: 3ffffc40 end: 3fffffc0 offset: 01a0
3ffffde0:  3ffefc3c 3fff092d 3fff0934 40223206  
3ffffdf0:  3fff0934 3fff092d 000000ff 402234a1  
3ffffe00:  3ffefc3c 00000036 3fff092d 000000ff  
3ffffe10:  3ffefc3c 3ffefc40 3fff0924 4021cac1  
3ffffe20:  00000023 00000001 3ffffed0 00000005  
3ffffe30:  00000004 00000000 3ffefc40 4021cc3a  
3ffffe40:  3fff2f54 3ffe93ad 00000000 40210e79  
3ffffe50:  3fff1758 3ffffef8 3ffe8620 40100dbb  
3ffffe60:  00000000 4bc6a7f0 40418937 00000005  
3ffffe70:  00000000 3fff1758 3fff172c 4020e903  
3ffffe80:  00000000 00000000 4bc6a7f0 00000000  
3ffffe90:  00000fe4 00000000 40100645 00000000  
3ffffea0:  00000fe4 3ffefbdc 40229ebb 00000001  
3ffffeb0:  3fffff1c 3ffefbdc 3fff2708 00000000  
3ffffec0:  00000000 00000000 3fff1594 4010024c  
3ffffed0:  3fff2f40 0000001c 3fff1594 40204fbe  
3ffffee0:  00000000 4bc6a7f0 73333333 00126025  
3ffffef0:  00000000 00000000 00000000 00000000  
3fffff00:  3fff2f38 3ffefbdc 40100645 00000000  
3fffff10:  00000fe4 00000002 00000000 0000001c  
3fffff20:  3fff2f3c 00000002 3fff155c 3fff172c  
3fffff30:  3fff2f44 00000102 3ffefa60 402254a8  
3fffff40:  00000000 00000000 00000000 40225540  
3fffff50:  3fffdad0 00000102 3ffefa60 4020ebe6  
3fffff60:  00000fe4 3fff172c 75497839 feefef00  
3fffff70:  3fff2f48 feefeffe feefeffe feefeffe  
3fffff80:  00000100 feefeffe feefeffe 3fff00b4  
3fffff90:  3fffdad0 00000000 3fff00a0 402116ac  
3fffffa0:  3fffdad0 00000000 3fff00a0 40220a58  
3fffffb0:  feefeffe feefeffe 3ffe861c 4010048d  
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Poniżej fotki … tak wiem, same białe kabelki, ale podłączone dobrze, wieloktownie je wpinałem jeden po drugim.


W ramach testów odłączyłem całkowicie CC1101 i nie dało to żadnych rezultatów, bootloop dalej jest.
Bootloop nie występuje natomiast gdy usunę z kodu esphome część z wmbus, wtedy nodeMCU wstaje jak gdyby nigdy nic i działa poprawnie:

wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO2
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4
sensor:
  - platform: wmbus
    name: "My water from Apator"
    meter_id: 0x1777708
    type: apator162

Dziwną rzecz też znalazłem, podłączając tylko zasilanie i masę z nodeMCU do CC1101 słychać dźwięk odłączanego urządzenia w windowsie (nodeMCU podłączony do portu USB PCta), więc albo faktycznie kwestia 3,3V, albo trafiła mi się wadliwa sztuka.

Hej
@_Szczepan wielki szacun, kawał dobrej roboty.
Wcześniej korzystałem z rozwiązania kolegi @Mariusz_Woszczyński a wczoraj wrzuciłem Twoje rozwiązanie i działa całkiem spoko.
Jest jednak jakiś problem z dekodowaniem ramek, pewnie coś jeszcze nie gra w bibliotekach i coś trzeba poprawić.
Problem polega na tym że bardzo często łapie błędne ramki w logach wygląda to tak:

Something was not OK during decoding telegram for ID [0x00740917] ‘apator162’ T: 5A441486170974000507B60AFFFFF43C1533728007150652281B4CB656C7EE612CCE3C42A28A3A9A068ABEB3FCFAA9E75FCEFB1E23D82794683977BF93CF4D6AF56C26660CEED69E5E991DA3156CF8FD9317407C8D3CD3F630A566 (91)

Wrzuciłem to w Analyze Telegram:

Skutek jest taki że ramki w nocy lecą co jakieś pół godziny ale prawidłowa jest łapana co jakieś 5 godzin.
Co prawda żadnych kosmicznych pików nie ma ale fajnie by było mieć odczyt w miarę na bieżąco.
Po mimo tych drobnych niedogodności nadal uważam że narzędzie jest naprawdę super.

1 polubienie

Ja bym zostawił, bo to taki wstęp do tego rozwiązania tutaj. Które chyba większość obserwujących ten wątek poszukuje.

@Artur_Musiałek
Miałem ten sam problem co Ty kiedy przesiadałem się z Repozytorium @Mariusz_Woszczyński na to tutaj @_Szczepan’a. Problem był w innym zestawieniu pinów. Ja fizyczne ich nie zmieniałem, tylko zmieniłem definicje w pliku yaml

wtedy (po zmianie) myślałem że PORAŻKA, ale odczekałem z kolejnymi poprawkami do rana i okazało się że rano wodomierz zaczął gadać z CC1101

miałem dokładnie takie same logi jak Ty pokazałeś, zanim nie zmieniłem w pliku YAML na odpowiednie przypisanie pinów w NodeMcu do CC1101

wróć do tamtego mojego postu i przeczytaj go sobie w całości, może Ci to pomoże.

Tak to już jest z rozwiązaniem stworzonym przez parę osób na podstawie innego kodu :wink:
Izar działa perfekcyjnie, ale Apator zawsze musi mieć swoją implementacje.

Z innymi rozwiązaniami (np rtl) wszystko działało OK?

Jakbyś mógł zaciągnąć najnowszą wersję z repo, i podzielić się tymi error logami (teraz powinny być trzy linijki.)

Spróbuj na najnowszej wersji i z takim konfigiem, na najnowszym ESPHome:

substitutions:
  devicename: "nodemcu2"
  upper_devicename: "NodeMCU v3"
esphome:
  name: $devicename
  platform: ESP8266
  board: nodemcuv2
external_components:
  - source: github://SzczepanLeon/esphome-components@main
    components: [ wmbus ]
wifi:
  ssid: !secret wifi_ssid_iot
  password: !secret wifi_password_iot
  fast_connect: true
  manual_ip:
    static_ip: 192.168.2.132
    gateway: !secret wifi_gateway_iot
    subnet: !secret wifi_subnet_iot
logger:
  level: DEBUG
api:
ota:
wmbus:
  mosi_pin: GPIO13
  miso_pin: GPIO12
  clk_pin:  GPIO14
  cs_pin:   GPIO2
  gdo0_pin: GPIO5
  gdo2_pin: GPIO4

@_Szczepan

Uaktualniłem, niestety prócz prawidłowych wartości, wali również "kosmicznymi"odczytami :frowning:

Hmm, i poprzednia wersja nie waliła wartościami z kosmosu? Dziwne, bo sposób dekodowania jest taki sam. Widocznie nie jest tak prosto z tymi apatorami. Możesz podesłać parę telegramów, które mają te kosmiczne wartości?

3 posty zostały podzielonye na nowy temat: CC1101 + ESPHome inne zastosowania niż wmbus/wmbusgw

Tu masz błędy podczas dekodowania.


A tyle wody zużyłem dziś :slight_smile:

@OlekD Proszę bardzo.
@Jarosław_Wicik Rysunki mało dają – nie ma jak doszlifować kodu na ich podstawie.

@_Szczepan Co potrzebujesz?
Nie wiem czy to ma znaczenie ale mieszkam w 11 piętrowym wieżowcu i tych liczników na około jest mega dużo. logi lecą praktycznie kilka na sekundę. Może się wzajemnie zakłócają? Ale gdyby tak było to jak inkasent by to odczytywał?

@Jarosław_Wicik ja mam ESP8266 WEMOS D1 mini Pro + CC1101 polutowane i skonfigurowane według tego schematu:

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

Mieszkam również w bloku i od około 24h nie mam żadnych problemów z odczytem liczników za pomocą rozwiązania @_Szczepan
apator

2 polubienia

Jedyną różnice którą widzę to pinologia. Ja ma polutowane jeszcze z projektu @Mariusz_Woszczyński czyli cs_pin mam pod gpio 02. Oczywiście w pliku yaml też ma tak poustawiane. Biorę się za lutowanie i zobaczymy.

@Jarosław_Wicik @MarcO @_Szczepan @OlekD
Takie proste pytanko, czy każdy z Was używa CC1101 w wersji fabrycznie strojonej na 868MHz, czy może ktoś przelutowywał komponenty na wersji 433MHz (ja specjalnie zamówiłem 868MHz w ChRL, bo w PL znalazłem wyłącznie te strojone na 433MHz więc taka informacja mogla by być przydatna dla potencjalnych innych użytkowników rozwiązania).


Przy kompilacji dostaje taki komunikat tak ma być? NodeMCU po wgrania cały czas się restartuje.

Tak ma być o ile kompilacja zakończy się powodzeniem.

@szopen ja kupiłem ten MODUŁ komunikacji CC1101 i działa bezproblemowo.

1 polubienie

sprzedawca się nie wysilił na opis (jego przegrana), ale na zdjęciu widać
868MHz_2022-12-29_15-51

Kupowałem na shoppe ale wysyłka z polski, wersja 868MHz.

1 polubienie

Nie powinno to wpływać na odczyt, a na pewno nie na te “piki”.
Apator162 jest specyficzny jeżeli chodzi o swój protokół. Ja obstawiam na różne wariacje tego co apator wysyła. Muszę dodać jeszcze sprawdzanie CRC telegramu – może polepszy trochę (chociaż u siebie już rok odczytuje Izara bez sprawdzania CRC i wmbusmeters sobie radzi).

Poszło na prv.

@szopen Ja mam 868
@Kryzius Niestety na poziomie bibliotek to dalej drutologia - bez przepisania nie mamy na to wpływu. Co do restartów to jaką masz wersję ESPHome – zaciągnij najnowszą.

1 polubienie

A testował ktoś E07 900M10S? Podobno zasięg lepszy, można to porostu wykorzystać zamiennie z cc1101?

@Jarosław_Wicik a spróbuj jeszcze zmienić board: z nodemcuv2 na esp01_1m. U mnie kiedyś rozwiązało to kilka problemów i teraz przy ESP8266 głównie używam board: esp01_1m