Kommando über Telnet

Begonnen von Rampler, 22 Dezember 2015, 15:11:10

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
möchte über Telnet ein Command absetzen mit einer IF Abfrage, irgendwie meckert er immer...

In der Telnetkonsole funktioniert das bereits:
{fhem("set FL.EG.anzeige.led10 led green") if(Value('FL.EG.anzeige.led10') ne "green")}

in meinem Script (als Cron) aber nicht:
sudo /opt/fhem/fhem.pl 7072 {fhem("set FL.EG.anzeige.led10 led green") if(Value('FL.EG.anzeige.led10') ne "green")}

Hier kommt die Fehlermeldung: -bash: syntax error near unexpected token `('

Oder geht das garnicht im Script ?

Gruß Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

rapster

da fehlt noch perl und  " "

Und warum eigentlich den Befehl in perl gekapselt?

Probier mal das:
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FL.EG.anzeige.led10:FILTER=STATE!=green led green"

dev0

Fehlt da nicht der Host vor dem Port oder ist localhost default?

Rampler

Danke für die Antworten:
Diese beide Varianten funktionieren:
/usr/bin/perl /opt/fhem/fhem.pl 7072 "set FL.EG.anzeige.led10:FILTER=STATE!=green led green"
/opt/fhem/fhem.pl 7072 "{fhem('set FL.EG.anzeige.led10 led green') if(Value('FL.EG.anzeige.led10') ne 'green')}"

DANKE
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!