wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Benutzeravatar
peter-pan
Beiträge: 2685
Registriert: 28. Nov 2018 12:03
Answers: 28
Wohnort: Schwäbisch Gmünd

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von peter-pan »

rebell21 hat geschrieben: 6. Dez 2024 16:21 1. was ist die Bedeutung von "snzb0301" in der Items Datei in {channel="mqtt:topic:a4289ed894:snzb0301:voltage"} ?
das "snzb0301" im Channel ist der Bezug zum Thing selbst. Da steht ja

Code: Alles auswählen

Thing mqtt:topic:a4289ed894:snzb0301 "Bewegungs-Sensor SZNB-03-01"  (mqtt:broker:863e3b62d0)   @ "zigbee2mqtt"
oder so ähnlich bei dir !? Das ist also der Name des Things. Du kannst das nennen wie du willst. Ich habe halt den Bezug zum Item-Namen "snzb_03_01" gewählt(Ohne die Underlines).
rebell21 hat geschrieben: 6. Dez 2024 16:21 Soll ich das Gerät in zigbee2mqtt umbenennen in "snzb0301" ?
Das brauchst du eigentlich nicht. Du musst halt deinen Z2M-Namen in den "stateTopic" übernehmen. Oder so wie ich es gemacht habe, den Namen für dieses Gerät in Z2M in "snzb_03_01" umbenannt
name.jpg
Schau auch mal hier nach den Namenskonventionen.
rebell21 hat geschrieben: 6. Dez 2024 16:21 2. Warum steht in der things-Datei bei den Channels [stateTopic="zigbee2mgtt/snzb_03_01/voltage, unit="mv"] ? Also mit "_". Und in der Items Datei "snzb0301" ohne Unterstrich ? Nachdem ich die Unterstriche in der things-Datei entfernt habe, hat mqtt sofort die Werte aus zigbee2mqtt übertragen
Das ist wie gesagt ganz einfach zu erklären. Der Name des Things ist "snzb0301". So hab ich das (für mich) bestimmt. Der Name des MQTT-Topics ist "snzb_03_01" so habe ich das (für mich) bestimmt. Der Thing-Name für das zweite (gleiche) Gerät (SNZB-03) ist b] "snzb0302"[/b] und das zugehörige Topic ist "snzb_03_02" usw.. Diese Namenskonventionen habe ich selbst festgelegt. Du bist da relativ frei in der Definition.
rebell21 hat geschrieben: 6. Dez 2024 16:21 3. Und was ist die Bedeutung von "Group gsnzb03_01..." im items-File. Diese Zeile sorgt dafür, dass ich die Items im Model ohne Location Bezug aufgelistet finde. Wenn ich dann das Things Bewegungsmelder einem Raum zuordne, habe ich im Model das Things + Kanäle + Items unter dem Raum und ohne Raumbezug noch einmal die Items zugeordnet zur Group gsnzb03_01
Ich meinte das schon einmal vorher erläutert zu haben. Dieses Gruppen-Item ist eigentlich die Definition des Gerätes/Equipment und ist jedem Eigenschafts-Item zugeordnet.
Das Gruppen-Item selber ist wiederum einem weiteren Gruppen-Item aus dem Location-Bereich zugeordnet.
Beispiel:
Das GruppenItem gsnzb03_01 ist dem Gruppen-Item gEG_Buero zugeordnet

Code: Alles auswählen

Group  gsnzb03_01 "Bewegung SNZB-03 01"  <motion>  (gEG_Buero)
Das nEigenschafts-Item hat dann die Zuordnung zur Gruppe(Gerät) gsnzb03_01

Code: Alles auswählen

Number:ElectricPotential    snzb03_01_voltage "Bewegung SNZB-03 01 Spannung [%.1f]"   <energy> (gsnzb03_01) 
Und wie gesagt, gibt es oberhalb das Location-Item gEG_Buero. Und oberhal darüber noch ein Gruppen-Item (location), usw. je nach Tiefe des semantischen Modells.

