Call URL without opening a browser

What I simply want/need is the possibility to just call an url in background, without the browser being opened or the return getting processed.

As part of my home automation system some parameters can be switched on the fly by just calling an URL.

There's no need to have the whole page been displayed, since the command will get fired anyways.

What about setting a variable to the output of "wg()" function? this will actually call the URL supposed that it changes at every request. So, lets assume your url is "http://foo.com/bar" you can do this:

  • Add a text global, call it "webcall"
  • Add a touch action
  • Set touch action to "switch global", select the "webcall" global
  • Set value to "$wg("http://foo.com/bar?date=" + df(S), txt)$"

Doing this way Kustom will call the foo.com url with date parameter at every touch and store the output in the text global (so you can even have a return code text for last call if web page returns it). The date param is required to avoid Kustom caching the call and as such not calling the web again. This is not fully synchronous, this might take 1-2 secs to happen.

Thanks for that suggestion. But do you mean I have to use the date param? If yes, that won't work. I would simply get an error.

Otherwise I've never thought about that way, sounds interesting.

You do not have to use the date parameter BUT if you call the same wg() twice in a row with the same URL it will not request that URL twice because caching is going to kick in, so you need to have an unique URL at every call to avoid caching (and this is valid also if you call this through a browser)

This does not work unfortunately. I just added it like you said, so my touch action should set my global.

My global is: fhemcmd

  • The buttons touch action is set to switch global, assigned to fhemcmd
  • Text is set to: $wg("http://username:password@FHEM:8000/fhem?cmd=set DenonAVRX3300WBKE2 toggle", txt)$

After touching the button nothing happens. fhemcmd still have the old value I've set earlier.

Only disabling basic authentication and removing the authentication string will get it to work.