[Gelöst] GetUrlFromFile verhält sich anders als Browser

Begonnen von Det20, 01 November 2018, 10:43:57

Vorheriges Thema - Nächstes Thema

Det20

Hallo,

ich nutze Robonect, um meinen Gardena anzusteuern. Ab und an muss ich den Gardena (der Mäher) neu starten und sende ihm den Befehl


GetFileFromURL('http://x.xx.x/xml?user=y&pass=y&cmd=service&reboot','15','','0','1');


Gebe ich die URL im Browser ein, so bekomme ich in einem XML "true" zurück. Schicke ich den Befehl wie oben im FHEM ab, passiert ... Nix. An einer Firewall kann es nicht liegen, GetFileFromURL funktioniert an anderer Stelle korrekt. Hat jemand eine Idee, was da falsch ist?

frank

eventuell liegt es am unterschiedlichen header, der jeweils gesendet wird.

was sagt fhem.log?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Det20

Für die Nachwelt. So funktioniert es:


sub GetGardenaHTTP($)
{
  my ($Params) = @_;
  my $URL   = "http://x.x.x.x/xml?user=y&pass=y&".$Params;
  my $err   = "";
  my $data  = "";
  my $param = {
                url        => $URL,
                timeout    => 10,
                method     => "GET",
                header     => "User-Agent: TeleHeater/2.2.3\r\nAccept: application/json"
            };

  ($err, $data) = HttpUtils_BlockingGet($param);
  return $data;
}

sub RebootGardena()
{
  GetGardenaHTTP('cmd=service&reboot');
}