Konfiguracja waveshare modbus

Witam
Mam problem z konfiguracja karty 8 przekaźnikowej waveshare.
Wrzuciłem konfiguracje z przykładu od producenta lecz cały czas dostaję błędy że skłania yaml jest nie taka.
Stąd prośba o sprawdzenie.
Poniżej przykład:

config_editor:
modbus:
  - name: "Waveshare 8CH relais 1"
    type: tcp
    host: 192.168.10.200
    port: 502

    delay: 3 
    # timeout: 5
    binary_sensors:
      - name: my_relay
        address: 0
        input_type: coil
        scan_interval: 15
        slave: 1
        slave_count: 8
        unique_id: my_relay
    lights:
      - name: "Light_1"
        address: 0
        write_type: coil
        slave: 1
      - name: "Light_2"
        address: 1
        write_type: coil
        slave: 1
      - name: "Light_3"
        address: 2
        write_type: coil
        slave: 1
      - name: "Light_4"
        address: 3
        write_type: coil
        slave: 1
      - name: "Light_5"
        address: 4
        write_type: coil
        slave: 1
      - name: "Light_6"
        address: 5
        write_type: coil
        slave: 1
      - name: "Light_7"
        address: 6
        write_type: coil
        slave: 1
      - name: "Light_8"
        address: 7
        write_type: coil
        slave: 1

Czasami sam już nie wiem dla kogo jest ten YAML

Gdzie to wrzuciłeś?
Te błędy treść posiadają?
Pierwsza linia to po co?

1 polubienie

configuration.yaml - tam jest konfiguracja
linia pierwsza jest z dodatku config editor
Troszkę zamieszałem i źle poinformowałem. Konfiguracje którą wcześniej mi wywalało jako błędną miałem jeszcze swoją tzn. inną.
Później wrzuciłem tą która wkleiłem tutaj w poprzednim poście.
Poniżej błędy

Rejestrator: pymodbus.logging
Źródło: components/modbus/modbus.py:394
Pierwsze zdarzenie: 16:13:31 (426 wystąpień)
Ostatnio zalogowany: 18:14:32

No response received after 3 retries, continue with next request

oraz

Rejestrator: homeassistant.components.modbus.modbus
Źródło: components/modbus/modbus.py:310
integracja: Modbus (dokumentacja, Problemy)
Pierwsze zdarzenie: 16:13:31 (1 wystąpienie)
Ostatnio zalogowany: 16:13:31

Pymodbus: Waveshare 8CH relais 1: Error: device: 1 address: 0 -> Modbus Error: [Input/Output] No response received after 3 retries, continue with next request

Urządzenie działa na adresie 1 ponieważ mogę wysyłać ramki na urządzenie programem SSCOM i reaguje. Komunikacja home assistant - moduł przekaźnikowy jest.

Możesz dokładnie pokazać który model masz, bo Waveshare miało w ofercie takich modułów od groma
https://www.waveshare.com/wiki/Main_Page#Wired-communication

8 przekaźników POE bez DI oraz bez fizycznego portu rs485

Karta config editor to… nie jest Dodatek

dokumentacja jest tam, ale jakoś nie widzę przykładowego YAMLa (a szczerze mówiąc nie mam weny by szukać tego co już masz)

dokumentację modbus masz tam

protokół musi się zgadzać z tym co masz ustawione w sprzęcie, defaultowo jest tam Modbus RTU

    type: rtuovertcp

nie wspomniałeś, że zmieniałeś konfigurację na Modbus TCP w sprzęcie

Najlepiej uporządkuj wszystko i spróbuj ponownie przekazać rzetelne informacje.

Na razie to wiadomo tyle, że składniowo jest dobrze a błędy są na poziomie wykonania.

Z tego co pokazałeś to właśnie NIE.
Nasz problem z komunikacją prawdopodobnie z powodu błędnych parametrów.

… więc w HA ustaw te same parametry i zdecyduj się, którego będziesz używał - tcp czy rtuovertcp .

Nigdzie nie napisałem ze mam rtuovertcp. W konfiguracji jest TCP i tak tez jest na karcie. W SSCOM łącze się i wrzucam ramkę modbus i działa. W home assistant nie widzę podgladu co wysyła a te informacje co log wyrzuca o niczym konkretnym nie mówią.
Różnica w tym co napisałem wcześniej polegała że mój config mimo tego że miał identyczną składnie wyrzucał błąd stad wkleiłem przykładowy od producenta który “miał działać”. Niestety nie działa, chociaż już nie składnia go boli.
Może znasz jakiś sposób co dokładnie wysyła HA?

Tak, zmieniłem port na 502 (jest to w konfiguracji którą wysłałem). RTU tutaj wogóle nie ma bo nie mam fizycznego portu RS485. Wszystko jest przez eth i TCP/UDP (w moim przypadku leci poprzez połączenie po TCP).
Czy można wogóle podejrzeć co ten HA wysyła? Te logi niewiele mówią na jakim etapie jest problem z komunikacją tzn. mam rozumieć że nie znajduje hosta, zrywa połączenie TCP, suma kontrolna CRC się nie zgadza, a może po prostu nie ten rejestr próbuje odczytać?

Co do “config editor” to ja mam to w dodatkach zainstalowane i dodane jako kartę w celu edycji plikow konfiguracyjnych. Czy to jest jakiś fizyczny dodatek tego nie wiem.

Szkoda, bo jakbyś słuchał rad a się nie spierał - to byś ustawił.

To w zasadzie kończy moją aktywność w tym temacie i nie będę kolejny raz tłumaczył na tym forum różnic rtu, rtuovertcp, tcp.
Masz ustawiony protokół RTU w sterowniku i nie ma znaczenia czym będziesz to przesyłał po: rs485, tcp czy sznurku od snopowiązałki.

1 polubienie

Sorki ale ciemnotę komuś wciskasz a sam nie bardzo rozumiesz temat.
RTU odnosi się do warstwy fizycznej D+ D- jako warstwa sprzętowa.
Jeśli ktoś nie rozumie o czym pisałem tzn. że moduł NIE POSIADA warstwy sprzętowej RS485 D+ D- (jako wastwy fizycznej) i dalej mówi o RTU to chyba faktycznie lepiej nie “pomagaj” bo i tak nic nie wnosisz do tematu.
Tym bardziej jeśli pisałem że wysyłając ramkę z SSCOM poprzez TCP na kartę DZIAŁA powinieneś zajarzyć że coś nie w temacie podbijasz…

RTU wymaga CRC a kanał łącza danych TCP/UDP - nie (to są inne warstwy OSI)
Na dodatek co mam ustawić? RTUOVERTCP którego nie ma na karcie? Co jeszcze wymyślisz?

Fakt zrobiłem gafę że pomieszałem na początku wątku, ale Ty udajesz kogoś kim nie jesteś. Napewno nie z tą wiedzą.

Nie obrażam Cię ale trochę pokory w Twoich wypowiedziach bo cfaniaczysz jak gdybyś wszystkie rozumy pozjadał.

Wiesz, że mógbym ten post usunąć a Tobie wlepić bana?
Zostawie to jako pomnik arogancji i ignorancji👍

Wiesz że patrząc na Twojego posta i formę wypowiedzi mam już o Tobie zdanie? Wiem też że za wiele mi nie jesteś w stanie pomóc. Mam tylko nadzieję że są tutaj bardziej kompetentne w tym temacie osoby na tym forum i tylko dlatego jestem jeszcze tutaj.
W tym miejscu również cię nie obraziłem :slight_smile:

Dodatkowo należy podnieść, że…
Jeśli boli Cię że napisałem o Twojej niekomplementarnej wiedzy na podstawie której poniżasz i oceniasz innych to raczej to o Tobie to świadczy. Jeśli ja gdzieś robię błąd wskaż mi go. Przeproszę Cię że jestem głupszy w tym temacie.
Na przyszłość. Jeśli nie masz czasu lub Ci się nie chce udzielać na forum to lepiej nic nie mów. Są również inni użytkownicy którzy chcą i mogą pomóc…
Myślę że już wyjaśniłem Ci wszystko w temacie Twojego zachowania.

Wpisz do cholery i nie teoretyzuj !!

Modbus RTU over TCP (znany również jako Modbus RTU/IP) to metoda przesyłania danych protokołu Modbus RTU, który standardowo działa na łączach szeregowych (jak RS-485), przez sieć Ethernet, korzystając z protokołu TCP/IP. Jest to „tunelowanie” surowego strumienia danych z portu szeregowego (RS-232/485) przez sieć TCP. Pozwala to na wykorzystanie istniejącej infrastruktury sieciowej do komunikacji z urządzeniami, które pierwotnie używają Modbus RTU, bez konieczności modyfikacji samego protokołu Modbus.

Jak to działa

  • Warstwa fizyczna: Modbus RTU działa na warstwie fizycznej jako komunikacja szeregowa, a nie sieć Ethernet.
  • Warstwa transportowa: Protokół Modbus RTU działa w sieci TCP/IP jako warstwa transportowa.
  • “Tunelowanie”: Dane z portu szeregowego (np. RS-485) są przesyłane przez sieć Ethernet w postaci surowego strumienia danych, umieszczonego w pakiecie TCP/IP.
  • Serwer portów szeregowych: Do realizacji tej komunikacji potrzebny jest serwer portów szeregowych, który działa jako most między interfejsem szeregowym (RS-232/485) a siecią Ethernet.

https://youtu.be/DC67cjQjalE?t=1043
Tu ciekawie gość opowiada

Zwyzywałeś go - mówił ,że musi być rtuovertcp?

1 polubienie

Trzeba było dać w ustawieniach karty w sekcji “multihost settings” protocol: modbus tcp to rtu i działa TCP, jeśli mamy ustawione na “none” działa tylko w trybie enkapsulacji czyli tzw rtuovertcp.
Dziękuję i przepraszam za nerwówkę :wink:
Temat do zamknięcia.

Czyli za tą całą pyskówkę spokojnie mogę dać bana?

Ty dalej swoje… Widzę że bardzo nie lubisz gdy ktoś Cię krytykuje a chcesz pokazać wyższość.
Co do bana. Jeśli ma Cię uszczęśliwić to proszę się nie ograniczać :slight_smile: Wielkiego szlochu nie będzie.
Wiedz jedno. Jeśli tak banujesz wszystkich to w końcu zostaniesz sam na forum. Może wtedy będziesz miał spokój :stuck_out_tongue:
Pozdrawiam

Wola - Twoja pani. Będziesz chyba pierwszy.