Wie kann die OpenHAB Regel angepasst werden, so das nur zweistellige Werte angezeigt werden?

Erstellt am 29. Juli 2016 von It_berater

Auf dem Raspberry Pi läuft openHAB. Einmal am Tag bekomme ich per Pushover eine Nachricht mit dem Systemstatus auf das Handy gesandt:

Ups, da ist ja die Systemtemperatur nach dem Komma etwas lang.

Obwohl der Eintrag in der items Datei wie folgt lautet:

// Über ein Script die Systemtemperatur des Raspberry Pis auslesen
Number systemTempPi     "System Temperatur [%.1f °C]"        (System) { exec="<[./configurations/scripts/getSystemTemp.sh:600000:REGEX((.*?))]" }

Das Script

#!/bin/bash 

# Auslesen der Systemtemperatur des Raspberry Pi via OpenHAB. 
#
# (c) 2016 Thomas Wenzlaff http://www.wenzlaff.info 
#

TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
awk "BEGIN {printf \"%.2f\n\", $TEMP/1000}"

liefert auch die richtige zweistellige Temperatur. Wo kann die Ursache sein?

Die rules Datei sieht wie folgt aus

var text = "Systeminfo: Systemlaufzeit: " + uptimeFormatted.state + " Systemtemperatur: " + systemTempPi.state  +  " ºC. OpenHab Laufzeit: " + openhabUptimeFormatted.state + " Freier Speicher: " + String::format("%.1f", (memFreePercent.state as DecimalType).floatValue()) + " %"

Ok, da muss der Typ Number in einen richtigen String umgewandelt werden:

var text = "Systeminfo: Systemlaufzeit: " + uptimeFormatted.state + " Systemtemperatur: " + String::format("%.2f ", (systemTempPi.state as DecimalType).floatValue()) +  " ºC. OpenHab Laufzeit: " + openhabUptimeFormatted.state + " Freier Speicher: " + String::format("%.1f", (memFreePercent.state as DecimalType).floatValue()) + " %"

Dann klappt es auch mit den Nachkommastellen. Hier das ganze Script auf Github.

Ähnliche Artikel:

  1. Wie kann die Temperatur vom Raspberry Pi mit OpenHAB an ThingSpeak.com gesendet werden? Übersicht als aufwendiges Whiteboard Video (فيديو لطيفة) !
  2. Raspberry Pi: Wie können Wetterdaten in openHAB von OpenWeatherMap angezeigt werden?
  3. Wie können mit einem Raspberry Pi aktuelle Flugdaten (aus HAJ) in OpenHAB angezeigt werden?