Das Thing kannst du keinem Raum zuordnen. Das geht nur über das Gruppen-Item(Gerät/Equipment). Soweit ich mich noch erinnern kann, war es früher einmal möglich dem Thing eine "Raum-Zuordnung" zu geben. Das gibt es aber jetzt nicht mehr. Das Ergebnis der Hirarchie ist auch in einem der oberen Screen-Shots gut zu sehen.

Mit dem semantischen Modell hat man am Anfang immer einige Probleme. Aber da musst du durch und in der Doku etwas stöbern. (Hat aber mit MQTT eigentlich nichts zu tun)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.0 openhabian

rebell21
Beiträge: 62
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von rebell21 »

meine things Datei sieht jetzt so aus

Code: Alles auswählen


peter@openhabian:/etc/openhab/things$ more Bewegungsmelder.things
//Sonoff-Bewegungsmelder
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++ Bewegungs-Sensoren +++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Thing mqtt:topic:a4289ed894:snzb0301 "Bewegungs-Sensor SZNB-03-01"  (mqtt:broker:a4289ed894 )   @ "zigbee2mqtt"// [ availabilityTopic="tele/snzb_04_03/LWT", payloadNotAvailable="Offline", payloadAvailable= "O
nline" ] 
    {
    Channels:
        Type number  : voltage      "SNZB-03 Spannung"                    [ stateTopic="zigbee2mqtt/snzb0301/voltage", unit="mV" ]
        Type number  : battery      "SNZB-03 Batterie"                    [ stateTopic="zigbee2mqtt/snzb0301/battery", unit="%" ] 
        Type switch  : batterylow   "SNZB-03 Batterie Niedrig"            [ stateTopic="zigbee2mqtt/snzb0301/battery_low", on="true", off="false" ] 
        Type switch  : occupancy    "SNZB-03 Bewegung"                    [ stateTopic="zigbee2mqtt/snzb0301/occupancy", on="true", off="false" ]
        Type number  : linkquality  "SNZB-03 Empfangsstäreke LQI"         [ stateTopic="zigbee2mqtt/snzb0301", transformationPattern="JSONPATH:$.linkquality", unit="lqi" ]
    }

Ich habe den Kanal "tamper" noch gelöscht, denn den hat mein Device in zigbee2mqtt nicht und er war immer NULL in openhab.

meine items-Datei sieht so aus.

Code: Alles auswählen


peter@openhabian:/etc/openhab/items$ more Bewegungsmelder.items
Number:ElectricPotential    snzb03_01_voltage       "Bewegung SNZB-03 01 Spannung [%.1f]"   { channel="mqtt:topic:a4289ed894:snzb0301:voltage"}        
Number:Dimensionless        snzb03_01_battery       "Bewegung SNZB-03 01 Batterie"          { channel="mqtt:topic:a4289ed894:snzb0301:battery", unit="%", stateDescription="pattern" [pattern="%.0f %unit%"] }   
Switch                      snzb03_01_batterylow    "Bewegung SNZB-03 01 Batterie niedrig"  { channel="mqtt:topic:a4289ed894:snzb0301:batterylow" }       
Switch                      snzb03_01_occupancy     "Bewegung SNZB-03 01 Bewegung"          { channel="mqtt:topic:a4289ed894:snzb0301:occupancy" }     
Number                      snzb03_01_linkquality   "Bewegung SNZB-03 01 LQI [%.1f %unit%]"   { channel="mqtt:topic:a4289ed894:snzb0301:linkquality", stateDescription="" [pattern="%.0f LQI"] }     


So funktioniert es erst mal bei mir und ich habe auch keine Einträge im Model, die ich nicht verstehe.

Ich habe die Gruppe erst mal rausgeworfen. Ich muss das mit dem semantischen Modell erst besser verstehen.

Welche Bedeutung haben die folgenden Einträge in Deiner items-Datei ?

<energy> ["Voltage"]


Ich habe mehrere Devices im zigbee-Netz (4 Stück, Bewegungsmelder,OSRAM Smartplug und zwei SONOFF Temperatursensoren). Schreibt Ihr die alle in eine things/items Datei oder macht Ihr für jedes Device eine eigene Datei?
Danke für Deine Hilfe.

Benutzeravatar
peter-pan
Beiträge: 2685
Registriert: 28. Nov 2018 12:03
Answers: 28
Wohnort: Schwäbisch Gmünd

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von peter-pan »

rebell21 hat geschrieben: 7. Dez 2024 16:31 <energy> ["Voltage"]
Also der in eckigen Klammern definierte Begriff (<energy>) ist der Name des Icons der diesem Item zugeordnet ist, also energie. Eine Übersicht der Standart-Icons findest du hier.

Der zweite Begriff ist ein sogenannter "Tag". Die sind zum Teil für eigenen Zwecke (Meta-Tags), aber auch vor allen Dingen für das semantische Modell wichtig. Der Wert "Voltage" steht hier für eine Eigenschaft/Propery aus dem semantischen Modell. Eine Auflistung der semantischen Tags findest du hier.

Hier noch ein paar Links, die dir vielleicht weiterhelfen können.
Semantic Model
Semantic Model and open questions
Items
Das ist natürlich nur ein Auszug. Das Tutorial ist natürlich wesentlich umfangreicher.

Schau vielleicht auch mal hier rein, da beschreibt @udo1toni sehr schön das semantische Modell

Das Gruppen-Item kannst du eigentlich wieder einfügen und die Gruppenzuordnung (das ist das was in den runden Klammern steht) wieder zuordnen. Dieser Zusammenhang ist die Zusammenfassung der Eigenschaften/Properties zu einem Gerät/Equipment. Du kannst ja die Zuordnung zur "Location" (gEG_Buero) mal weglassen, wenn du noch kein "Büro" eingerichtet hast ;) .

Was da passiert mit deinen Tags findest du in der Übersichtsseite unter den Tabs "Geräte/Equipment" und "Eigenschaften/Properties" wieder. Und vielleicht auch irgendwann mal die Orte unter "Standorte/Locations". Das macht das System sozusagen von selbst, wenn du das semantische Model "verinnerlichst".
Ich meine aber dass es auch hier in der UI unter Einstellungen/Model eine programm-gestützte Hilfe zur Erstellung der Locations gibt.
Da ich aber ein Fan der textbasierten SetUp-Version bin, habe ich das in einem Items-File angelegt. Du musst halt das Zusammenspiel der Gruppen und Tags verinnerlichen.

So ungefähr baut sich dann das semantischen Modell, die einzelnen Tabs, mit den entsprechenden Wigets/Kacheln, selbst auf.
rebell21 hat geschrieben: 7. Dez 2024 16:31 Ich habe den Kanal "tamper" noch gelöscht, denn den hat mein Device in zigbee2mqtt nicht und er war immer NULL in openhab.
Ich weiss leider nicht was du für einen Sensor du benutzt, aber im Prinzip kannst du aber den ersten Hinweis hier finden. Einen weiteren Hinweis findest du evtl. mit deinem "MQTT-Explorer" oder "MQTT.fx", wenn du den JSON-String anschaust der gepublisht wird

Code: Alles auswählen

{"battery":100,"battery_low":false,"last_seen":"2024-12-07T21:09:50+01:00","linkquality":188,"occupancy":false,"tamper":false,"voltage":3000}
Das hängt aber auch z.T. mit den Einstellungen in der "configuration.yaml" zusammen.
rebell21 hat geschrieben: 7. Dez 2024 16:31 Ich habe mehrere Devices im zigbee-Netz (4 Stück, Bewegungsmelder,OSRAM Smartplug und zwei SONOFF Temperatursensoren). Schreibt Ihr die alle in eine things/items Datei oder macht Ihr für jedes Device eine eigene Datei?
Das ist eher individuell. Ich habe die Z2M-Items und die dazugehörigen Things, jeweils in für mich zusammengehörige Gruppen angelegt. Also z.B. zigbee_motion.items, zigbee_bulbs.items, zigbee_measure.items, zigbee_switches.items, etc. und das gleiche für die Things.

