FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: maximat am 18 Januar 2014, 17:47:07

Titel: GetHttpFile
Beitrag von: maximat am 18 Januar 2014, 17:47:07
Guten Tag, ich suche nun schon den ganzen Tag, jetzt bitte ich um Hilfe.
Kann mir jemand sagen warum dies nicht funktioniert:

Radio1:toggle {GetHttpFile("bose.local:80","/star.php?a=7");0} (Eintrag aus de DEF-Zeile)

Der Befehl wird nicht gesendet, allerdings sporadisch schon.
fhem läuft auf nem Raspi, bose.local ist ein raspi mit mpd (raspify). Vom Mac aus funktioniert der Web-Aufruf
Es soll nur eine mp3.datei gestartet werden.
Vielen Dank Klaus
Titel: Antw:GetHttpFile
Beitrag von: UliM am 19 Januar 2014, 11:51:17
Zitat von: maximat am 18 Januar 2014, 17:47:07
allerdings sporadisch schon.

Hast Du ein Muster erkennen können, wann es geht und wann nicht?
Irgendwas im Log?
Gruß, Uli
Titel: Antw:GetHttpFile
Beitrag von: maximat am 20 Januar 2014, 12:57:08
Erstmal vielen Dank für die Nachfrage

Es funktioniert unregelmäßig nach 1 bis 5 Versuchen. Der Tastendruck (toggle) wird immer erkannt.
Beide Befehle:
Radio1:toggle {GetHttpFile("192.168.1.113/star.php?a=7","");0} ; {fhem("set Radio1 off")} und
Radioaus:toggle {GetHttpFile("192.168.1.113/stop.php","")} ; {fhem("set Radioaus off")}
zeige das selbe Verhalten.
Wir die Ausführung des notify irgendwo mit geloggt?
Herzlich Klaus
Titel: Antw:GetHttpFile
Beitrag von: UliM am 20 Januar 2014, 15:01:31
attr global verbose 5
Schreibt ALLES mit. Am besten kurz. Ach den Tests wieder zurück auf 3 setzen, sonst explodiert Dein fhem.log :)
Titel: Antw:GetHttpFile
Beitrag von: maximat am 20 Januar 2014, 18:37:18
der Link Logfile wird bei mir im webfrontend nicht angezeigt.  :-\
Titel: Antw:GetHttpFile
Beitrag von: UliM am 20 Januar 2014, 19:58:20
Macht nix.Das Gerät "global" hat ein Attribit "logfile", da steht drin wo Dein logfile liegt.
Im Internal "currentlogfile" stehen dort auch Pfad und Dateiname.
=8-)
Titel: Antw:GetHttpFile
Beitrag von: maximat am 22 Januar 2014, 20:22:58
Hallo UliM
Nach einigen Komplikationen (Nachts geht das Licht an, readonly Filesystem ...) habe ich Fhem neu aufgespielt und bin ein Stück weiter:
Was geht ist der Aufruf ins Internet: Radio2:toggle {GetHttpFile("www.xyz.de:80" , "/w.php?a=5")} ; {fhem("set Lampe on")}

Was auch geht ist der Aufruf an ein zweites Fhem:
Radio2:toggle {GetHttpFile("192.168.1.113:8083", "/fhem?cmd.radio=set%%20radio%%20on&room=1_Wohnzimmer")}

Dieses zweite schaltet mit
radio:on {GetHttpFile("localhost/star.php?a=7","")}
einwandfrei seinen mpd ein.

Was nicht geht ist der direkte Aufruf aus dem ersten fhem in keiner Variation:

Radio2:on {GetHttpFile("bose.local:80","/star.php?a=7","")} oder
Radio2:on {GetHttpFile("bose.local/star.php?a=7")} oder
Radio2:on {GetHttpFile("192.168.1.113:80","/star.php?a=7","")} usw.

Ich kann das jetzt mit fhem2fhem wohl lösen, aber meine Anfangsfrage bleibt unbeantwortet.
Fällt dir noch etwas auf oder ein?
Liegt es am php oder am ?a=7?

Gruß und Danke Klaus
Titel: Antw:GetHttpFile
Beitrag von: maximat am 22 Januar 2014, 22:23:25
Hier noch der Auszug aus dem Logfile

2014.01.22 22:17:58 5: Triggering radio2
2014.01.22 22:17:58 5: Cmd: >{GetHttpFile("192.168.1.113/star.php?a=7","")}<
Use of uninitialized value $code in concatenation (.) or string at FHEM/HttpUtils.pm line 145.
2014.01.22 22:17:58 4: CustomGetFileFromURL http://192.168.1.113/star.php?a=7: Code  (http)
Use of uninitialized value $code in numeric eq (==) at FHEM/HttpUtils.pm line 146.
2014.01.22 22:17:58 4: CustomGetFileFromURL http://192.168.1.113/star.php?a=7: Got data, length: 0
2014.01.22 22:17:58 4: CustomGetFileFromURL http://192.168.1.113/star.php?a=7: Zero length data, header follows...
2014.01.22 22:17:58 4: CustomGetFileFromURL http://192.168.1.113/star.php?a=7: http

Gruß Klaus
Titel: Antw:GetHttpFile
Beitrag von: UliM am 22 Januar 2014, 22:37:48
von den 3 Radio2-Versionen oben sieht die letzte am besten aus, hat die nicht einen Parameter zu viel? Oder ist der dritte Parameter das timeout, müsste also ne Zahl sein, zB 1?
Bei mir ist die letzte Verwendung dieser Fkt schon ne Weile her....
Gruß, Uli
Titel: Antw:GetHttpFile
Beitrag von: maximat am 23 Januar 2014, 14:00:59
Ja da war ein Parameter zu viel, trotzdem geht es nicht zuverlässig
Radio2:on {GetHttpFile("192.168.1.113:80" , "/star.php?a=7")}

und im Log ist die Fehlermeldung:

2014.01.23 11:12:45 5: Cmd: >{GetHttpFile("192.168.1.113:80" , "/star.php?a=7")}<
Use of uninitialized value $code in concatenation (.) or string at FHEM/HttpUtils.pm line 145.
2014.01.23 11:12:45 4: CustomGetFileFromURL http://192.168.1.113:80/star.php?a=7: Code  (http)
Use of uninitialized value $code in numeric eq (==) at FHEM/HttpUtils.pm line 146.

???
Titel: Erledigt:GetHttpFile
Beitrag von: maximat am 28 Januar 2014, 17:58:14
nicht wirklich erledigt. Ungeklärt ist die Frage, warum dies nur manchmal geht:
Radio1:on {GetHttpFile("192.168.1.113:80" , "/star.php?a=1")} (Aufruf der PHP-Seite einen zweiten raspi)
wenn dies aber problemlos geht:
Radio1:on {GetHttpFile("localhost","/star.php?a=1")} (Aufruf der internen PHP-Seite)
und auch dies:
{GetHttpFile("192.168.1.140:8083/fhem?cmd.Sender=set%%20Sender%%20" . % . "&room=Radio" , "")}

erledigt deshalb, weil ich nicht weiter suchen will und eine andere Lösung nutze:
Ich habe zwei Fhems, die miteinander kommunizieren, zunächst über fhem2fhem, nun aber überdirekte Webfrontend-Aufrufe.
Bin damit zufrieden
Vielen Dank fürs Mitdenken

Klaus