Bareword "...." not allowed while "strict subs" in use at (eval 1005) line 1

Begonnen von webtour, 06 Juni 2016, 11:59:29

Vorheriges Thema - Nächstes Thema

webtour

Hallo,

ich bin noch ein Anfänger im FEHM und versuche eine Abfrage zu gestalten, wo ich jede Nacht um 24:00 Uhr die Diffenrenz zwischen zwei Temperaturen (Innen und Aussen) vergleichen will und bei ausrechender Differenz (größer 5) eine "Kühlung" einschalten will. Zusätzlich wird ein Dummy abgefragt, den ich Tagsüber auf "ja" setze wenn es draussen über 25 Grad warm wird.

Das Logfile meldet:
2016.06.06 11:52:00 1: PERL WARNING: Useless use of a constant ("TempAussen") in void context at (eval 1005) line 1.
2016.06.06 11:52:00 3: eval: { if ((TagesTempAussenGroesser25 eq "ja") && (ReadingsVal ( "TempInnen","temperature",99) - ( "TempAussen","temperature",99) >= 5))  { fhem ("set  SchalterZuluft2 on") }}
2016.06.06 11:52:00 1: PERL WARNING: Useless use of a constant ("temperature") in void context at (eval 1005) line 1.
2016.06.06 11:52:00 3: eval: { if ((TagesTempAussenGroesser25 eq "ja") && (ReadingsVal ( "TempInnen","temperature",99) - ( "TempAussen","temperature",99) >= 5))  { fhem ("set  SchalterZuluft2 on") }}
2016.06.06 11:52:00 3: NachtsKuehlen: Bareword "TagesTempAussenGroesser25" not allowed while "strict subs" in use at (eval 1005) line 1.

Hier meine Syntax von dem "at" Befehl:

*24:00:00 { if ((TagesTempAussenGroesser25 eq "ja") && (ReadingsVal ( "TempInnen","temperature",99) - ( "TempAussen","temperature",99) >= 5))  { fhem ("set  SchalterZuluft2 on") }}

Leider finde ich den Fehler in meiner Konfiguration nicht.

Gruß
Holger

igami


if ((TagesTempAussenGroesser25 eq "ja")

Da ist dein Fehler. Du benutzt kein ReadingsVal oder Value.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

CoolTux

Versuche es mal so.
Value liest immer den STATE eines Devices aus.


if (Value(TagesTempAussenGroesser25) eq "ja" && (ReadingsVal("TempInnen","temperature",99) -  ReadingsVal("TempAussen","temperature",99) >= 5))



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

webtour

Super, vielen Dank für die schnelle Hilfe. Jetzt hab ich den Fehler gesehen und es funktioniert! :)