Pacjent: OH2.4 na Qnap
PLC: Fatek
Sposób działania https://www.openhab.org/addons/bindings/modbus/
Problemy:
2019-07-10 05:37:35.435 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - connect try 1/1 error: No route to host (Host unreachable). Connection TCPMasterConnection@403e01e6[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502]
2019-07-10 05:37:35.436 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - re-connect reached max tries 1, throwing last error: No route to host (Host unreachable). Connection TCPMasterConnection@403e01e6[socket=Socket[unconnected]]. Endpoint ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502]
2019-07-10 05:37:35.438 [ERROR] [ing.ModbusSlaveConnectionFactoryImpl] - Error connecting connection TCPMasterConnection@403e01e6[socket=Socket[unconnected]] for endpoint ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502]: No route to host (Host unreachable)
2019-07-10 05:37:35.444 [WARN ] [rt.modbus.internal.ModbusManagerImpl] - Could not connect to endpoint ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502] -- aborting request ModbusPollerThingHandlerImpl.ModbusPollerReadRequest@2138e827[slaveId=1,functionCode=READ_COILS,start=4,length=2,maxTries=3] [operation ID daaaff4e-0dab-4ade-bfec-634f50a77c78]
2019-07-10 05:37:35.461 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:localhostTCP:coils:do4 'Modbus data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502])
2019-07-10 05:37:35.516 [ERROR] [ernal.handler.ModbusDataThingHandler] - Thing modbus:data:localhostTCP:coils:do5 'Modbus data' had ModbusConnectionException error on read: ModbusConnectionException(Error connecting to endpoint=ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502])
2019-07-10 05:37:35.518 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do4' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
2019-07-10 05:37:35.530 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do5' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
2019-07-10 05:37:35.550 [hingStatusInfoChangedEvent] - 'modbus:poller:localhostTCP:coils' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Error with read: org.openhab.io.transport.modbus.ModbusConnectionException: Error connecting to endpoint ModbusTCPSlaveEndpoint@7cd13551[address=xx.xx.10.50,port=502]
2019-07-10 05:37:35.554 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do4' changed from OFFLINE (COMMUNICATION_ERROR) to ONLINE
2019-07-10 05:37:35.564 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do5' changed from OFFLINE (COMMUNICATION_ERROR) to ONLINE
2019-07-10 05:37:38.491 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do4' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
2019-07-10 05:37:38.497 [hingStatusInfoChangedEvent] - 'modbus:data:localhostTCP:coils:do5' changed from ONLINE to OFFLINE (COMMUNICATION_ERROR)
Proszę o pomoc ;(
Jeżeli nie masz jakiegoś konkretnego powodu by używac modbus binding to polecam Fatek-PLC binding https://www.openhab.org/addons/bindings/fatekplc1/ działa znacznie lepiej.
Kiedyś na OH2. 2 próbowałem i coś nie szło ale spróbuję w takim razie jeszcze raz.
Chodzi głównie o sterowanie wejściami i wyjściami Fateka
Mam OH 2.5M1 działa bez problemu podłączałem po CM-55e i CBEH do tego wpięty HMI wszystko ładnie się komunikuje mam już jakieś 4 lata podłączone jak chcesz wrzucę pliki konfiguracyjne.
Ja mam kartę wpinaną od przodu nie pamiętam dokładniej. HDMI też planuję tylko jeszcze nie wiem jak to ugryźć.
Zaraz połączę się z domem i usunę modbus i zainstaluje Fatek PLC
To jest FBs-CBE albo FBs-CBEH co do HMI to nie ma sensu lepiej tablet i habpanel który daje znacznie większe możliwości. Ważne w winproloaderze musi być ustawiony dla portu komunikacji CBEH protokół fatek wtedy zresztą można się też łączyć po UDP przez sieć lokalną winproloaderem z Fatekiem.
Czy mógłbyś podać przykład na tego bindowania na podstawie
Switch OswSch "Oswietlenie schody" <light> (Osw, GrSchWszy) {modbus="<[slave1:0], >[slave1:0:trigger=ON], >[slave1:0:trigger=OFF]"} //Y0
Winproloaderem już łączę się przez sieć domową z Fatekiem.
Masz na myśli Fatek binding?
wygląda tak
Switch OswSch "Oswietlenie schody" <light> (Osw, GrSchWszy) { fatekplc="plc:Y0"}
fatekplc:refresh=100
fatekplc:plc.connectionUri=udp://192.168.2.40?plcId=1
To item tak jak napisałem obojętnie czy to będzie X,Y,M,R
Switch lub Dimmer nazwa "opis" (grupa) ["Tag dla GA"] { fatekplc="plc:X lub Y lub R lub M"}
Y można jeszcze jako Contact
Usługa sie wyłącza
2019-07-18 18:46:52.211 [ERROR] [org.openhab.binding.fatekplc ] - bundle org.openhab.binding.fatekplc:1.13.0 (245)[org.openhab.binding.fatekplc.binding(240)] : modified method [modified] not found; Component will fail
2019-07-18 18:46:52.213 [ERROR] [org.openhab.binding.fatekplc ] - bundle org.openhab.binding.fatekplc:1.13.0 (245)[org.openhab.binding.fatekplc.binding(240)] : Declared modify method 'modified' cannot be found, configuring by reactivation
2019-07-18 18:46:52.244 [INFO ] [ding.fatekplc.internal.FatekPLCSlave] - New Fatek PLC connectionUri=udp://86.2.10.50?plcId=1
2019-07-18 18:46:52.245 [INFO ] [ng.fatekplc.internal.FatekPLCBinding] - Configuration has been updated, refresh=100
2019-07-18 18:46:52.245 [INFO ] [b.core.service.AbstractActiveService] - Fatek PLC Refresh Service has been started
2019-07-18 18:47:47.788 [INFO ] [b.core.service.AbstractActiveService] - Fatek PLC Refresh Service has been shut down
Switch OswSch "Oswietlenie schody" <light> (Osw, GrSchWszy) {modbus="<[slave1:0], >[slave1:0:trigger=ON], >[slave1:0:trigger=OFF]"} //Y0 Switch OswSch "Oswietlenie schody" <light> (Osw, GrSchWszy) { fatekplc="plc:Y0"} <=> Zbyt prosto mi to wygląda...
w maps zostawiam Switch item=OswSch label="Oswietlenie schody" mappings=[ON="wlacz", OFF="wylacz"] //Y0
i nie działa a błędy poznikały.
Nie musisz nic mapować, w zasadzie to Y jako Contact bo przecież włączasz go jakimś X albo M więc jak w drabince zrobisz X0 ->Y0
i zamienisz item
Switch OswSch "Oswietlenie schody" <light> (Osw, GrSchWszy) { fatekplc="plc:X0"}
To będzie Ci załączał Y0 z tym że Y0 będzie włączony puki będzie wciśnięty X0 wiec jak chcesz załączać musisz dać TOGG
X0->TOGG Y0
service
fatekplc:refresh=100
fatekplc:plc1.connectionUri=udp://xx.2.10.xx?plcId=1
items
Switch OswSch "Oswietlenie schodyyy" <light> (Osw, GrSchWszy) {fatekplc="plc:M100"}
maps
Switch item=OswSch label="Oswietlenie schody2323"
błąd
2019-07-18 20:05:31.633 [WARN ] [ng.fatekplc.internal.FatekPLCBinding] - Unknown slave: plc to process update: [FatekSwitchItem[slave=plc, name=OswSch, reg=M0100]]
masz config fatekplc:plc1 a używasz w item plc zamiast plc1 wyświetla Ci warn to nie błąd 🙂
maps w karafie powinien pokazać błąd
Switch item=OswSch label="Oswietlenie schody2323" usuń to nie potrzeba mapowania
Fakt ;/ moje niedopatrzenie.
Jak masz rozwiązane sterowanie impulsem w OH? Funkcja TOGG czy coś (przycisk chwilowy w OH)
Skąd pobrałeś wersję 2.5? Ciekawe czy na qnap też już będzie....
mam kawałek kodu w drabince zapisuję sobie jako bity w rejestrze poszczególne włączniki wtedy zerując dany rejestr mogę wyłączyć daną grupę świateł całą możliwa automatykę mam na Fateku dom funkcjonuje praktycznie normalnie kiedy bawię się OH. Czy masz monostabilny czy bistabilny włącznik to tylko kwestia w drabince wykrywania zbocza.
Warto zmapować X i Y do znacznie ułatwia i drabinka jest czytelniejsza czyli coś takiego:
X0->M100
X1->M101
X2->M102
....
....
Y0->M201
Y1->M202
Y2->M203
potem w kodzie używasz odpowiedniego M.
2.5 to wersje Milestone i snapshot
sudo openhabian-config i tam w openhab related masz stable, testing czyli MileStone i snapshot
nie wiem jak wygląda sprawa instalacji w Qnapie ale zawsze możesz ręcznie doinstalować z repozytorium.
po takich zabawach warto zawsze zrobić:
sudo systemctl stop openhab2.service
sudo openhab-cli clean-cache
sudo reboot
Czy możesz się pochwalić przykładem drabinki? Dopiero zaczynam i nie wiem jaką drogę wybrać....
Jak zapisujesz bity do rejestru?
Na czym masz postawione OH?
Z Qnapem tak nie zaktualizuję ;/
Boli mnie teraz sterowanie z OH nie mam włącz/wyłącz. Muszę 2x włączyć żeby zgasło.
mam
Switch item=Osw mappings=[ON="All On", OFF="All Off"]
a czy da się np
Switch item=Osw mappings=[TOGG="wł/wył"]
Wieczorem, wrzucę drabinkę,
do rejestru masz komendy mov a bity bitwr i bitrd
OH na UP board mam jeszcze RPi 3b z SSD ale do testów.
Jakie masz włączniki mono czy bistabilne?
Super dziękuję
muszę doczytać o tych komendach....
UP? z czym lepsze od malinki?
Fizycznie dzwonkowe/mono