HTML Senden

790 views
Skip to first unread message

JörgB

unread,
Feb 25, 2012, 7:47:40 AM2/25/12
to FHEM users
Hallo zusammen,
kann FHEM einen HTML Befehl aufrufen?

Wenn z.B. eine Taste an einem FS-20 Schalter gedrückt wird, soll
zusätzlich ein HTML Befehl gesendet werden z.B.: http://192.168.0.7/cgi-bin/rc?108

Geht das?


LG Jörg

Rudolf Koenig

unread,
Feb 25, 2012, 11:02:31 AM2/25/12
to fhem-...@googlegroups.com
> Wenn z.B. eine Taste an einem FS-20 Schalter gedr�ckt wird, soll zus�tzlich

> ein HTML Befehl gesendet werden z.B.: http://192.168.0.7/cgi-bin/rc?108

define n notify knopf:on { GetHttpFile("192.168.0.7:80", "/cgi-bin/rc?108") }

JörgB

unread,
Feb 26, 2012, 7:16:36 AM2/26/12
to FHEM users
> define n notify knopf:on { GetHttpFile("192.168.0.7:80", "/cgi-bin/rc?108") }


Wenn ich den Befehl direkt ins PGM eingebe funktioniert es. Aber in
meiner if-Abfrage bekomme ich immer einen Syntax Fehler. Hier ist nur
ein Versuch von mehreren.

elsif ("$value{og_wz_tc6_1}" eq "off 5") { \
fhem ("define wzo19 at +00:00:01 set 0101_Decke_1 off 30")
;; \
fhem ("define wzo09 at +00:00:02 set 0102_Decke_2 off 30")
;; \
fhem ("define wzo10 at +00:00:04 set 0103_Tischlampen off
30") ;; \
fhem ("define iu24 at +00:00:05 GetHttpFile("192.168.0.7:80", "/
cgi-bin/rc?108")") ;; \
fhem ("define wzo11 at +00:00:35 set 0121_Leseleuchte off")
\
} \


borsti

unread,
Feb 26, 2012, 7:40:26 AM2/26/12
to fhem-...@googlegroups.com
Mal so ins Blaue geraten - Anführungszeichen innerhalb von
Anführungszeichen wird wohl nicht gehen. Das innere muss "escaped"
werden oder (wenn das bei PERL geht) z.B. statt dessen durch ein
Hochkomma ersetzt.

Oder ist der Syntaxfehler gleich hinter dem "elsif"? Mir ist nicht klar,
warum Du den $value in Anführungsstriche gesetzt hast...?

Am 26.02.2012 13:16, schrieb JörgB:
> elsif ("$value{og_wz_tc6_1}" eq "off 5") { \
> fhem ("define wzo19 at +00:00:01 set 0101_Decke_1 off 30")
> ;; \

Gruss
Torsten

JörgB

unread,
Feb 26, 2012, 8:02:29 AM2/26/12
to FHEM users


On 26 Feb., 13:40, borsti <borst...@gmail.com> wrote:
> Mal so ins Blaue geraten - Anführungszeichen innerhalb von
> Anführungszeichen wird wohl nicht gehen. Das innere muss "escaped"
> werden oder (wenn das bei PERL geht) z.B. statt dessen durch ein
> Hochkomma ersetzt.
>
> Oder ist der Syntaxfehler gleich hinter dem "elsif"? Mir ist nicht klar,
> warum Du den $value in Anführungsstriche gesetzt hast...?


Doch, dass ist schon richtig und läuft auch. Der Syntaxfehler kommt
durch die Zeile mit dem GetHttpFile.
Das mit den Anführungsstrichen hat was mit Perl zu tun. Das steht auch
in der commandref relativ weit unten unter Perl specials

LG Jörg

JörgB

unread,
Feb 26, 2012, 8:12:42 AM2/26/12
to FHEM users
Vielleicht ist das schlecht zu erkennen, da ich nur einen Auszug
gepostet habe. Hier ist das komplette, ohne GetHttpFile, welches auch
zu 100% funktioniert.

LG Jörg


####################################################################################################################################
### Licht - OG Wohnzimmer
##########################################################################################################
####################################################################################################################################

define OG_Wohnzimmer_TC6_oben notify og_wz_tc6_1 { \
if ("$value{og_wz_tc6_1}" eq "dim06%% 1") { \
if ("$value{dummy_wz_og_morgen}" eq "alternate") { \
fhem ("define wzo15 at +00:00:01 set 0103_Tischlampen dim25%%
4") ;; \
fhem ("define wzo01 at +00:00:02 set 0101_Decke_1 dim37%%
288") ;; \
fhem ("define wzo02 at +00:00:04 set 0102_Decke_2 dim62%%
120") ;; \
fhem ("define wzo14 at +00:00:07 set dummy_wz_og_morgen
normal") \
} \
elsif ("$value{dummy_wz_og_morgen}" eq "normal") { \
fhem ("set 0101_Decke_1 dim50%% 7") ;; \
fhem ("define wzo02 at +00:00:02 set 0102_Decke_2 dim62%% 7")
;; \
fhem ("define wzo15 at +00:00:03 set 0103_Tischlampen off
5") ;; \
} \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 7") { \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "dim06%% 2") { \
fhem ("define wzo16 at +00:00:01 set 0103_Tischlampen dim31%%
4") ;; \
fhem ("define wzo03 at +00:00:02 set 0101_Decke_1 dim68%% 5")
;; \
fhem ("define wzo04 at +00:00:04 set 0102_Decke_2 dim68%% 5")
\
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 8") { \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "dim06%% 3") { \
fhem ("define wzo17 at +00:00:01 set 0103_Tischlampen off 7")
;; \
fhem ("define wzo05 at +00:00:02 set 0101_Decke_1 dim06%% 5")
;; \
fhem ("define wzo06 at +00:00:04 set 0102_Decke_2 dim06%% 5")
\
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 9") { \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "dim06%% 4") { \
fhem ("define wzo18 at +00:00:01 set 0103_Tischlampen dim12%%
4") ;; \
fhem ("define wzo07 at +00:00:02 set 0101_Decke_1 dim43%% 7")
;; \
fhem ("define wzo08 at +00:00:04 set 0102_Decke_2 dim25%% 7")
\
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 10") { \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 5") { \
fhem ("define wzo19 at +00:00:01 set 0101_Decke_1 off 30")
;; \
fhem ("define wzo09 at +00:00:02 set 0102_Decke_2 off 30")
;; \
fhem ("define wzo10 at +00:00:04 set 0103_Tischlampen off
30") ;; \
fhem ("define wzo11 at +00:00:35 set 0121_Leseleuchte off")
\
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 11") { \
} \
\
elsif ("$value{og_wz_tc6_1}" eq "dim06%% 6") { \
fhem ("define wzo20 at +00:00:01 set 0103_Tischlampen dim100%%
5") ;; \
fhem ("define wzo12 at +00:00:02 set 0101_Decke_1 dim100%% 4")
;; \
fhem ("define wzo13 at +00:00:04 set 0102_Decke_2 dim100%% 5")
\
} \
\
elsif ("$value{og_wz_tc6_1}" eq "off 12") { \
} \
\
else { \
} \
}

####################################################################################################################################
### E N D E
########################################################################################################################
####################################################################################################################################

Dr. Boris Neubert

unread,
Feb 26, 2012, 8:58:57 AM2/26/12
to fhem-...@googlegroups.com
On 26.02.2012 13:16, JörgB wrote:
> fhem ("define iu24 at +00:00:05 GetHttpFile("192.168.0.7:80", "/
> cgi-bin/rc?108")") ;; \

Du mußt die inneren Anführungszeichen mit \ maskieren oder durch '
(Hochkomma) ersetzen.

Boris

JörgB

unread,
Feb 26, 2012, 9:59:02 AM2/26/12
to FHEM users
On 26 Feb., 14:58, "Dr. Boris Neubert" <om...@online.de> wrote:
> Du mußt die inneren Anführungszeichen mit \ maskieren oder durch '
> (Hochkomma) ersetzen.
> Boris

Danke erst einmal an Alle, die mir geholfen haben.

So wie es aussieht, funktioniert es jetzt so:
fhem ("define iu24 at +00:00:05 { GetHttpFile('192.168.0.7:80','/cgi-
bin/rc?108') } ")

Da mussten zusätzlich auch noch die geschweiften Klammern rein, sonst
kam immer ein
Unknown command GetHttpFile('192.168.0.7:80','/cgi-bin/rc?108')


Würdet Ihr sagen, dass die Lösung so ok ist, oder sollte da noch was
verbessert werden?


LG Jörg
Reply all
Reply to author
Forward
0 new messages