Anfänger: Darstellung von Temperatur und Luftfeuchte mit korrekter Einheit

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
RoCMe
Beiträge: 11
Registriert: 22. Okt 2024 10:38
Answers: 0

Anfänger: Darstellung von Temperatur und Luftfeuchte mit korrekter Einheit

Beitrag von RoCMe »

Moin,

ich bin IT technisch nicht völlig unbedarft, aber in der openHAB Welt und allgemein in der Haus-"Automatisierung" bin ich komplett neu.

Vor einiger Zeit habe ich mir ZigBee Sensoren für Luftfeuchtigkeit und Temperatur (Tuya) angeschafft und im Haus verteilt. Bislang habe ich nur das Display verwendet, jetzt war ich motiviert diese Daten zentral zu sammeln.

Was ich getan habe:

1. openhabian auf einem Raspberry installiert und aktualisiert
2. zigbee2mqtt installiert
3. einen Sensor angebunden
4. Die Daten in openHAB ausgelesen.

Gab ein paar Fallstricke, aber hey: Daten werden angezeigt.

In der Item Übersicht sieht es zumindest richtig aus. Ich verstehe dieses Forum leider noch nicht, irgendwie kann ich keine Bilder einfügen. Also kein Screenshot, sondern nur den angezeigten Text:

Temperatur 20.3 °C
Luftfeuchtigkeit 67.1 %

So soll es sein :)

Wenn ich auf dem "Startbildschirm" (Overview?) aber z.B. über meine Location "Arbeitszimmer" gehe, sehe ich, gruppiert als Equipment "Temperatursensor Arbeitszimmer" leider nur

Luftfeuchtigkeit 67
Temperatur 20

Ja, ist nur eine Kleinigkeit, die Funktion ist ja grundsätzlich da, aber es nervt mich trotzdem. Was mache ich falsch?


Thing für den Sensor:

Code: Alles auswählen

UID: mqtt:topic:mosquitto-broker:temperature_office
label: Temperatursensor Arbeitszimmer
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:mosquitto-broker
location: Arbeitszimmer
channels:
  - id: temperature
    channelTypeUID: mqtt:number
    label: Temperatur
    configuration:
      stateTopic: zigbee2mqtt/temperature_office
      transformationPattern: JSONPATH:$.temperature
  - id: humidity
    channelTypeUID: mqtt:number
    label: Luftfeuchtigkeit
    configuration:
      stateTopic: zigbee2mqtt/temperature_office
      transformationPattern: JSONPATH:$.humidity
Item für Luchfeuchtigkeit:

Code: Alles auswählen

label: Luftfeuchtigkeit
type: Number:Dimensionless
category: ""
groupNames:
  - Temperatursensor_Arbeitszimmer
tags:
  - Point
Hier ist ineressant, dass im Design Tab die Unit "%" eingestellt hab, das taucht im Code aber nicht auf. Sollte das nicht eigenltich identisch sein? OO

Code für das Temperatur Item

Code: Alles auswählen

label: Temperatur
type: Number:Temperature
category: ""
groupNames:
  - Temperatursensor_Arbeitszimmer
tags:
  - Point
Auch hier: Die Einheit "°Celsius" habe ich unter "Design" konfiguriert, sie ist aber im Code nicht zu sehen. Vielleicht hängt das damit zusammen, dass ich in der UI dann keine Einheiten sehe?

Über einen Tip wäre ich sehr dankbar :)

P.S.: Beim Drüberlesen vertehe ich gerade selbst nicht mehr, woher das jeweilige Item nun weiß, welchen Channel von welchem Item es eigentlich anzeigen soll, da stehe ich gerade auf dem Schlauch :D

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Anfänger: Darstellung von Temperatur und Luftfeuchte mit korrekter Einheit

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Punkt 1: keine Bilder... Doch, Du kannst ziemlich sicher Bilder einfügen, nur ist das in den wenigsten Fällen wirklich hilfreich, nimmt aber wahnsinnig viel Platz weg (im Verhältnis zum geschriebenen Text meist mindestens Faktor 1000). Es ist also gut, dass Du bisher nicht herausgefunden hast, wie das mit den Bildern funktioniert... ;) Eventuell musst Du erst einige Postings erstellt haben, da bin ich mir aber nicht mal sicher. Du kannst im vollständigen Editor unterhalb des Fensters Attachments einfügen und wahlweise an der aktuellen Cursorposition anzeigen lassen.

