userReadings mit Variablen liefert HASH(xxxxxxx) statt Wert

Begonnen von teufelchen, 04 November 2021, 09:08:58

Vorheriges Thema - Nächstes Thema

teufelchen

Hallo,

ich versuche innerhalb von userReadings eigene Variable zu definieren und dann damit weiterzurechnen.

Jedoch bekomme ich keinen Zahlenwert sondern nur ein HASH(xxx) zurück.

Mein userReadings sieht wie folgt aus:
Z_myreading1 {strftime("%d",localtime)},
Z_myreading2 { my$Testvar = {strftime("%d",localtime)}; $Testvar},


Als Ergebnis bekomme ich für:
Z_myreading1 04
Z_myreading2 HASH(0x8ac37f8)


Wenn ich also über die Variable gehe bekomme ich keinen "lesbaren" Wert.

Wo habe ich den Fehler?
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

DeeSPe

Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}

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

MadMax-FHEM

Zitat von: DeeSPe am 04 November 2021, 09:12:08
Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}

Gruß
Dan

Muss nicht zwischen my und $Testvar ein Leerzeichen?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

teufelchen

Zitat von: DeeSPe am 04 November 2021, 09:12:08
Die geschweiften Klammern sehen mir nicht richtig aus.
Probier doch mal ohne.
Z_myreading2 { my$Testvar = strftime("%d",localtime); $Testvar}

Gruß
Dan

Danke für die schnelle Antwort. Das war der Fehler.

Nun bekomme ich das Ergebnis was ich möchte.
Beide Varianten my$Testvar als auch my $Testvar führen dann zum gleichen korrekten Ergebnis.
Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Otto123

CO² Einsparung :)
Z_myreading2 { strftime("%d",localtime) }
Ohne Formatierung geht auch:
Z_myreading2 { $mday }
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

teufelchen

Zitat von: Otto123 am 04 November 2021, 10:20:49
CO² Einsparung :)
Z_myreading2 { strftime("%d",localtime) }
Ohne Formatierung geht auch:
Z_myreading2 { $mday }

Habe ich gerade getestet und bekomme folgende Fehlermeldung:

Error evaluating RO_Test userReading Z_myreading2: Global symbol "$mday" requires explicit package name (did you forget to declare "my $mday"?) at (eval 131507) line 1.


Raspberry Pi 3
CUL433: V 1.26.05 a-culfw Build: 311 (2018-12-09_19-12-53) CUL433 (F-Band: 433MHz)
freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
Debmatic mit RPI-RF-MOD

Otto123

Ok kann sein...
Zur Erklärung Auszug aus der commandref:
ZitatUm die Verwendung von Datum und Zeitangaben zu vereinfachen, wurden die Variablen $sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst und $hms für die Verwendung in PERL-"oneliners" eingeführt (s. unter perldoc -f localtime). Ausnahmen: $month hat einen Wertebereich von 1 bis 12 und $year ist korrigiert von 1900. Weiterhin enthält $hms die Zeit in dem HH:MM:SS Format und $today das aktuellen Datum in YYYY-MM-DD Format.
Die Variabe $we hat den Wert 1 wenn der abgefragte Tag auf ein Wochenende fällt (Z.B. $wday == 0 [Sonntag] oder $wday == 6 [Samstag]), und 0 für die anderen Wochentage. Wenn man das global holiday2we Attribut setzt, dann ist $we ebenfalls 1 bei Urlaubstagen.
Kann aber sein es funktioniert nicht in allen Modulen  oder nicht in userReadings ::) hab es nur in der Kommandozeile probiert

Dann sorry...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz