FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: webtour am 06 Juni 2016, 11:59:29

Titel: Bareword "...." not allowed while "strict subs" in use at (eval 1005) line 1
Beitrag von: webtour am 06 Juni 2016, 11:59:29
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
Titel: Antw:Bareword "...." not allowed while "strict subs" in use at (eval 1005) line 1
Beitrag von: igami am 06 Juni 2016, 12:08:59

if ((TagesTempAussenGroesser25 eq "ja")

Da ist dein Fehler. Du benutzt kein ReadingsVal oder Value.
Titel: Antw:Bareword "...." not allowed while "strict subs" in use at (eval 1005) line 1
Beitrag von: CoolTux am 06 Juni 2016, 12:17:40
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
Titel: Antw:Bareword "...." not allowed while "strict subs" in use at (eval 1005) line 1
Beitrag von: webtour am 06 Juni 2016, 12:27:45
Super, vielen Dank für die schnelle Hilfe. Jetzt hab ich den Fehler gesehen und es funktioniert! :)