Mam jeszcze jedno pytanie odnośnie rejestru o numerze 211 w sterowniku Carel. W opisie jest opisane, że to “przegrzanie” czy “podgrzanie”, ale czego? Na co wskazuje ten rejestr? O ile dobrze pamiętam to na początku zwracało temperaturę lekko ponad 5*C z parametrami:
Ze względu na układ automatycznej zmiany kierunku przesyłania danych ta płytka może działać tylko przy jakichś konkretnych prędkościach połączenia (lub wręcz tylko przy jednej) - sprawdź w jej dokumentacji jaka to ma być prędkość i czy jest to 19200 bodów.
Być może TX i RX powinny być połączone na wprost, a nie na krzyż (czasem opisy są nadrukowane wbrew logice).
Próbowałem zamieniać RX TX na odwrót, ale to nic nie dało (nadal nie działa). A odnośnie bodów to nie mam żadnej dokumentacji technicznej tej płytki (mam ją z Chin)
Nie znalazłem dokumentacji, ale na podstawie znalezionego schematu
sądzę, że pamięć mnie zawiodła - nie widzę nic co by tu mogło jakoś wymuszać prędkość.
A i jeszcze jedno - zgodnie z tym schematem łączysz TX z TX, a RX z RX.
W każdym razie są kontrolki więc po ich zachowaniu powinieneś mieć chociaż namiastkę diagnostyki.
Na podstawie schematu i opisanego zachownia ewidentnie jest to ten przypadek odwrotnego oznaczenia pinów rx,tx.
Ledy też mrugają odwrotnie. Oczywiście stosowaną zasadę oznaczeń chinczycy nie wiadomo dlaczego musieli zmienić?
Podłącz 1:1 rx<>rxd i tx<>txd
Język chiński jest językiem kontekstowym, być może w oryginalnej dokumentacji było coś co miało znaczyć “tu podłącz RX z MCU” (dzięki kontekstowości można czasem coś podobnego zapisać jednym czy dwoma znakami hanzi, z tego powodu np. na Ali są tak fatalne tłumaczenia na polski), ale na PCB zostało nadrukowane tylko RX, swoją drogą czasem dodatkowa dokumentacja jest nadrukowana na płytkach po chińsku (świetny przykład to fotka właśnie tej płytki, gdzie jest informacja o podłączeniu uziemienia w oryginale).
to bynajmniej nie jest napis, sugerujący cokolwiek wspólnego z 485 (jak widać gdzieś wyżej na fragmencie pochodzącym bodajże z dokumentacji ESPHome) tylko “chińskie GND”, ale te 3 znaki (“litery-słowa”) to całe zdanie - “weź duży grunt” (to takie mniej więcej bezpośrednie znaczenia) = podłącz uziemienie.
(PS Nie znam chińskiego, ale uczestniczyłem w paru większych projektach tłumaczeń aplikacji i czasem się okazywało, że źródłowy tekst był po chińsku i nie był przetłumaczony na angielski, który był źródłowy dla polskiego, więc bywało, że musiałem przebrnąć i przez chiński)
@RobinI30@szopen@Blackscreener
Koledzy, przychodzę do Was znów z problemem odnośnie mojego połączenia modułu ESPHome z pompą ciepła SPRSUN.
Około miesiąca temu jakimś cudem straciłem połączenie z pompą ciepła przez Modbusa. Oczywiście nic nie było w tym czasie grzebane, ruszane, żadnych ustawień w ESPHome ani w pompie nie ruszałem. Wszystko działało bez najmniejszego problemu przez około 5 miesięcy. Po tym czasie w ESPHome przestałem otrzymywać jakiekolwiek dane z pompy.
W celu lepszego zrozumienia, w kodzie ESPHome włączyłem tryb logowania “DEBUG”, a logi jakie otrzymałem to:
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 24s'
[E][custom:782]: ######################################################## FREE HEAP: 184.26 KB
[E][custom:783]: ######################################################## Czas uruchomienia: ���?
[D][modbus_controller:043]: Modbus command to device=1 register=0x28 countdown=0 no response received - removed from send queue
[D][sensor:094]: 'uptime_sec': Sending state 163409.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0xBC countdown=0 no response received - removed from send queue
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=217 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=323 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=333 count=3
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 29s'
[D][sensor:094]: 'Sygnał WiFi (RSSI)': Sending state -83.00000 dBm with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (kod ESPHome)': Sending state 34.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (mój kod)': Sending state 34.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Heap Free': Sending state 183644.00000 B with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xD9 countdown=0 no response received - removed from send queue
[D][sensor:094]: 'uptime_sec': Sending state 163414.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x143 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0x14D countdown=0 no response received - removed from send queue
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 34s'
[D][modbus_controller:043]: Modbus command to device=1 register=0x28 countdown=0 no response received - removed from send queue
[E][custom:782]: ######################################################## FREE HEAP: 183.64 KB
[E][custom:783]: ######################################################## Czas uruchomienia:
[D][sensor:094]: 'uptime_sec': Sending state 163419.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0x0B countdown=0 no response received - removed from send queue
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=188 count=11
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=201 count=5
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=207 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=211 count=1
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 39s'
[D][sensor:094]: 'Sygnał WiFi (RSSI)': Sending state -85.00000 dBm with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (kod ESPHome)': Sending state 30.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (mój kod)': Sending state 30.00000 % with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xBC countdown=0 no response received - removed from send queue
[D][sensor:094]: 'Heap Free': Sending state 183824.00000 B with 0 decimals of accuracy
[D][sensor:094]: 'uptime_sec': Sending state 163424.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xC9 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0xCF countdown=0 no response received - removed from send queue
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 44s'
[D][modbus_controller:043]: Modbus command to device=1 register=0xD3 countdown=0 no response received - removed from send queue
[E][custom:782]: ######################################################## FREE HEAP: 183.82 KB
[E][custom:783]: ######################################################## Czas uruchomienia: ���?
[D][modbus_controller:043]: Modbus command to device=1 register=0x28 countdown=0 no response received - removed from send queue
[D][sensor:094]: 'uptime_sec': Sending state 163429.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0x0B countdown=0 no response received - removed from send queue
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=217 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=323 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=333 count=3
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 49s'
[D][sensor:094]: 'Sygnał WiFi (RSSI)': Sending state -88.00000 dBm with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (kod ESPHome)': Sending state 24.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (mój kod)': Sending state 24.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Heap Free': Sending state 183628.00000 B with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xD9 countdown=0 no response received - removed from send queue
[D][sensor:094]: 'uptime_sec': Sending state 163434.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x143 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0x14D countdown=0 no response received - removed from send queue
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 54s'
[E][custom:782]: ######################################################## FREE HEAP: 183.63 KB
[E][custom:783]: ######################################################## Czas uruchomienia: ��?
[D][modbus_controller:043]: Modbus command to device=1 register=0x28 countdown=0 no response received - removed from send queue
[D][sensor:094]: 'uptime_sec': Sending state 163439.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x00 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0x0B countdown=0 no response received - removed from send queue
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=188 count=11
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=201 count=5
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=207 count=1
[W][modbus_controller:136]: Duplicate modbus command found: type=0x3 address=211 count=1
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 23m 59s'
[D][sensor:094]: 'Sygnał WiFi (RSSI)': Sending state -88.00000 dBm with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (kod ESPHome)': Sending state 24.00000 % with 0 decimals of accuracy
[D][sensor:094]: 'Sygnał WiFi (mój kod)': Sending state 24.00000 % with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xBC countdown=0 no response received - removed from send queue
[D][sensor:094]: 'Heap Free': Sending state 181872.00000 B with 0 decimals of accuracy
[D][sensor:094]: 'uptime_sec': Sending state 163444.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0xC9 countdown=0 no response received - removed from send queue
[D][modbus_controller:043]: Modbus command to device=1 register=0xCF countdown=0 no response received - removed from send queue
[D][text_sensor:064]: 'Czas uruchomienia': Sending state '1d 21h 24m 4s'
[D][modbus_controller:043]: Modbus command to device=1 register=0xD3 countdown=0 no response received - removed from send queue
[E][custom:782]: ######################################################## FREE HEAP: 181.87 KB
[E][custom:783]: ######################################################## Czas uruchomienia: 1d_21h_24m_4s
[D][sensor:094]: 'uptime_sec': Sending state 163449.85938 s with 0 decimals of accuracy
[D][modbus_controller:043]: Modbus command to device=1 register=0x28 countdown=0 no response received - removed from send queue
Jeśli chodzi o płytkę to miga ciągle TXD, natomiast RXD nie miga wcale. Poniżej zamieszczam filmik jak to wygląda w czasie rzeczywistym.
Filmik: LINK
Czy być może ktoś ma jakieś pomysły co mogło nawalić?
Zastanawiam się co mogę jeszcze uczynić w miarę prostą metodą, aby znaleźć w czym leży problem. W ekstremalnym wypadku chyba będę musiał rozkręcić boczną ścianą pompy ciepła i podłączyć się bezpośrednio 2 krótkimi przewodami, by wykluczyć czy sygnał modbus działa na choćby tak krótkim odcinku. Natomiast tej metody wolałbym uniknąć z racji pogody i wymuszenia demontażu całego układu ze skrzynki. Czy być może ktoś ma inne pomysły, gdzie może leżeć problem?
Na pierwszy rzut oka nie ma komunikacji RS485, typuję
uszkodzona płytka konwertera RS485
zamoknięte przewody
zimne luty
uszkodzenie modułu RS485 w klimie
No chyba, że zignorowałęś jakieś breaking change i skompilowałeś mimo tego świeży wsad (no ale Ty jesteś użytkownikiem, to musisz o to dbać) wstępnie odrzuciłem taki pomysł, bo napisałeś
Okej, a co byś sprawdził w pierwszej kolejności jakbyś był na moim miejscu? Co może być najbardziej prawdopodobną awarią?
I też tak jak pisałem wcześniej, ten moduł, bez jakichkolwiek zmian (również software’owych) działał bez problemu przez 5 miesięcy. Po prostu po tym czasie nagle zdechło i po kilku dniach zauważyłem, że mam brak danych.
Jeśli chodzi o zamoknięte przewody to to bym wykluczył, bo całość idzie w szczelnej otulinie do wnętrza kotłowni, a w kotłowni jest ciepło. Jedynie wilgotnośc przy PCB modbusa (w pompie ciepła, ale czy to realne i czy to częsta awaria?).
Zastanawiałem się też czy to w ogóle może być wina przewodu, dlatego zaproponowałem takie awaryjne, ostateczne rozwiązanie by wpiąć moduł “bezpośrednio” krótkim przewodem do modbusa w pompie.
Jeśli chodzi o konwerter, tych powinienem mieć jeszcze kilka na stanie, jednak musze polutowac goldpiny.
Jeśli chodzi o edycje kodu to tam właśnie nic nie było ruszane. Po prostu z dnia na dzień zdechło, niestety I o ile myślę, że bardzo rzadko są takie przypadłości, o tyle jestem tą awarią zaskoczony i rozkminiam co by tu mogło nawalić. Mam sporo takich układów IoT w domu, większość jest na zewnątrz i nigdy z czymś takim jeszcze się nie spotkałem
no jeśli go myszy przegryzły, to oczywiście ale tak jeszcze bardziej na poważnie to zmiana pór roku jest najlepszym testem dla samoróbek
(a nawet dla konstrukcji fabrycznych - miejsce na foto czujnika ze stacji pogodowej, którą poprawiałem po Chińczyku, ale nie chciałem ryzykować za bardzo i nie zaimpregnowałem całości płytki sensora TH - już się to zemściło…)
możesz się podłączyć na krótko, zrób to
masz konwerter na podmianę - podmień
coś wspomniałeś o goldpinach - połączenie lutowane jest bardziej niezawodne
Brak edycji YAMLa to jeszcze nie wszystko - sama rekompilacja w innej wersji ESPHome może wygenerować zupełnie inny wsad (a nie mówię nawet o potencjalnych zmianach w komponentach które używasz), a raczej nie da się siedzieć na starych wersjach, bo ilość zmian się nawarstwia.
Używasz dość zaawansowanego YAMLa, więc zgaduję, że zdajesz sobie z tego sprawę…
Nie pokazałeś loga od początku więc nie wiadomo w jakiej wersji to było kompilowane i czy w związku z tym powinieneś szukać breaking changes czy nie.
Haha, zgadza się, ale to już wykluczyłem, bo oglądałem kabel i on generalnie jest w grubej otulinie. W najgorszym wypadku (naj nie pomogą prostsze diagnozy) przedzwonię cały kabel miernikiem i sprawdzę czy nie ma zwarcia.
Co do pór roku - zgadza się, sam się już na tym wielokrotnie przejechałem przy ESP
Co do tej części to zgadza się, ale to już też wykluczyłem, gdyż żadnych rekompilacji nie było w tym czasie. Po prostu w okolicach maja zaprogramowałem cały układ i od tamtej pory nie robiłem żadnego upgrade’u firmware’a, więc tą kwestię wykluczam całkowicie. Jeśli cokolwiek bym grzebał/rekompilował to to byłoby pierwsze co zabrałbym pod uwagę
@szopen Nawet nie musiałem rozbierać bocznej ścianki pompy. Wadą była… płytka Modbus przy ESPHome Jestem trochę zażenowany tą awarią, choć ważne, że wpadłem na pomysł, że od razu przelutuję kolejną płytkę, sprawdzę i upewnię się, że na nowej też jest ten błąd
Swoją drogą, ta płytka Modbus to serio taka awaryjna sprawa? Ile mam tych płytek tak pierwszy raz spotykam się z taką awarią. Chyba od razu tą uszkodzoną wywalę do śmieci.
Wrzucisz ładne foto z każdej strony? Ciekaw jestem czy są widoczne jakiś uszkodzenia.
(szczerze mówiąc nie znam warunków instalacji, ale może dobrze by było mieć prawidłowe uziemienie magistrali rs485?)
Jasne, zaraz Ci wrzucę. Choć na moje oko nie widać żadnych upaleń, “czarnych” miejsc, ale zerkniesz, może coś zauważysz
A co do uziemienia RS485 to jak tego dokonać? Od strony płytki Modbus przy ESP32 mam podpięte tylko GND i VCC (choć pewnie nie o to Ci chodzi?).