Punkt 2: Ein Item hat (viele...) verschiedene Eigenschaften. Ursprünglich gab es beim Item aber nur wenige Dinge, die einzustellen waren, das ging als Text:

Code: Alles auswählen

Number humidity "Luftfeuchte[%.1f %%]" <humidity> (Messwert) {binding="bindinginformation"}
Und das war es. Vorne der Itemtyp, dann der Name des Items, das Label, incl. Formatierung der Ausgabe, das zugehörige Icon, evtl. Zuordnung zu Group Item(s) und die Binding-Information. Things waren noch nicht erfunden :)

Alles, was "danach" kam, wurde angeflanscht. Zuerst kamen Tags, die wurden dann in dieser Form ["Tag"] vor den geschweiften Klammern eingetragen. Statt die Binding-Definition direkt im Item anzugeben, wurden channel als Bestandteil der Things angegeben. Und es wächst, und wächst, und wächst...
Und alles, was sonst noch dazu kam/kommt, sind Metadaten des Items, diese tauchen an anderer Stelle als Code auf. Immerhin kann man in der aktuellen Version auch das Item als yaml sehen, und auch die Metadaten kann man sehen, aber nicht in den Item Details, sondern eine Stufe höher, und dann dort getrennt in den zugeordneten Metadaten.

Wenn Du auf der Design Seite bist, kannst Du unter der Unit Zeile eine ausgegraute Zeile State Description Pattern sehen. Und erklärenden Text dazu :)
Pattern can only be changed from the state description metadata page after Item creation!
Also suche das Item in der Itemliste, wähle es aus und rufe dann im Block Metadata Add Metadata auf. Dort wählst Du State Description und im folgenden Formular trägst Du unter Pattern für die Luftfeuchte z.B. %.1f %unit% ein. Fortan wird openHAB für einen Wert 56.789 dieses Format: 56,7 % in der Main UI verwenden (im Overview und auf anderen Pages). Für die Temperatur kannst Du es genauso halten. Das einzelne % ist der Status als Zahl, .1f bedeutet, dass die Zahl als FloatValue betrachtet werden soll und eine (1) Nachkomma (.) stelle ausgegeben werden soll. %unit% verwendet die übliche Einheit, abhängig vom gewählten System (metrisch oder imperial). Wahlweise kannst Du auch explizit die Einheit angeben, z.B. %% (das einzelne % hat ja eine spezielle Bedeutung...) oder K, wenn Du die Temperatur in Kelvin ausgegeben haben willst, oder °F, falls Du Grad Fahrenheit bevorzugst. Der Witz dabei ist, dass openHAB die Umrechnung selbst durchführt. Auch MWh oder KWh (bei Number:Energy) wäre "einfach so" da, und die Liste ist wirklich lang https://www.openhab.org/docs/concepts/u ... t-of-units (fängt mit imperial an... nun ja...)
Auf den Unterseiten der Metadaten gibt es jeweils eine getrennte Codeansicht. Ich denke, das wird mittelfristig in der Item Codeansicht aufgehen, aber die yaml Ansicht für Items ist "brandneu", das ist also Work in progress...

