Zugriff auf Device-Werte in perl-Skripts

Begonnen von lexus, 31 Mai 2013, 02:10:43

Vorheriges Thema - Nächstes Thema

lexus

Hallo,
so wie ich es verstehe, greife ich auf die Readings eines Devices in einem Perl-Skript mit
ReadingsVal("Bad","temperature","Fehler");
beispielsweise auf "temperature" zu.
Besteht auch die Möglichkeit auf andere Werte wie z.B. "COC_MSGCNT" oder "CUL_RFR_02_MSGCNT" zuzugreifen ???
Ich wollte mir damit einen Weblink basteln, in dem ich verschiedene Werte der Devices tabellarisch darstellen möchte.

Internals:
   COC_MSGCNT 13
   COC_RAWMSG H6EE80021325824
   COC_RSSI   -56
   COC_TIME   2013-05-31 02:03:02
   CODE       6ee8
   CUL_RFR_02_MSGCNT 1
   CUL_RFR_02_RAWMSG H6EE800203258E4
   CUL_RFR_02_RSSI -88
   CUL_RFR_02_TIME 2013-05-31 01:57:50
   DEF        6ee8
   IODev      COC
   LASTInputDev COC
   MSGCNT     13
   NAME       Bad
   NR         90
   NTFY_TRIGGERTIME 2013-05-31 02:03:02
   STATE      T: 22.1  H: 58.3  Bat: ok
   TYPE       HMS
   Attributes:
     fp_Erdgeschoss 303,233,4,
     room       Bad
   CHANGETIME:
   Readings:
     2013-05-31 02:03:02   battery         ok
     2013-05-18 01:02:52   dewpoint        12.4
     2013-05-31 02:03:02   humidity        58.3
     2013-05-31 02:03:02   state           T: 22.1  H: 58.3  Bat: ok
     2013-05-31 02:03:02   temperature     22.1
     2013-05-31 02:03:02   type            HMS100TF
Attributes:
   fp_Erdgeschoss 303,233,4,
   room       Bad


Gruß,
Lexus

hans88

Wie das geht würde mich auch interessieren

Gruß Hans

lexus

Hallo,

gibt es hier eventuell jemanden, der mir sagen kann ob ein Zugriff auf die gewünschten Werte aus 99_myUtils heraus überhaupt möglich ist ???

Momentan löse ich es über den Umweg, das ich in einem ausgelagerten Skript per WWW::Mechanize die Daten im JSON Format ziehe und diese dann per Perl-JSON Modul in einen Hash schreibe um auf die verschiedenen Daten zuzugreifen. Dieses Skript rufe ich dann mit "system" aus 99_myUtils auf. Diesen Umweg würde ich mir jedoch gerne sparen...

Vielleicht kann mir doch noch jemand auf die Sprünge helfen ;-)

Gruß,
Alex

UliM

my $wet = $defs{<device>}{COC_MSGCNT};
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

lexus

Super. Vielen Dank !!!
Das ist genau das was ich gesucht habe.
Mal interessehalber: wo hätte ich diese Info finden können ?
Beim Suchen im Wiki und der commandref wurde ich leider nicht fündig. Vielleicht hatte ich aber auch nur Tomaten auf den Augen ;-)

Gruß,
Alex