Ankündigung

Einklappen
Keine Ankündigung bisher.

Überschneidungen zweier Gruppen darstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Überschneidungen zweier Gruppen darstellen

    Guten Morgen zusammen,

    ich stehe mal wieder vor einer Frage, dessen Antwort sich anscheinend schwer ersuchen lässt (oder die noch keiner gestellt hat) ;-)

    Ich bin noch ziemlich an den Anfängen meiner openHAB2-Konfiguration. Momentan versuche ich erst einmal ein Grundkonzept zu erstellen, wie ich die ganzen Items und Groups aufbaue und verknüpfe, um das Projekt übersichtlich aber gleichzeitig auch flexibel zu halten. Aus diesen Gedankengängen hat sich folgende Frage entwickelt:

    Ich habe viele verschiedene Lampen im Haus, welche ich als Items einbinde. Gleichzeitig lege ich Gruppen an, welche die Items in die Gebäudeteile (Etagen) sowie in ihrer Art ("Licht") gruppieren

    Code:
    Group    grp_AllLights           "alle Lichter"
    Group    grp_EG                  "Erdgeschoss"
    Group    grp_OG                  "Obergeschoss"
    
    Switch   sw_Deckenlicht_Bad      "Deckenlicht Badezimmer"    <LIGHT>   (grp_AllLights, grp_OG)   { knx="1/1/17+<1/1/18"}
    Switch   sw_Deckenlicht_Schlaf   "Deckenlicht Schlafzimmer"  <LIGHT>   (grp_AllLights, grp_OG)   { knx="1/1/19+<1/1/20"}
    Switch   sw_Deckenlicht_Kueche   "Deckenlicht Küche"         <LIGHT>   (grp_AllLights, grp_EG)   { knx="1/1/19+<1/1/20"}
    Nun zu meiner Frage:

    Ich möchte die Items in meiner Sitemap aus verschiedenen "Sichten" sehen: Ich möchte mir alle Lichter anschauen können (--> grp_AllLights) und alle Elemente der einzelnen Etagen betrachten können (--> grp_OG oder grp_EG). Beides kein Problem.

    Nun möchte ich mir aber auch alle Lichter des Obergeschosses anzeigen lassen?! Geht das, weil die Definition ist ja eigentlich bereits vorhanden, in dem ich die Elemente anzeigen lasse, die in Gruppe grp_AllLights und grp_EG enthalten sind.

    Klar kann ich für so etwas weitere Gruppen definieren (grp_OGLights), aber dann nehmen die Gruppen ja ganz schnell überhand (in größeren Projekten zumindest). Eine Kombination von Gruppen macht die Sache unglaublich flexibel (man denke an ein Gebäude mit 20 Etagen wo immer gleich aufgebaut 10 Büros drin sind. Man definiert 30 Gruppen und kann alle Büros einzeln darstellen, sowie auch alle Etagen oder auch "alle Büros untereinenader").

    Da gibt's doch bestimmt was? ;-)

    Viele Grüße
    bemano

    #2
    du möchtest quasi zwei Gruppen mit & Verknüpfen und wenn beides zutrifft dann anzeigen.
    Ich kenne diese Funktion nicht und behaupte einmal das geht nicht.
    Gute Idee für eine neue Version.
    --
    Gruß
    Lothar

    Kommentar


      #3
      Nein, das geht nicht. In Rules könnte man noch was basteln, um auf diese Schnittmenge zuzugreifen, für die Sitemap ist so etwas aber nicht möglich.

      Ich möchte an dieser Stelle auch nochmal darauf hinweisen, dass es zwar möglich ist, sich eine Sitemap mittels Group Widgets erstellen zu lassen, jedoch verliert man dabei eine Menge Einflussmöglichkeiten. Es ist grundsätzlich sinnvoller eine Sitemap auszuformulieren, auch wenn das viel zusätzliche Tipparbeit bedeutet.

      Kommentar


        #4
        Erst einmal vielen Dank für die schnellen Antworten. Schade, wenn das (in den Sitemaps) nicht funktioniert. Ich denke in der generellen Logik (Regeln) kann man sich bestimmt was bauen, wo die Elemente entsprechend geprüft werden. Mit der Möglichkeit Schnittmengen von zwei (oder "beliebig vielen") Gruppen in der Sitemap zu bilden, hätte man aber schnell, sinnvolle Sitemaps erstellen können.

        @udo1toni:
        Das die Einflussmöglichkeiten bei einer Erstellung der Sitemaps per Gruppen rapide sinken ist mir bereits aufgefallen. Der Weg zur "Wunsch-Sitemap" ist somit mit "manuellem Zusammenschrauben" verbunden (was mir noch nicht so wirklich gefällt, daher überlege ich noch viel bezüglich des Konzeptes). Grundsätzlich kann ich mir solche per Schnittmengen gebildete Konstrukte aber gut als zusätzliche Buttons am Ende der Wunsch-Sitemap vorstellen, um "mal schnell alles zu sehen" oder aber den "Raum-Bewohnern" ohne viel Arbeit "ihre Komponenten" als eigene Sitemap zur Verfügung zu stellen. Der Otto Normalbewohner freut sich ja bereits über einfache Schalter und Bildchen ;-)

        Kommentar


          #5
          Zitat von bemano Beitrag anzeigen
          Das die Einflussmöglichkeiten bei einer Erstellung der Sitemaps per Gruppen rapide sinken ist mir bereits aufgefallen. Der Weg zur "Wunsch-Sitemap" ist somit mit "manuellem Zusammenschrauben" verbunden (was mir noch nicht so wirklich gefällt, daher überlege ich noch viel bezüglich des Konzeptes). Grundsätzlich kann ich mir solche per Schnittmengen gebildete Konstrukte aber gut als zusätzliche Buttons am Ende der Wunsch-Sitemap vorstellen, um "mal schnell alles zu sehen" oder aber den "Raum-Bewohnern" ohne viel Arbeit "ihre Komponenten" als eigene Sitemap zur Verfügung zu stellen. Der Otto Normalbewohner freut sich ja bereits über einfache Schalter und Bildchen ;-)
          Man muss sich klar machen, dass eine "Vollautomatik" pro Input nur exakt ein Ergebnis liefern kann.
          Wie sieht denn die ideale Sitemap aus? (meine sieht anders aus, ist aber für mich ideal...)
          Es mag noch gewisse Grundsätze für ein hierarchisches Modell des Hauses geben, also z.B.eine Hauptseite mit Unterseiten für jedes Stockwerk, je Stockwerk Unterseiten für jedes Zimmer, aber selbst da wirst Du hier nicht ungeteilte Zustimmung finden. Die Sitemap ist nun mal individuell, nicht nur durch Anordnung und Anzahl der Zimmer und Ausstattung, jeder hat seine eigene Vorstellung davon - und soll sie bitte auch unbedingt haben!
          Entsprechend kann eine Automatik maximal (unter idealen Bedingungen) eine Mehrheit zufrieden stellen, aber ob Du oder ich dann dazu gehören?
          Die Group Widgets sind eher als Einstieg zum schnellen Erfolg gedacht, spätestens, wenn Widgets eine bestimmte Reihenfolge haben sollen, ist es Essig mit Automatik, und das ist der Anfang...
          Weiter ist zu beachten, dass sitemaps nur von Basic UI, Classic UI, Habdroid und der iOS App beachtet werden.
          Es gibt noch andere Clients, die etwas mit der Sitemap anfangen können, aber ich weiß nicht, ob die überhaupt noch weiter entwickelt werden - greent vermisse ich echt, schade, dass der Entwickler nicht weiter gemacht hat.

          Kommentar


            #6
            Zitat von udo1toni Beitrag anzeigen

            Ich möchte an dieser Stelle auch nochmal darauf hinweisen, dass es zwar möglich ist, sich eine Sitemap mittels Group Widgets erstellen zu lassen, jedoch verliert man dabei eine Menge Einflussmöglichkeiten. Es ist grundsätzlich sinnvoller eine Sitemap auszuformulieren, auch wenn das viel zusätzliche Tipparbeit bedeutet.
            Kann man auch ohne Groups Unterseiten machen?

            Kommentar


              #7
              Interessant... danach suchen ich auch gerade =D

              Kommentar


                #8
                Hiermit sollte es gehen:

                Code:
                sitemap test label="Testseite"
                {
                    Frame label="Gebäude 1"
                    {
                        Text item=str_Buero1
                        {
                            Switch item=sw_B1_Decke     label="Deckenlicht"
                            Switch item=sw_B1_Stehlampe label="Stehlampe"    
                        }
                    }
                    Frame label="Sonne und Mond"
                    {
                        Text item=Sunrise_Time
                        Text item=Sunset_Time
                    }
                }

                Kommentar


                  #9
                  Genau.

                  Frame {} -> Mach einen Rahmen um die Widgets innerhalb der Klammern. Der Frame darf ein Label haben.
                  Text {} -> erzeuge eine Unterseite mit den Items innerhalb der {} und erstelle ein Text Widget, welches auf die Unterseite verlinkt. Das Text Widget darf ein Label haben, das Label darf dynamisch sein (dazu muss das Widget dann natürlich einem Item zugeordnet sein). Das Label des Text Widgets dient auch als Überschrift der Unterseite.

                  Kommentar


                    #10
                    Es kann imho nahezu jedes Item in der Sitemap sein, welches Untergruppen enthält, sogar ein Schalter, ist nur je nach UI "doof" den dann zu betätigen, einen mm daneben, zack biste in der Untergruppe - und hängt auch von der UI insgesamt ab.

                    @udo1toni: du meinst aber sich nur das Value des Widgets und nicht den Labeltext?! Ich habe bisher nix gefunden um direkt den Labeltext zu ändern.

                    Was auch geht, allerdings muss man auch hier am besten ausformulieren, man kann ein Group Item= in der sitemap machen und dann darin verschiedene Widgets einbauen, dann habt man den Gruppentitel und das Icon etc. aber nicht mehr die Automatik einer "echten" Gruppe.

                    Code:
                    Group item=grp_msg_signal label="Signal Messenger einstellen" //icon="system"
                    {
                        Frame label="Gruppen neu anlegen"
                        {
                            Switch item=Signal_Create_Groups_With_All_Members
                        }
                    }
                    vs
                    Code:
                     Group item=grp_msg_signal label="Signal Messenger einstellen"
                    Ist eben mehr Schreibarbeit, dafür aber in der Reihenfolge wie ich will:
                    Code:
                    Frame label="Automatik"
                    {
                        Text label="Rollo-Automatik einstellen" icon="rollershutter"
                        {
                            Frame label="Rollo-Automatik Haus gesamt"
                            {
                                Switch item=sw_rollo_automatik
                            }
                    
                            Frame label="Rollo-Automatik pro Etage" visibility=[sw_rollo_automatik == ON]
                            {
                                Text label="Erdgeschoss" icon="groundfloor"
                                {
                                    Frame label="Gesamtautomatik"
                                    {
                                        Switch label="Erdgeschoss gesamt"    item=sw_eg_automatik
                                    }
                    
                                    Frame label="Automatik pro Raum" visibility=[sw_eg_automatik == ON]
                                    {
                    [B]//Group item=grp_rollo_auto icon="settings"[/B]
                                        Switch label="Flur"                    item=sw_eg_flur_automatik
                                        Switch label="Küche"                item=sw_eg_kueche_automatik
                                        Switch label="Wohnzimmer"            item=sw_eg_wohnen_automatik
                                        Switch label="Arbeitszimmer"        item=sw_eg_arbeit_automatik
                    ...
                    Wenn man das Group item=grp_rollo_auto icon="settings" wieder aktiviert kommen die gleichen Widgets die auch darunter stehen aber in einer "random order".

                    es gäbe aber auch die Möglichkeit die Sitemap per Code / Rule zu bauen, das ist aber imho ne recht abgefahrene Sache und für Anfänger (und mich) nix.
                    Zuletzt geändert von FlyingEaglE; 26.10.2017, 06:16.

                    Kommentar


                      #11
                      Zitat von FlyingEaglE Beitrag anzeigen
                      @udo1toni: du meinst aber sich nur das Value des Widgets und nicht den Labeltext?! Ich habe bisher nix gefunden um direkt den Labeltext zu ändern.
                      Naja, es gibt statische Label und Dynamische Label. Dynamische Label enthalten den Status des zugehörigen Items - in welcher Form auch immer (also als (formatierte) Zahl, als Text, als Mapping oder auch als Scale... was halt die Transformation Services hergeben. Wobei ich bisher im Label nur map und scale verwendet habe, ich sehe aber keinen Grund, warum die anderen nicht funktionieren sollten.

                      Kommentar

                      Lädt...
                      X