Apator, Izar, AT-WMBUS-16-2 odczyt wodomierza ESPHome + CC1101

Udało mi się uruchomić pomiar zużycia wody z licznika z nakładką IZAR na ESPhome.
Rozwiązanie bez konieczności instalacji wmbusmeters. Wystarczy ESP8286 lub ESP32 i układ radiowy CC1101. Proste i do tego daje możliwości łatwego dołączenia kolejnych czujników.
Wykorzystałem biblioteki Maćka:

Tutaj moje repo:

6 polubień

Jak z zasobożernością? ESP32 pewnie dobrze sobie radzi ale jestem ciekaw.

Ostatecznie mam to uruchomione na esp8266.
Przy kompilacji podaje RAM: 42,8%, Flash: 47,2%.
Dorzucona tez jest obsługa DHT22.

1 polubienie

Zrobiłem korzystając z Twojego repo, działa super, dzięki.
Wg mnie zdecydowanie lepsze rozwiązanie niż instalacja wmbusmeters.

jak dodać np. ds18b20 ?

1 polubienie

Polecam dht22:

Może znalazł by się ktoś chętny, żeby wyciągnąć z wmbusmeters dekodowanie do nakładki Apator 16-2, to byśmy rozszerzyli możliwości esphome?

Zastanawiam się nad założeniem tej nakładki (używka 40zł) na licznik wody ogrodowej, bo za licznik z Izarem wodociągi krzyczą ponad 300zł

2 polubienia

Wg mnie ESP32 braknie mocy obliczeniowej do wykonywania takiej operacji.

Pamiętaj o tym, że używana nakładka ma dane ze starego licznika, będziesz musiał robić korekty wskazań. Każda nakładka jest bowiem konfigurowana pod dedykowany licznik - wprowadza się stan aktualny licznika, podaje inne dane licznika, ustawia czas, okresy rozliczeniowe.

Zrobiłem ESP8266+CC1101, dekoduje ramki Apator 16-2 i wysyłam po MQTT. Obsługuje dwa liczniki i tak jeszcze esp się nudzi.
Uporządkuje źródła i wrzucę na Githuba , cierpliwości.

4 polubienia

Czekam z niecierpliwością:)

To, że używka ma wskazania z poprzedniego licznika to wiem. Nie jest to problemem, żeby zrobic korektę.
Pytanie czy będzie działać, bo widzialem info, że po zdjęciu z licznika moze wymagac aktywacji na nowym.

Kupiłem 4 liczniki APATOR z nakładkami AT-WMBUS-16-2, gdy nie wychodziły odczyty, jedną nakładkę zdjąłem z licznika w celu zmierzenia czy bateria jeszcze żyje (bo liczniki mają już po 10 lat).
Bateria okazała się być OK, potraktowałem też nakładkę magnesem (słychać było jak pracuje malutki kontaktron).
Po ogarnięciu, że mam już odczyty, okazało się, że pozostałe 3 nakładki rozgłaszają swoje dane prawidłowo i odczytuję z nich stan aktualnego wskazania.
Ta zdjęta milczy.

Czytam o tych nakładkach no i mają one alarmy demontażu i przykładania magnesu - czy te zdarzenia powodują, że nakładka całkowicie milknie?

Jak kupimy samą nakładkę to założenie jej na pasujący licznik nic nam nie da?
W jaki sposób można ją tanio zaprogramować na nowy licznik?

Nie znika, nakładka raportuje to zdarzenie i czas wystąpienia.

Trochę da ale ustawiony czas w nakładce będzie z dużym prawdopodobieństwem nieprawidłowy, stan licznika w nakładce będzie jakieś 10-50 litrów, tak było w moim przypadku jak kupiłem (na Allegro) certyfikowany nowy wodomierz z oryginalną nakładką Radio Evo 868 (RADIO EVO - wM-BUS RADIO MODULE 868 MHz), oczywiście stan wodomierza był inny niz stan licznika w nakładce. Najgorsze, że nakładka wysyłała dane tylko w godzinach 8-16, po tych godzinach “spała”.

Proponuje zapytac lokalnego dostawcę wody, może będzie “zainteresowany” wykonaniem takiej usługi.

ESP8266 za pomocą radia CC1101 odczytuje sygnał z APATORA 16-2 i wysyła po WiFi komunikaty MQTT

1 polubienie

Connected to HUAWEI

IP address: 192.168.43.223
HTTP server started

CC1101 connection OK
CC1101 version: 255
CC1101 initialized

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

Soft WDT reset

stack>>>

ctx: cont
sp: 3ffffce0 end: 3fffffc0 offset: 01a0
3ffffe80: 3fff1274 000000ff 00000035 401003e4

takie cudo u mnie sie robi
Ciagłe RESETY
płytka D1 mini nie lite moze dlatego

Masz podłączenie pod MQTT? WDT jest zerowany jak się uda coś wysłać do brokera.

Przejrzałem źródła na GitHubie i niestety to nie poziom wiedzy dla mnie :frowning: a w zabawę w detektywa (co, jak i dlaczego) nie mam czasu :slight_smile:, pozostaje mi używać RPi3 z donglem RTL-SDR.

Pinologia
plik config.hpp

//CC1101 config
#define SPI_MOSI        13
#define SPI_SCK         14
#define SPI_MISO        12
#define GDO2            4
#define GDO0            5
#define SPI_SS          2

ja sobie zmieniłem
#define SPI_SS 15

Mam NodeMCU v3 ESP8266-ESP12E podłączone z CC1101 następująco :

CC1101-> ESP
VCC → 3V
GND → G
MOSI → D7
SCLK-> D5
MISO → D6
GD02 → D2
GDO0 → D1
CSN → D4

Co wg schematu https://a.allegroimg.com/s1024/03d9ef/a0a7ce1f45d18ffbcea3c63bd24f/ESP8266-NodeMCU-v3-WiFi-2-4GHz-ARDUINO-CH340-Producent-Inna powinno odpowiadać rozpisce z config.hpp - zakładam, że w config.hpp cyferki to odpowiedniki GPIOxx ze schematu

Jednak po wgraniu i odpaleniu dostaję

[16:44:16]CC1101 connection Error
[16:44:16]CC1101 version: 0
[16:44:16]CC1101 initialized

i następuje restart po którym czasami verison zmienia się na 30 lub 240 i znowu restart i tak w kółko

Coś nie tak z połączeniem, płytką, lutowaniem czy WTF ?

w main.cpp w linii 97 za komentujcie

 //secondTick.attach(60, ISRwatchdog);

Wyłączcie watchdog
Jeżeli się resetuje co 60 sec., to jest przyczyna.
Jest problem z komunikację z brokerem MQTT. Może już na poziomie WiFi

[16:44:16]CC1101 connection Error
nie ma połączenia z CC1101

Mi na tym staje i nie wiem czy odczytuje coś czy nie.
Może kolega by jakieś info napisał o konfiguracji?

IP address: 10.0.6.69
HTTP server started

CC1101 connection OK
CC1101 version: 4
CC1101 initialized
Attempting MQTT connection...connected
Attempting MQTT connection...connected

Po złapaniu poprawnej ramki powinno w konsoli pojawić się "id = ".

Popraw podłączenie do GDO (zamień miejscami i sprawdź czy działa). W rf_mbus_task jest błąd.

1 polubienie