Starthilfe Perl - curl Befehl "übersetzen"

Begonnen von docb, 21 Juli 2013, 11:29:55

Vorheriges Thema - Nächstes Thema

docb

Hallo Leute,
ich versuche gerade meinen WDTV über fhem zu steuern. Ich kann ihn über die Kommandozeile von Linux aus auch schon ansteuern, allerdings würde ich das gerne auch von meiner Fritzbox aus tun, auf der fhem läuft - und da habe ich keinen curl-befehl (auch nicht über system("curl...). Daher mein Frage: kann mir jemand sagen, wie ich folgenden Code in meinem 99_myUtils.pm umsetzen kann:

curl -s -d '{\"remote\":\"l\"}' -v http://ip/cgi-bin/toServerValue.cgi"

Das fertige Skript stelle ich natürlich zur Verfügung ;-)
Beste Grüße
doc
I love FHEM!

justme1968

schau dir mal GetFileFromURL oder GetFileFromURLQuiet aus FHEM/HttpUtils.pm an.

so etwa müsste es gehen:
GetFileFromURL( "http://ip/cgi-bin/toServerValue.cgi", 4, '{"remote":"l"}' );


vielleicht noch ein urlEncode() auf den data teil.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

BÄM, das läuft!
der GetFileFromURL war ich schon auf der Spur - ich habe das IPCAM-Modul durchgeschaut, weil die Kameras ja ähnlich angesteuert werden. Aber ehrlich gesagt bin ich bei der HttpUtils dann ausgestiegen, da verstehe ich nur noch Bahnhof - wie kommst du denn nur auf die 4? Ist mir ein Rätsel ;-) Ich muss gestehen, ich bin alter Hobby-VBA-Entwickler und das ist im Vergleich zu Perl/Linux echt pipifax. Mit der normalen Syntax komme ich mittlerweile klar, aber das was die Gemeinde da in den Modulen bastelt  - da bin ich raus ;-)
Jetzt werde ich mal die WDTV Steuerung integrieren ;-)
DAnke nochmal!
doc
I love FHEM!

justme1968

einfach im quelltest nachschauen:)

an der stelle kommt der timeout und wenn nichts gesetzt ist wird auch 4 verwendet. da hinten dran noch data kommt muss vorher natürlich alles gesetzt sein. also die 4 selber setzten.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

Wer das Skript brauchen kann - hier ist es:

http://forum.fhem.de/index.php?t=msg&goto=86757&rid=1555#msg_86757

Verbesserungsvorschläge gerne ;-)
Viele Grüße
doc
I love FHEM!

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Navigator

Ich muss das Thema noch mal hochholen. Ich verwende ein FS20 IRB was ebenfalls mit curl gesteuert werden kann. Allerdings möchte ich dies nicht nachinstallieren, weil ich auf Apache gern verzichten möchte.
Leider passiert bei meiner Variante gar nichts, keine Fehler und keine Wirkung.

{GetFileFromURL("http://192.168.178.36/index.htm", 4, '{btnStationStop=0}')}

Der curl Aufruf dazu sieht wie folgt aus.

curl --data-urlencode btnStationStop=0 http://192.168.178.36/index.htm

Gruß aus Sachsen. FHEM auf Cubietruck. Vormals EZControl XS1 User.