Licznik wody MBUS

User avatar
shimano73
Posts: 2174
Joined: Sun Feb 28, 2016 12:27 pm
Location: Orzesze
Been thanked: 1 time

Post

OK, poczytałem , po szperałem i do szedłem do takiego stanu :

Code: Select all

dariusz@Wyse:~$ wmbusmeters --format=json auto:t1  MyWater iperl '*' NOKEY
Started auto rtlwmbus[00000001] listening on t1
(wmbus) WARNING! no key to decrypt payload! Permanently ignoring telegrams from id: 21330927 mfct: (SEN) Sensus Metering Systems, Germany (0x4cae) type: Water meter (0x07) ver: 0x68
(meter) newly created meter (MyWater 21330927 iperl) did not handle telegram!
To by oznaczało że znalazł jakiś wodomierz , ale brak key decrypt, ja go mam (chyba), ale nie wiem jak to zapisać
KOD :

Code: Select all

1E44AE4C6478842068077A67001005FF7C7E09C155DB73EF4690EBADFE0C18
Posiłkowałem się tym :https://forum.arturhome.pl/t/wmbusmeter ... rl/4335/48

EDIT : prace posuwają się naprzód ale bardzo powoli
Dziś udało mi się odebrać telegram z mojego licznika , jak się okazuje chyba wszystkie zakłady wodociągowe które używają tych liczników korzystają z tego samego klucza szyfrującego.
Brakuje mi jeszcze zapisu do json'a , podejrzewam jakiś błąd w składni w linii komend

Code: Select all

dariusz@Wyse:~$ wmbusmeters --format=json auto:t1  MyWater iperl  21330927 1E44AE4C6478842068077A67001005FF7C7E09C155DB73EF4690EBADFE0C18
Po tej komendzie nic się nie dzieje
You do not have the required permissions to view the files attached to this post.
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
sixkiller
Posts: 62
Joined: Mon Aug 16, 2021 7:59 pm

Post

koledzy, a czy komuś udało się ogarnąć np cc1101 + rasperry pi + SVD i obsługę liczników wody? Są rozwiązania np z esp i HA, ale jak by to przesyłać bezpośrednio do supli?
maciej38
Posts: 29
Joined: Tue Sep 11, 2018 8:07 pm

Post

Jam ma takie rozwiązanie. Działa stabilnie.

Używam supla device ( Nie mylic z Supla Virtual Device). Pewnie też można.

Konfiguracja SD prawie nie różni się od przykładowej zamieszczonej przez @klewa

Code: Select all

  - type: ImpulseCounterParsed
    name: i1
    counter: total_m3
    multiplier: 1000
    source:
      type: File
      file: "/mnt/ramdisk/glowny"
      expiration_time_sec: 10800
    parser:
      type: Json
W konfiguracji ESPHome dla komponentu wmbus mam ustawione wysyłanie danych do wmbusmetersa po UDP ( można po TCP ) ale w tej samej sieci nie ma to większego znaczenia.

Code: Select all

  clients:
    - name: "wmbusmeters"
      ip_address: "192.168.x.x"
      port: 8484
      transport: UDP
      format: rtlwMBus
W konfiguracji wmbusmetersa mam ustawione odbieranie po UDP telegramów :

Code: Select all

loglevel=normal
# Remember to change auto here to the device you are going to use in production.
#  device=auto:t1
device=rtlwmbus:CMD(nc -lku 8484)
logtelegrams=false
format=json
meterfiles=/mnt/ramdisk/
meterfilesaction=overwrite
logfile=/var/log/wmbusmeters/wmbusmeters.log
Jedyne niedogodność to to że Supla Device dla licznika wody pokazuje w Supli tylko jedno miejsce po przecinku. Ja wysyłam jeszcze to grafany więc jakoś z tym żyje bo tam mam 3 miejsca po przecinku.
--
Każda dostatecznie zaawansowana technologia niczym nie różni się od magii.
Arthur C. Clarke
SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

Cześć

Jako autor komponentu wmbus do ESPHome, który to umożliwia odczytanie wM-Bus bez potrzeby posiadania wmbusmeters, możecie mi napisać czy mogę sobie przygotować odpowiednią wiadomość MQTT z pomiarami i zostanie ona zinterpretowana w Supli jako czujnik/wodomierz (jak tak to gdzie znajdę opis formatu?). Czy też z braku takiej możliwości muszę przygotować sobie cały kod w C++ i nie bawiąc się w 1/2środki zrobić swój czujnik na ESP.
sixkiller
Posts: 62
Joined: Mon Aug 16, 2021 7:59 pm

Post

w nawiązaniu do postu kolegi powyżej, czy w mqqt zadziała kanał IC_WATER_METER?
struktura danych jak w pliku wyjściowym z wmbusmeters?
maciej38
Posts: 29
Joined: Tue Sep 11, 2018 8:07 pm

Post

SzczepanLeon wrote: Mon May 08, 2023 9:40 pm Cześć

Jako autor komponentu wmbus do ESPHome, który to umożliwia odczytanie wM-Bus bez potrzeby posiadania wmbusmeters, możecie mi napisać czy mogę sobie przygotować odpowiednią wiadomość MQTT z pomiarami i zostanie ona zinterpretowana w Supli jako czujnik/wodomierz (jak tak to gdzie znajdę opis formatu?). Czy też z braku takiej możliwości muszę przygotować sobie cały kod w C++ i nie bawiąc się w 1/2środki zrobić swój czujnik na ESP.
Z tego co wiem ( jeśli jest inaczej to niech koledzy dopowiedzą) to nie ma możliwości przesyłania danych po MQTT do Supli. MQTT w Supli działa "odwrotnie" - tzn jeśli masz już urządzenie zarejestrowanie i działające w chmurze to możesz jego encje odczytywać właśnie po MQTT z Supli.
Musiałbyś przygotować kod z jednej strony odczytujący dane przychodzące z Twojego rozwiązania po TCP/UDP i jednocześnie zaimplementować stos Supli jako urządzenie dla chmury suplowej.

