If I just enter a random code on the /blink/myBlinkAccount page I get the following error
java.lang.IllegalArgumentException: Trying to do 2FA without a login
at org.openhab.binding.blink.internal.service.AccountService.verifyPin(AccountService.java:83) ~[?:?]
at org.openhab.binding.blink.internal.servlet.AccountVerificationServlet.doPost(AccountVerificationServlet.java:122) ~[?:?]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:517) ~[bundleFile:4.0.4]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:584) ~[bundleFile:4.0.4]
at org.ops4j.pax.web.service.spi.servlet.OsgiInitializedServlet.service(OsgiInitializedServlet.java:102) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1450) ~[?:?]
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) ~[?:?]
at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656) ~[?:?]
at org.ops4j.pax.web.service.spi.servlet.OsgiFilterChain.doFilter(OsgiFilterChain.java:113) ~[?:?]
at org.ops4j.pax.web.service.jetty.internal.PaxWebServletHandler.doHandle(PaxWebServletHandler.java:334) ~[?:?]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) ~[?:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) ~[?:?]
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234) ~[bundleFile:9.4.54.v20240208]
at org.ops4j.pax.web.service.jetty.internal.PrioritizedHandlerCollection.handle(PrioritizedHandlerCollection.java:96) ~[?:?]
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.Server.handle(Server.java:516) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) ~[bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883) [bundleFile:9.4.54.v20240208]
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034) [bundleFile:9.4.54.v20240208]
at java.lang.Thread.run(Thread.java:840) [?:?]
I recently updated to version 4.3.4 in the hope that I could finally get the Blink binding to work, but it still won’t send me the 2FA PIN.
I have tried adding the account both via the UI and using a things file with the following configuration:
Bridge blink:account:myBlinkAccount "Blink Account" [
email="MYEMAIL",
password="MYPASSWORD",
pollingInterval=120 // Check Blink status every 120 seconds
] { }
The username and password are the same ones I use in the Blink app.
Has anyone managed to get this working recently? If so, could you outline the steps? I must be missing something, or perhaps no one is using this binding anymore!
It’s been incredibly frustrating how long I’ve been trying to get this to work.
Here are the most recent logs:
14:07:56.518 INFO openhab.event.ThingStatusInfoChangedEvent Thing 'blink:account:myBlinkAccount' changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)
14:07:59.227 INFO org.openhab.core.model.core.internal.ModelRepositoryImpl Loading model 'blink.things'
14:07:59.245 INFO openhab.event.ThingStatusInfoChangedEvent Thing 'blink:account:myBlinkAccount' changed from UNINITIALIZED to INITIALIZING
14:07:59.252 INFO openhab.event.ThingStatusInfoChangedEvent Thing 'blink:account:myBlinkAccount' changed from INITIALIZING to OFFLINE (CONFIGURATION_PENDING): Wait for login
14:07:59.252 DEBUG org.openhab.binding.blink.internal.handler.AccountHandler Registering 2FA servlet
14:07:59.265 DEBUG org.openhab.binding.blink.internal.handler.AccountHandler Generating new Client ID, starting new 2FA process
14:07:59.267 DEBUG org.openhab.binding.blink.internal.handler.AccountHandler Logging in to Blink servers with generated client id BlinkCamera_8166-26-55-30-953532
14:07:59.476 ERROR org.openhab.binding.blink.internal.handler.AccountHandler Error connecting to Blink servers with given credentials
I’m pleased to say it’s now working. I did have both the jar and the addon store version installed. But I guess it was using the addon store version as that was a later version.
I removed both versions that added the jar, then I got the text message from blink to complete the 2fa pin.
Here are my files that are working, in case they may be of use to others. I can’t get my doorbell camera working, but the other 2 are fine and I can now alarm the system from openhab!