A couple years ago, @hmerk and debugged the issues with the WeMo binding around US devices which is this version below.
org.openhab.binding.wemo-3.3.0-SNAPSHOT.jar.TXT (92.1 KB)
While on OH 3.x, I did try the updated/major change version that I think @laursen rewrote the binding. It didn’t work for me, devices kept going offline/online, so I decided to stay with the one above.
Now that I’m on OH 4.3.0, I decided to try again, and I got the same results so I thought I bring this up to see if we can address the issues. I have 39 WeMo devices, so I have a large implementation.
Flips between ONLINE and these 2 errors below, then goes back ONLINE again.
COMMUNICATION_ERROR
URL for the WeMo device cannot be created.
COMMUNICATION_ERROR
java.util.concurrent.ExecutionException: java.io.EOFException: @ab39bf::SocketChannelEndPoint@f4b561{l=/192.168.0.32:56428,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=1/0}{io=1/0,kio=1,kro=1}->@ab39bf(l:/192.168.0.32:56428 <-> r:/192.168.0.38:49152,closed=false)=>@6103d2(exchange=HttpExchange@b1d2b4{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@128651c[TERMINATED/null] res=HttpResponse[null 0 null]@e288e5[PENDING/null]})[send=HttpSenderOverHTTP@657938(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@492d72{s=START}],recv=CustomHttpReceiverOverHTTP@73ab62(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
FYI, 192.168.0.32 is OH itself and the 192.168.0.38 is the WeMo Plug
I deleted the THINGS below and auto scan re-created them again, same error.
Picture Frames
wemo:socket:Socket-1_0-M1BAB133D72262
Socket-1_0-M1BAB133D72262
Gym Light
wemo:lightswitch:Lightswitch-2_0-2289A029N0521A
Lightswitch-2_0-2289A029N0521A
I’ve restarted OH after it auto created the THINGS., getting these in the Error Logs.
2025-03-26 12:01:10.132 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:lightswitch:Lightswitch-2_0-2299A029N01FFA': java.util.concurrent.TimeoutException: Total timeout 2000 ms elapsed
2025-03-26 12:01:42.995 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @8c0a26::SocketChannelEndPoint@8ed9f0{l=/192.168.0.32:38524,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=5/0}{io=0/0,kio=0,kro=1}->@8c0a26(l:/192.168.0.32:38524 <-> r:/192.168.0.38:49152,closed=false)=>@1d77c7d(exchange=HttpExchange@e79ac6{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@9a6486[TERMINATED/null] res=HttpResponse[null 0 null]@99717c[PENDING/null]})[send=HttpSenderOverHTTP@9d486(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@ce5e6b{s=START}],recv=CustomHttpReceiverOverHTTP@1c9bbe0(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:02:43.049 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @158ff68::SocketChannelEndPoint@19222df{l=/192.168.0.32:41900,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=1/0,kio=1,kro=1}->@158ff68(l:/192.168.0.32:41900 <-> r:/192.168.0.38:49152,closed=false)=>@1620986(exchange=HttpExchange@1dc3c06{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@133392a[TERMINATED/null] res=HttpResponse[null 0 null]@1a37749[PENDING/null]})[send=HttpSenderOverHTTP@e07202(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@f25d54{s=START}],recv=CustomHttpReceiverOverHTTP@12d489(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:03:43.097 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @1ff788e::SocketChannelEndPoint@192c681{l=/192.168.0.32:43234,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=1/0,kio=1,kro=1}->@1ff788e(l:/192.168.0.32:43234 <-> r:/192.168.0.38:49152,closed=false)=>@1336e02(exchange=HttpExchange@1c9394f{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@1f40930[TERMINATED/null] res=HttpResponse[null 0 null]@ef6241[PENDING/null]})[send=HttpSenderOverHTTP@5a4ba0(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@f03e5{s=START}],recv=CustomHttpReceiverOverHTTP@10b37dd(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:04:43.139 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @1798605::SocketChannelEndPoint@1d4e79a{l=/192.168.0.32:44500,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->@1798605(l:/192.168.0.32:44500 <-> r:/192.168.0.38:49152,closed=false)=>@107eb8c(exchange=HttpExchange@1bcc5af{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@c834f3[TERMINATED/null] res=HttpResponse[null 0 null]@a8fa07[PENDING/null]})[send=HttpSenderOverHTTP@bd2a55(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@17d0fd0{s=START}],recv=CustomHttpReceiverOverHTTP@d9cf20(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:07:43.383 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @198b056::SocketChannelEndPoint@1742a09{l=/192.168.0.32:48016,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->@198b056(l:/192.168.0.32:48016 <-> r:/192.168.0.38:49152,closed=false)=>@11af21d(exchange=HttpExchange@16e0d8b{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@15218b0[TERMINATED/null] res=HttpResponse[null 0 null]@1165571[PENDING/null]})[send=HttpSenderOverHTTP@1dec2d4(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@d79af1{s=START}],recv=CustomHttpReceiverOverHTTP@18d9b43(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:08:43.422 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @1a4d413::SocketChannelEndPoint@66b82a{l=/192.168.0.32:49380,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->@1a4d413(l:/192.168.0.32:49380 <-> r:/192.168.0.38:49152,closed=false)=>@10fb604(exchange=HttpExchange@d32a33{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@1ca61f6[TERMINATED/null] res=HttpResponse[null 0 null]@9e2e0d[PENDING/null]})[send=HttpSenderOverHTTP@5719cc(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@15039c7{s=START}],recv=CustomHttpReceiverOverHTTP@1c72dca(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:15:44.133 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @161c334::SocketChannelEndPoint@1c0f378{l=/192.168.0.32:58192,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=1/0,kio=1,kro=1}->@161c334(l:/192.168.0.32:58192 <-> r:/192.168.0.38:49152,closed=false)=>@ec2d9b(exchange=HttpExchange@195283e{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@e0341b[TERMINATED/null] res=HttpResponse[null 0 null]@b5a8c[PENDING/null]})[send=HttpSenderOverHTTP@1f83f23(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@1be2d7a{s=START}],recv=CustomHttpReceiverOverHTTP@c98d7a(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
2025-03-26 12:15:49.138 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-22B8B1K01028F4': java.util.concurrent.TimeoutException: Total timeout 2000 ms elapsed
2025-03-26 12:20:44.647 [WARN ] [.openhab.binding.wemo.internal.handler.WemoHandler] - Failed to get actual state for device 'wemo:socket:Socket-1_0-M1BAB133D72262': java.util.concurrent.ExecutionException: java.io.EOFException: @108ae4c::SocketChannelEndPoint@da7009{l=/192.168.0.32:36532,r=/192.168.0.38:49152,ISHUT,fill=-,flush=-,to=0/0}{io=0/0,kio=0,kro=1}->@108ae4c(l:/192.168.0.32:36532 <-> r:/192.168.0.38:49152,closed=false)=>@e9b536(exchange=HttpExchange@1c3a374{req=HttpRequest[POST /upnp/control/basicevent1 HTTP/1.1]@1db108e[TERMINATED/null] res=HttpResponse[null 0 null]@fc7984[PENDING/null]})[send=HttpSenderOverHTTP@1033828(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@1fdf03f{s=START}],recv=CustomHttpReceiverOverHTTP@23d86e(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]
I’m going to rollback the binding again to the one attached. I am available to test any modified 4.3.x WeMo bindings that would address the issues above.
Best, Jay