FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: maddy am 11 August 2016, 21:29:48

Titel: JsonList2 erweitern für eine Abfrage mehrerer Devices
Beitrag von: maddy am 11 August 2016, 21:29:48
Hallo,

ich habe die Anforderung Informationen aus FHEM auszulesen und verwende dafür das Cmd jsonList2.

Damit die Rückgabe möglichst klein ist frage ich einen device über dessen Namen ab. Da ich aber im konkreten Fall zwei Devices brauche und nicht zwei Abfragen nutzen möchte, habe das Modul bei mir leicht angepasst. Die Umsetzung erfolgte nur mit rudimentärsten Perl Kenntnissen und Googles Hilfe, aber vielleicht macht es ja Sinn den Code (ggf. auch überarbeitet) mit aufzunehmen.

> #    @d = devspec2array($arg[0],$cl);
>
>     my @multiarg = split(":",$arg[0]);
>     @d = devspec2array($multiarg[0],$cl);
>     for(my $ma = 1; $ma < int(@multiarg); $ma++) {
>        push(@d, devspec2array($multiarg[$ma],$cl));
>     }

Der übergebende Parameter wird durch einen Separator ':' in Stücke geparsed und dann in einer Schleife verarbeitet.

Möglicher Aufruf: jsonlist2+NAME=device1:NAME=device2

Grüße
maddy
Titel: Antw:JsonList2 erweitern für eine Abfrage mehrerer Devices
Beitrag von: justme1968 am 11 August 2016, 21:33:47
schau dir devspec in der commandref an.

du kannst doch z.b. jsonlist device1|device2verwenden.

gruss
  andre
Titel: Antw:JsonList2 erweitern für eine Abfrage mehrerer Devices
Beitrag von: rudolfkoenig am 12 August 2016, 08:03:58
Oder einfach Komma getrennt, so wie es hier: http://fhem.de/commandref.html#devspec beschrieben ist.
Titel: Antw:JsonList2 erweitern für eine Abfrage mehrerer Devices
Beitrag von: maddy am 12 August 2016, 09:35:12
Hallo und vielen Dank. Mit , trennen ist natürlich noch viel besser - dann kann der Post hier ignoriert werden  ;)

Ich hatte die Möglichkeit in der Dokumentation zu JsonList(2) nicht gesehen.

Viele Grüße
Maddy