VS-Code meldet Feler in Sitemap

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
earlybird
Beiträge: 43
Registriert: 28. Dez 2018 22:13

VS-Code meldet Feler in Sitemap

Beitrag von earlybird »

Hallo und guten Abend zusammen,

in meiner Sitemap meldet VS-Code folgenden Fehler:
Sitemap should contain either only frames or none at all [6, 9]
Kann mir jemand sagen wie ich das beheben kann oder woran es liegt?
Hier einmal die komplette Sitemap:

Code: Alles auswählen

sitemap Haus_produkiv label="Produktiv" {

 Frame label="Heute" {		
	 Text           item=Date                                                                   icon="datum"
 /* 
   Text label="Wetterbericht"              icon="sun_clouds" {   
   // Möglichkeit 1 -> Wetterbericht in zwei Frames
     Frame label="Aktuelle Werte" {
       Text       item=Aussentemperatur            label="Aussentemperatur [%.1f °C]"                        icon="temperature"
       Text       item=Luftfeuchtigkeit            label="Relative Luftfeuchtigkeit [%.0f %%]"               icon="humidity"
       Text       item=UvIndex                     label="UV-Index [SCALE(UvIndex.scale):5]"                 icon="sun"
       Text       item=Wetterlage                  label="Aktuell [MAP(Wetterlage.map):%s]"                  icon="sun_clouds"
       Text       item=Windgeschwindigkeit         label="Windgeschwindigkeit [%.2f km/h]"                   icon="wind"
       Text       item=Windrichtung                label="Windrichtung [MAP(Windrichtung.map):%s]"           icon="wind"
     } // END Aktuelle Werte (Frame1)
     Frame label="Vorhersage" {
       Text       item=Vorhersage_Wetterlage       label="Vorhersage Wetterlage [MAP(Wetterlage.map):%s]"    icon="sun_clouds"
       Text       item=Vorhersage_Temperatur_Min   label="Morgen [mindestens %.1f°C]"                        icon="temperature"
       Text       item=Vorhersage_Temperatur_Max   label="Morgen [maximal %.1f°C]"                           icon="temperature"
     } // END Vorhersage (Frame2)  
 */
  // Möglichkeit 2 ->Wetterbericht (mit Status Summary Items)
   Text label="Wetterbericht"            icon="sun_clouds" {
     Frame label="Aktuelle Werte" {
       Text        item=SummaryStateAktuell     label="Aktuell [%s]"                          icon="sun_clouds"     labelcolor=["grey"]
       Text        item=Luftfeuchtigkeit        label="Relative Luftfeuchtigkeit [%.0f %%]"   icon="humidity"       valuecolor=[<60="orange",>=60="red"]   visibility=[Luftfeuchtigkeit > 50]
       Text        item=UvIndex                 label="UV-Index [SCALE(UvIndex.scale):5]"     icon="sun"
       Text        item=SummaryStateWind        label="Wind [%s]"                             icon="Wind"
     } // END Frame Aktuelle Werte
    
     Frame label="Vorhersage" {
       Text item=SummaryStateVorhersage         label="Morgen [%s]"                           icon="sun_clouds"
     } // END Frame Vorhersage
   } // END Frame Wetterbericht  
   Text label="Sonne über Gladbeck"              icon="sun" {
         // Group item=gSonne
       Text        item=Sonnenaufgang_Zeit       label="Sonnenaufgang [%1$tH:%1$tM]"          icon="sunrise"    
       Text        item=Sonnenuntergang_Zeit     label="Sonnenuntergang [%1$tH:%1$tM]"        icon="sunset"       
       Text        item=Azimut                   label="Azimut [%.2f°]"                       icon="sun"
       Text        item=Sonnenhoehe              label="Sonnenhöhe [%.2f°]"                   icon="sun"
   } // END label Sonne
  } // END Frame Heute "Datum"
 Frame label="Untergeschoss"   icon="cellar" {
   Text            item=UG_Heizungsraum         label="Heizungsraum"                          icon="heating"
   Text            item=UG_Waschkeller          label="Waschkeller"                           icon="washingmachine" 
   Text            item=UG_StorageRoom          label="Lagerraum"                             icon="suitcase" 
   Text            item=UG_Stairwell            label="Treppenhaus"                           icon="qualityofservice"
 } // END Frame Keller

 Text item=fbDslStatus           label="FRITZ!Box [%s]" {
   //  FRAME Anwesenheit
   Frame label="Anwesenkeit" {
     Text          item=juePhone                label="Linux-Handy zu Hause"                  icon="network" 
     Text          item=eriPhone                label="Android-Handy zu Hause"                icon="network" 
   }  // END Frame Anwesenheit 
   //  FRAME Anrufbeantworter
   Frame item=fbNeueNachrichten      label="Anrufbeantworter [%d neue Nachricht(en)]" {
     Switch        item=fbAnrufbeantworter      label="Anrufbeantworter"                       icon="network"      mappings=[ON="Ein",OFF="Aus"]
     Text          item=fbNeueNachrichten       label="Neue Sprachnachrichten [%d]"            icon="chart"        visibility=[fbNeueNachrichten > 0]
   } // END Frame Anrufbeantworter 
 }  // END Frame FRITZ!Box
 Frame label="Draußen"        icon="garden" {
   Text            item=OU_Terrace             label="Terrasse"                                icon="terrace"  
   Text            item=OU_Shed                label="Schuppen"                                icon="greenhouse"
 } // END Frame Draußen

 Frame label="Erdgeschoss"    icon="groundfloor" {
   Text            item=GF_Toilet              label="Toilette"                                icon="toilet"
   Text            item=GF_Kitchen             label="Küche"                                   icon="kitchen"
   Text            item=GF_LivingRoom          label="Wohnzimmer"                              icon="sofa"
   Text            item=GF_Corridor            label="Flur"                                    icon="corridor"
   Text            item=GF_Stairwell           label="Treppenhaus"                             icon="qualityofservice"
 } // END Frame Erdgeschoss

 Frame label="Obergeschoss"   icon="firstfloor" {
   Text            item=FF_Bedroom             label="Schlafzimmer"                            icon="bedroom"
   Text            item=FF_Bathroom            label="Badezimmer"                              icon="bath"
   Text            item=FF_GuestRoom           label="Gästezimmer"                             icon="parents_4_3"
   Text            item=FF_FamilyRoom          label="Familienzimmer"                          icon="parents_2_4"
   Text            item=FF_Corridor            label="Flur"                                    icon="corridor"
   Text            item=FF_Stairwell           label="Treppenhaus"                             icon="qualityofservice"
 } // END Frame Obergeschoss

 Frame label="Dachgeschoss"   icon="attic" {
   Text            item=AT_Stairwell           label="Treppenhaus"                             icon="qualityofservice"
   Text            item=AT_Attic               label="Studio"                                  icon="pantry"
 } // END Frame Dachgeschoss

} // END Sitemap Haus_produktiv

