Seite 1 von 1

Equiqment in Items-Datei

Verfasst: 4. Dez 2022 15:20
von Hoggle
Hallo.
Ich habe mit das Openweathermap Binding installiert und die beiden things über die UI angelegt.
Das One-Call Thing hat aber fast 400 Channel.
Ich möchte die jetzt gerne mit Items verlinken, aber jedes einzelne über die UI anzulegen war mir zu aufwändig, besonders, da Openhab bei so einer großen Anzahl häufig einfach "abbricht" und ich von vorne beginnen muß
Die Werte für den aktuellen Zustand und den Zustand in 1 Stunde habe ich mühsam als Equiqment erstellt (Die passenden Channel dann als Point integriert), aber da OWM eine 12-stündige Vorhersage und dann noch 5 Tage Vorschau hat war mir das viel zu aufwändig und ich habe mit visual-Code alle channel als Items angelegt.
Die Items-Datei habe ich noch nicht im Conf-Ordner, weil ich die einzelnen Stunden und Tagen dem passenden Equiqment zuweisen möchte, aber ich weiß nicht, wie ich das machen muß.

Ist es so, das ich die einzelnen Blöcke in Gruppen zusammenfassen muß?

Wie bekomme ich die dann in die Struktur des Modells integriert?
Hier mal ein Auszug aus dem Modell
000_Wettermodell.png

Code: Alles auswählen

