Hallo Leute,
ich möchte alle readings eines device in 99_myUtils.pm auslesen.
Auf der Kommando-ebene gibt es list, beim Aufruf der dazu gehörende Funktion CommandList() kommt diese Fehlermeldung:
Error evaluating WZ_LAMPE_DECKE_TASMOTA userReading Liste: Can't use string ("FritzBox") as a HASH ref while "strict refs" in use at fhem.pl line 5363.
Zeile 5363 ist leer, die Fehlermeldung ist nicht von dieser Zeile ...
in 99_myUtils:
my @List = CommandList(undef, "FritzBox");
Wie muß "list" programiert werden ? Besten Dank im Voraus, Gruß Markus
Guck dir mal devspectoarray an, Da bemmst du einen hash, der wiederum einen hash pro gefundem Device hat und steckt ein hash namens READINGS drin
Kurz, weil mobil
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#devspec2array
Zitat von: Markus_F am 04 Februar 2019, 20:35:40
Wie muß "list" programiert werden ?
list liefert kein Array zurück, sondern einen String.
Probier mal:
my @List = split(/\n/,fhem("list FritzBox"));
Zitat von: Markus_F am 04 Februar 2019, 20:35:40
ich möchte alle readings eines device in 99_myUtils.pm auslesen.
Dazu...
- braucht man kein devspec, wenn es nur um ein einziges device geht
- verwendet man besser nicht "list" sondern "jsonlist2", denn damit werden die Werte schon in einem Format zurückgeliefert, das man vollautomatisch weiterverarbeiten kann
Hallo, besten Dank an alle, Durch Eure Hinweise konnte ich das Problem lösen. Gruß Markus