Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. SONOFF NSPanel mit Lovelace UI

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    195

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

SONOFF NSPanel mit Lovelace UI

SONOFF NSPanel mit Lovelace UI

Scheduled Pinned Locked Moved Hardware
lovelace uinspanelsonoff
7.7k Posts 271 Posters 6.7m Views 253 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • P PaNoRu84

    Hallo,

    ich hoffe ich vertausche bei meiner Erklärung nicht sämtliche Begriffe, aber das ganze mit Entity an so vielen verschieden Stellen ist leicht verwirrend.

    Ich nutze TypeScript v3.9.0.2.
    Ich habe eine Art Übersichtsseite als CardGrid erstellt. Dort gibt es z.B. Symbole für Licht, Rollanden, Türen, Fenster, Garage ...

    Ich habe gesehen @TT-Tom, du hast sowas schon in der Doku beschrieben, aber ich verstehe aus der Erklärung da nicht, woher das Icon denn weiß, dass es ein Fenster sein soll?
    Hier trotzdem noch mein "zusätzliches" Problem, weil das Icon passt eigentlich bei mir.

    Hinter der Fensterentetiy steckt aber nicht ein spezielles Fenster sondern eine Variable die den Status aller Fenster gesammelt wieder gibt.
    Das funktioniert super. Sobald ich ein Fenster öffne, wir das Icon rot.
    Als zweiten Schritt habe ich den Namen der Fenster entity wie folgt auf eine Variable gelegt, die ich in einem getrennten blockly script mit der Liste der offenen Fenster fülle.

    name:"getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
    

    Das funktioniert super, wenn alle Fenster zu sind hat die Variable den Wert "alle zu" und sonst zB. "Bad, Küche"

    Wenn mehrere Fenster offnen sind wird der Platz des Namens aber schnell zu klein und ich möchte über das Icon auf eine SubGrid springen und dort dann eben detailiert alle Fenster anzuzeigen.

    Prinzipiell funktioniert die Navigation und die Subpage auch ABER, sobald ich den Navigationsteil, bei dem Pageitem hinzufüge ist der wird der "getState Teil" (siehe Code oben) nicht mehr ausgewertet, sondern selbst als Name angezeigt.

    Also das hier:

    navigate: true,  targetPage:'Fenster_sub',
    

    Ist zumindest bei mir mit dem getState inkompatibel und ich verstehe nicht warum.

    Danke für eure Hilfe.

    T Offline
    T Offline
    TT-Tom
    wrote on last edited by
    #2341

    @panoru84 sagte in SONOFF NSPanel mit Lovelace UI:

    aber ich verstehe aus der Erklärung da nicht, woher das Icon denn weiß, dass es ein Fenster sein soll?

    ich habe für den Status einfach noch einmal die Objekte angelegt. Siehe Bild
    Bildschirmfoto 2023-02-24 um 08.54.32.png

    und damit wird das Standardicon vom Script dargestellt, kannst aber im Script auch ein eigens Icon definieren bzw. die Farbe für on und off.

    bei dem Zweiten Teil kann ich dir noch nicht ganz folgen. zeige mal bitte die Pageconfig der beiden Seiten und den Datenpunkt.

    Gruß Tom
    https://github.com/tt-tom17
    Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

    NSPanel Script Wiki
    https://github.com/joBr99/nspanel-lovelace-ui/wiki

    NSPanel Adapter Wiki
    https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

    P 1 Reply Last reply
    0
    • T TT-Tom

      @panoru84 sagte in SONOFF NSPanel mit Lovelace UI:

      aber ich verstehe aus der Erklärung da nicht, woher das Icon denn weiß, dass es ein Fenster sein soll?

      ich habe für den Status einfach noch einmal die Objekte angelegt. Siehe Bild
      Bildschirmfoto 2023-02-24 um 08.54.32.png

      und damit wird das Standardicon vom Script dargestellt, kannst aber im Script auch ein eigens Icon definieren bzw. die Farbe für on und off.

      bei dem Zweiten Teil kann ich dir noch nicht ganz folgen. zeige mal bitte die Pageconfig der beiden Seiten und den Datenpunkt.

      P Offline
      P Offline
      PaNoRu84
      wrote on last edited by
      #2342

      @tt-tom

      Ich verstehe das mit dem Status für das dynamische Icon noch immer nicht 😄 sorry.

      https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Navigation#variante-3-dynamische-icon-neue-notation

      Da schreibst du doch (das hast doch du geschrieben? DANKE)

      Um dieses Verhalten zu nutzen, benötigt ihr ein Alias vom Typ "Info", einen Datenpunkt unter "0_userdata.0." welcher mit dem Alias verknüpft ist und ein kleines Skript, welches eure Kontakte überwacht und den Datenpunkt unter 0_userdata.0. auf true bzw. false setzt.
      

      Wenn ich aber als ID den Alias on INFO nehme kommt ja kein Fenster Icon.

      Verstehe ich dich denn richtig, dass es dynamisch 2 Icons gibt "Fenster offen" (z.B. rot) und "Fenster zu" - grün (also das das 2 unterschiedliche Icons sind?)
      Das wäre ja auch für Garagentor, Haustüre, Rolladen, Lampen etc. cool.

      Anyway, zu meiner aktuellen Implementierung:

      var BueroGrid = <PageGrid>
      {
          "type": "cardGrid",
          "heading": "Büro GRID",
          "useColor": true,
          "subPage": false,
          "parent": undefined,
          "items": [
              <PageItem>{ id: 'alias.0.Licht.office.komplett', name: 'Bürolicht komplett', interpolateColor: true},
              <PageItem>{ id: 'alias.0.Licht.office.Holzdecke', name: 'Holzdecke', interpolateColor: true},
              <PageItem>{ id: 'alias.0.Licht.office.Desklight', name: 'Schreibtisch', interpolateColor: true},
              <PageItem>{ navigate: true,  targetPage:'Fenster_sub', id: 'alias.0.windows.window_any_open', name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val", offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.STATE_COLLECTION.doors_any_open', name:"getState('0_userdata.0.STATE_COLLECTION.doors_open_list').val",  offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.STATE_COLLECTION.Garagentor', name:'Garagentor',icon: Icons.GetIcon('garage'), offColor: MSRed, onColor: MSGreen}
          ]
      };
      
      var Fenster_sub = <PageGrid>
      {
          "type": "cardGrid",
          "heading": "Fenster",
          "useColor": true,
          "subPage": true,
          "parent": undefined,
          "items": [
              <PageItem>{ id: 'alias.0.windows.office_window', name: 'Büro', offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.windows.kitchen_window', name: 'Küche', offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.windows.bedroom_window', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.windows.bathroom_window', name: 'Bad', offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.windows.livingroom_window', name: 'Wohnzimmer', offColor: MSRed, onColor: MSGreen},
              <PageItem>{ id: 'alias.0.windows.kids_window', name: 'Kinderzimmer', offColor: MSRed, onColor: MSGreen}
          ]
      };
      

      Und das 4. Pageitem im 1. Grid, da wird offenbar weil da "navigate" und "targetPage" bei steht der Teil.

      name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
      

      nicht mehr als getState ausgewertet sondern da steht dann einfach das als Name.
      Ich habe auch schon probiert das anders zu escapen, hat aber bisher nicht funktioniert.

      Vielen Dank für deine Hilfe

      T 2 Replies Last reply
      0
      • P PaNoRu84

        @tt-tom

        Ich verstehe das mit dem Status für das dynamische Icon noch immer nicht 😄 sorry.

        https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Navigation#variante-3-dynamische-icon-neue-notation

        Da schreibst du doch (das hast doch du geschrieben? DANKE)

        Um dieses Verhalten zu nutzen, benötigt ihr ein Alias vom Typ "Info", einen Datenpunkt unter "0_userdata.0." welcher mit dem Alias verknüpft ist und ein kleines Skript, welches eure Kontakte überwacht und den Datenpunkt unter 0_userdata.0. auf true bzw. false setzt.
        

        Wenn ich aber als ID den Alias on INFO nehme kommt ja kein Fenster Icon.

        Verstehe ich dich denn richtig, dass es dynamisch 2 Icons gibt "Fenster offen" (z.B. rot) und "Fenster zu" - grün (also das das 2 unterschiedliche Icons sind?)
        Das wäre ja auch für Garagentor, Haustüre, Rolladen, Lampen etc. cool.

        Anyway, zu meiner aktuellen Implementierung:

        var BueroGrid = <PageGrid>
        {
            "type": "cardGrid",
            "heading": "Büro GRID",
            "useColor": true,
            "subPage": false,
            "parent": undefined,
            "items": [
                <PageItem>{ id: 'alias.0.Licht.office.komplett', name: 'Bürolicht komplett', interpolateColor: true},
                <PageItem>{ id: 'alias.0.Licht.office.Holzdecke', name: 'Holzdecke', interpolateColor: true},
                <PageItem>{ id: 'alias.0.Licht.office.Desklight', name: 'Schreibtisch', interpolateColor: true},
                <PageItem>{ navigate: true,  targetPage:'Fenster_sub', id: 'alias.0.windows.window_any_open', name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val", offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.STATE_COLLECTION.doors_any_open', name:"getState('0_userdata.0.STATE_COLLECTION.doors_open_list').val",  offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.STATE_COLLECTION.Garagentor', name:'Garagentor',icon: Icons.GetIcon('garage'), offColor: MSRed, onColor: MSGreen}
            ]
        };
        
        var Fenster_sub = <PageGrid>
        {
            "type": "cardGrid",
            "heading": "Fenster",
            "useColor": true,
            "subPage": true,
            "parent": undefined,
            "items": [
                <PageItem>{ id: 'alias.0.windows.office_window', name: 'Büro', offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.windows.kitchen_window', name: 'Küche', offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.windows.bedroom_window', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.windows.bathroom_window', name: 'Bad', offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.windows.livingroom_window', name: 'Wohnzimmer', offColor: MSRed, onColor: MSGreen},
                <PageItem>{ id: 'alias.0.windows.kids_window', name: 'Kinderzimmer', offColor: MSRed, onColor: MSGreen}
            ]
        };
        

        Und das 4. Pageitem im 1. Grid, da wird offenbar weil da "navigate" und "targetPage" bei steht der Teil.

        name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
        

        nicht mehr als getState ausgewertet sondern da steht dann einfach das als Name.
        Ich habe auch schon probiert das anders zu escapen, hat aber bisher nicht funktioniert.

        Vielen Dank für deine Hilfe

        T Offline
        T Offline
        TT-Tom
        wrote on last edited by TT-Tom
        #2343

        @panoru84 sagte in SONOFF NSPanel mit Lovelace UI:

        @tt-tom

        Ich verstehe das mit dem Status für das dynamische Icon noch immer nicht 😄 sorry.

        Wenn ich aber als ID den Alias on INFO nehme kommt ja kein Fenster Icon.

        Verstehe ich dich denn richtig, dass es dynamisch 2 Icons gibt "Fenster offen" (z.B. rot) und "Fenster zu" - grün (also das das 2 unterschiedliche Icons sind?)
        Das wäre ja auch für Garagentor, Haustüre, Rolladen, Lampen etc. cool.

        im Wiki steht die Standardvariante mit der einfachsten Anforderung. Wenn man verstanden hat, wie das mit den Alias und Rollen funktioniert, kann man sich den Alias so anpassen das es ein Fenster ist.

        du Hast aber die Möglichkeit die Icon selber zu Wählen, dafür stehen die beiden Parameter "icon" und "icon2".
        "icon" stellt den Standard dar und wenn du "icon2" mit angibst , wird zwischen on und off unterschieden.

        im Fall eines Alias vom Type "INFO" sollte der "PageItem" so aus sehen.

        <PageItem>{ navigate: true,  targetPage:'Fenster_sub', id: 'alias.0.windows.window_any_open', icon: 'window_open_variant', icon2: 'window_closed_variant', useColor: true}
        
        name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
        

        nicht mehr als getState ausgewertet sondern da steht dann einfach das als Name.
        Ich habe auch schon probiert das anders zu escapen, hat aber bisher nicht funktioniert.

        zeige mir mal den Datenpunkt windows_open.....

        EDIT: die Parameter der Icon findest du hier

        Gruß Tom
        https://github.com/tt-tom17
        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

        NSPanel Script Wiki
        https://github.com/joBr99/nspanel-lovelace-ui/wiki

        NSPanel Adapter Wiki
        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

        P 1 Reply Last reply
        0
        • P PaNoRu84

          @tt-tom

          Ich verstehe das mit dem Status für das dynamische Icon noch immer nicht 😄 sorry.

          https://github.com/joBr99/nspanel-lovelace-ui/wiki/ioBroker-Navigation#variante-3-dynamische-icon-neue-notation

          Da schreibst du doch (das hast doch du geschrieben? DANKE)

          Um dieses Verhalten zu nutzen, benötigt ihr ein Alias vom Typ "Info", einen Datenpunkt unter "0_userdata.0." welcher mit dem Alias verknüpft ist und ein kleines Skript, welches eure Kontakte überwacht und den Datenpunkt unter 0_userdata.0. auf true bzw. false setzt.
          

          Wenn ich aber als ID den Alias on INFO nehme kommt ja kein Fenster Icon.

          Verstehe ich dich denn richtig, dass es dynamisch 2 Icons gibt "Fenster offen" (z.B. rot) und "Fenster zu" - grün (also das das 2 unterschiedliche Icons sind?)
          Das wäre ja auch für Garagentor, Haustüre, Rolladen, Lampen etc. cool.

          Anyway, zu meiner aktuellen Implementierung:

          var BueroGrid = <PageGrid>
          {
              "type": "cardGrid",
              "heading": "Büro GRID",
              "useColor": true,
              "subPage": false,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: 'alias.0.Licht.office.komplett', name: 'Bürolicht komplett', interpolateColor: true},
                  <PageItem>{ id: 'alias.0.Licht.office.Holzdecke', name: 'Holzdecke', interpolateColor: true},
                  <PageItem>{ id: 'alias.0.Licht.office.Desklight', name: 'Schreibtisch', interpolateColor: true},
                  <PageItem>{ navigate: true,  targetPage:'Fenster_sub', id: 'alias.0.windows.window_any_open', name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val", offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.STATE_COLLECTION.doors_any_open', name:"getState('0_userdata.0.STATE_COLLECTION.doors_open_list').val",  offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.STATE_COLLECTION.Garagentor', name:'Garagentor',icon: Icons.GetIcon('garage'), offColor: MSRed, onColor: MSGreen}
              ]
          };
          
          var Fenster_sub = <PageGrid>
          {
              "type": "cardGrid",
              "heading": "Fenster",
              "useColor": true,
              "subPage": true,
              "parent": undefined,
              "items": [
                  <PageItem>{ id: 'alias.0.windows.office_window', name: 'Büro', offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.windows.kitchen_window', name: 'Küche', offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.windows.bedroom_window', name: 'Schlafzimmer', offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.windows.bathroom_window', name: 'Bad', offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.windows.livingroom_window', name: 'Wohnzimmer', offColor: MSRed, onColor: MSGreen},
                  <PageItem>{ id: 'alias.0.windows.kids_window', name: 'Kinderzimmer', offColor: MSRed, onColor: MSGreen}
              ]
          };
          

          Und das 4. Pageitem im 1. Grid, da wird offenbar weil da "navigate" und "targetPage" bei steht der Teil.

          name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
          

          nicht mehr als getState ausgewertet sondern da steht dann einfach das als Name.
          Ich habe auch schon probiert das anders zu escapen, hat aber bisher nicht funktioniert.

          Vielen Dank für deine Hilfe

          T Offline
          T Offline
          TT-Tom
          wrote on last edited by
          #2344

          @panoru84 sagte in SONOFF NSPanel mit Lovelace UI:

          var Fenster_sub = <PageGrid>                                                                                                                                                                            {                                                                                                                                                                                "type": "cardGrid",                                                                                                                                                                                "heading": "Fenster",                                                                                                                                                                                "useColor": true,                                                                                                                                                                                "subPage": true,                                                                                                                                                                                "parent": undefined,
          

          du hast in der Sub_page nicht den Ursprung definiert. "parent": BueroGrid

          Gruß Tom
          https://github.com/tt-tom17
          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

          NSPanel Script Wiki
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          NSPanel Adapter Wiki
          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

          1 Reply Last reply
          1
          • T TT-Tom

            @panoru84 sagte in SONOFF NSPanel mit Lovelace UI:

            @tt-tom

            Ich verstehe das mit dem Status für das dynamische Icon noch immer nicht 😄 sorry.

            Wenn ich aber als ID den Alias on INFO nehme kommt ja kein Fenster Icon.

            Verstehe ich dich denn richtig, dass es dynamisch 2 Icons gibt "Fenster offen" (z.B. rot) und "Fenster zu" - grün (also das das 2 unterschiedliche Icons sind?)
            Das wäre ja auch für Garagentor, Haustüre, Rolladen, Lampen etc. cool.

            im Wiki steht die Standardvariante mit der einfachsten Anforderung. Wenn man verstanden hat, wie das mit den Alias und Rollen funktioniert, kann man sich den Alias so anpassen das es ein Fenster ist.

            du Hast aber die Möglichkeit die Icon selber zu Wählen, dafür stehen die beiden Parameter "icon" und "icon2".
            "icon" stellt den Standard dar und wenn du "icon2" mit angibst , wird zwischen on und off unterschieden.

            im Fall eines Alias vom Type "INFO" sollte der "PageItem" so aus sehen.

            <PageItem>{ navigate: true,  targetPage:'Fenster_sub', id: 'alias.0.windows.window_any_open', icon: 'window_open_variant', icon2: 'window_closed_variant', useColor: true}
            
            name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
            

            nicht mehr als getState ausgewertet sondern da steht dann einfach das als Name.
            Ich habe auch schon probiert das anders zu escapen, hat aber bisher nicht funktioniert.

            zeige mir mal den Datenpunkt windows_open.....

            EDIT: die Parameter der Icon findest du hier

            P Offline
            P Offline
            PaNoRu84
            wrote on last edited by PaNoRu84
            #2345

            @tt-tom !

            windows_open_list.png

            Das ist der Datenpunkt windows_open_list, den ich mit getstate ... .val gerne als name, sprich unter dem Icon hätte.
            Wie gesagt, wenn ich navigate und targetPage rausnehme funktioniert das auch dynamisch, aber leider nicht wenn das Icon als Link zur SubPage funktionieren soll.

            Oder darf der Link zur Subpage keine ID haben? 😮

            Bezüglich dem fehlenden Parent beim Fenster_Sub, das sollte ja nur für die Navigation zurück Auswirkungen haben oder? Ich habs hinzugefügt. DANKE

            T 1 Reply Last reply
            0
            • T TT-Tom

              @gregors sagte in SONOFF NSPanel mit Lovelace UI:

              Kannst du mir mal ein Bild von deinen Alias und der Config zeigen?

              let Buero_Themostat = <PageThermo> 
              {
                  'type': 'cardThermo',
                  'heading': 'Thermostat Büro',
                  'useColor': true,
                  'items': [<PageItem>{ id: alias.0.NSPanel1.Heizung.HzgBüro', minValue: 50, maxValue: 240 }]
              };
              
              

              Bildschirmfoto 2023-02-24 um 08.48.53.png

              GregorSG Offline
              GregorSG Offline
              GregorS
              wrote on last edited by GregorS
              #2346

              @tt-tom
              Danke. Jetzt sieht es besser aus.

              Die Luftfeuchtigkeit zeigt er mir aber nicht an.

              Funktioniert bei dir der Modus?
              Bei mir steht er immer auf Manuel und wechselt nur auf Boost.
              Hast du die Fensteröffnung auch aktiv?

              INTEL NUC i7, Sonoff, hmIP, AVM, Jeelink, T-Link, Alexa, Saia-Burgess, uvm.

              T 1 Reply Last reply
              0
              • P PaNoRu84

                @tt-tom !

                windows_open_list.png

                Das ist der Datenpunkt windows_open_list, den ich mit getstate ... .val gerne als name, sprich unter dem Icon hätte.
                Wie gesagt, wenn ich navigate und targetPage rausnehme funktioniert das auch dynamisch, aber leider nicht wenn das Icon als Link zur SubPage funktionieren soll.

                Oder darf der Link zur Subpage keine ID haben? 😮

                Bezüglich dem fehlenden Parent beim Fenster_Sub, das sollte ja nur für die Navigation zurück Auswirkungen haben oder? Ich habs hinzugefügt. DANKE

                T Offline
                T Offline
                TT-Tom
                wrote on last edited by
                #2347

                @panoru84

                Hinter id wird der Alias Datenpunkt vom Typ „Info“ für den Status erwartet (true/false), um auf dem Panel die Farbe und/oder das Icon zu wechseln.

                Gruß Tom
                https://github.com/tt-tom17
                Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                NSPanel Script Wiki
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                NSPanel Adapter Wiki
                https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                P 1 Reply Last reply
                0
                • GregorSG GregorS

                  @tt-tom
                  Danke. Jetzt sieht es besser aus.

                  Die Luftfeuchtigkeit zeigt er mir aber nicht an.

                  Funktioniert bei dir der Modus?
                  Bei mir steht er immer auf Manuel und wechselt nur auf Boost.
                  Hast du die Fensteröffnung auch aktiv?

                  T Offline
                  T Offline
                  TT-Tom
                  wrote on last edited by
                  #2348

                  @gregors sagte in SONOFF NSPanel mit Lovelace UI:

                  Die Luftfeuchtigkeit zeigt er mir aber nicht an.

                  Kein Icon auf dem Panel oder kein Wert. Wie heißt der Datenpunkt?

                  Funktioniert bei dir der Modus?

                  Nein Nutze ich noch nicht, muss dazu noch mein Script anpassen. Bei mir funktionieren nur Party und Boost.

                  Bei mir steht er immer auf Manuel und wechselt nur auf Boost.

                  Ja bei mir auch.

                  Hast du die Fensteröffnung auch aktiv?

                  Nur in der Homematic direkt.

                  Gruß Tom
                  https://github.com/tt-tom17
                  Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                  NSPanel Script Wiki
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  NSPanel Adapter Wiki
                  https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                  1 Reply Last reply
                  1
                  • T TT-Tom

                    @panoru84

                    Hinter id wird der Alias Datenpunkt vom Typ „Info“ für den Status erwartet (true/false), um auf dem Panel die Farbe und/oder das Icon zu wechseln.

                    P Offline
                    P Offline
                    PaNoRu84
                    wrote on last edited by
                    #2349

                    @tt-tom diese Aussage bezieht sich darauf wenn das Icon als Link zur Subpage fungieren soll, richtig?

                    ID: (von Type info (d.h. true/false) => dann funktionieren bei mir dynamische Icons und onColor/offColor.

                    Was dann aber nicht funktionier ist den Namen dynamisch über

                    name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
                    

                    zusetzen. Oder siehst du dafür Alternativen?

                    T 1 Reply Last reply
                    0
                    • P PaNoRu84

                      @tt-tom diese Aussage bezieht sich darauf wenn das Icon als Link zur Subpage fungieren soll, richtig?

                      ID: (von Type info (d.h. true/false) => dann funktionieren bei mir dynamische Icons und onColor/offColor.

                      Was dann aber nicht funktionier ist den Namen dynamisch über

                      name: "getState('0_userdata.0.STATE_COLLECTION.windows_open_list').val"
                      

                      zusetzen. Oder siehst du dafür Alternativen?

                      T Offline
                      T Offline
                      TT-Tom
                      wrote on last edited by TT-Tom
                      #2350

                      @panoru84

                      Habe mir grade den Code noch einmal angesehen. Wenn der Parameter navigate genutzt wird, ist die Funktion nicht vorgesehen. Das Script greift dann auf den String hinter Name direkt zu.

                      Wenn ich es schaffe teste ich heute Abend nochmal ein Fix.

                      Edit:
                      such bitte in der Funktion CreateEntity diesen Abschnitt und passe die Zeilen (4,11) mit "return" an. Du musst "pageItem." von "pageItem.name" entfernen.

                                              default:
                                                  return '~delete~~~~~';
                                          }
                                          return '~' + type + '~' + 'navigate.' + pageItem.targetPage + '~' + iconId + '~' + iconColor + '~' + name + '~' + buttonText;   
                                      } else {
                                          type = 'button';
                                          iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('gesture-tap-button');
                                          iconColor = GetIconColor(pageItem, true, useColors);
                                          let buttonText = pageItem.buttonText !== undefined ? pageItem.buttonText : 'PRESS';
                      
                                          return '~' + type + '~' + 'navigate.' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~' + buttonText;                    
                                      } 
                                  } 
                      
                                  switch (o.common.role) {
                                      case 'socket':
                                      case 'light':
                      
                      

                      @Armilar kannst du das bitte gegen prüfen und ggf. in die 4.0 mit einbinden. Danke.

                      Gruß Tom
                      https://github.com/tt-tom17
                      Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                      NSPanel Script Wiki
                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                      NSPanel Adapter Wiki
                      https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                      ArmilarA 1 Reply Last reply
                      1
                      • T TT-Tom

                        @panoru84

                        Habe mir grade den Code noch einmal angesehen. Wenn der Parameter navigate genutzt wird, ist die Funktion nicht vorgesehen. Das Script greift dann auf den String hinter Name direkt zu.

                        Wenn ich es schaffe teste ich heute Abend nochmal ein Fix.

                        Edit:
                        such bitte in der Funktion CreateEntity diesen Abschnitt und passe die Zeilen (4,11) mit "return" an. Du musst "pageItem." von "pageItem.name" entfernen.

                                                default:
                                                    return '~delete~~~~~';
                                            }
                                            return '~' + type + '~' + 'navigate.' + pageItem.targetPage + '~' + iconId + '~' + iconColor + '~' + name + '~' + buttonText;   
                                        } else {
                                            type = 'button';
                                            iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : Icons.GetIcon('gesture-tap-button');
                                            iconColor = GetIconColor(pageItem, true, useColors);
                                            let buttonText = pageItem.buttonText !== undefined ? pageItem.buttonText : 'PRESS';
                        
                                            return '~' + type + '~' + 'navigate.' + pageItem.id + '~' + iconId + '~' + iconColor + '~' + name + '~' + buttonText;                    
                                        } 
                                    } 
                        
                                    switch (o.common.role) {
                                        case 'socket':
                                        case 'light':
                        
                        

                        @Armilar kannst du das bitte gegen prüfen und ggf. in die 4.0 mit einbinden. Danke.

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        wrote on last edited by Armilar
                        #2351

                        @tt-tom

                        Sieht doch gut aus. Habe es übernommen. 😊

                        Es erschließt sich mir aber nicht, warum man dynamische Listen in eine statische Menüstruktur einbinden möchte, in der ohnehin für Text nur sehr begrenzt Platz zur Verfügung steht. 🙄

                        @PaNoRu84 hättest du anschließend mal ein kurzes Beispiel als Bild? Kann mir da aktuell nicht viel drunter vorstellen...

                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        T 1 Reply Last reply
                        1
                        • ArmilarA Armilar

                          @tt-tom

                          Sieht doch gut aus. Habe es übernommen. 😊

                          Es erschließt sich mir aber nicht, warum man dynamische Listen in eine statische Menüstruktur einbinden möchte, in der ohnehin für Text nur sehr begrenzt Platz zur Verfügung steht. 🙄

                          @PaNoRu84 hättest du anschließend mal ein kurzes Beispiel als Bild? Kann mir da aktuell nicht viel drunter vorstellen...

                          T Offline
                          T Offline
                          TT-Tom
                          wrote on last edited by
                          #2352

                          @armilar

                          waren auch so meine Gedanken, ich hätte da eventuell die Anzahl drunter gesetzt inkl. Prefix und/oder Suffix.

                          Gruß Tom
                          https://github.com/tt-tom17
                          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                          NSPanel Script Wiki
                          https://github.com/joBr99/nspanel-lovelace-ui/wiki

                          NSPanel Adapter Wiki
                          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                          P 1 Reply Last reply
                          0
                          • C Offline
                            C Offline
                            coto
                            wrote on last edited by coto
                            #2353

                            Moin zusammen,

                            ich steh gerade bisschen auf dem Schlauch und finde den Lösungsansatz nicht.

                            Ich möchte den Value Text des Objektes im Display ändern. Bei True=Online bei False=Offline. OnColor und OffColor funktioniert. Icon und Icon2 funktioniert nicht. Gibt es das alternativ auch für den Valuetext? Warum funktioniert Icon2 nicht?

                             <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online", icon:"web", icon2:"web-off", offColor: MSRed, onColor: MSGreen, useValue: true },
                            
                            T ArmilarA 2 Replies Last reply
                            0
                            • C coto

                              Moin zusammen,

                              ich steh gerade bisschen auf dem Schlauch und finde den Lösungsansatz nicht.

                              Ich möchte den Value Text des Objektes im Display ändern. Bei True=Online bei False=Offline. OnColor und OffColor funktioniert. Icon und Icon2 funktioniert nicht. Gibt es das alternativ auch für den Valuetext? Warum funktioniert Icon2 nicht?

                               <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online", icon:"web", icon2:"web-off", offColor: MSRed, onColor: MSGreen, useValue: true },
                              
                              T Offline
                              T Offline
                              TT-Tom
                              wrote on last edited by
                              #2354

                              @coto

                              zeige bitte die Config der Page und die Config des Alias Datenpunkt.

                              Gruß Tom
                              https://github.com/tt-tom17
                              Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                              NSPanel Script Wiki
                              https://github.com/joBr99/nspanel-lovelace-ui/wiki

                              NSPanel Adapter Wiki
                              https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                              1 Reply Last reply
                              0
                              • C coto

                                Moin zusammen,

                                ich steh gerade bisschen auf dem Schlauch und finde den Lösungsansatz nicht.

                                Ich möchte den Value Text des Objektes im Display ändern. Bei True=Online bei False=Offline. OnColor und OffColor funktioniert. Icon und Icon2 funktioniert nicht. Gibt es das alternativ auch für den Valuetext? Warum funktioniert Icon2 nicht?

                                 <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online", icon:"web", icon2:"web-off", offColor: MSRed, onColor: MSGreen, useValue: true },
                                
                                ArmilarA Offline
                                ArmilarA Offline
                                Armilar
                                Most Active Forum Testing
                                wrote on last edited by
                                #2355

                                @coto

                                Ist doch eigentlich ein Info-Alias. Über eine Konvertierung (einfaches Blockly mit Trigger) von true/false in einem anderen Datenpunkt online/offline, kannst du es dir anzeigen lassen. Eine Textübersetzung für true/false gibt es im Script nicht. Im Info-Alias funktioniert, sofern das Icon denn auch existiert, der icon2 auch.

                                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                C 1 Reply Last reply
                                0
                                • ArmilarA Armilar

                                  @coto

                                  Ist doch eigentlich ein Info-Alias. Über eine Konvertierung (einfaches Blockly mit Trigger) von true/false in einem anderen Datenpunkt online/offline, kannst du es dir anzeigen lassen. Eine Textübersetzung für true/false gibt es im Script nicht. Im Info-Alias funktioniert, sofern das Icon denn auch existiert, der icon2 auch.

                                  C Offline
                                  C Offline
                                  coto
                                  wrote on last edited by
                                  #2356

                                  @armilar
                                  Als Info-Alias funktioniert weder OnColor/OffColor noch Icon/Icon2

                                  
                                  let Internet = <PageEntities>
                                  {
                                      'type': 'cardEntities',
                                      'heading': 'Status Internet',
                                      'useColor': true,
                                      'items': [
                                          <PageItem>{ id: "alias.0.NSPanel1.Internet", name: "Internetverbauch", icon:"information-outline",  offColor: MSRed, onColor: MSGreen, useValue: false },
                                          <PageItem>{ id: "alias.0.NSPanel1.Internetverbrauch", name: "Datenübertragen", icon: 'transfer', offColor: MSYellow, onColor: MSYellow , useValue: false },
                                          <PageItem>{ id: "alias.0.NSPanel1.Internettimestamp", name: "aktualisiert", icon:"clock", offColor: MSRed, onColor: MSGreen, useValue: false },
                                          <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online", icon:"web", icon2:"web-off", offColor: MSRed, onColor: MSGreen, useValue: false },
                                         
                                  
                                  {
                                    "_id": "alias.0.NSPanel1.Internet_Online.ACTUAL",
                                    "common": {
                                      "name": "ACTUAL",
                                      "role": "sensor.door",
                                      "type": "boolean",
                                      "read": true,
                                      "write": false,
                                      "alias": {
                                        "id": "ping.0.raspberrypi.Internet_Online"
                                      }
                                    },
                                    "native": {},
                                    "type": "state",
                                    "acl": {
                                      "object": 1636,
                                      "state": 1636,
                                      "owner": "system.user.admin",
                                      "ownerGroup": "system.group.administrator"
                                    },
                                    "from": "system.adapter.admin.0",
                                    "user": "system.user.admin",
                                    "ts": 1677324711452
                                  }
                                  
                                  ArmilarA 1 Reply Last reply
                                  0
                                  • C coto

                                    @armilar
                                    Als Info-Alias funktioniert weder OnColor/OffColor noch Icon/Icon2

                                    
                                    let Internet = <PageEntities>
                                    {
                                        'type': 'cardEntities',
                                        'heading': 'Status Internet',
                                        'useColor': true,
                                        'items': [
                                            <PageItem>{ id: "alias.0.NSPanel1.Internet", name: "Internetverbauch", icon:"information-outline",  offColor: MSRed, onColor: MSGreen, useValue: false },
                                            <PageItem>{ id: "alias.0.NSPanel1.Internetverbrauch", name: "Datenübertragen", icon: 'transfer', offColor: MSYellow, onColor: MSYellow , useValue: false },
                                            <PageItem>{ id: "alias.0.NSPanel1.Internettimestamp", name: "aktualisiert", icon:"clock", offColor: MSRed, onColor: MSGreen, useValue: false },
                                            <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online", icon:"web", icon2:"web-off", offColor: MSRed, onColor: MSGreen, useValue: false },
                                           
                                    
                                    {
                                      "_id": "alias.0.NSPanel1.Internet_Online.ACTUAL",
                                      "common": {
                                        "name": "ACTUAL",
                                        "role": "sensor.door",
                                        "type": "boolean",
                                        "read": true,
                                        "write": false,
                                        "alias": {
                                          "id": "ping.0.raspberrypi.Internet_Online"
                                        }
                                      },
                                      "native": {},
                                      "type": "state",
                                      "acl": {
                                        "object": 1636,
                                        "state": 1636,
                                        "owner": "system.user.admin",
                                        "ownerGroup": "system.group.administrator"
                                      },
                                      "from": "system.adapter.admin.0",
                                      "user": "system.user.admin",
                                      "ts": 1677324711452
                                    }
                                    
                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    wrote on last edited by Armilar
                                    #2357

                                    @coto

                                    füge bitte mal das fehlende useColor: true in das pageItem ein. Dann sollte sich die Farbe schon ändern. Das useValue: false kann dafür raus.

                                    Wenn sich die Werte bei boolean auch noch ändern sollen, könnten zwei zusätzlich Parameter künftig hilfreich sein, die aus true/false einen anderen Wert anzeigen. Ist aber im Moment nicht drin.

                                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    C 1 Reply Last reply
                                    0
                                    • ArmilarA Armilar

                                      @coto

                                      füge bitte mal das fehlende useColor: true in das pageItem ein. Dann sollte sich die Farbe schon ändern. Das useValue: false kann dafür raus.

                                      Wenn sich die Werte bei boolean auch noch ändern sollen, könnten zwei zusätzlich Parameter künftig hilfreich sein, die aus true/false einen anderen Wert anzeigen. Ist aber im Moment nicht drin.

                                      C Offline
                                      C Offline
                                      coto
                                      wrote on last edited by
                                      #2358

                                      @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                      useColor: true

                                      Danke, das hilft bei den Icons aber nicht weiter oder ist mein Ansatz falsch? Funktioniert das mit den Icon2 überhaupt mit "eigenen" Iconangaben?

                                       <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online",  offColor: MSRed, onColor: MSGreen, useValue: false },
                                      

                                      Wenn ich es so lasse, werden die Standard Icons für "Tür auf" oder "Tür zu" angezeigt.
                                      Bin leider nicht so tief in der Materie drin um den gesamten Code zu verstehen. Ich habe im Code für den Alias Door folgenden Code gefunden:

                                         case 'door':
                                                              case 'window':
                                                                  if (existsState(pageItem.id + '.ACTUAL')) {
                                                                      if (getState(pageItem.id + '.ACTUAL').val) {
                                                                          iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-open') : Icons.GetIcon('window-open-variant');
                                                                          iconColor = GetIconColor(pageItem, false, useColors);
                                                                      } else {
                                                                          iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-closed') : Icons.GetIcon('window-closed-variant');
                                                                          iconColor = GetIconColor(pageItem, true, useColors);
                                                                      }
                                                                  }
                                                                  break;
                                      

                                      Muss ich dann für eigene Datenpunkte mit zwei Icons auch so einen Code erstellen und wenn ja wie bezihe ich mich auf meine Alias?

                                      T 1 Reply Last reply
                                      0
                                      • C coto

                                        @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                                        useColor: true

                                        Danke, das hilft bei den Icons aber nicht weiter oder ist mein Ansatz falsch? Funktioniert das mit den Icon2 überhaupt mit "eigenen" Iconangaben?

                                         <PageItem>{ id: "alias.0.NSPanel1.Internet_Online", name: "Online",  offColor: MSRed, onColor: MSGreen, useValue: false },
                                        

                                        Wenn ich es so lasse, werden die Standard Icons für "Tür auf" oder "Tür zu" angezeigt.
                                        Bin leider nicht so tief in der Materie drin um den gesamten Code zu verstehen. Ich habe im Code für den Alias Door folgenden Code gefunden:

                                           case 'door':
                                                                case 'window':
                                                                    if (existsState(pageItem.id + '.ACTUAL')) {
                                                                        if (getState(pageItem.id + '.ACTUAL').val) {
                                                                            iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-open') : Icons.GetIcon('window-open-variant');
                                                                            iconColor = GetIconColor(pageItem, false, useColors);
                                                                        } else {
                                                                            iconId = pageItem.icon !== undefined ? Icons.GetIcon(pageItem.icon) : o.common.role == 'door' ? Icons.GetIcon('door-closed') : Icons.GetIcon('window-closed-variant');
                                                                            iconColor = GetIconColor(pageItem, true, useColors);
                                                                        }
                                                                    }
                                                                    break;
                                        

                                        Muss ich dann für eigene Datenpunkte mit zwei Icons auch so einen Code erstellen und wenn ja wie bezihe ich mich auf meine Alias?

                                        T Offline
                                        T Offline
                                        TT-Tom
                                        wrote on last edited by TT-Tom
                                        #2359

                                        @coto dein Alias sollte vom Typ Info sein, nicht Door.

                                        Heißt dein Cannel musst du anpassen. alias.0.NSPanel1.Internet_Online
                                        Dann greift auch Icon und icon2.

                                        Gruß Tom
                                        https://github.com/tt-tom17
                                        Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                                        NSPanel Script Wiki
                                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                        NSPanel Adapter Wiki
                                        https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                                        C 1 Reply Last reply
                                        0
                                        • T TT-Tom

                                          @coto dein Alias sollte vom Typ Info sein, nicht Door.

                                          Heißt dein Cannel musst du anpassen. alias.0.NSPanel1.Internet_Online
                                          Dann greift auch Icon und icon2.

                                          C Offline
                                          C Offline
                                          coto
                                          wrote on last edited by coto
                                          #2360

                                          @tt-tom

                                          Ich hatte es bereits als "Info" angelegt, nur da funktioniert weder Icon noch onColor und offColor.

                                          {
                                            "_id": "alias.0.NSPanel1.Internetonline",
                                            "common": {
                                              "name": {
                                                "de": "Internetonline"
                                              },
                                              "role": "info",
                                              "icon": "",
                                              "color": null
                                            },
                                            "native": {},
                                            "type": "channel",
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1677332171213,
                                            "acl": {
                                              "object": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          

                                          Du kannst es gerne mal bei dir nachstellen.
                                          Ich mache über den Ping Adapter eine Abfrage auf die IP 8.8.8.8 und möchte die Anzeige dann im NSPanel als Online (Grünes Icon) und Offline (Rotes Icon2) auswerten.

                                          Laut Wiki ist der Info-Alias kein Boolean, wie soll es dann eine Auswertung von zwei Zuständen geben?
                                          1a052f4f-87e0-4db0-826e-6e34dd2d794a-image.png

                                          T 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          166

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe