Senden eines HTTP-Befehles (GetHttpFile)

Begonnen von LordVoodoo, 11 April 2017, 23:18:44

Vorheriges Thema - Nächstes Thema

LordVoodoo

Hallo zusammen,

ich komme an einem Syntaxfehler nicht weiter. Ich möchte einen Dummy-Button anlegen, welches ein Notify triggert. Dieses Notify soll einen Befehl an meinen HTPC mit laufendem Windows Media Center senden.

Wenn ich im Browser die Adresse

http://htpc-nsu:5050/cgi-bin/runCmd.py?cmd=livetv

eingebe, wird erwartungsgemäß die Aktion LiveTV im Media Center gestartet (falls dieses das aktive Fenster ist).

Nun war meine Idee Notify folgendes zu verwenden:

Dev_MCE_Button_LiveTV:.* ({ GetHttpFile ('http://htpc-nsu:5050','/cgi-bin/runCmd.py?cmd=livetv'); })

Aber am Syntax stimmt etwas nicht. Der Trigger feuert nicht. Kann ich den Befehl GetHttpFile nicht auf diese Weise verwenden?

Vielen Dank für Eure Hilfe.

Phill

#1
Steht in der fhem.log nix hilfreiches? Gibt es eine log des mediacenters?

Ansonsten mal "Log 3," vor gethttpfile setzen. Und dann in die log schauen.
Und wenn das auch nichts hilft, GetFileFromURL nehmen und das loglevel auf dein aktuelles debuglevel setzen.
Homebrew 1-Wire / HomeMatic Mix - Cubietruck mit FHEM als Server - Raspberry PI 3 als Informationsanzeige im MagicMirror Stil - Raspberry Pi 1 als Klingelanlage - VDR

Mein Modul: Talk2Fhem - Mein Tipp: https://forum.fhem.de/index.php/topic,82442.0.html

DeeSPe

Zitat von: LordVoodoo am 11 April 2017, 23:18:44
Hallo zusammen,

ich komme an einem Syntaxfehler nicht weiter. Ich möchte einen Dummy-Button anlegen, welches ein Notify triggert. Dieses Notify soll einen Befehl an meinen HTPC mit laufendem Windows Media Center senden.

Wenn ich im Browser die Adresse

http://htpc-nsu:5050/cgi-bin/runCmd.py?cmd=livetv

eingebe, wird erwartungsgemäß die Aktion LiveTV im Media Center gestartet (falls dieses das aktive Fenster ist).

Nun war meine Idee Notify folgendes zu verwenden:

Dev_MCE_Button_LiveTV:.* ({ GetHttpFile ('http://htpc-nsu:5050','/cgi-bin/runCmd.py?cmd=livetv'); })

Aber am Syntax stimmt etwas nicht. Der Trigger feuert nicht. Kann ich den Befehl GetHttpFile nicht auf diese Weise verwenden?

Vielen Dank für Eure Hilfe.

Wie Phill schon geschrieben hat sollte GetFileFromURL funktionieren!
Auch die komisch gesetzten Klammern sind unnötig/falsch.
Dev_MCE_Button_LiveTV:.* { GetFileFromURL("http://htpc-nsu:5050/cgi-bin/runCmd.py?cmd=livetv") }

Evtl. ist es auch sinnvoll das auslösende Event etwas weiter einzuschränken.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

LordVoodoo

Danke für die rasche Antwort, habe es mit GetFileFromURL probiert, habe aber nach wie vor Probleme:

Im Log steht:

2017.04.12 09:59:39 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at fhem.pl line 869.
2017.04.12 09:59:39 3:
2017.04.12 10:00:37 3:
2017.04.12 10:01:29 3:


Nach Änderung zu:

Dev_MCE_Button_LiveTV:.* { Log 3, GetFileFromURL "http://htpc-nsu:5050/cgi-bin/runCmd\.py?cmd=livetv" }

Habe auch mal ein einfaches Licht einschalten in den Ausführungsteil gesetzt, das funktionierte.

DeeSPe

Zitat von: LordVoodoo am 12 April 2017, 10:03:34
Dev_MCE_Button_LiveTV:.* { Log 3, GetFileFromURL "http://htpc-nsu:5050/cgi-bin/runCmd\.py?cmd=livetv" }

Das geht so nicht da es einfach falsch ist.
Folgendes in die FHEM Eingabezeile und mit Enter bestätigt schreibt meine eigene IP Adresse als DEBUG ins Log:
{ Debug GetFileFromURL("http://icanhazip.com/") }
Oder als Log (mit entsprechendem verbose Level 3):
{ Log3 undef,3,GetFileFromURL("http://icanhazip.com/") }

Übertragen auf Dich sollte das dann so aussehen:
Dev_MCE_Button_LiveTV:.* { Log3 $NAME,3,GetFileFromURL("http://htpc-nsu:5050/cgi-bin/runCmd\.py?cmd=livetv") }

Liefert denn der Aufruf von "http://htpc-nsu:5050/cgi-bin/runCmd\.py?cmd=livetv" eine auswertbare Antwort zurück oder wird die URL nur "blind" aufgerufen?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe