myopenHAB hotfix deployment happening now

Sorry for the inconvenience and zero warning about this , but i needed to deploy a critical hotfix to the service to address a race/load condition where push notifications could be sent to an incorrect device. Due to the sudden restart of our proxy connection servers, it may take a while for openHABs to reconnect

13 Likes

Thank you for all the work you people do on this product. :slight_smile:

Understood - I was actually just checking here to see if there something going on. Thank you for all you do, and thank you for posting a proactive notice about the update that answered my question.

2019-03-20 20:39:10.065 [INFO ] [io.openhabcloud.internal.CloudClient] - Disconnected from the openHAB Cloud service (UUID = d8a7d64c-0928-47be-98c6-0cab750c5c70, base URL = http://localhost:8080)
2019-03-20 20:40:24.977 [ERROR] [io.openhabcloud.internal.CloudClient] - Socket.IO error: {}
io.socket.engineio.client.EngineIOException: xhr poll error
	at io.socket.engineio.client.Transport.onError(Transport.java:71) [255:org.openhab.io.openhabcloud:2.4.0]
	at io.socket.engineio.client.transports.PollingXHR.access$100(PollingXHR.java:19) [255:org.openhab.io.openhabcloud:2.4.0]
	at io.socket.engineio.client.transports.PollingXHR$6$1.run(PollingXHR.java:124) [255:org.openhab.io.openhabcloud:2.4.0]
	at io.socket.thread.EventThread$2.run(EventThread.java:80) [255:org.openhab.io.openhabcloud:2.4.0]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]
Caused by: java.io.IOException: 400
	at io.socket.engineio.client.transports.PollingXHR$Request$1.run(PollingXHR.java:218) ~[?:?]
	... 1 more

You are all most welcome!

3 Likes

Has this been resolved now? … Still having connection issues.

Disregard. Clicking save on the config caused it to reconnect and now I don’t get 504 timeouts on remote access. :slight_smile:

Thank you @digitaldan Dan!
for all the work on the cloud :slight_smile:
we take it for granted

i have a telegram bot, siri and myopenhab
and myopenhab is the most stable one !

Hi Dan.
Thank you for your great work…
Just read you message… Is myopenhab still reconnecting? I receive a “504 error, Bad Gateway” when trying to access my dash board?

Does work here since half an hour:

2019-03-21 10:36:21.583 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = xyxyxyxyxyxy, base URL = http://localhost:8080)

For me, myopenhab.org shows green/online connection state, but connections timeouts.

Still the same time-out for me as well…

restarting the cloud connector bundle in karaf on all 9 of my openhab installs worked to resolve the timeouts.

All of them are connecting fine now

I simply restarted OH to restore the connection after the connection was available (because that’s all i know how to do to fix the cloud connection). Could you share the commands that you use to restart the cloud connector bundle in karaf? Sometimes my cloud connection will drop under normal operation, so being able to restart the connector without taking the whole system down would be an improvement. Thanks!

Log into Karaf…
Find the bundle using this:

openhab> bundle:list -s |grep -i cloud
263 x Active   x  80 x 2.4.0                  x org.openhab.io.openhabcloud
openhab> bundle:restart 263

Thats it. Cloud bundle will restart and reconnect.

2 Likes

Had to restart the bundle as well… Working fine now.

Just an FYI (assuming this fixed it and not some random coincidence) - I couldn’t be bothered shelling in, however what seemed to resolve it for me was (on the local Paper UI) going to Config > Services > OpenHAB Cloud > Configure and hitting Save. I assume it also triggers a reload of the bundle.

1 Like

Is there any way to make service working without restarting? Every time when myopenhab.org goes offline I need to do Config -> Services-> OpenHAB Cloud -> Configure and hitting Save to force re-connection.

I think it should be possible to create a rule which is executing a script using karaf to restart the bundle. But I have no idea how to. Maybe @rlkoshak have an idea.

The problem with this idea is, that when I need to restart the bundle, I´m out of house, and therefore cant reach the system anyway, if the cloud isn´t working. In that case I can not trigger the rule. Whats needed is a way to trigger the rule from outside. Perhaps from myopenhab.org. But I guess thats out of the question.
As a local trigger rule, it could be a nice to have feature, but not really a need to have.

Exec binding or execute command line that makes an ssh to the Karaf console and execute the restart bundle command. You will want to configure Karaf and the openhab users with SSH certs so you don’t need to supply the password inline in plain text.

If myopenhab is down and that is your only remote access then you have no remote access. There is no way around that. If you need remote access when myopenhab is down, then you need to implement that remote access yourself or use some other remote access service. Your options, in order of preference include:

  • Alternative machine remote access services like Teamviewer, etc.
  • OpenVPN, requires opening a well known port in your firewall to the Internet
  • SSH tunnel using certificate or certificate+password authentication, never password only authentication, requires opening a port in your firewall to the Internet, but you don’t have to use port 22.
  • Reverse proxy and a port forward in your firewall to expose your OH directly to the Internet. The reverse proxy implements authentication and encryption.

Personally I use OpenVPN on all of my devices and have SSH as a fallback should the VPN fail for some reason. I even wrote a tutorial for how to Remote Access Using SSH Tunnel on Android. But usually the access I need is to a command prompt so I’ve never actually had to use this since I wrote that tutorial.