Sitemap Fehlermeldung beim Speichern, wegen MAP

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Jochen
Beiträge: 23
Registriert: 25. Mär 2018 22:07
Answers: 0

Re: Sitemap Fehlermeldung beim Speichern, wegen MAP

Beitrag von Jochen »

:D Hallo Udo und Peter-Pan,

Udo, der Tipp mit den Text Widget funktioniert super. Ich ersetze nach und nach die Group Widgets dadurch. :D

Peter Pan, das semantische Modell kenne ich und hab auch schon die Items teilweise mit Semantic ergänzt. Meistens gugge ich aber nur auf dem Handy und da gefällt mir die klassische Sitemap einfach am besten. Ich habe aber auch noch nicht großartig was anderes Probiert.

Wegen dem Garagentorantrieb, hier werden mir die Things aus Homematic übergeben und auch die angelegten Items sind vom Typ String. in Der Sitemap bekomme ich aber nur mit dem Typ Switch die Funktion hin. Es funktioniert, sieht aber nicht schön aus. Kann ich die beiden Items Torstatus und Torkommando irgendwie zu einem Eintrag zusammenbasteln?

Gruß und schönen Sonntag
Jochen

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

Re: Sitemap Fehlermeldung beim Speichern, wegen MAP

Beitrag von udo1toni »

Jochen hat geschrieben: 19. Jan 2025 17:14 Kann ich die beiden Items Torstatus und Torkommando irgendwie zu einem Eintrag zusammenbasteln?
Dazu gibt es verschiedene Wege.
1.: Du bindest mehrere Channel an ein Item. Abhängig von den beteiligten Channels funktioniert das natürlich nur mit Items, die alle möglichen Werte und Befehle darstellen können (mutmaßlich am ehesten ein String Item). Zusätzlich setzt Du das Item auf autoupdate="false". Nun kannst Du über ein Switch Widget eine oder mehrere Schaltflächen generieren, die dann den verknüpften Befehl senden. Weil autoupdate="false" gesetzt ist, ändert sich der Status aber nur, wenn der passende Channel ein Update sendet. Das kann funktionieren, muss es aber nicht zwingend.
2.: ähnlich wie die erste Variante, nur diesmal mit n+1 Items (n ist die Anzahl der verknüpften Channel). Zusätzlich gibt es dann zwei Rules, die eine sammelt alle Status Updates ein (received update) und überträgt sie auf das n+1. Item, die zweite rule reagiert auf Item n+1 received command und leitet den Befehl passend an das entsprechende Item weiter. In der Sitemap wird nur Item n+1 eingebaut. Funktioniert auf jeden Fall.
3. Kommt ohne extra Item aus, dafür wird die Sitemap etwas komplizierter. Du legst für jeden Status eine eigene Zeile mit dem Befehls-Item an (Beschriftung des Items enthält den Status und die Schaltfläche den Befehl). In jeder Zeile ergänzt Du den visibility Parameter und gibst das Item an, welches den Status enthält. Es wird also immer nur exakt eine der Zeilen angezeigt, nämlich die, welche den aktuellen Status enthält.
Beispiel:

Code: Alles auswählen

Switch item=torBefehl label="Tor offen[]" mappings=[ON="Go!"] visibility=[torStatus=="OPEN"]
Switch item=torBefehl label="Tor geschlossen[]" mappings=[ON="Go!"] visibility=[torStatus=="CLOSED"]
Bei diesr Variante setzen wir stillschweigend voraus, dass der Status immer einer angegebenen Status ist. Falls es nur zwei Möglichkeiten gibt, kann man es auch so machen:

Code: Alles auswählen

Switch item=torBefehl label="Tor offen[]" mappings=[ON="Go!"] visibility=[torStatus!="CLOSED"]
Switch item=torBefehl label="Tor geschlossen[]" mappings=[ON="Go!"] visibility=[torStatus=="CLOSED"]
Nun wird der erste Eintrag angezeigt, solange das Tor nicht explizit als geschlossen gemeldet wird, also auch, wenn der Status NULL ist.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

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

Re: Sitemap Fehlermeldung beim Speichern, wegen MAP

Beitrag von peter-pan »

Das mit der der Location war nur als Tipp gedacht, da diese sich ja eigentlich von selbst generiert.
Hier noch ein Beispiel wie ich mein Modell, eigentlich relativ simpel, aufgebaut habe (oldschool - textbasierend ;) )

Code: Alles auswählen

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                                                 Locations                                                                                  +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Item-Type:Dimension              Item-Name        Item-Label                               Icon                 Item-Group(s)       Tag(s)                              Meta-Data/Synonyms/Widget-Sorts/Channel-Links, etc.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*/
//                                                 Gebäudeplan - Building plan       
Group                             gEstate         "Anwesen Flurstück"                      <garden>                                 ["Location"]
//                                                 Aussenbereich Outdoor area                                            
Group                             gAussen         "Aussenbereich"                          <garden>              (gEstate)          ["Outdoor"]                          { widgetOrder="1" }
Group                             gFront          "Vorgarten"                              <garage_1>            (gAussen)          ["Garden"]                           { widgetOrder="1" }
Group                             gHof            "Garageneinfahrt"                        <garage_1>            (gAussen)          ["Driveway"]                         { widgetOrder="2" }
Group                             gGarage         "Garage"                                 <garage_1>            (gAussen)          ["Garage", "garage_detached"]        { widgetOrder="3" }
Group                             gBack           "Garten Südseite"                        <garage_1>            (gAussen)          ["Garden"]                           { widgetOrder="4" }
Group                             gGhaus          "Gartenhütte"                            <garage_1>            (gAussen)          ["Outdoor"]                          { widgetOrder="5" }
Group                             gTerrasse       "Terrasse"                               <terrace>             (gAussen)          ["Porch" ]                           { widgetOrder="6" }
//                                                 Innenbereich - Indoor                                            
Group                             gInnen          "Innenbereich"                           <house>               (gEstate)          ["Indoor"]                           { widgetOrder="2" }
                                                                                           
Group                             gHome           "Casa Claudia"                           <house>               (gInnen)           ["Building"]
//                                                 Stockwerke - Floors                                               
Group                             gEG             "Erdgeschoss"                            <groundfloor>         (gHome)            ["GroundFloor"]                      { widgetOrder="2" }
Group                             gDG             "Dachgeschoss"                           <firstfloor>          (gHome)            ["Attic"]                            { widgetOrder="3"}
Group                             gUGElw          "ELW UG"                                 <cellar>              (gHome)            ["Basement"]                         { widgetOrder="1"}
Group                             gUGKel          "Keller"                                 <cellar>              (gHome)            ["Basement"]                         { widgetOrder="0"}
//                                                 Zimmer - Rooms 
//                                                 Erdgeschoss
Group                             gEG_Bad         "Badezimmer"                             <bubble_bath>         (gEG)              ["Bathroom" ]                        { synonyms="Badezimmer" }
Group                             gEG_Essen       "Esszimmer"                              <dining>              (gEG)              ["DiningRoom" ]
Group                             gEG_Kind1       "Speisekammer"                           <catfridge>           (gEG)              ["GuestRoom", "Vorrat","Kinder" ]    { synonyms="Speisekammer" }
Group                             gEG_WC          "Toilette"                               <toilet>              (gEG)              ["Bathroom" ]                  
Group                             gEG_Wohnen      "Wohnzimmer"                             <living>              (gEG)              ["LivingRoom" ]
Group                             gEG_Schlafen    "Schlafzimmer"                           <bed>                 (gEG)              ["Bedroom" ]
Group                             gEG_Kueche      "Küche"                                  <catfridge>           (gEG)              ["Kitchen" ]
Group                             gEG_Windfang    "Windfang-Garderobe"                     <wardrobe>            (gEG)              ["Entry" ]
Group                             gEG_Kind2       "Zimmer York"                            <boy_3>               (gEG)              ["Room", "Kinder" ]                  { synonyms="Kinderzimmer" }
Group                             gEG_Diele       "Diele"                                  <corridor>            (gEG)              ["Corridor" ]
Group                             gEG_Flur        "Flur"                                   <corridor>            (gEG)              ["Corridor" ]
Group                             gEG_Buero       "Arbeitszimmer"                          <office>              (gEG)              ["Office" ]                          { synonyms="Bureau,Bureaux" }
//                                                Dachgeschoss - Dachboden - Bühne
Group                             gDG_Speicher    "Dachboden"                              <attic>               (gDG)              ["Room" ]
//                                                Untergeschoss - Einliegerwohnung
Group                             gUG_Wohnen      "Wohn-Esszimmer"                         <sofa>                (gUGElw)           ["LivingRoom" ]
Group                             gUG_Schlafen    "Schlafzimmer"                           <bed>                 (gUGElw)           ["Bedroom" ]
Group                             gUG_Bad         "Badezimmer"                             <bath>                (gUGElw)           ["Bathroom" ]
Group                             gUG_Diele       "Flur"                                   <corridor>            (gUGElw)           ["Corridor" ]
//                                                Untergeschoss - Keller
Group                             gUG_Waschkueche "Waschküche"                             <washingmachine>      (gUGKel)           ["LaundryRoom" ]
Group                             gUG_Heizraum    "Heizungsraum"                           <heating>             (gUGKel)           ["BoilerRoom" ]
Group                             gUG_Keller      "Bastel-Keller"                          <cellar>              (gUGKel)           ["Cellar", "Handicraft", "Basteln", "Tools", "Werkzeug" ]
Group                             gUG_Holzkeller  "Holz-Keller"                            <cellar>              (gUGKel)           ["Cellar", "Wood", "Holz" ]
Group                             gUG_Flur        "Flur-Keller"                            <cellar>              (gUGKel)           ["Cellar", "Corridor" ]
Group                             gUG_Treppe      "Kellertreppe-Vorraum"                   <cellar>              (gUGKel)           ["Cellar", "Corridor" ]
                                                  
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//                                                Locations - End                                                                             +
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wie man das Problem der Darstellung und der Benutzung deiner Torschaltung hat Udo ja schon gelöst, aber vielleicht noch die Frage um was es sich für ein Gerät handelt ? Evtl. kann man dazu dann auch noch was in der Device-Doku von HM rauslesen bzw. "tunen". Ich hab ein ähnliches HM-Gerät, eigentlich vom Typ he rein Kontakt", aber das Gerät hat 3 Zustände. Es handelt sich dabei um einen Fensterkontakt, der neben auf und zu auch noch gekippt kann.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten