Frage zu dem Syntax Userreading und Perl

Begonnen von sxx128, 12 Dezember 2022, 13:21:43

Vorheriges Thema - Nächstes Thema

sxx128

Hallo zusammen,

ich spiele ein wenig mit Userreadings und Pearl. Hintergrund ist ich möchte verstehen wie es funktionert. Hierzu möchte ich zwei Temperaturwerte  meiner  Heizthermostate auswerten.  Da ich ja numerische Werte auswerten möchte muss ich ja die Funktion "ReadingsNum" verwenden. Also habe ich mir einfach mal was sinnfreies gebastelt:



uebereinstimmungtemp:.* { if (ReadingsNum("heizregler_bad","desired-temp",0) eq ReadingsNum("heizregler_schlafzimmer","desired-temp",0)){return "Termperaturistgleich"} else {return "Temperaturistnichtgleich"}}


Das führt zu dem gewünschten Ergebnis.

Was ich nicht verstehe warum es hier ein eq anstatt einem  =  sein muss.

also das hier funktioniert nicht:


uebereinstimmungtemp:.* { if (ReadingsNum("heizregler_bad","desired-temp",0) = ReadingsNum("heizregler_schlafzimmer","desired-temp",0)){return "Termperaturistgleich"} else {return "Temperaturistnichtgleich"}}


Bei der Ausführung kommt es zu einem Syntaxfehler.



Can't modify non-lvalue subroutine call of &main::ReadingsNum in scalar assignment at (eval 598886) line 1, near "))"


Wenn ich aber ein


>
<


verwende klappt es ohne Probleme.

Könnt ihr mir bitte helfen. Das wäre sehr nett.


Grüße
Steven
.
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Beta-User

a) Wer oder was ist "Pearl"?!? Erinnert mich an ein Album einer längst verstorbenen Künstlerin... Oder ist das Versandunternehmen mit diversen "lustigen" Artikeln gemeint, die keiner braucht?!?
b) "=" ist eine Zuweisung, genau wie das auch in der Fehlermeldung steht. Numerische Vergleiche macht man (nicht nur) in Perl mit "==".
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

sxx128

 :D :D :D :D

oh je da hab ich mich vertippt .sorry ...

Danke für den Hinweis ...

Grüße
Steven
Hardware: Raspberryy PI 4
CC1101-USB-Lite 868MHz/Culfw-1.66
HM-MOD-RPI-PCB
Komponenten: Homematic/Homematic IP/Zigbee
PiVCCU

Otto123

Falls noch mehr Operatoren von Nöten sind, hier ganz gut beschrieben: https://perldoc.perl.org/perlop ;)
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

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!