Zabrałem się za integrację rekuperatora firmy jan-gaz z openhab.
Openhab jest na Raspberry Pi 3B+ , do testów użyłem konta openhabian.
Fizycznie używam najtańszego konwertera rs486 na USB
Rekuperator posiada interfejs modbus ascii i używając oprogramowania modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator jestem w stanie odczytywać i zapisywać rejestry.
Ale już konfiguracja w Openhab generuje błędy typu:
2022-01-01 20:59:56.772 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection SerialConnection@e50ebb[portName=/dev/ttyUSB1,port=<null>] for endpoint ModbusSerialSlaveEndpoint@1589d43[portName=/dev/ttyUSB1]: Could not get port identifier, maybe insufficient permissions. null
2022-01-01 20:59:56.774 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusSerialSlaveEndpoint@1589d43[portName=/dev/ttyUSB1] -- aborting request ModbusReadRequestBlueprint@6e7239[slaveId=1,functionCode=READ_MULTIPLE_REGISTERS,start=64903,length=1,maxTries=3] [operation ID 0d9e841e-f658-495b-8143-f73fa2b9c66c]
Macie jakieś pomysły?
User systemowy jest już w grupie 5(tty),20(dialout)
Jan-gaz a właściwie sterownik UCS ERC22 mam podpięte w OH3. Sprawdź uprawnienia użytkownika do portu ttyUSB dla użytkownika openhab, a po drugie to w /etc/default/openhab sprawdź czy jest port EXTRA_JAVA_OPTS="-Dgnu.io.rxtx.SerialPorts=/dev/usb2:/dev/ttyUSB3:/dev/USB1"
@jarn, Dzięki 2 podejście i faktycznie nie miałem tych parametrów ustawionych.
Mam kolejne pytania:
1. Jak włączać i wyłączać rekuperator. Odpowiedzialny za to jest rejestr 64641 jest typu init16 holding register. Odczyt 5-włączony 0- wyłączony, ale zapis jest już kodem 85 i 170. Jak zdefiniować thing/item, żeby to obsłużyć ON-OFF? Zrobić konwersję Read/Write Transform czy użyć innego sposobu ?
2. W sterowniku w Jan-gaz jest duża rozpiętość rejestrów, np odczyty temperatur są pod rejestrami 64896 a prędkości wentylatorów pod rejestrami 65219. W Modbus poll mogę jednocześnie odczytywać 8 rejestórw init16. Jak zdefiniować Modbus poll żeby dobrać się do tak skrajnych rejestrów ?
Załączam dokumentacją jaką dostałem do sterownika.
@jarn, Dzięki 2 podejście i faktycznie nie miałem tych parametrów ustawionych.
Mam kolejne pytania:
1. Jak włączać i wyłączać rekuperator. Odpowiedzialny za to jest rejestr 64641 jest typu init16 holding register. Odczyt 5-włączony 0- wyłączony, ale zapis jest już kodem 85 i 170. Jak zdefiniować thing/item, żeby to obsłużyć ON-OFF? Zrobić konwersję Read/Write Transform czy użyć innego sposobu ?
2. W sterowniku w Jan-gaz jest duża rozpiętość rejestrów, np odczyty temperatur są pod rejestrami 64896 a prędkości wentylatorów pod rejestrami 65219. W Modbus poll mogę jednocześnie odczytywać 8 rejestórw init16. Jak zdefiniować Modbus poll żeby dobrać się do tak skrajnych rejestrów ?
Załączam dokumentacją jaką dostałem do sterownika.
Odnośnie sterowania mam tylko zrobione sterowanie prędkością wentylatorów. Pool holding register 65223 lenght 1. Analogiczne modbus data rejestr 65223 uint16.
Uruchomiony został testowo Serwer Discorda na okres około 6 miesięcy, aby zobaczyć, czy jest taka chęć i potrzeba wśród społeczności Smart'nego Domu. Wchodzę...
Serwis Smart'ny Dom używa plików typu cookie, aby zagwarantować działanie strony, zwiększyć wydajność i uzyskać informacje służące do analiz.
Poprzez kliknięcie AKCEPTUJĘ wyrażasz zgodę na Politykę Prywatności oraz zainstalowanie i przechowywanie plików typu cookie. Zawsze możesz zmienić konfigurację swojej przeglądarki, usunąć pliki cookie albo zrezygnować z korzystania z serwisu AkceptujęRezygnuję
Polityka prywatności
Privacy Overview
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.