DateTime               OWMVorschauTag5Zeitstempel             "Vorhersagedatum in 5 Tagen"                                      {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#time-stamp"}
DateTime               OWMVorschauTag5Sonnenaufgang           "Sonnenaufgang in 5 Tagen"                                        {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#sunrise"}
DateTime               OWMVorschauTag5Sonnenuntergang         "Sonnenuntergang in 5 Tagen"                                      {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#sunset"}
String                 OWMVorschauTag5Wetterlage              "Wetterlage in 5 Tagen"                                           {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#condition"}
String                 OWMVorschauTag5WetterlageId            "Wetterlage ID in 5 Tagen"                                        {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#condition-id"}
Image                  OWMVorschauTag5Icon                    "Icon in 5 Tagen"                                                 {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#icon"}
String                 OWMVorschauTag5IconId                  "Icon ID in 5 Tagen"                                              {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#icon-id"}
Number:Temperature     OWMVorschauTag5TemperaturMorgen        "Temperatur am Morgen in 5 Tagen"                                 {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#morning-temperature"}
Number:Temperature     OWMVorschauTag5TemperaturTag           "Temperatur am Tag in 5 Tagen"                                    {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#day-temperature"}
Number:Temperature     OWMVorschauTag5TemperaturAbend         "Temperatur am Abend in 5 Tagen"                                  {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#evening-temperature"}
Number:Temperature     OWMVorschauTag5TemperaturNacht         "Temperatur in der Nacht in 5 Tagen"                              {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#night-temperature"}
Number:Temperature     OWMVorschauTag5TemperaturMin           "Minimale Temperatur in 5 Tagen"                                  {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#min-temperature"}
Number:Temperature     OWMVorschauTag5TemperaturMax           "Maximale Temperatur in 5 Tagen"                                  {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#max-temperature"}
Number:Temperature     OWMVorschauTag5gefuehteTempMorgens     "Gefühlte Temperatur am Morgen in 5 Tagen"                        {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#apparent-morning"}
Number:Temperature     OWMVorschauTag5gefuehteTempTag         "Gefühlte Temperatur am Tag in 5 Tagen"                           {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#apparent-day"}
Number:Temperature     OWMVorschauTag5gefuehteTempAbend       "Gefühlte Temperatur am Abend in 5 Tagen"                         {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#apparent-evening"}
Number:Temperature     OWMVorschauTag5gefuehteTempNacht       "Gefühlte Temperatur in der Nacht in 5 Tagen"                     {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#apparent-night"}
Number:Pressure        OWMVorschauTag5Luftdruck               "Luftdruck in 5 Tagen"                                            {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#pressure"}
Number:Dimensionless   OWMVorschauTag5Luftfeuchtigkeit        "Luftfeuchtigkeit in 5 Tagen"                                     {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#humidity"}
Number:Temperature     OWMVorschauTag5Taupunkt                "Taupunkttemperatur in 5 Tagen"                                   {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#dew-point"}
Number:Speed           OWMVorschauTag5Windgeschwindigkeit     "Windgeschwindigkeit in 5 Tagen"                                  {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#wind-speed"}
Number:Angle           OWMVorschauTag5Windrichtung            "Windrichtung in 5 Tagen"                                         {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#wind-direction"}
Number:Speed           OWMVorschauTag5Windboee                "Windböengeschwindigkeit in 5 Tagen"                              {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#gust-speed"}
Number:Dimensionless   OWMVorschauTag5Bewoelkung              "Bewölkung in 5 Tagen"                                            {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#cloudiness"}
Number                 OWMVorschauTag5Uvindex                 "Vorhergesagter uv Index in 5 Tagen"                              {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#uvindex"}
Number:Dimensionless   OWMVorschauTag5NSWahrscheinlichkeit    "Vorhergesagte Niederschlagswahrscheinlichkeit in 5 Tagen"        {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#precip-probability"}
Number:Length          OWMVorschauTag5Regen                   "Regenmenge in 5 Tagen"                                           {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#rain"}
Number:Length          OWMVorschauTag5Schnee                  "Schneemenge in 5 Tagen"                                          {channel="openweathermap:onecall:OpenWeatherMap:OWM_lokales_wetter:forecastDay5#snow"}
Wie bekomme ich jetzt die Struktur in der Items-Datei damit ich in der Location "Allgemeine Infos", -> "Wetterdaten", -> "OWM Wettervorhersage" z. B. das Equiqment "Vorhersage in 5 Tagen" per Items-Datei angelegt bekomme.
Das Equiqment soll dann die Points aus dem o. dargestellten Code erhalten.

Verständlich erklärt??

Ich habe mir jetzt mehrfach Beschreibungen im Web durchgelesen, aber schlauer bin ich leider nicht geworden (vielleicht liegt das auch an der Sprachbarriere :roll: )

Re: Equiqment in Items-Datei

Verfasst: 4. Dez 2022 15:48
von udo1toni
Du kannst die Tags und die Gruppen einfach mit in die Datei schreiben. Die Reihenfolge ist zwingend:

Code: Alles auswählen

Itemtype Itemname "Itemlabel" <icon> (groups) ["tags"] {channel"channellink"}
Das heißt, Du musst zwischen dem Label und dem Link noch die Gruppe und die Tags ergänzen. Hier: https://github.com/openhab/openhab-core ... icTags.csv ist eine vollständige Liste aller erlaubten Tags. Schreibweise ist exakt einzuhalten, also z.B. "ColorTemperature" und nicht "Colortemperature" (wobei dieses Tag beim Wetter eher keine Rolle spielt...)
Wenn Du ein Equipment erzeugst (ob das nun so passend ist, sei mal dahingestellt), kannst Du dieses als Group Item bei allen Items mit angeben.
Kennst Du Multizeilenoperationen? Du bewegst den Cursor in die erste zu bearbeitende Zeile, drückst gleichzeitig <shift>+<strg>+alt> und gehstt mit dem Cursor nach unten bis zur letzten zu bearbeitenden Zeile. der Cursor bleibt in allen Zeilen erhalten und Du kannst das Tag in alle Zeilene gleichzeitig schreiben. Voraussetzung ist lediglich, dass die Datei so formatiert ist, dass Du in allen Zeilen am richtigen Platz stehst. Es funktioniert aber auch <strg>+<cursor links/rechts> und ebenso mit zusätzlich gehaltener <shit>-Taste, so dass man auch auf einen Schlag bis Zeichen xy merkieren kann, egal, ob da nun gleichmäßig Platz ist oder nicht. Es muss nur jeweils Genug Platz sein, damit die Selektion korrekt funktioniert, dann kann man einfach mehrere Zeilen gleich formatieren...

Re: Equiqment in Items-Datei

Verfasst: 4. Dez 2022 16:03
von Hoggle

udo1toni hat geschrieben:Du kannst die Tags und die Gruppen einfach mit in die Datei schreiben. ...

Wenn Du ein Equipment erzeugst (ob das nun so passend ist, sei mal dahingestellt), kannst Du dieses als Group Item bei allen Items mit angeben.
...
Mal wieder danke für die schnelle Antwort, aber so ganz habe ich das noch nicht verstanden.

Wie erstellt man denn nun eine location und wie ein Equiqment?
Ich kann doch nur eine Gruppe erstellen und in der Gruppe wieder eine Untergruppe.
Oder verstehe ich das Prinzip noch nicht?
Zu deinem Abschnitt mit dem Sinn für das Erstellen eines Equiqments: was ist denn der bessere Weg, solche Dienste wie Wetter und ähnliches zu Strukturieren?

Gesendet von meinem SM-G998B mit Tapatalk


Re: Equiqment in Items-Datei

Verfasst: 4. Dez 2022 16:37
von udo1toni
Das Semantic Model beruht auf Gruppen. Zusätzlich müssen die Items getaggt sein. Wenn Du also eine Location anlegen willst, legst Du ein Group Item an mit passendem Namen und Label, z.B. gEGWohnzimmer "Wohnzimmer" und dem passenden Tag, eben ["LivingRoom"]. Du Könntest auch ["Room","LivingRoom"] schreiben, aber im Grunde reicht ja das eine Wort. Und alles, was in diesen Raum gehört, bekommt einfach die Gruppe gEGWohnzimmer zugewisen. Soweit die Items korrekt getaggt sind, erscheinen sie anschließend im Semantic Modell uinterhalb der Gruppe gEGWohnzimmer. Wenn Du ein Equipment anlegst, platzierst Du das passend im Raum und verwendest dieses Equipment als Gruppe für alle zugehörigen Items.

Der Sinn bezog sich vor allem darauf, die Sonne z.B. als Equipment zu betrachten :) ist halt ein großes Gerät, weit weg und es gehört mir auch nicht... Ich wollte damit nur den Begriff an dieser Stelle ein wenig in Frage stellen. Die Wetterdienste könnte man notfalls als WebService kennzeichnen, das stimmt ja auf jeden Fall. Für meinen Geschmack fehlen aber etliche Dinge als Equipment und an anderer Stelle ist nicht eindeutig beschrieben, was der, im Sinne der Entwickler, "korrekte" Weg ist. Und man muss halt an manchen Stellen rumprobieren, weil das Einordnen ins Semantic Model ja Auswirkungen auf die drei Karteireiter "Standorte", "Geräte" und "Eigenschaften" hat. Ich bin vor zwei Wochen von 2.5.12 auf 3.3 umgezogen...

Re: Equiqment in Items-Datei

Verfasst: 5. Dez 2022 17:12
von Hoggle
Ich muss noch einmal nachfragen:
Inhaber ein Item welches per UI beim Erstellen eines Equiqments automatisch aus einem Thing angelegt wurde.
Leider kann ich im Moment keinen Screenshot schicken, aber folgendes sehe ich in der Items-config wenn ich das Item in der ui editiere:

Name: OWM_Temperature_1h
Label: OWM Außentemperatur in 1 Stunde
Tags: Measurement und Temperature
Semantik Classification
class: Point_Messurwment
relatesTo: Property_Temperature
IsPointOf: OWM_Wetter_1h

Direkt Parent Groups: OWM_Wetter_1h

Kann mir jemand sagen, wie die Definition in einer ITEMS-Datei aussehen würde?

Ach ja, OWM_Wetter_1h ist ein Equiqment mit dem Typ weatherservice.

Ich hatte das Equiqment "OWM_Wetter_2h" in der UI definiert und habe dem Item, welches ich als point dem Equiqment zuweisen wollte, einfach zwischen Label und Channel die Gruppe (OWM_Wetter_2h) in der Itemsdatei eingefügt, aber es wird nicht angezeigt.

Gesendet von meinem SM-G998B mit Tapatalk


Re: Equiqment in Items-Datei

Verfasst: 5. Dez 2022 21:08
von udo1toni
Na so:

Code: Alles auswählen

Number:Temperature OWM_Temperature_1h "OWM Außentemperatur in 1 Stunde" <temperature> (OWM_Wetter_1h) ["Measurement","Temperature"] {channel="openweathermap:weather_and_forecast:account:local:forecastHours01#temperature"}
Der Channel ist nur "geraten", "account" ist natürlich der Name der "Bridge", die ja die Zugangsdaten enthält (deshalb account...)
Dazu noch das Equipment:

Code: Alles auswählen

Group OWM_Wetter_1h "OWM Daten 1 Stunde" <sun> (...) ["WebService"]
statt der Punkte kommt dann der Raum hin, dem das Equipment zugeordnet ist, <sun> als Icon ist natürlich auch nur eine mögliche Option.