Swoja droga byłaby to REWELACJA bo odczyt liczników odbywałby się całkowicie bez RPi/Linuxa...
--
Każda dostatecznie zaawansowana technologia niczym nie różni się od magii.
Arthur C. Clarke
sixkiller
Posts: 62
Joined: Mon Aug 16, 2021 7:59 pm

Post

gdzieś w wątkach na forum bodajże kolega klew pisał o supla-device mqtt, że można przesłać za jego pomocą dane z zewnętrznych urządzeń po mqtt do supla.
Innym rozwiązaniem jakie przychodzi mi do głowy, to przygotowanie wsadu do esp (na zasadzie gui buildera), gdzie esp czytałoby dane z cc1101 i następnie przesyłało je dalej do clouda.
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SzczepanLeon wrote: Mon May 08, 2023 9:40 pm Cześć

Jako autor komponentu wmbus do ESPHome, który to umożliwia odczytanie wM-Bus bez potrzeby posiadania wmbusmeters, możecie mi napisać czy mogę sobie przygotować odpowiednią wiadomość MQTT z pomiarami i zostanie ona zinterpretowana w Supli jako czujnik/wodomierz (jak tak to gdzie znajdę opis formatu?). Czy też z braku takiej możliwości muszę przygotować sobie cały kod w C++ i nie bawiąc się w 1/2środki zrobić swój czujnik na ESP.
Jak już ktoś wspomniał, Supla nie ma natywnego wsparcia dla zewnętrznych czujników przesyłających dane przez MQTT do Supli. Jedynie w drugą stronę to działa.
Są projekty na maliny/linuxy, gdzie supla-virtual-device odczytuje dane z MQTT i przesyła je do Supli, ale równie dobrze możesz wmbusmeter odpalić bezpośrednio na tej maszynie i nie bawić się w dodatkowe ESP i MQTT po drodze.

Nie robiłem nigdy niczego pod esphome, więc ciężko mi tu jednoznaczenie coś powiedzieć, ale Twój kod wygląda jakby miał mało dependencji do samego esphome. Tak na szybko widzę, że esphome ma klasę Component, która ma metody "setup" i "loop". W supla-device mamy podobną klasę Supla::Element, która ma podobne metody: "onInit", "iterateAlways".
Wydaje mi się, że powinno dać się dość łatwo ten kod sportować na Suplę. Chętnie pomogę/podpowiem/zrobię review - jeśli miałbyś ochotę się tego podjąć.

Tylko wtedy takie urządzenie będzie oczywiście urządzeniem w Supli, a nie w ESPHome. Natomiast Supla wszystko udostępnia po MQTT, więc w razie czego można się dalej integrować tą drogą.
Najlepsze suple dla Twojego domu :mrgreen:
SzczepanLeon
Posts: 23
Joined: Mon May 08, 2023 9:33 pm

Post

Z Supli jestem zielony. Na początek przydały by się informacje o środowisku dev pod linuxa (co zainstalować itp).
Sam kod to nie problem, też podobnie to widzę. Najwięcej roboty (tak obstawiam) to konfiguracja takiego supla-wmbus. Jakoś trzeba podać id miernika, jego typ, klucz, co przesyłać do supli itp (czyli zmiany w GUI). Tu (chyba) ESPHome z swoim yaml'em ma przewagę. Pewnie do tego dochodzi też update w tym GUI builderze. Pewnie też zmiany w supla-server/cloud (czy jak to tam się nazywa) - czyli dodanie supportu np dla podzielników ciepła itp (o ile nie ma).
User avatar
klew
Posts: 13908
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

SzczepanLeon wrote: Tue May 09, 2023 12:52 pm Z Supli jestem zielony. Na początek przydały by się informacje o środowisku dev pod linuxa (co zainstalować itp).
Sam kod to nie problem, też podobnie to widzę. Najwięcej roboty (tak obstawiam) to konfiguracja takiego supla-wmbus. Jakoś trzeba podać id miernika, jego typ, klucz, co przesyłać do supli itp (czyli zmiany w GUI). Tu (chyba) ESPHome z swoim yaml'em ma przewagę. Pewnie do tego dochodzi też update w tym GUI builderze. Pewnie też zmiany w supla-server/cloud (czy jak to tam się nazywa) - czyli dodanie supportu np dla podzielników ciepła itp (o ile nie ma).
Nie trzeba robić od razu wszystkiego.

Ja bym do tego podszedł tak:
1. Portowanie tego pluginu do supla-device (https://github.com/SUPLA/supla-device)
2. Dodanie konfiguracji w stylu przykładu dla Arduino IDE "WebInterface"

Jak będzie wsparcie dla tego pluginu, to dalej pewnie @krycha88 od GG by mógł dołożyć wsparcie w ramach GG, ale to nie jest konieczne, aby z tego korzystać i aby to działało w Supli.

Po stronie serwera/clouda raczej ograniczamy się do tego co jest, czyli wsparcie dla liczników energii oraz licznik gazu/ciepła/wody/energii w oparciu o kanał "licznika impulsów". Z tym, że tam nie musi być żadnego licznika impulsów, tylko tak się nazywa ten kanał w Supli.

Od strony środowiska: supla-device jest przygotowana jako bibilioteka do Arduino IDE - wystarczy pobrać i działa. Jest tam też kilka podstawowych przykładów.
Są też osoby na forum, które tego używają pod PlatfromIO.
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Projekty użytkowników”