Wie übergeb ich qw das Ergebnis einer ReadingsVal-Abfrage richtig ?

Begonnen von TomLee, 07 April 2023, 14:11:04

Vorheriges Thema - Nächstes Thema

TomLee

Ich komm nicht drauf, auch wenn es vermutlich ganz einfach ist, ich frag jetzt einfach.

defmod d2 dummy
attr d2 setList on off
attr d2 userReadings ret:(on|off) {\
my @sr = qw(ReadingsVal('d2','test',''));;\
return Dumper @sr;;\
}\


setstate d2 on
setstate d2 2023-04-07 13:57:20 ret $VAR1 = 'ReadingsVal(\'d2\',\'test\',\'\')';;\

setstate d2 2023-04-07 13:57:20 state on
setstate d2 2023-04-07 13:46:13 test bli bla blub

TomLee

Ok, die Suche nach qw und variable hat gezeigt das qw interpolation nicht unterstützt wird.

Ich muss überlegen wie ich die Frage anders stelle um mein eigentliches Verständnisproblemchen zu lösen.

DeeSPe

Eventuell so?:
my $rw = ReadingsVal('d2','test','');
my @sr = qw($rw);

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

TomLee

Nee, brauch ich gar nicht ausprobieren, hatte ich vor meiner Frage ausprobiert.

frank

vielleicht einfach so?

my $rw = ReadingsVal('d2','test','');
my @sr = split(" ",$rw);
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

TomLee

Ja, genau. Siehe hier mein Vorschlag. Irgendwas hatte mich irritiert bei den Debug-Ausgaben wenn die Variable "nur einen Wert" beinhaltet und am Leerzeichen gesplittet wird, es geht aber trotzdem, ich will/muss mir das später/morgen aber nochmal genau anschauen.

edit:

es ist einfach Kacke wenn man am schreiben war, nicht dran denkt das man nur für 1 Stunde eingeloggt war und der Beitrag dann weg ist.