@Andreas-Nilson Well, that’s probably as issue with application server. Are you able to trace error messages on the server side?
Another point: What’s about 'presence test'
versus 'Anwensenheittest'
? Does this make no difference?
Another problem may be that curl does not automatically encode URL characters as one might expect (brace and spaces as part of the URL path need to be provided as escape character sequences). Therefore, my suggestion is to encode these characters as shown in the example below.
I have tested the following with a fake server:
# rule action as entered in the pimatic rule editor
execute "curl -s 'http://localhost:4444/tcl.exe?x=dom.GetObject(%27presence%20test%27).State(1)' > /dev/null"
# Fake server and message received
pi@raspi3:~ $ nc -k -l 4444 > filename.out
^C
pi@raspi3:~ $ cat filename.out
GET /tcl.exe?x=dom.GetObject(%27presence%20test%27).State(1) HTTP/1.1
User-Agent: curl/7.38.0
Host: localhost:4444
Accept: */*
EDIT: https://unix.stackexchange.com/questions/86729/any-way-to-encode-the-url-in-curl-command suggests using option ‘–data-urlencode’ along with ‘-G’ to get query part of the URL encoded. As part of this I noticed the opening and closing brace gets encoded too, but I don’t this it is necessary as only unreserved chars need to be encoded in that part of the URL. See also https://en.wikipedia.org/wiki/Percent-encoding#Percent-encoding_reserved_characters
# rule action as entered in the pimatic rule editor
execute "curl -s -G 'http://localhost:4444/tcl.exe' --data-urlencode 'x=dom.GetObject(\"presence test\").State(1)' > /dev/null"
# Fake server and message received
pi@raspi3:~ $ nc -k -l 4444 > filename.out
^C
pi@raspi3:~ $ cat filename.out
cat filename.out
GET /tcl.exe?x=dom.GetObject%28%22presence%20test%22%29.State%281%29 HTTP/1.1
User-Agent: curl/7.38.0
Host: localhost:4444
Accept: */*