Fatek Plc

You need to configure that to point at your Fatek. The lines beginning with # are comments, examples - you need to edit in your own lines (with no #) with the detail that you want.

I don’t know what harmony hub has anything to do with this.

Hi
In fatekplc.cfg
Put this

fatekplc:refresh=100
fatekplc:plc.connectionUri=udp://Fatek_IP?plcId=1

Change Fatek_IP to IP of Fatek module, you can find it in Fatek Ethernet Module Configuration tool.
After this add to .items file your Fatek coils, register, etc.
example switch

Switch   Lights_GF_bathroom  "Bathroom"   (GF_Lights)   { fatekplc="plc:M46" }

I tried evreything! I am really dont understand how its work and what exactly to write
I know that is hard request but maybe you can send my what exactly i need to write?
my plc ip is 10.0.0.13 port 2013 model Fatek FBs-40MA

Your fatekplc.cfg

fatekplc:refresh=100
fatekplc:plc.connectionUri=udp://10.0.0.13?plcId=1

But port can’t be 2013 for Fatek protocol is 500
What board or extension do you use to connect to the ethernet? CBE, CBEH, CM55e?

1 Like

CBE,
123
Ok i do that :+1:t3:
About that:
Switch Lights_GF_bathroom “Bathroom” (GF_Lights) { fatekplc=“plc:M46” }
I dont understand well what to do with that…
I saw the plc numberes and make list which number is turning on the kitchen, bathroom…

Change 2013 to 500 please.

Switch Lights_GF_bathroom “Bathroom” (GF_Lights) { fatekplc=“plc:M46” }
I dont understand well what to do with that…

fatekplc=“plc:xxx” where xxx is your X, Y, M, T, R… in your fatek lader

simple lader
|X1|----------[TOGG Y1]
X1 (contact) input, Y1 (coil) output in PLC
When You press switch connected to X1 then Y1 changes to the opposite state.
if the switch is to be virtual, change X1 to M1 (virtual contact) then your item will be:

Switch Lights_GF_bathroom “Bathroom” (GF_Lights) { fatekplc=“plc:M1” }

Here i put some exemples of Fatek lader what I use with openHAB.

Ok I do it but i cant see the item on the paper UI,
What i do wrong?

I’ts OH 1 Binding, items will not show in Paper UI. Make sitemap and test it in Basic UI.

Ok I tried that but still not working
fatek.cfg:

fatekplc:refresh=100
fatekplc:plc.connectionUri=udp://10.0.0.13?plcId=1

fatek.items:

Switch Lights_GF_bathroom “Bathroom” (GF_Lights) { fatekplc=“plc:X1”}

fatek.sitemap:

sitemap demo label="dor" {
    Frame label="Demo" {
        Switch item=Lights_GF_bathroom icon="light"
        
        
    }
}

What I do worng?

What messages does the binding leave in your openhab.log ?


