FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Markus_F am 04 Februar 2019, 20:35:40

Titel: fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: Markus_F am 04 Februar 2019, 20:35:40
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
Titel: Antw:fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: KernSani am 04 Februar 2019, 20:40:46
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
Titel: Antw:fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: Benni am 04 Februar 2019, 20:42:34
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#devspec2array
Titel: Antw:fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: betateilchen am 04 Februar 2019, 20:42:42
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"));
Titel: Antw:fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: betateilchen am 04 Februar 2019, 21:01:50
Zitat von: Markus_F am 04 Februar 2019, 20:35:40
ich möchte alle readings eines device in 99_myUtils.pm auslesen.

Dazu...

Titel: Antw:fhem cmd "list" in/für 99_myUtils.pm
Beitrag von: Markus_F am 05 Februar 2019, 06:36:44
Hallo, besten Dank an alle, Durch Eure Hinweise konnte ich das Problem lösen. Gruß Markus