FHEM Forum

FHEM => Sonstiges => Thema gestartet von: FhemPiUser am 13 September 2016, 20:55:11

Titel: $hour nicht gültig in userReadings perl code?
Beitrag von: FhemPiUser am 13 September 2016, 20:55:11
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); }
Titel: Antw:$hour nicht gültig in userReadings perl code?
Beitrag von: betateilchen am 13 September 2016, 21:30:25
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.
Titel: Antw:$hour nicht gültig in userReadings perl code?
Beitrag von: FhemPiUser am 13 September 2016, 22:00:31
ahh ok.

dann muss ich halt localtime nutzen...
Titel: Antw:$hour nicht gültig in userReadings perl code?
Beitrag von: FhemPiUser am 14 September 2016, 19:56:50
...ich dachte alles mit {...} ist ein oneliner, wie auch in userReadings. Was sind denn dann genau oneliner, wo $hour funktioniert?