sendHttpGetRequests (maybe network stack) not working any more?

Hi,
my current problem is a kind of mixture of development and installation question - hopefully it’s ok to ask it here…

Maybe somebody had something similar and may have an idea? Would be great! :slight_smile:

Main problem:
sendHttpGetRequest(url, timeout) is not working reliable from a rule file. The function is called, but never returns (although I did set the timeout!). The rule itself is then marked as “running” permanently in the overview.

History:
I had an OpenHAB v3.1 MS4 running fine inside a Debian installation with OpenHAB installed, running inside a virtual machine hosted via Proxmox. Network interface was a bridged one from the Proxmox/pve host.
This did run fine for months, also with the above calls!

Then I reconfigured the network to make use of VLANs. Because of some problems with this I switched back to the old scenario, means no VLAN in use any more.
But during these changes OpenHAB got unreliable. I recognized, that sendHttpGetRequest stucks inside the call. It does not return, although the timeout was set.
Currently the bindings using similar functionality (I think) also don’t work any more reliable, e.g. the Nibe binding and SolarEdge are not working any more. Other stuff runs fine.

If I call the above REST API / url via curl from a terminal of this OpenHAB machine, then everything works 100% reliable.
What I do with sendHttpGetRequest is calling a second, physical machine running on the local network. As mentioned, calling the REST API of the machine in the local network via terminal from OpenHAB VM runs perfectly fine, but calling it via the rules from OpenHAB runs only 1 or 2 times after a restart of the OpenHAB VM and then stucks.

Therefore I believe it’s something with OpenHAB or the network librarys OpenHAB is using. Maybe some Java stuff or how is this implemented?

To be a bit more specific what I’m doing, here the call from the rules file:

var String url = "http://" + user + ":" + mypassword + "@192.168.1.9:/devices/states"
logInfo("Info", "before call...")
try
  {
    var String json = sendHttpGetRequest(url, 5000)
    logInfo("Info", "json: " + json)
  }
  catch(Throwable t) {
    logError("Error", "Exception: " + t.toString)
  }
  finally
  {
    logInfo("Info", "finally reached")
  }

I see the “before call…” message in the logfile, but then nothing and the rule is then marked as “running” forever. No timeout, no return from this rule, means sendHttpGetRequest stucks.

An update to OpenHAB v3.1 MS5 did not change anything.

Any ideas are much appriated!

Thx,
Stefan

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.