Ach so... EINE Stelle gibt es, an der Du zumindest alle Item-Daten als Block abrufen kannst, das ist im API-Explorer -> items-GET(items/{itemname} -> TRY IT OUT itemanme setzen -> EXECUTE. Der Response Body enthält dann den gesamten Code, als JSON strukturiert:

Code: Alles auswählen

{
  "link": "https://192.168.178.55:8443/rest/items/Testitem",
  "state": "NULL",
  "stateDescription": {
    "pattern": "%.1f %unit%",
    "readOnly": false,
    "options": []
  },
  "unitSymbol": "%",
  "metadata": {
    "unit": {
      "value": "%"
    },
    "stateDescription": {
      "value": " ",
      "config": {
        "pattern": "%.1f %unit%"
      }
    }
  },
  "editable": true,
  "type": "Number:Dimensionless",
  "name": "Testitem",
  "label": "Test Item",
  "category": "",
  "tags": [],
  "groupNames": []
}
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

RoCMe
Beiträge: 11
Registriert: 22. Okt 2024 10:38
Answers: 0

Re: Anfänger: Darstellung von Temperatur und Luftfeuchte mit korrekter Einheit

Beitrag von RoCMe »

OK, das klappt, vielen Dank! Intuitiv ist das aber eher nicht OO
Ich habe inzwischen Grafana und influxDB eingerichtet und erfreue mich jetzt an einer grafischen Darstellung :)

Ich erlaube mir eine Folgefrage:
Nun habe ich noch 3 (oder 4? Muss gleich mal gucken :D) Sensoren im Haus verteilt. Bis auf ein paar Namen werden das alles exakte Kopien meiner Things, Items, Equipments, ... Muss ich das alles von Hand neu eintippen, oder gibt es da irgendwo einen "Clone" Button?

Benutzeravatar
udo1toni
Beiträge: 15241
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Anfänger: Darstellung von Temperatur und Luftfeuchte mit korrekter Einheit

Beitrag von udo1toni »

RoCMe hat geschrieben: 22. Okt 2024 16:26 gibt es da irgendwo einen "Clone" Button?
N-j-...ein...

Ich nutze für die Konfiguration schon immer Textdateien und habe dieses Problem nicht :)
Ich möchte aber keinesfalls dazu raten, jetzt als Neueinsteiger noch mit Textkonfiguration anzufangen, da es da auch Fallstricke gibt - ich bin die gewohnt und mag sie, alle anderen hingegen... ;)

In der UI kannst Du Things leider nicht klonen. Du kannst jedoch minimale Things anlegen und dann den Code aus dem "Original-Thing" kopieren und auf der Code-Seite der Ziel-Things einfügen. Anschließend kannst Du Änderungen vornehmen oder auf die Channel-Ansicht umschalten und die notwendigen Änderungen dann über die UI erledigen. Da die Thing-UID eindeutig sein muss und nicht nachträglich (über die UI) geändert werden kann, ist das der einzige Teil des Things, der nicht direkt kopiert werden kann.
Über die REST API kannst Du Things auch komplett klonen (also incl. des Thing-Rahmens), allerdings musst Du dennoch vor dem Abspeichern des Klons mindestens die UID des Things anpassen, sonst weigert sich openHAB, das Thing anzulegen.
RoCMe hat geschrieben: 22. Okt 2024 16:26 Intuitiv ist das aber eher nicht
Wie erläutert, ist openHAB schon etwas älter (inzwischen nutze ich openHAB seit 12 Jahren, begonnen habe ich mit openHAB1.0) und es gab beim Upgrade auf openHAB2 massive Änderungen, die beim Upgrade auf openHAB3 ebenso massiv wieder rückgängig gemacht wurden - allerdings unter Beibehaltung und Fortentwicklung vieler anderer Details in openHAB.
openHAB2 war ein offizielles Eclipse-Produkt, man erhoffte sich davon Interesse seitens der Industrie.
Bis auf die Telekom (auch eher halbherzig) und Bosch(?) ist mir aber kein Unternehmen bekannt, welches nennenswert zum Code beigetragen hätte. Der Aufwand war erheblich und hat viel Zeit gekostet, auch die notwendigen Umbauten in beiden Richtungen.
Inzwischen nimmt die Entwicklung aber wieder mehr Fahrt auf, z.B. gab es bis vor kurzem noch gar keine Code-Ansicht von Items...

openHAB4 ist auf Wunsch nach wie vor in großen Teilen identisch konfigurierbar wie schon openHAB1, nur halt mit vielen, vielen Erweiterungen.
Aber inzwischen gibt es eben auch eine vollständige Verwaltungs-UI, so dass Neueinsteiger nicht mehr mit Textdateien konfrontiert werden.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten