Hi,
ich einen Shellscript, dass vom Dämmerungssensor aufgerufen wird, habe
ich folgende Sequenz stehen:
fhem='/usr/local/bin/fhem.pl 7072'
[...]
# Beschattungssteuerung nachts ausschalten
$fhem "
{ if($value{"${scr}_bs.eg.wz.f_on"}) { fhem 7072 "delete ${scr}
_bs.eg.wz.f_on" }
{ if($value{"${scr}_bs.eg.wz.f_off"}) { fhem 7072 "delete ${scr}
_bs.eg.wz.f_off" }
{ if($value{"${scr}_bs.eg.wz.fel_on"}) { fhem 7072 "delete ${scr}
_bs.eg.wz.fel_on" }
{ if($value{"${scr}_bs.eg.wz.fel_off"}) { fhem 7072 "delete ${scr}
_bs.eg.wz.fel_off" }
quit"
Und jedes Mal bekomme ich die Fehlermeldung:
FHZ> FHZ> FHZ> Bye...
Usage:
as server: fhem configfile
as client: fhem [host:]port cmd
Woran kann das liegen?
Ich werde jetzt noch den host-Namen mit reinschreiben, aber lt. Usage
sollte es ohne gehen?!
Grüße,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
Hallo,
Juergen Lennefer wrote:
> # Beschattungssteuerung nachts ausschalten
> $fhem "
> { if($value{"${scr}_bs.eg.wz.f_on"}) { fhem 7072 "delete ${scr}
> _bs.eg.wz.f_on" }
> { if($value{"${scr}_bs.eg.wz.f_off"}) { fhem 7072 "delete ${scr}
> _bs.eg.wz.f_off" }
> { if($value{"${scr}_bs.eg.wz.fel_on"}) { fhem 7072 "delete ${scr}
> _bs.eg.wz.fel_on" }
> { if($value{"${scr}_bs.eg.wz.fel_off"}) { fhem 7072 "delete ${scr}
> _bs.eg.wz.fel_off" }
> quit"
ich meine, dass Du die Anfuehrungszeichen und die Zeilenenden mit \
maskieren muss, damit sie nicht bereits von der Shell interpretiert
werden. Am schnellsten kannst Du das testen, wenn Du $fhem auf ein
Shell-Skript zeigen laesst, das die Argumente auf dem Bildschirm ausgibt.
Gruesse,
Boris
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
Hier sind gleich mehrere Sachen schief:
- Der riesen-fhem Aufruf ($fhem "...") erzeugt den erwähnten Fehler,
weil durch die wiederholte Verwendung vom doppelten Hochkomma (") fhem
gleich viele kurze Argumente bekommt statt einen langen. Empfehlung:
innen die einfachen Hochkomma (') verwenden.
- Die Funktion fhem (nicht das Programm) braucht keinen Portnummer als
Parameter
- Es ist nicht möglich, ein Kommando mit mehreren perl {} Abschnitten
zu schreiben, diese müssen alle in einem Abschnitt kommen
- quit zum Schluss ist nicht nötig, und da es nicht durch ; getrennt
ist, wird es den Parser auch noch stören.
- Kann man das Ganze nicht durch ein Regexp (delete ${scr}
_bs_eg.wz.f.*) erschlagen?
Gruss,
Rudi
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
Hi Boris,
die Umbrüche sind im Original nicht drin, die hat Goole
reingebastelt ;-(
Das mit dem Maskieren versuche ich mal. Danke.
On Aug 10, 8:48 am, "Dr. Boris Neubert" wrote:
[...]
> ich meine, dass Du die Anfuehrungszeichen und die Zeilenenden mit \
> maskieren muss, damit sie nicht bereits von der Shell interpretiert
> werden. Am schnellsten kannst Du das testen, wenn Du $fhem auf ein
> Shell-Skript zeigen laesst, das die Argumente auf dem Bildschirm ausgibt.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
> - Der riesen-fhem Aufruf ($fhem "...") erzeugt den erwähnten Fehler,
> weil durch die wiederholte Verwendung vom doppelten Hochkomma (") fhem
> gleich viele kurze Argumente bekommt statt einen langen. Empfehlung:
> innen die einfachen Hochkomma (') verwenden.
OK, versuche ich.
> - Die Funktion fhem (nicht das Programm) braucht keinen Portnummer als
> Parameter
Hatte ich zuerst auch so, aber die Meldung hat mich animiert, den Port
einzutragen.
> - Es ist nicht möglich, ein Kommando mit mehreren perl {} Abschnitten
> zu schreiben, diese müssen alle in einem Abschnitt kommen
Ähhh, ja ...
> - quit zum Schluss ist nicht nötig, und da es nicht durch ; getrennt
> ist, wird es den Parser auch noch stören.
Hmmm, bei älteren Versionen war es aber wohl notwendig, sonst wäre es
nicht drin. Aber umso besser ...
> - Kann man das Ganze nicht durch ein Regexp (delete ${scr}
> _bs_eg.wz.f.*) erschlagen?
Hmm, geht das schon bei 4.1? Ich versuchs einfach ...
Gruss,
Jürgen
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
> > - Kann man das Ganze nicht durch ein Regexp (delete ${scr}
> > _bs_eg.wz.f.*) erschlagen?
>
> Hmm, geht das schon bei 4.1? Ich versuchs einfach ...
Geht noch nicht bei 4.1:
delete daemmerung.sh_bs.eg.wz.f*
Please define daemmerung.sh_bs.eg.wz.f* first
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-
> Geht noch nicht bei 4.1:
Der ist ja auch schon 2 Jahre alt :), und dieser feature kam mit 4.3,
ein Jahr spaeter :)
> delete daemmerung.sh_bs.eg.wz.f*
Sollte auch "delete daemmerung.sh_bs.eg.wz.f.*" heissen (sonst loescht
es nur welche mit vielen f's hinten :)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "FHEM users on Linux" group.
To post to this group, send email to fhem-users@googlegroups.com
To unsubscribe from this group, send email to fhem-users+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/fhem-users?hl=en
-~----------~----~----~----~------~----~------~--~-