FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Prof. Dr. Peter Henning am 28 Januar 2024, 12:32:22

Titel: HTTPMOD matchlist-Sortierung
Beitrag von: Prof. Dr. Peter Henning am 28 Januar 2024, 12:32:22
Ich hole mit HTTPMOD ein JSON-Array mit 16 Einträgen, sagen wir mit dem Attribut readingXXJSON nrg.
Aus den ersten vier Einträgen des Arrays erstelle ich dann gemeinsames Reading, in dem diese durch " - " Strings getrennt werden.

Erstaunlicherweise geht das mit dem Attribut
readingXXRecombineExpr sprintf "%.1f - %.1f - %.1f - %.1f",$matchlist[0],$matchlist[1],$matchlist[8],$matchlist[9]
Ich habe eine Weile gebraucht, um das zu kapieren: Im Perl-Array @matchlist sind die Einträge des JSON-Array nicht in nummerischer, sondern in lexikalischer Sortierung gespeichert, also in der Reihenfolge

0-1-10-11-12-13-14-15-2-3-4-5-6-7-8-9.

Will man also auf dritten Eintrag des JSON-Arrays zugreifen (der hat ja den Index 2), muss das aus dem Perl-Array der Eintrag mit dem Index 8 sein.

Das kann man zwar alles machen, und die Sache funktioniert ja jetzt. Eine Änderung im Modul ist also nicht nötig, aber das sollte in der CommandRef vermerkt werden.

LG

pah
Titel: Aw: HTTPMOD matchlist-Sortierung
Beitrag von: betateilchen am 28 Januar 2024, 13:54:54
Und warum schreibst Du das nicht im passenden Unterforum zu HTTPMOD?
Da gibt es sogar einen extra Thread für Verbesserungen und Änderungen.

https://forum.fhem.de/index.php?topic=45176.0

Titel: Aw: HTTPMOD matchlist-Sortierung
Beitrag von: Prof. Dr. Peter Henning am 28 Januar 2024, 14:03:43
Ehrlich gesagt war ich zu faul, danach zu suchen...

Aber ich machs jetzt, danke für den Link.

LG

pah