Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste


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



    FIAN Österreich     Imkerei WANKO
    Marktplatz Natur    
    Bäckerei Freitag

openhab_items

Items

Letztes Update 2021/04/11 14:47

openHAB hat eine strikte Trennung zwischen der physischen Welt (die „Things“, siehe unten) und der Anwendung, die auf dem Begriff „Items“ (auch als virtuelle Schicht bezeichnet) basiert.

Items stellen Funktionen dar, die von der Anwendung verwendet werden (hauptsächlich Benutzeroberflächen oder Automatisierungslogik). Items haben einen Status und werden durch Ereignisse verwendet.

Die folgenden Artikeltypen sind derzeit verfügbar (alphabetische Reihenfolge):

Item Name Beschreibung Befehlstypen
Color Farbinformation (RGB) OnOff, IncreaseDecrease, Percent, HSB
Contact Speicherstatus von z.B. Tür- / Fensterkontakten OpenClosed
DateTime Speichert Datum und Uhrzeit -
Dimmer Beinhaltet prozentualen Wert vom Dimmer OnOff, IncreaseDecrease, Percent
Group Gegenstand, um andere Gegenstände zu verschachteln / in Gruppen zu sammeln -
Image Enthält die Binärdaten eines Images -
Location Speichert GPS Koordinaten Point
Number Speichert Werte im Zahlenformat und verwendet ein optionales Dimensionssuffix Decimal
Number: <dimension> wie Number, zusätzliche Dimensionsinformationen für die Einheitenunterstützung Quantity
Player Ermöglicht die Steuerung von Playern (z. B. Audio-Playern) PlayPause, NextPrevious, RewindFastforward
Rollershutter Wird üblicherweise für Jalousien verwendet UpDown, StopMove, Percent
String Speichert Texte String
Switch Wird üblicherweise für Lichter verwendet (Ein / Aus) OnOff

Group Items (Gruppenelemente)

Gruppenelemente sammeln andere Elemente in Gruppen. Gruppenelemente können selbst Mitglieder anderer Gruppenelemente sein. Eine zyklische Mitgliedschaft ist nicht verboten, wird jedoch dringend empfohlen. Benutzeroberflächen können Gruppenelemente als einzelne Einträge anzeigen und ihren Mitgliedern die Navigation ermöglichen.

Beispiel für ein Gruppenelement als einfache Sammlung anderer Elemente:

Group Erdgeschoss
Switch küchenLicht (Erdgeschoss)
Switch wohnzimmerLicht (Erdgeschoss)

Gruppenstatus aus den **Item**-Mitgliedern ableiten

Gruppenelemente können ihren eigenen Status von ihren Mitglieds-Items ableiten. Um einen Status abzuleiten, muss das Gruppen-Item unter Verwendung eines Basiselements und einer Gruppenfunktion erstellt werden. Bei der Berechnung des Status durchlaufen Gruppenfunktionen rekursiv die Mitglieder der Gruppe und berücksichtigen auch Mitglieder von Untergruppen. Wenn eine Untergruppe jedoch einen eigenen Status definiert (wobei die Basisfunktion für Element und Gruppe festgelegt ist), wird die Durchquerung gestoppt und der Status des Untergruppenmitglieds wird übernommen.

Verfügbare Gruppenfunktionen und Beispiele finden Sie im Konfigurationshandbuch. :x:

Formatierung von Status und Befehlstyp

StringType

StringType Objekte speichern einen einfachen Java-String.

DateTimeType

DateTimeType Objekte werden mit Java SimpleDateFormat.parse() unter Verwendung des ersten übereinstimmenden Musters analysiert:

  1. yyyy-MM-dd'T'HH:mm:ss.SSSZ
  2. yyyy-MM-dd'T'HH:mm:ss.SSSz
  3. yyyy-MM-dd'T'HH:mm:ss.SSSX
  4. yyyy-MM-dd'T'HH:mm:ssz
  5. yyyy-MM-dd'T'HH:mm:ss
Literal Standard Beispiel
z General time zone Pacific Standard Time; PST; GMT-08:00
Z RFC 822 time zone -0800
X ISO 8601 time zone -08; -0800; -08:00

DecimalType, PercentType

DecimalType und PercentType Objekte verwenden den BigDecimal Konstruktor von Java für die Konvertierung. PercentType Werte reichen von 0 bis 100.

QuantityType

Ein numerischer Type, der zusätzlich zu seinem Wert eine Einheit trägt. Das Framework kann abhängig von den Ländereinstellungen des Benutzers automatisch zwischen Einheiten konvertieren. Weitere Informationen finden Sie im Konzept zu Maßeinheiten.

HSBType

HSB-Zeichenfolgenwerte bestehen aus drei durch Kommas getrennte Werte für Farbton (0-360 °), Sättigung (0-100%) bzw. Helligkeit (0-100%), z.B. 240.100.100 für „maximales“ Blau.

PointType

PointType Zeichenfolgen bestehen aus drei durch Kommas getrennte DecimalTypes, die Breiten- und Längengrade in Grad bzw. Höhen in Metern angeben.

Enum Types

Type Unterstützte Werte
IncreaseDecreaseType INCREASE, DECREASE
NextPreviousType NEXT, PREVIOUS
OnOffType ON, OFF
OpenClosedType OPEN, CLOSED
PlayPauseType PLAY, PAUSE
RewindFastforwardType REWIND, FASTFORWARD
StopMoveType STOP, MOVE
UpDownType UP, DOWN

Ein Hinweis zu Items, die mehrere Statusdatentypen akzeptieren

Es gibt eine Reihe von Elementen, die mehrere Statusdatentypen akzeptieren, z. B. DimmerItem, das OnOffType und PercentType, RollershutterItem, das PercentType und UpDownType, oder ColorItem, das HSBType, OnOffType und PercentType. Da ein Item den Status EINZELN hat, können diese mehreren Datentypen als unterschiedliche Ansichten zu diesem Status betrachtet werden. Der Datentyp mit den meisten Informationen zum Status wird normalerweise verwendet, um den internen Status für das Element beizubehalten, und andere Datentypen werden aus diesem Hauptdatentyp konvertiert. Dieser Hauptdatentyp ist normalerweise das erste Element in der Liste, das von Item.getAcceptedDataTypes() zurückgegeben wird.

Hier ist eine kurze Tabelle, die die Konvertierungen für die obigen Beispiele zeigt:

Item Name Hauptdatentyp Zusätzliche Datentypkonvertierungen
Color HSBType OnOffType - OFF wenn die Helligkeitsstufe im HSBType gleich 0 ist - ON anderenfalls, PercentType - der Wert für die Helligkeitsstufe im HSBType
Dimmer PercentType OnOffType - OFF wenn die durch den Prozent-Typ angegebene Helligkeitsstufe gleich 0 ist, ON andernfalls
Rollershutter PercentType UpDownType - UP, wenn der durch den Prozent-Typ angegebene Verschlusspegel gleich 0 ist, DOWN, wenn er 100 beträgt, und UnDefType.UNDEF für einen anderen Wert

Item Metadata

Manchmal müssen für bestimmte Anwendungsfälle zusätzliche Informationen an Items angehängt werden. Dies kann eine Anwendung sein, die einige Hinweise benötigt, um die Items generisch zu rendern, oder eine Integration mit sprachgesteuerten Assistenten oder anderen Diensten, die auf die Items zugreifen und deren „Bedeutung“ verstehen müssen.

Solche Metadaten können mithilfe disjunkter Namespaces an Items angehängt werden, damit sie nicht miteinander in Konflikt stehen. Jeder Metadateneintrag hat einen Hauptwert und optional zusätzliche Schlüssel / Wert-Paare. An ein Item können Metadaten für beliebig viele Namespaces angehängt werden, wie im folgenden Beispiel dargestellt:

Switch LightSwitch "Light Switch" {channel="zwave:device:22c99d1e:node3:switch_binary", alexa="PowerController.powerState"}

Die Metadaten können über einen dedizierten REST-Endpunkt verwaltet werden und sind in den EnrichedItemDTO Antworten enthalten.

Erweiterungen, die auf einige Metadaten schließen können, müssen automatisch einen MetadataProvider Dienst implementieren und registrieren, um sie dem System zur Verfügung zu stellen. Sie können sie aus einer beliebigen Quelle bereitstellen und Daten dynamisch entfernen oder hinzufügen. Sie sind auch nicht auf einen einzelnen Namespace beschränkt.

Die MetadataRegistry bietet Zugriff auf alle Erweiterungen, die die Item-Metadaten programmgesteuert lesen müssen. Es ist der zentrale Ort, an dem zusätzliche Informationen zu Artikeln aufbewahrt werden.


Things  Things

Die Übersetzung steht unter der EPLv2 Lizenz.

openhab_items.txt · Zuletzt geändert: 2021/04/11 14:59 (Externe Bearbeitung)