FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Rampler am 22 Dezember 2015, 15:11:10

Titel: Kommando über Telnet
Beitrag von: Rampler am 22 Dezember 2015, 15:11:10
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
Titel: Antw:Kommando über Telnet
Beitrag von: rapster am 22 Dezember 2015, 15:21:37
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"
Titel: Antw:Kommando über Telnet
Beitrag von: dev0 am 22 Dezember 2015, 15:23:56
Fehlt da nicht der Host vor dem Port oder ist localhost default?
Titel: Antw:Kommando über Telnet
Beitrag von: Rampler am 22 Dezember 2015, 15:41:08
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