2020-01-26 16:47:36.170 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'homee.items'
2020-01-26 16:47:36.696 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'fatek.sitemap'
2020-01-26 16:47:38.404 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2020-01-26 16:47:39.470 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.120:8080
2020-01-26 16:47:39.470 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.120:8443
2020-01-26 16:47:40.163 [INFO ] [ui.habmin.internal.servlet.HABminApp] - Started HABmin servlet at /habmin
2020-01-26 16:47:40.238 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2020-01-26 16:47:40.310 [INFO ] [openhab.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2020-01-26 16:47:42.380 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = fc949ef3-7333-44de-baa0-a8a304f15c9e, base URL = http://localhost:8080)
2020-01-26 16:47:42.521 [INFO ] [io.hueemulation.internal.ConfigStore] - Hue Emulation pairing disabled
2020-01-26 16:47:42.896 [WARN ] [ulation.internal.HueEmulationService] - The UPnP Server service has not been started!
2020-01-26 16:47:42.897 [INFO ] [ulation.internal.HueEmulationService] - Hue Emulation service available under /api
2020-01-26 16:47:43.183 [INFO ] [ulation.internal.HueEmulationService] - Hue Emulation service available under /api
2020-01-26 16:47:44.021 [WARN ] [lipse.smarthome.io.net.exec.ExecUtil] - Execution failed (Exit value: -559038737. Caused by java.io.IOException: Cannot run program "arping" (in directory "."): CreateProcess error=2, The system cannot find the file specified)
2020-01-26 16:47:44.426 [WARN ] [lipse.smarthome.io.net.exec.ExecUtil] - Execution failed (Exit value: -559038737. Caused by java.io.IOException: Cannot run program "arping" (in directory "."): CreateProcess error=2, The system cannot find the file specified)
2020-01-26 16:47:44.632 [WARN ] [ng.lgwebos.internal.TVControlChannel] - error requesting channel list: 1010 tuner channel map does not exist.
2020-01-26 16:47:44.814 [INFO ] [ternal.dhcp.DHCPPacketListenerServer] - DHCP request packet listener online
2020-01-26 16:47:45.511 [WARN ] [sitemap.internal.SitemapProviderImpl] - Filename `fatek.sitemap` does not match the name `demo` of the sitemap - please fix this as you might see unexpected behavior otherwise.
2020-01-26 16:47:45.538 [WARN ] [basic.internal.render.SwitchRenderer] - Cannot determine item type of 'Lights_GF_bathroom'
org.eclipse.smarthome.core.items.ItemNotFoundException: Item 'Lights_GF_bathroom' could not be found in the item registry
	at org.eclipse.smarthome.core.internal.items.ItemRegistryImpl.getItem(ItemRegistryImpl.java:85) ~[?:?]
	at org.eclipse.smarthome.ui.internal.items.ItemUIRegistryImpl.getItem(ItemUIRegistryImpl.java:837) ~[?:?]
	at org.openhab.ui.basic.internal.render.SwitchRenderer.renderWidget(SwitchRenderer.java:85) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.renderWidget(PageRenderer.java:194) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processChildren(PageRenderer.java:160) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processChildren(PageRenderer.java:181) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processPage(PageRenderer.java:124) [bundleFile:?]
	at org.openhab.ui.basic.internal.servlet.WebAppServlet.service(WebAppServlet.java:189) [bundleFile:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [bundleFile:3.1.0]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [bundleFile:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.Server.handle(Server.java:494) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_163]
2020-01-26 16:47:45.568 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 16:47:45.568 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 16:47:45.568 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 16:47:45.569 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 16:47:45.569 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 16:47:45.578 [INFO ] [ueemulation.internal.upnp.UpnpServer] - Hue Emulation UPNP server started on 127.0.0.1:8080
2020-01-26 16:47:45.592 [WARN ] [sitemap.internal.SitemapProviderImpl] - Filename `fatek.sitemap` does not match the name `demo` of the sitemap - please fix this as you might see unexpected behavior otherwise.

That’s easy for you to fix, though it is not a big deal.

I don’t see any announcements there from the binding. I don’t know if it normally does, when all is well.
Next step is probably to check at the karaf console if the package is running.

 18:13:36.439 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'demo.sitemap'
2020-01-26 18:13:37.494 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'demo.sitemap'
2020-01-26 18:14:16.811 [WARN ] [basic.internal.render.SwitchRenderer] - Cannot determine item type of 'Lights_GF_bathroom'
org.eclipse.smarthome.core.items.ItemNotFoundException: Item 'Lights_GF_bathroom' could not be found in the item registry
	at org.eclipse.smarthome.core.internal.items.ItemRegistryImpl.getItem(ItemRegistryImpl.java:85) ~[?:?]
	at org.eclipse.smarthome.ui.internal.items.ItemUIRegistryImpl.getItem(ItemUIRegistryImpl.java:837) ~[?:?]
	at org.openhab.ui.basic.internal.render.SwitchRenderer.renderWidget(SwitchRenderer.java:85) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.renderWidget(PageRenderer.java:194) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processChildren(PageRenderer.java:160) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processChildren(PageRenderer.java:181) [bundleFile:?]
	at org.openhab.ui.basic.internal.render.PageRenderer.processPage(PageRenderer.java:124) [bundleFile:?]
	at org.openhab.ui.basic.internal.servlet.WebAppServlet.service(WebAppServlet.java:189) [bundleFile:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [bundleFile:3.1.0]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:852) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:544) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:536) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1581) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1307) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:293) [bundleFile:?]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:482) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1549) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1204) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) [bundleFile:9.4.20.v20190813]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [bundleFile:?]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.Server.handle(Server.java:494) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:374) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:268) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:117) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:367) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:782) [bundleFile:9.4.20.v20190813]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:918) [bundleFile:9.4.20.v20190813]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_163]
