$hour nicht gültig in userReadings perl code?

Begonnen von FhemPiUser, 13 September 2016, 20:55:11

Vorheriges Thema - Nächstes Thema

FhemPiUser

hallo,

bekomme folgende Fehlermeldung bei $hour im userReadings. Jemand eine Idee warum?

pulseTimeEdgeMinMaxNacht
Error evaluating hc_wasserentnahme userReading pulseTimeEdgeMinMaxNacht: Global symbol "$hour" requires explicit package name at (eval 51790) line 1. Global symbol "$hour" requires explicit package name at (eval 51790) line 1.
2016-09-13 20:41:27


userReadings code ist wie folgt:

pulseTimeEdgeMinMaxNacht:pulseTimeEdgeMin.* { (ReadingsVal("hc_wasserentnahme","pulseTimeEdgeMin",0) > ReadingsVal("hc_wasserentnahme","pulseTimeEdgeMinMaxNacht",0) && ($hour < 6 || $hour > 23)) ? ReadingsVal("hc_wasserentnahme","pulseTimeEdgeMin",0) : ReadingsVal("hc_wasserentnahme","pulseTimeEdgeMinMaxNacht",0); }

betateilchen

Zitat von: FhemPiUser am 13 September 2016, 20:55:11
Jemand eine Idee warum?

It's not a bug, it's a feature  8)

$hour und weitere Werte stehen zwar in onelinern (z.B. notify und at) zur Verfügung, nicht aber systemweit.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

FhemPiUser

ahh ok.

dann muss ich halt localtime nutzen...

FhemPiUser

...ich dachte alles mit {...} ist ein oneliner, wie auch in userReadings. Was sind denn dann genau oneliner, wo $hour funktioniert?