Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste


C - Programmierung am Raspberry  Schaltpläne und Bauteilbeschreibungen  Adapterkabel  Mechanik  EDV-Literatur deutsch 



    FIAN Österreich     Marktplatz Natur    
    Bäckerei Freitag

openhab_mass

Maßeinheiten

Letztes Update 2021/04/11 14:46

Um gemessene Werte in einer wissenschaftlich korrekten Einheit auszudrücken, unterstützt das Framework Maßeinheiten. Durch die Verwendung quantifizierter Dezimalwerte in Statusaktualisierungen und Befehlen kann das Framework Werte automatisch in eine gewünschte Einheit konvertieren, die vom Systemgebietsschema oder pro Verwendung definiert werden kann.

Quantity Type

(Mengenart)

Bindungen verwenden den QuantityType, um Aktualisierungen von Sensordaten mit einer Quantifizierungseinheit zu veröffentlichen. Auf diese Weise kann das Framework und / oder der Benutzer den quantifizierten Wert in andere übereinstimmende Einheiten konvertieren:

Eine Wetterbindung, die Temperaturwerte in °C liest, würde den QuantityType verwenden, um die Einheit als °C anzuzeigen. Das Framework kann dann die Werte je nach Konfiguration des Systems entweder in °F oder Kelvin konvertieren. Die vom Framework verwendete Standardkonvertierung basiert auf dem Gebietsschema: Das Framework versucht, einen QuantityType in die Standardeinheit des konfigurierten Gebietsschemas zu konvertieren. Dies ist das imperiale System für die Vereinigten Staaten (Gebietsschema USA) und Liberia (Sprachkennzeichnung „en-LR“). Das metrische System mit SI-Einheiten wird für den Rest der Welt verwendet. Diese Konvertierung konvertiert den angegebenen QuantityType in eine Standardeinheit für die spezifische Dimension des Typs. Das ist:

Maß Metrische Einheit Imperiale Einheit
Länge Meter (m) Inch (in)
Temperatur Celsius (°C) Fahrenheit (°F)
Druck Hectopascal (hPa) Inch Quecksilber (inHg)
Geschwindigkeit Kilometer pro Stunde (km/h) Meilen pro Stunde (mph)
Intensität Bestrahlungsstärke (W/m²) Bestrahlungsstärke (W/m²)
Dimensionslos Abstrakte Einheit )eins) Abstrakte Einheit (eins)
Winkel Grad(°) Grad(°)

NumberItem verknüpft mit dem QuantityType Kanal

Zusätzlich zur automatisierten Konvertierung kann das NumberItem, das mit einem Kanal verknüpft ist welcher QuantityTypes liefert, so konfiguriert werden, dass Statusaktualisierungen immer in eine bestimmte Einheit konvertiert werden. Die in der Zustandsbeschreibung angegebene Einheit wird analysiert und dann, falls erforderlich, zur Konvertierung verwendet. Das Framework geht davon aus, dass die zu analysierende Einheit immer das letzte Token in der Statusbeschreibung ist. Wenn die Analyse fehlgeschlagen ist, findet die auf dem Gebietsschema basierende Standardkonvertierung statt.

Number:Temperatur temperature "Outside [%.2f °F]" { channel="...:current#temperature" }

In diesem Beispiel wird das NumberItem angegeben, um an Kanäle zu binden, die Werte aus der Dimension Temperatur anbieten. Ohne die Dimensionsinformationen erhält das NumberItem nur Aktualisierungen vom Typ DecimalType ohne Einheit und ohne Konvertierung. Die Zustandsbeschreibung definiert zwei Dezimalstellen für den Wert und die Fixeinheit °F. Falls in der Statusbeschreibung die Einheit angezeigt werden soll, die die Bindung liefert, oder das Framework durch Gebietsschema-basierte Konvertierung berechnet, sieht das Muster folgendermaßen aus:

„Aussen [%.2f %unit%]“

Der spezielle Platzhalter %unit% wird dann durch das tatsächliche Einheitensymbol ersetzt. Der Platzhalter %unit% kann an einer beliebigen Stelle in der Statusbeschreibung platziert werden.

<channel-type id="temperature">
    <item-type>Number:Temperature</item-type>
    <label>Temperature</label>
    <description>Current temperature</description>
    <state readOnly="true" pattern="%.1f %unit%" />
</channel-type>

Das Zustandsbeschreibungsmuster „%.1f %unit%“ beschreibt das Werteformat als Gleitkomma mit einer Dezimalstelle und auch als speziellen Platzhalter für die Einheit.

UoM implementieren

Beim Erstellen von QuantityType-Status bietet das Framework einige nützliche Pakete und Klassen. Das Paket org.openhab.core.library.unit enthält die Klassen SIUnits, ImperialUnits und Units, die Einheiten bereitstellen, welche für eines der in beiden Systemen verwendeten Messsysteme und gemeinsamen Einheiten eindeutig sind.

Die MetricPrefix Klasse stellt Präfixe wie MILLI, CENTI, HECTO usw. bereit, und die BinaryPrefix Klasse bietet Präfixe wie KIBI, MEBI usw., die beide Wrapper zum Erstellen abgeleiteter Einheiten sind.

Die Pakete org.openhab.core.library.dimension und javax.measure.quantity bieten Schnittstellen, mit denen der generische QuantityType und die Einheiten eingegeben werden.

Liste der Einheiten

Alle Einheiten, die derzeit standardmäßig unterstützt werden, sind in den folgenden Tabellen aufgeführt.

Imperial (Symbole der Basiseinheit):

Typ Einheit Symbol
Druck Inch Quecksilber inHg
Temperatur Fahrenheit °F
Geschwindigkeit Meilen pro Stunde mph
Länge Inch in
Länge Foot ft
Länge Yard yd
Länge Chain ch
Länge Furlong fur
Länge Meile mi
Länge League lea

SI (Symbole der Basiseinheit):

Typ Einheit Symbol
Beschleunigung Meter pro Sekundenquadrat m/s²
Beschleunigung Standard Gravitation gn
Stoffmengenanteil Mole mol
Stoffmengenanteil Deutscher Härtegrad °dH
Winkel Radian rad
Winkel Grad °
Winkel Winkelminute '
Winkel Winkelsekunde ''
Fläche Quadratmeter
Flächenkonzentration Dobson Einheit DU
Katalysische Aktivität Katal kat
Datenvolumen Bit bit
Datenvolumen Byte B
Datenvolumen Octet O
Datentransferrate Bit pro Sekunde bit/s
Dichte Gramm pro m³ g/m³
Dimensionslos Prozent %
Dimensionslos Parts per Million ppm
Dimensionslos Dezibel dB
Elektrische Spannung Volt V
Elektrische Kapazität Farad F
Elektrische Ladung Coulomb C
Elektrische Ladung Amperestunden Ah
Elektrische Leitfähigkeit Siemens S
Elektrische Leitfähigkeit Siemens pro Meter S/m
Elektrischer Strom Ampere A
Elektrische Induktivität Henry H
Elektrischer Widerstand Ohm Ω
Energie Joule J
Energie Wattsekunde Ws
Energie Wattstunde Wh
Energie Volt-Ampere-Stunde VAh
Energie Volt-Ampere-Blindleistungsstunde varh
Kraft Newton N
Frequenz Hertz Hz
Beleuchtungsstärke Lux lx
Intensität Bestrahlungsstärke W/m²
Intensität Mikrowatt pro cm² μW/cm²
Länge Meter m
Beleuchtungsstärke Lumen lm
Beleuchtungsintensität Candela cd
Magnetischer Fluss Weber Wb
Magnetische Flußdichte Tesla T
Masse Gramm g
Leistung Watt W
Leistung Volt-Ampere VA
Leistung Volt-Ampere Blindleistung var
Leistung Decibel-Milliwatt dBm
Druck Pascal Pa
Druck Hectopascal hPa
Druck Millimeter Quecksilber mmHg
Druck Bar bar
Radioaktivität Becquerel Bq
Äquivalentdosis Sievert Sv
Raumwinkel Steradiant sr
Geschwindigkeit Meter pro Sekunde m/s
Geschwindigkeit Knoten kn
Temperatur Kelvin K
Temperatur Celsius °C
Zeit Sekunde s
Zeit Minute min
Zeit Stunde h
Zeit Tag d
Zeit Woche week
Zeit Jahr y
Volumen Liter l
Volumen Kubikmeter
Volumenstrom Liter pro Minute l/min
Volumenstrom Kubikmeter pro Sekunde m³/s
Volumenstrom Kubikmeter pro Minute m³/min
Volumenstrom Kubikmeter pro Stunde m³/h
Volumenstrom Kubikmeter pro Tag m³/d

Metrische SI-Präfixe:

Name Symbol Factor
Yotta Y 1024
Zetta Z 1021
Exa E 1018
Peta P 1015
Tera T 1012
Giga G 109
Mega M 106
Kilo k 103
Hecto h 102
Deca da 10
Deci d 10-1
Centi c 10-2
Milli m 10-3
Micro µ 10-6
Nano n 10-9
Pico p 10-12
Femto f 10-15
Atto a 10⁻-18
Zepto z 10-21
Yocto y 10-24

Binäre SI-Präfixe:

Name Symbol Factor
Kibi Ki 210
Mebi Mi 220
Gibi Gi 230
Tebi Ti 240
Pebi Pi 250
Exbi Ei 260
Zebi Zi 270
Yobi Yi 280

Um die Präfixe zu verwenden, fügen Sie einfach das Präfix zum Einheitensymbol hinzu - zum Beispiel:

  • milliAmpere - mA
  • centiMetre - cm
  • kiloWatt - kW
  • KibiByte - KiB

Die Übersetzung steht unter der EPLv2 Lizenz.

openhab_mass.txt · Zuletzt geändert: 2021/04/11 14:59 von 127.0.0.1