FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: AGi2019 am 17 Januar 2021, 17:21:27

Titel: [Gelöst] Liste der Namen der Readings eines Devices
Beitrag von: AGi2019 am 17 Januar 2021, 17:21:27
Hallo zusammen,

ich suche nach einer anderen Möglichkeit, mir eine Liste der Reading-Namen eines devices ausgeben zu lassen.
Derzeit realisiere ich das mit einer Funktion in der 99_myUtils, wo ich ein list zu dem device ausführe und die Reading Namen dann mittels RegEx ermittel.
Es stört mich jedoch, dass das "list" komplett im Logfile steht.

Daher suche ich vergeblich nach einer anderen Methode an die reading Namen eines Devices zu kommen.
Alternativ reicht es auch, dass ein list nicht im Logfile geschrieben wird.

Das List rufe ich auf mit
my $FList = fhem("list Fußball_Spielplan");
Fußball_Spielplan enthält aus einem Kalender viele Readings mit unterschiedlichen Namen. Um auf dessen Werte zuzugreifen, benötige ich den Reading Namen.

Vielleicht habt ihr eine gute Idee.

Danke und Gruß,
AGi


----------- Gelöst -----------------------------
Vielen Dank an Otto, Köln und Chris
Das war das, was mir gefehlt hat. Mein Problem lässt sich mit allen 3 Vorschlägen lösen.
-------------------------------------------------
Titel: Antw:Liste der Namen der Readings eines Devices
Beitrag von: Otto123 am 17 Januar 2021, 17:33:55
Hi,

sowas? Schleife über alle Readings?
{my $d="fuehler1";;my $hash = $defs{$d};;my $readings = $hash->{READINGS};;my $message="{ ";;foreach my $a ( keys %{$readings} ) {my $val=ReadingsVal($d,$a,"error");;$message .= toJSON($a)." : ".toJSON($val)." ," };;chop($message);;$message.="}"}


Gruß Otto
Titel: Antw:Liste der Namen der Readings eines Devices
Beitrag von: KölnSolar am 17 Januar 2021, 17:35:40
Das sollte (ungetestt !) klappen  foreach my $readingname (keys %{$hash->{READINGS}) { 
# loop über readings mit $readingname zur Weiterverarbeitung
  }
Have fun Markus
Titel: Antw:Liste der Namen der Readings eines Devices
Beitrag von: Christoph Morrison am 17 Januar 2021, 18:48:21
Matthias Kleine hat sowas mal in HA Custom Utils (https://github.com/klein0r/fhem-ha-utils) als Modul (in der Subroutine haGetAllDeviceReadings (https://github.com/klein0r/fhem-ha-utils/blob/master/FHEM/99_myHaUtils.pm#L21)) veröffentlicht.
Titel: Antw:Liste der Namen der Readings eines Devices
Beitrag von: AGi2019 am 17 Januar 2021, 19:44:28
Vielen Dank für eure super schnellen Antworten.
Ich werde die Varianten ausprobieren und berichten.

CU,
AGi