Das gleich gilt auch für andere Bindings.

Code: Alles auswählen

hab4@raspi58:/etc/openhab/items $ ls -alF
insgesamt 556
drwxrwxr-x  2 openhab openhab   4096 27. Nov 11:37 ./
drwxrwxr-x 17 openhab openhab   4096 17. Nov 18:10 ../
-rw-rw-r--  1 openhab openhab   3379 15. Jul 14:20 aktien.items
-rw-rw-r--  1 openhab openhab  27648 29. Nov 16:12 alexa.items
-rw-rw-r--  1 openhab openhab  12708 22. Nov 15:51 astro.items
-rw-rw-r--  1 openhab openhab  40856 22. Nov 21:47 avm_fritz.items
-rw-rw-r--  1 openhab openhab   6054 18. Nov 15:11 avm_tr064.items
-rw-rw-r--  1 openhab openhab  15581  3. Dez 15:08 castle.items
-rw-rw-r--  1 openhab openhab 107086 24. Nov 17:15 homematic.items
-rw-rw-r--  1 openhab openhab    771 29. Okt 23:38 http_flightdelay.items
-rw-rw-r--  1 openhab openhab  14855 24. Nov 15:50 ical.items
-rw-rw-r--  1 openhab openhab  31151 24. Nov 18:14 mqtt_ESP.items
-rw-rw-r--  1 openhab openhab  44984 24. Nov 11:22 mqtt_Gosund.items
-rw-rw-r--  1 openhab openhab   3831 15. Nov 23:01 mqtt_others.items
-rw-rw-r--  1 openhab openhab  10008 24. Nov 17:06 mqtt_Sonoff.items
-rw-rw-r--  1 openhab openhab  12944 13. Nov 11:52 mqtt_Sonoff_s20.items
-rw-rw-r--  1 openhab openhab    811  3. Nov 23:33 network.items
-rw-rw-r--  1 openhab openhab   1400 14. Nov 12:21 ntp.items
-rw-rw-r--  1 openhab openhab  44792  7. Nov 2022  owm_oncall.items_stop
-rw-rw-r--  1 openhab openhab   4478  7. Okt 12:10 phone.items
-rw-rw-r--  1 openhab openhab    231 12. Dez 2021  readme.txt
-rw-rw-r--  1 openhab openhab  34435 31. Okt 18:59 sonos.items
-rw-rw-r--  1 openhab openhab   5188 12. Nov 10:47 test.items
-rw-rw-r--  1 openhab openhab   6844  1. Dez 17:35 zigbee2mqtt_bulbs.items
-rw-rw-r--  1 openhab openhab  12151 24. Nov 17:08 zigbee2mqtt.items
-rw-rw-r--  1 openhab openhab  36038  4. Dez 12:19 zigbee2mqtt_measure.items
-rw-rw-r--  1 openhab openhab  10676  6. Dez 16:11 zigbee2mqtt_motion.items
-rw-rw-r--  1 openhab openhab  22331  1. Dez 14:40 zigbee2mqtt_switches.items
Das ist aber Geschmackssache. Das Gleich gilt im übrigen auch für die Namensbezeichnungen deiner Items oder Things oder Rules, oder, oder...
Man ist da flexibel, auch wenn man die UI zum anlegen benutzt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.0 openhabian

rebell21
Beiträge: 62
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von rebell21 »

ich konnte dank der Hilfe hier zigbee Devices per Textfile provisionieren. Aber jetzt fällt mir auf, dass bei den Devices, die ich per Textfile erzeugt habe, immer zwei Items pro Kanal erscheinen. Unmittelbar nach dem Einlesen der *.items Datei hat jeder Kanal ein Item, genauso wie auch in der *.items Datei definiert. Nach einer Weile sind plötzlich pro Kanal zwei Items vorhanden. Openhab hat das zweite Item selbst erzeugt. Es ist auch nicht im Model enthalten. Im Model sind nur die Items als Points erhalten, die ich mit "Create Equipment from Thing" unmittelbar nach der Provisionierung im Model erzeugt habe. Das zweite Item ist eindeutig von openhab erzeugt. Es ist auch nicht gegen Löschen gesperrt. Und ich habe definitiv nicht in der Oberfläche von openhab "Add Link to item" gemacht.

