I think this is because of this snippet:
Code: Select all
String url = "/";
url += Settings.MQTTpublish;
url.replace("%sysname%", URLEncode(Settings.Name));
url.replace("%tskname%", URLEncode(ExtraTaskSettings.TaskDeviceName));
url.replace("%id%", String(event->idx));
url.replace("%valname%", URLEncode(ExtraTaskSettings.TaskDeviceValueNames[varIndex]));
if (longValue)
url.replace("%value%", String(longValue));
else
url.replace("%value%", toString(value, ExtraTaskSettings.TaskDeviceValueDecimals[varIndex]));
url.toCharArray(log, 80);
addLog(LOG_LEVEL_DEBUG_MORE, log);
String hostName = host;
if (Settings.UseDNS)
hostName = Settings.ControllerHostName;
// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + hostName + "\r\n" +
"Connection: close\r\n\r\n");
A web server hosted in a multi-hosting environment would expect something like this: GET http://host.com/xyz?a={a}&b={b}.... HTTP/1.1
This is because the webserver will have to route the request to the correct web. This is currently not working.
I'd like to fix it on my own, but I have no idea to build the source code by my own, because I have no idea how to setup the code on my build machine.

A quick fix would be (as far as I was understanding the code):
Code: Select all
// This will send the request to the server
client.print(String("GET ") + hostName + url + " HTTP/1.1\r\n" +
"Host: " + hostName + "\r\n" +
"Connection: close\r\n\r\n");
- I could fix it in my build environment, but I'd have to know how to build the code base
- Someone of you would get this into your code base and create a release (which will likely be the slower way)

Any help would be appreciated.
Regards,
Florian