readingsGroup , valueFormat und nicht nummerische Werte

Begonnen von Wzut, 02 April 2020, 08:39:17

Vorheriges Thema - Nächstes Thema

Wzut

Gegeben eine rg wie im Wiki zur Darstelllung von Thermostatwerten (in meinem Fall MAX)
in der rg das Attribut valueFormat gesetzt auf
{desiredTemperature => "%.1f °C", temperature => "%.1f °C"}
alles prima solange die Temperaturen sich im normalen Bereich von 5 - 30 bewegen (0.5 Schritte)
aber wehe es tritt einer der Sondefälle ein wo kein nummerischer Wert im Reading steht sondern die Strings 'on' oder 'off' (das gibt jede Menge Ausgaben im log)
Ich habe mir jetzt auf die Schnelle so geholfen:
- $v = sprintf( $value_format, $v );
+ $v = sprintf( $value_format, $v ) if  $v =~ m/^[0-9]/;


@Andre, vllt hast du noch eine andere/bessere Idee das Problem in den Griff zu bekommen ?


Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher