Reading in Externem Perl-Script auslesen

Begonnen von Neitcom, 12 Januar 2017, 23:25:01

Vorheriges Thema - Nächstes Thema

Neitcom

Hallo zusammen,

ich stehe leider gerade völlig auf dem Schlauch:

Ich versuche in einem externen Perl-Script einen Wert aus einem Reading auszulesen:
$state_Kuechentuer = system("perl", "/opt/fhem/fhem.pl", "7072", "ReadingsVal("Kuechentuer", "state", 0)");

Ausgegeben wird:
Unknown command ReadingsVal(Kuechentuer,, try help.

Mir gelingt es aber auch nicht, die Funktion ReadingsVal in FHEM über das Kommandfenster auszuführen:
ReadingsVal("Kuechentuer", "state", 0)
Ergebnis ist die selbe Fehlermeldung.

ReadingsVal scheint kein "FHEM Command" zu sein, auch in der FHEM Referenz ist es nicht als solches gelistet.

Was mache ich falsch? Wie kann ich das Reading in dem externen Script abfragen?
Für einen Wink mit dem Zaunpfahl wäre ich sehr dankbar ;-)




Shadow3561

Probiere mal deine Abfrage in geschweifte Klammern zu setzen.

{ReadingsVal ("Kuechentuer","state","")}

Mfg

dev0

Zitat von: Neitcom am 12 Januar 2017, 23:25:01
ReadingsVal scheint kein "FHEM Command" zu sein, auch in der FHEM Referenz ist es nicht als solches gelistet.

ReadingsVal() ist eine perl Funktion, die in der der Commandref unter Perl Specials dokumentiert ist.

Du mußt den Aufruf in geschweifte Klammern einschließen, beachte auch die einfachen und doppelten Anführungszeichen:

perl fhem.pl 7072 "{ReadingsVal('Kuechentuer','state','')}"
oder
echo "{ReadingsVal('dummy','state','')}" | nc localhost 7072

Neitcom

Vielen Dank Euch zwei, es funktioniert.

Gestern habe ich schon von Klammern geträumt ;-)