Fhem mit http Aufruf steuern: Wie?

3,214 views
Skip to first unread message

muellthos

unread,
Apr 7, 2012, 3:45:12 AM4/7/12
to fhem-...@googlegroups.com
Hallo Gemeinde,

ich versuche mich gerade an einem Projekt auf Android- Plattform mit Tasker. Alles klappt soweit bis auf die Kommunikation mit fhem. 
Bitte jetzt nicht:"Nimm doch andfhem" oder so was posten, das ist ein tolles Programm, Respekt an den Entwickler, aber es erfüllt meine Aufgabenstellung nur zu 33 %, da ich in meine App auch beispielsweise die Funktion zum Annehmen der Türsprechanlage, Notruftelefon u.a. einbinden will.
In meinen Versuchen bin ich jetzt so weit, dass ich mit fhem kommunizieren möchte. Und hier das Problem: Bin ich auf der Webseite, kann ich durch Eingabe in die Kommandozeile oder Klicken auf die entsprechenden Links die Schaltfunktionen auslösen. Sende ich aber, was als Link angezeigt wird, via http GET an den fhem, passiert nix. Die Darstellung der Web Links hat außerdem Leezeichen, die bei http GET nicht erlaubt sind, aber URLencoden hilft auch nicht. Ich hab schon mal hier im Forum gesucht und was mit JSONlist und XMLlist gefunden. Da suggeriert mir der Name aber eher das Auslesen von Parametern, nicht das Setzen von Zuständen. Geht dss auch? Kann mir da jemand auf die Sprünge helfen? 

Der etwas auf dem Schlauch stehende

muellthos 

Peter Maier

unread,
Apr 7, 2012, 3:49:25 AM4/7/12
to fhem-...@googlegroups.com
... wenns nur an den Leerzeichen liegt, versuche mal das Leerzeichen durch %20 zu ersetzten.

muellthos

unread,
Apr 7, 2012, 4:03:31 AM4/7/12
to fhem-...@googlegroups.com
Ne, daran liegts nicht. Habe schon urlencode und "%20" in allen möglichen Varianten probiert.

muellthos

Rudolf Koenig

unread,
Apr 7, 2012, 4:51:57 AM4/7/12
to fhem-...@googlegroups.com
On Sat, Apr 07, 2012 at 01:03:31AM -0700, muellthos wrote:
> Ne, daran liegts nicht. Habe schon urlencode und "%20" in allen m�glichen
> Varianten probiert.

Es wuerde mehr Leute zum Helfen motivieren, wenn man statt "geht nicht, hab
alles probiert", konkret da stehen wuerde was nicht geht, zusammen mit einer
nachvollziehbaren Konfiguration, was nur das absolut Notwendige enthaelt. Das
Reduzieren auf das Notwendige ist zwar Arbeit, aber haeufig findet man das
Problem dabei selber. Ausserdem finde ich es auch noch fair, dem kostenlosen
Helfer die Arbeit zu erleichtern.

So in etwa:

fhem.cfg:
attr global logfile -
attr global modpath .
attr global port 7073 global
define WEB FHEMWEB 8083 global
define CUL CUL /dev/ttyACM0@9600 1234
define Lampe FS20 1234 56

starten:
% cd ~/fhem
% perl fhem.pl fhem.cfg
... Server started (version 5.2+SVN from 2012-04-04 ...)

Wert setzen:
% wget "http://fhemhost:8083/fhem?cmd=set%20Lampe%20off"
% wget "http://fhemhost:8083/fhem?cmd=set%20Lampe%20on&XHR=1"

Uebrigens hat das hier beschriebene gerade funktioniert.

muellthos

unread,
Apr 7, 2012, 8:13:10 AM4/7/12
to fhem-...@googlegroups.com
Hallo,

Rudolf, Du hast mit allem Recht. Fehler gefunden: Tasker macht urlencode und "optimiert" damit meinen String, den ich senden will. Anscheinend ist da ein Fehler, den ich an den Entwickler von Taker übermitteln muss. Danke für die Hilfe!

muellthos


Am Samstag, 7. April 2012 10:51:57 UTC+2 schrieb Rudolf Koenig:
On Sat, Apr 07, 2012 at 01:03:31AM -0700, muellthos wrote:
> Ne, daran liegts nicht. Habe schon urlencode und "%20" in allen m�glichen
Reply all
Reply to author
Forward
0 new messages