Http-binding POST is send twice

  • Platform information:

    • Hardware: RaspberryPi 3
    • OS: Raspbian GNU/Linux 11 (bullseye)
    • Java Runtime Environment: 17
    • openHAB version: 4.1.2 in a DockerContainer
  • Issue of the topic: When I try to configure an Rollershutter Item for the garagedoor using an HTTP-Binding the POST request is fired twice. Switching back to get leads to firing only ones.

  • Configuraion

    • Thing:
Thing http:url:garagentor "Garagentor" [
    baseURL="http://192.168.2.21:8000/",
    delay=1000,
    refresh=10,
    commandMethod="POST",
    stateMethod="GET"
  ] {
    Channels:
        Type rollershutter : rolladensteuerung "Rolladensteuerung" [stateExtension="GPIO/10/value", commandExtension="GPIO/17/sequence/1000,01", upValue="1", downValue="0", stopValue="s"]
}
  • Item:
Rollershutter iGaragentoroeffner "Garagentoröffner" <garagedoor> (gGarage) ["Rollershutter", "Garagentoröffner"] { channel="http:url:garagentor:rolladensteuerung"}
  • Logs
2024-04-08 20:10:51.436 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:51.450 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:54.453 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@21c953') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed
2024-04-08 20:10:57.890 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:57.906 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:00.909 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@10797f1') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed
2024-04-08 20:11:01.781 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:01.798 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:04.802 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@13172bf') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed

But the log indicates that the second request is from another channel (look at the the URL, it’s different).

Hi @J-N-K,
you are right, ist is the wrong trace.
Here is the right one:

2024-04-08 20:10:51.436 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:51.450 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:54.453 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@21c953') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed
2024-04-08 20:10:57.890 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:10:57.906 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:00.909 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@10797f1') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed
2024-04-08 20:11:01.781 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:01.798 [TRACE] [nding.http.internal.HttpThingHandler] - Sending to 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01': Method = {POST}, Headers = {Accept-Encoding: gzip, User-Agent: Jetty/9.4.52.v20230823}, Content = {1}
2024-04-08 20:11:04.802 [WARN ] [p.internal.http.HttpResponseListener] - Requesting 'http://192.168.2.21:8000/GPIO/17/sequence/1000,01' (method='POST', content='org.eclipse.jetty.client.util.StringContentProvider@13172bf') failed: java.util.concurrent.TimeoutException: Total timeout 3000 ms elapsed