Siehe Bild
Hier sieht man im Channel "Terrasse Temperatur" zwei Items. Eines mit Vorhängeschloss, das aus der Items Datei kommt. Und eines "Terrasse Temperatur, Number:Temperature * Point" (ohne Vorhängeschloss), das definitv von openhab selbst erzeugt wurde. Ca. 24 Stunden nach dem Einlesen der items Datei. Und das passiert übrigens bei jedem thing, dass ich für zigbee mit Textdateien erzeugt habe. Und ich habe vier zigbee things. Überall dieser Effekt
Screenshot_20241218_102852.jpg
Wieso entstehen diese und wie kann ich das vermeiden ? Die von openhab selbst erzeugten Items werden auch nirgendwo verwendet. Wie gesagt, sind im Model nur die Items aus der Textdatei *.items enthalten, die ich aktiv im Model aufgenommen habe. Kann ich für diese Items einfach wieder "Unlink&Remove Item" machen ?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
peter-pan
Beiträge: 2685
Registriert: 28. Nov 2018 12:03
Answers: 28
Wohnort: Schwäbisch Gmünd

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von peter-pan »

Genau. Diese hast du irgendwie über die UI erzeugt. Deshalb einfach, wie du schreibst, per Unlink & Remove" löschen.

Die mit dem "Vorhängeschloss" sind die Items, die du als Text-File generiert hast. Aber bitte setzte wieder die "Tags" und das Gruppen-Item ein. Die "Tags" sind nämlich die "Points/Properties" und das Gruppen-Item mit Tag die Kennzeichnung für das "Equipment" im semantischen Modell.

Was das Vermeiden anbetrifft. Du musst dich halt einfach entscheiden, ob du per UI anlegen willst oder per Text-File. Man kann auch zu Test-Zwecken mal zuerst ein Item (oder was auch immer. Thing oder Rule,etc.) und anschliessend das Ganze textbasierend aufsetzen. Dann darf man halt nicht vergessen, die über die UI generierten Werte zu löschen. Ich mach das mnchmal auch so. ;)

Hier nochmal ein Beispiel für den Aufbau des ".items"-File. Du musst ja nicht alle Items nehmen. Das hängt ja davon ab welches Gerät du anschliesst und was "Zigbee2Mqtt" für Vorschläge dazu macht und nicht zuletzt davon was du sehen willst. Ausserdem kannst du das auch gut sehen, wenn du einen Viewer/Sniffer" mitlaufen lässt. Z.B. MQTT.fx oder MQTT-Explorer

Code: Alles auswählen

//                          Temperatur + Luftfeuchtigkeits-Sensor SNZB-02D 02
Group                       gsnzb02d_02                  "Sensor SNZB-02D 02"                            <snzb_02d>              (gEG_Essen)                          ["Sensor", "Thermostat"]
Number:Dimensionless        snzb02d_02_battery           "Sensor SNZB-02D 02 Batterie"                   <snzb_02d>              (gsnzb02d_02)                        ["Level"]                                   { channel="mqtt:topic:danny:snzb02d02:battery", unit="%", stateDescription="pattern" [pattern="%.0f %unit%"] }       
Number:Dimensionless        snzb02d_02_humidity          "Sensor SNZB-02D 02 Luftfeuchtigkeit"           <snzb_02d>              (gsnzb02d_02)                        ["Humidity", "Measurement"]                 { channel="mqtt:topic:danny:snzb02d02:humidity", unit="%", stateDescription="pattern" [pattern="%.1f %unit%"] }     
Number:Temperature          snzb02d_02_temperature       "Sensor SNZB-02D 02 Temperatur"                 <snzb_02d>              (gsnzb02d_02,gRtIstI)                ["Temperature","Measurement"]               { channel="mqtt:topic:danny:snzb02d02:temperature", stateDescription="pattern" [pattern="%.1f %unit%"] }         
Number                      snzb02d_02_linkquality       "Sensor SNZB-02D 02 LQI "                       <snzb_02d>              (gsnzb02d_02)                        ["Level"]                                   { channel="mqtt:topic:danny:snzb02d02:linkquality", stateDescription=" " [pattern="%.0f LQI"] }     
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.0 openhabian

