Readings an Shell-Script übergeben

Begonnen von Tommilein, 25 November 2016, 19:48:55

Vorheriges Thema - Nächstes Thema

Tommilein

Hallo,
ich möchte Werte aus den Readings eines Thermostaten als Parameter an ein Shell-Script übergeben. In den Foren werden zwar Aufrufe von Shellscripten diskutiert, aber unter Mitgabe eines Wertes aus FHEM kann ich keine Hinweise finden.

Readings
...
...
actuator                55                  2016-11-25 19:25:53
battery                ok                  2016-11-25 19:25:53
batteryLevel            3.1                2016-11-25 19:25:53
desired-temp             23.5                2016-11-25 19:25:53
measured-temp          23.6
...
usw.


Wie kann ich jetzt einen system-Aufruf starten, der äquivalent dem entspricht:

    {system("/opt/fhem/log/my.bash  Halilalo")}                    >> so bekomme ich im Shellsript alles was ich will

nur, das statt "Halilalo"     irgendwie steht   "measured-temp  23.6"    (im Prinzip würde 23.6 schon reichen).
(my.bash verarbeitet das Halilalo als Parameter 1 im Shellscript)

Ich habe da so an  ReadingsVal gedacht:

    {system("/opt/fhem/log/my.bash   ReadingsVal('HM_44F3C7','measured-temp','99')  ")}

Problem: geht so nicht, kommt zwar -1 als Ergebnis,  aber auf der Shell-Seite gibt's eine Fehler-Reaktion:

      "sh: 1: Syntax error: "(" unexpected"

Da ich kein perl kann, habe ich die Bitte, daß mir jemand behilflich ist, den Messwert als Parameter 1 des Scriptes aus fhem "hinauszugeben".

Vieln Dank
Thomas

Tommilein

Hallo,

hab's gefunden:

  { my $a = ReadingsVal('HM_44F3C7','measured-temp','99');; system("/opt/fhem/log/my.bash  $a") }

Auf diese Weise kommt am Script 23.6  als Parameter an.
Jetzt muss ich das Teil nur noch alle 30s starten, mal sehen, wie das geht ...

Grüße
Thomas