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
schau dir devspec in der commandref an.
du kannst doch z.b. jsonlist device1|device2
verwenden.
gruss
andre
Oder einfach Komma getrennt, so wie es hier: http://fhem.de/commandref.html#devspec beschrieben ist.
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