2020-01-26 18:14:16.851 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 18:14:16.852 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 18:14:16.852 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 18:14:16.853 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 18:14:16.853 [ERROR] [ui.internal.items.ItemUIRegistryImpl] - Cannot retrieve item 'Lights_GF_bathroom' for widget org.eclipse.smarthome.model.sitemap.sitemap.Switch
2020-01-26 18:14:19.305 [INFO ] [rest.core.internal.item.ItemResource] - Received HTTP POST request at 'items/Lights_GF_bathroom' for the unknown item 'Lights_GF_bathroom'.

Ok i changed the name of the sitemap to demo,
yes the karaf is running but still don’t working

How can I check if the plc is connect to openhab?

I don’t know. I was hoping for a message from the binding.
My suggestion about checking the karaf console was to find out if the fatek binding was running.
Not to find out if the karaf console was running.

But can help with next problem. Don’t you get curious about the error messages in your openhab.log ?

Alright. You thought you’d defined that Item in fatek.items as you wrote earlier, but it doesn’t exist.

Any mention of fatek.items in your openhab.log ?

1 Like

In Karaf IP of Your OH is 192.168.1.120 and Fatek has IP 10.0.0.13 these two networks do not have access to each other.
When Fatek is connected you’ll see in Karaf

2020-01-27 20:33:37.764 [INFO ] [ding.fatekplc.internal.FatekPLCSlave] - New Fatek PLC name=plc, connectionUri=udp://192.168.5.110?plcId=1

2020-01-27 20:33:37.776 [INFO ] [ng.fatekplc.internal.FatekPLCBinding] - Configuration has been updated, refresh=100

2020-01-27 20:33:37.776 [INFO ] [b.core.service.AbstractActiveService] - Fatek PLC Refresh Service has been started

I assume that your Fatek PLC and CBH are correctly configured.
In Fatek Ethernet Module Configuration tool Port 1 Fatek server, Port 2 Fatek Client. In Winproloader PLC Ports are set to Fatek communication protocol.

Ok i change the IP address in the Fatek Ethernet Module Configuration tool to 192.168.1.110 and add access control to my computer’ 192.168.1.120.I changed also on the fatekplc.cfg

I am dont understand well what to change on Fatek Ethernet Moudle…? change the operation mode to client?
About the winproloader its littel problem because i dont have the original PDW file that installed to my house, its was before 8 years and the guy who made it is no longer available.

Fatek Ethernet Module Configuration tool is the software where you set up CBH board. In Winproloader go to PLC/On-Line or press F12 then set connection to UDP, IP 192.168.1.110, port 500 If leader is not password protected you will see it. If you dont know how lader is programed you can’t connect Fatek with OH. Once the switch is connected to X1 to turn on/off Y1, it cannot be operated via OH, must be second virtual switch.

Ok i do it and see the program :+1:t3:
I see all the switch and coils.

All the plc ports are set to Fatek communication protocol.

I dont see nothing on my openhab karaf

It’s only on OH startup, please refer to this thread how to test Fatek binding connection. Also please double check your
services/fatekplc.cfg
items/.items
sitemaps/
.sitemap
for syntax and location.
One more thing:

Remove please jfatek.jar, clear cache, reboot then install Fatek binding via paper UI.