FHEM Forum

FHEM => Automatisierung => Perl für FHEM-User => Thema gestartet von: ekur am 22 Dezember 2021, 14:27:08

Titel: Perl Fehler bei Subtraktion von Minuswerten
Beitrag von: ekur am 22 Dezember 2021, 14:27:08
Hallo zusammen,

wenn das Thema besser im DOIF Bereich aufgehoben ist bitte ich darum es zu verschieben, ich glaube aber es ist ein Perl Thema.
Für eine Rolladensteuerung nutze ich zwei Thermometer (HM Thermometer), eines im Sonnenbereich (Thermo1) und eines an der Nordseite des Hauses (Thermo2)
Die Steuerung funktioniert im Sommer bzw bei Plusgraden auch zur Zufriedenheit, nur bei Minustemperaturen mit Sonnenschein auf dem einen Thermometer gibt es Probleme.
Die Berechnung eines Zwischenwertes für die Steuerung erfolgt mit einem DOIF:

(([HM_Thermo1:temperature] > 10) and ([HM_Thermo2:temperature] > 10)) (set delta_sch {([Thermo1:temperature]-[Thermo2:temperature])}) DOELSEIF ([Thermo1:temperature] < 10) (set delta_sch 1)

Leider bekomme ich beim  ersten Teil, der bei Sonnenschein mit Minustemperaturen eintreffen kann, folgenden Fehler:
Can't modify constant item in postdecrement (--) at (eval 3156160) line 1, near "18.8--"
syntax error at (eval 3156160) line 1, near "--0.1"


Was muss ich ändern bei der Substraktion?

Viele Grüße
ekur

Titel: Antw:Perl Fehler bei Subtraktion von Minuswerten
Beitrag von: Beta-User am 22 Dezember 2021, 15:21:24
Ich glaube ja eher, dass es ein DOIF-Problem ist, aber vielleicht hilft es, den hinteren Wert einzuklammern.

Verschieben kannst du übrigens selbst.
Titel: Antw:Perl Fehler bei Subtraktion von Minuswerten
Beitrag von: Otto123 am 22 Dezember 2021, 15:25:00
zwischen minus und den [] muss ein Leerzeichen sonst kriegt es der Parser nicht hin.

aus ]-[ mach ] - [

Gruß Otto
Titel: Antw:Perl Fehler bei Subtraktion von Minuswerten
Beitrag von: ekur am 22 Dezember 2021, 22:37:09
Danke für den Tip, werde ich ändern und beobachten. Ist bei aktuellen -6 Grad und Dunkelheit leider nicht möglich.