für Eure freundliche Hilfe im vor hinein herzlichen Dank

Jürgen

Benutzeravatar
earlybird
Beiträge: 43
Registriert: 28. Dez 2018 22:13

Re: VS-Code meldet Feler in Sitemap

Beitrag von earlybird »

Hallo und guten Abend zusammen,
habe den Fehler selbst gefunden! Habe die Sitemap nochmal in der Mitte so umgestellt:

Code: Alles auswählen

  } // END Frame Heute "Datum"
 Frame label="Untergeschoss"   icon="cellar" {
   Text            item=UG_Heizungsraum          label="Heizungsraum"                          icon="heating"
    Text label="Waschkeller"                     icon="washingmachine"  {  
      Text item=fbDslStatus                      label="FRITZ!Box [%s]" {
      //  FRAME Anwesenheit
       Frame label="Anwesenheit" {
        Text          item=juePhone                label="Linux-Handy zu Hause"                  icon="network" 
        Text          item=eriPhone                label="Android-Handy zu Hause"                icon="network" 
   }  // END Frame Anwesenheit 
    //  FRAME Anrufbeantworter
      Frame item=fbNeueNachrichten      label="Anrufbeantworter [%d neue Nachricht(en)]" {
       Switch        item=fbAnrufbeantworter      label="Anrufbeantworter"                       icon="network"      mappings=[ON="Ein",OFF="Aus"]
       Text          item=fbNeueNachrichten       label="Neue Sprachnachrichten [%d]"            icon="chart"        visibility=[fbNeueNachrichten > 0]
   } // END Frame Anrufbeantworter 
 }  // END Frame FRITZ!Box
} // END label Waschkeller
Dadurch tritt der Fehler nicht mehr auf :-)
mit freundlichem Gruß
Jürgen

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

Re: VS-Code meldet Feler in Sitemap

Beitrag von udo1toni »

Die Fehlermeldung ist auf der einen Seite korrekt, dann aber auch wieder nicht. :) Gemeint ist, dass auf einer Seitenebene entweder ausschließlich Frames oder ausschließlich nicht-Frames als Widgets verwendet werden sollen/dürfen. Falsch:

Code: Alles auswählen

sitemap demo label="Demo" {
    Text label="ein Text Widget außerhalb eines Frames"
    Frame label="ein Frame Widget" {
        Text label="ein Text Widget innerhalb eines Frames"
    }
}
Richtig:

Code: Alles auswählen

sitemap demo label="Demo" {
    Text label="ein Text Widget außerhalb eines Frames" {
        Frame label="ein Frame Widget" {
            Text label="ein Text Widget innerhalb eines Frames"
        }
    }
}
Die Seite sieht natürlich komplett anders aus. Der Punkt ist, dass innerhalb einer Ansicht entweder alle Widgets innerhalb eines oder mehrerer Rahmen platziert sein müssen, oder alle Items gemeinsam ohne Rahmen dargestellt werden müssen.
Wenn man die Strukturen zufaltet, sollte man also innerhalb einer Struktur entweder ausschließlich Frames oder ausschließlich Nicht-Frames sehen. Es ist dabei hilfreich, wenn alle Widgets einer Ebene auch tatsächlich dieselbe Anzahl Leerzeichen vorangestellt bekommen ;)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten