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
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