Licznik wody MBUS

Awatar użytkownika
shimano73
Posty: 1968
Rejestracja: ndz lut 28, 2016 12:27 pm
Lokalizacja: Orzesze
Kontakt:

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

Kod: Zaznacz cały

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 :

Kod: Zaznacz cały

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

Kod: Zaznacz cały

dariusz@Wyse:~$ wmbusmeters --format=json auto:t1  MyWater iperl  21330927 1E44AE4C6478842068077A67001005FF7C7E09C155DB73EF4690EBADFE0C18
Po tej komendzie nic się nie dzieje
Załączniki
iperl_1.png
iperl_1.png (90.38 KiB) Przejrzano 775 razy
iperl_2.png
iperl_2.png (186.39 KiB) Przejrzano 775 razy
iperl_3.png
iperl_3.png (872.13 KiB) Przejrzano 775 razy
W elektronice jak nie wiadomo o co chodzi to zwykle chodzi o zasilanie

Wezmę udział w Supla Offline Party 2024 :)
sixkiller
Posty: 36
Rejestracja: pn sie 16, 2021 7:59 pm

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
Posty: 23
Rejestracja: wt wrz 11, 2018 8:07 pm

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

Kod: Zaznacz cały

  - 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.

Kod: Zaznacz cały

  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 :

Kod: Zaznacz cały

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
Posty: 21
Rejestracja: pn maja 08, 2023 9:33 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.
sixkiller
Posty: 36
Rejestracja: pn sie 16, 2021 7:59 pm

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
Posty: 23
Rejestracja: wt wrz 11, 2018 8:07 pm

SzczepanLeon pisze: pn maja 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
Posty: 36
Rejestracja: pn sie 16, 2021 7:59 pm

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.
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

SzczepanLeon pisze: pn maja 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ą.
Widzimy się na Supla Offline Party vol. 2 :!:
SzczepanLeon
Posty: 21
Rejestracja: pn maja 08, 2023 9:33 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).
Awatar użytkownika
klew
Posty: 8184
Rejestracja: czw cze 27, 2019 12:16 pm
Lokalizacja: Wrocław

SzczepanLeon pisze: wt maja 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.
Widzimy się na Supla Offline Party vol. 2 :!:
ODPOWIEDZ

Wróć do „Projekty użytkowników”