rebell21
Beiträge: 62
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von rebell21 »

ich glaube ich habe das Model immer noch nicht verstanden.
Ich erzeuge ein Thing mit drei channels und jeder Channel hat ein item. Das mache ich über die Textdatei.

Ich verwende Gruppen und Tags zu den Items wie Du auch.

Dann wird dass Thing in openhab angelegt, hat drei channels. Jeder Channel hat ein Item mit den Typen wie in der Tectdatei.

Dann gehe ich in das Model und füge dieses neue Thing mit "create Equipment from thing" in eine Location ("Arbeitszimmer") ein. Dann habe ich das Thing im Arbeitszimmer und es hat drei "Points" erhalten.

Jetzt gehe ich wieder in das Thing und nun hat jeder Channel zwei items. Das erste item aus der Textdatei (mit vorhängeschloss) und das zweite item ist entstanden durch das Einhängen des things als Equipment in der Location "Arbeitszimmer". Die doppelten Items in den Things sind genau durch die AKtion "Create Equipment from thing" im Model entstanden. Was muss ich tun, damit das Model die vorhandenen Things nur referenziert und nicht neu erzeugt?

Was mache ich hier falsch ? Ich möchte das thing Temperatur "Arbeitszimmer" mit seinen drei Kanälen Temperatur, Luftfeuchtigkeit, LQI doch in der Location Arbeitszimmer unterbringen. Ich möchte durch das Einhängen im Arbeitszimmer im Model doch keine neuen Items erzeugen, sondern die schon vorhandenen items als points im Model unterbringen

Das funktioniert übrigens bei den Things, die in der UI erzeugt wurden genau so. Ich habe einen Bewegungsmelder durch SCAN erkannt und dann aus der Inbox das Thing mit den Channels erzeugt. In jedem channel wurde im UI ein item erzeugt (mit create new item) und dann konnte ich das Thing mit "create Equipment from thing" im Model einhängen, ohne dass noch einmal items erzeugt wurden.

Benutzeravatar
peter-pan
Beiträge: 2685
Registriert: 28. Nov 2018 12:03
Answers: 28
Wohnort: Schwäbisch Gmünd

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von peter-pan »

rebell21 hat geschrieben: 18. Dez 2024 16:49 Dann gehe ich in das Model und füge dieses neue Thing mit "create Equipment from thing" in eine Location ("Arbeitszimmer") ein. Dann habe ich das Thing im Arbeitszimmer und es hat drei "Points" erhalten.
Das machst du natürlich nicht.
Wenn du das Thing in der Textdatei angelegt hast, ist das das Gleich, als ob du es über die UI als Thing angelegt hättest. Das Gleiche gilt natürlich auch für die Items.

Und jetzt musst du verstehen, dass durch die Art und Weise, wie du das gemacht hast, das diese schon in das semantische Modell eingebettet ist !!!!

Also dein Haus/Wohnung ist eine Location, diese kann natürlich weiter Unterlocations haben. So eine Unterlocation ist z.B. dein Wohnzimmer oder dein Büro,etc. Diese Locations sind hierarchisch aufgebaut. Du kannst dir so ein hierachisches Modell über die UI erstellen oder natürlich auch in Form einer Items-Datei, wie ich es schon beschrieben habe. Das sind vom Typ her eigentlich Gruppen-Items mit den entsprechenden Location-Tags. In diesen "Locations" kannst die "Equipment/Geräte" einbinden das geht dann eigentlich (nicht immer) auch wieder über Gruppen-Items und einem Tag, die wieder über eine "Gruppe" zu dem entsprechenden übergeordneten Gruppen-Item zugeordnet sind.

Diese Verknüpfung muss man sich halt verinnerlichen. Das ist vielleicht am Anfang nicht so ganz einfach, aber das wird schon.

Hier noch ein Beispiel zum besseren Verständnis:
Deine Location

Code: Alles auswählen

Group    gHome           "Casa Rebell21"   <house>               (gInnen)           ["Building"]          // das ist dein Haus das hat den Item-Namen "gHome" und hat das Location-Tag "Building"
Group    gEG             "Erdgeschoss"     <groundfloor>         (gHome)            ["GroundFloor"]       // da gibt es mehrere Etagen  und hat den Item-Name "gEG" die Verknüpfung "(gHome)" und das Location-Tag "GroundFloor"
Group    gEG_Wohnen      "Wohnzimmer"      <living>              (gEG)              ["LivingRoom" ]       // da gibt es mehrere Zimmer  und das Wohnzimmer hat den Item-Name "gEG_Wohnen" die Verknüpfung "(gEG)" und das Location-Tag "LivingRoom"

////  so genug locations angelegt und verknüpft - Bitte auch das nach den //-Strichen lesen
Jetzt brauchen wir natürlich auch noch Geräte in den einzelnen Räumen
z. B. ein Thermometer im Wohnzimmer
Das Gerät (als .items)

Code: Alles auswählen

//                          Temperatur + Luftfeuchtigkeits-Sensor SNZB-02D 10
Group  gsnzb02d_10  "Sensor SNZB-02D 10"  <snzb_02d> (gEG_Wohnen)         ["Sensor"]  // das ist ein Thermometer und hat den Item-Namen "gsnzb02d_10" und hat das Equipment-Tag "Sensor"
und alle nachfolgenden Items sind Points/Properies/Eigenschaften des Thermometers "gsnzb02d_10) und sind mit diesem Items verknüpft und über den jeweiligen Tag einer Eigenschaft zugeordnet

Code: Alles auswählen

Number:Dimensionless        snzb02d_10_battery           "Sensor SNZB-02D 10 Batterie"         <snzb_02d> (gsnzb02d_10)        ["Level"]                                   { channel="mqtt:topic:danny:snzb02d10:battery", unit="%", stateDescription="pattern" [pattern="%.0f %unit%"] }       
Number:Dimensionless        snzb02d_10_humidity          "Sensor SNZB-02D 10 Luftfeuchtigkeit" <snzb_02d> (gsnzb02d_10)        ["Humidity", "Measurement"]                 { channel="mqtt:topic:danny:snzb02d10:humidity", unit="%", stateDescription="pattern" [pattern="%.1f %unit%"] }     
Number:Temperature          snzb02d_10_temperature       "Sensor SNZB-02D 10 Temperatur"       <snzb_02d> (gsnzb02d_10,gRtIstI)["Temperature","Measurement"]               { channel="mqtt:topic:danny:snzb02d10:temperature", stateDescription="pattern" [pattern="%.1f %unit%"] }         
Number                      snzb02d_10_linkquality       "Sensor SNZB-02D 10 LQI "             <snzb_02d> (gsnzb02d_10)        ["Level"]                                   { channel="mqtt:topic:danny:snzb02d10:linkquality", stateDescription=" " [pattern="%.0f LQI"] }     
Ich hoffe, ich habe das jetzt einigermaßen verständlich "rüber gebracht". Es ist egal , ob das über ein Textdatei oder über die UI erstellt wird. Die Logik ist immer die Gleiche. Bitte beachte die Restriktionen der Tags. Diese sind für die Semantik verbindlich und dokumentiert. Ich glaube ich habe da auch schon was verlinkt.

Und natürlich nicht vergessen. Das Anlegen machst du entweder über die UI oder über die Textkonfiguration. Du kannst das auch mischen. Ist aber nicht zu empfehlen. Du darfst das aber nicht doppelt anelgen .
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.0 openhabian

rebell21
Beiträge: 62
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von rebell21 »

