Messwerte an Shellscript übergeben

Begonnen von basti223, 18 April 2014, 13:31:09

Vorheriges Thema - Nächstes Thema

basti223

Moin,

ich versuche gerade Daten über ein Shellscript zu verteilen, allerdings ist es mir bisher nicht geglückt dieses Script in Fhem mit Messwerten als Parameter aufzurufen.

Ich habe ein Script gebastelt, welches mit 4 Parametern die Raumtemperaturen bekommen soll, allerdings weiß ich nicht, wie ich das in Fhem realisieren kann.

Ein Aufruf alle 10 Minuten mit at war kein Problem, aber mit "Readingsval" etc. bekomme ich die Daten nicht übergeben, da der Befehl in Anführungszeichen steht, und somit von Fhem nicht interpretiert wird :(

define mtf at +*00:10:00 "/opt/fhem/fhemfritz.sh {Readingsval(....)} {Readingsval(....)} {Readingsval(....)} {Readingsval(....)}" 

Kann mir hier Jemand helfen?

Vielen Dank!

Liebe Grüße
basti223

betateilchen

Erstmal die Befehlszeile zusammenbauen und diese dann ausführen.



define mtf at +*00:10:00 { my $command = "/opt/fhem/fhemfritz.sh ".ReadingsVal()." ".ReadingsVal(); `$command`; } 



-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

basti223

Perfekt! Danke!

Ich musste noch 2 ; mit einfügen, damit er nicht mehr behauptet es würde den Befehl $command nicht geben aber nun funktioniert's! Danke!

define mtf at +*00:10:00 { my $command = "/opt/fhem/fhemfritz.sh ".ReadingsVal()." ".ReadingsVal();; `$command`;; } 

betateilchen

die Anzahl der ; hängt davon ab, wie man den Codeteil in das at einbaut ;)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!