danke, ein sehr gutes Beispiel, welches die Dinge schon klarer macht.

Nun ist es aber so, dass meine Struktur des Gebäudes fertig ist. Ich kann also eigentlich keine neuen Gruppen (Locations) in den Item Dateien anlegen, sondern muss die schon vorhandenen Referenzieren.

Mein Modell:

Straße_Hausnummer
-- Haus
---- EG
------ Office (Name lOffice1, Label Office)
------ Main Bedroom
------ Entry
----1st Floor

Die einzelnen Locations haben jeweils einen Namen (lOffice1), ein Label (Office), eine Category (office), Semantic Class (Office) und eine Parent Group. Referenziere ich den Zielraum für das thing über den Namen (lOffice1) ?

rebell21
Beiträge: 62
Registriert: 23. Aug 2024 09:34
Answers: 0

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von rebell21 »

ja es ist mir gelungen. Ich referenziere die schon vorhandenen Räume über ihren Namen. In jeder ItemDatei erzeuge ich als Kopfzeile einen Sensor und ordne dem Sensor die Items zu.

Dann entstehen im Thing auch keine doppelten Items

Meine Datei zum Anlegen eines Sensors im Arbeitszimmer

Code: Alles auswählen

Group   Temperatur_Sensoren     "Sensor Nous E5"        <Nous_E5>
Group   Temperatur_Sensor_Arbeitszimmer "Temperatur Arbeitszimmer"  (lOffice) ["Sensor"]
Number:Dimensionless  Temperatur_Arbeitszimmer_humidity      "Arbeitszimmer Luftfeuchtigkeit [%.1f]" (Temperatur_Sensoren,Temperatur_Sensor_Arbeitszimmer) ["Humidity"] { channel="mqtt:topic:a4289ed894:Tempera
tur_Arbeitszimmer:humidity",unit="%", stateDescription="pattern" [pattern="%.1f %unit%"] } 
Number:Temperature    Temperatur_Arbeitszimmer_temperature   "Arbeitszimmer Temperatur [%.1f]"       ( Temperatur_Sensoren,Temperatur_Sensor_Arbeitszimmer) ["Temperature"] { channel="mqtt:topic:a4289ed894:Tem
peratur_Arbeitszimmer:temperature",unit="°C",stateDescription="pattern" [pattern="%.1f %unit%"] }
Number                Temperatur_Arbeitszimmer_linkquality    "Arbeitszimmer LQI [%.1f %unit%]"      ( Temperatur_Sensoren,Temperatur_Sensor_Arbeitszimmer) ["Level"] { channel="mqtt:topic:a4289ed894:Temperatu
r_Arbeitszimmer:linkquality", stateDescription="" [pattern="%.0f LQI"] }     
Super Danke. So muss ich das Thing nicht mehr dem Model zuordnen, sondern mache das über die Group in der Item-Datei
Super vielen Dank. Langsam komme ich hinter die Geheimnisse

Aber gleich die nächste Frage: Die Gruppe für den Temperatursensor hat das Tag "Sensor" erhalten. Welches Tag würde man einer Gruppe für einen OSRAM Smartplug mit zwei Items geben (einmal On/Off Switch, einmal linkquality). ich habe "Switch" versucht, aber einem Switch kann ich keine items zuordnet. Und "Equiment" funktioniert auch nicht. Wo kann ich die erlaubten Tags nachlesen ? Welches Tag würde ich für einen Bewegungsmelder nehmen ?

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

Re: wie füge ich Devices zu openhab hinzu aus zigbee2mqtt

Beitrag von udo1toni »

Der Smartplug ist ein Equipment.

Siehe https://www.openhab.org/docs/tutorial/m ... ntic-model (die Grafik) oder alternativ als csv Datei:
https://github.com/openhab/openhab-core ... icTags.csv

Am ehesten, so denke ich, handelt es sich um ein PowerOutlet :)
openHAB4.3.0 stable in einem Debian-Container (bookworm) (Proxmox 8.3.1, LXC), mit openHABian eingerichtet

Antworten