Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Material Design Widgets: Table Widget

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Material Design Widgets: Table Widget

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
95 Beiträge 33 Kommentatoren 17.6k Aufrufe 38 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • G Offline
    G Offline
    gender
    schrieb am zuletzt editiert von gender
    #41

    Muss hier auch nochmal eine Frage stellen:

    Ich habe eine Tabelle mit ein paar Datenwerten meiner CCU:

    [
    {
    "1": "Duty-Cycle",
    "2":    "{hm-rega.0.1919}"   
    }          	
    ,
    {
    "1":  "Watch-Dog-Alarm",
    "2": "{hm-rega.0.2254}"
    }
    ,
    {
    "1":  "Servicemeldungen",
    "2": "{hm-rega.0.maintenance}"
    }
    ]
    

    Gibt es nun eine Möglichkeit, die Werte bei bestimmten Bedinungen in bestimmten Farben anzuzeigen?

    Im HTML-Card geht es ja so

    {ccu:hm-rega.0.1919; ccu <= 10 ? "lime" : ccu <= 20 ? "orange" : "red"}
    

    Leider klappt das in der Tabelle so nicht.

    ScroungerS 1 Antwort Letzte Antwort
    0
    • G gender

      Muss hier auch nochmal eine Frage stellen:

      Ich habe eine Tabelle mit ein paar Datenwerten meiner CCU:

      [
      {
      "1": "Duty-Cycle",
      "2":    "{hm-rega.0.1919}"   
      }          	
      ,
      {
      "1":  "Watch-Dog-Alarm",
      "2": "{hm-rega.0.2254}"
      }
      ,
      {
      "1":  "Servicemeldungen",
      "2": "{hm-rega.0.maintenance}"
      }
      ]
      

      Gibt es nun eine Möglichkeit, die Werte bei bestimmten Bedinungen in bestimmten Farben anzuzeigen?

      Im HTML-Card geht es ja so

      {ccu:hm-rega.0.1919; ccu <= 10 ? "lime" : ccu <= 20 ? "orange" : "red"}
      

      Leider klappt das in der Tabelle so nicht.

      ScroungerS Offline
      ScroungerS Offline
      Scrounger
      Developer
      schrieb am zuletzt editiert von Scrounger
      #42

      @gender sagte in Material Design Widgets: Table Widget:

      Im HTML-Card geht es ja so

      {ccu:hm-rega.0.1919; ccu <= 10 ? "lime" : ccu <= 20 ? "orange" : "red"}
      

      Leider klappt das in der Tabelle so nicht.

      Da die Funktion in einem json string steckt, musst du hier hochkommas verwenden anstatt Anfrührungszeichen, so geht es:

      {ccu:hm-rega.0.1919; ccu <= 10 ? 'lime' : ccu <= 20 ? 'orange' : 'red'}
      

      <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

      <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        gender
        schrieb am zuletzt editiert von
        #43

        Perfekt, danke. Das klappt.
        Die Frage bleibt leider, wie man einen farbigen Text im JSON unterbringt:

        {
        
        "1":  "Servicemeldungen",
        
        "2":  {
                    text: 'Mein Text',
                    color:  '{ccu:hm-rega.0.1919; ccu <= 10 ? 'lime' : ccu <= 20 ? 'orange' : 'red'} ' 
                  }
        }
        

        So hätte ich z.B. gedacht. Klappt aber nicht.

        ScroungerS 1 Antwort Letzte Antwort
        0
        • G gender

          Perfekt, danke. Das klappt.
          Die Frage bleibt leider, wie man einen farbigen Text im JSON unterbringt:

          {
          
          "1":  "Servicemeldungen",
          
          "2":  {
                      text: 'Mein Text',
                      color:  '{ccu:hm-rega.0.1919; ccu <= 10 ? 'lime' : ccu <= 20 ? 'orange' : 'red'} ' 
                    }
          }
          

          So hätte ich z.B. gedacht. Klappt aber nicht.

          ScroungerS Offline
          ScroungerS Offline
          Scrounger
          Developer
          schrieb am zuletzt editiert von
          #44

          @gender
          Die Hochkommas nur innerhalb der property verwenden!
          Farbe geht z.B. so

          [
          	{
          		"1": "Servicemeldungen",
          		"2": "<font color='{ccu:hm-rega.0.1919; ccu <= 10 ? 'lime' : ccu <= 20 ? 'orange' : 'red'}'>mein farbiger Text</font>"
          	}
          ]
          
          

          Kannst auch alternativ html tags einsetzen.

          <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

          <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

          1 Antwort Letzte Antwort
          1
          • NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            schrieb am zuletzt editiert von
            #45

            mir ist heute aufgefallen, dass alle Tables jetzt weiß sind!
            vis.png

            Kann es sein, dass sich der "Material Advanced" nicht mit "Material Design" verträgt?
            adapters - ioBroker.png

            [{"tpl":"tplVis-materialdesign-Table","data":{"oid":"javascript.0.VIS.Synology.DS211+_Volumeanzeige","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"countCols":"4","tableLayout":"card","showHeader":true,"headerTextSize":"small","showColumn0":"true","colType0":"text","textAlign0":"left","showColumn1":"true","colType1":"text","textAlign1":"center","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"showColumn2":"true","colType2":"text","textAlign2":"center","label0":"Laufwerk","label2":"Used","label1":"Gesamt","padding_left0":"6","dataJson":"","padding_left2":"","class":"mdui-table mdui-table-ascard-r250-l mdui-table-striped noSwipe","textSize3":"small","textColor2":"#8f8f8f","textSize2":"small","rowHeight":"","textSize0":"small","textSize1":"small","padding_left1":"22","textColor0":"#8f8f8f","textColor1":"#8f8f8f","textColor3":"#8f8f8f","imageSize1":"0","colorHeaderRowText":"#8f8f8f","colorHeaderRowBackground":"#202020","colorRowBackground":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","colorRowText":"#d7cec1","dividers":"","colorBackground":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","prefix2":"<span style=\"display: inline-block; word-wrap:break-word;\">","prefix1":"<span style=\"display: inline-block; word-wrap:break-word;\">","suffix2":"</span>","suffix1":"</span>","columnWidth0":"","columnWidth1":"2","columnWidth2":"32","fontFamily2":"Jura-DemiBold","fontFamily1":"Jura-DemiBold","fontFamily0":"Jura-DemiBold","showColumn4":"true","colType4":"text","textAlign4":"center","name":"Tab_Warn-Error","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","imageSize0":"0","colNoWrap0":false,"colNoWrap1":true,"padding_right1":"22","g_columnLayout_§3":true,"showColumn3":"true","colType3":"text","textAlign3":"center","label4":"%","label3":"Free","colNoWrap4":false,"padding_right0":"0","colTextColor2":"","colNoWrap2":false,"colTextSize0":"11","colTextSize1":"11","colTextSize2":"11","colTextSize3":"11","headerRowHeight":"0","colTextColor0":"","sortKey0":"","showColumn5":"true","colType5":"text","textAlign5":"center","padding_right2":"","colTextSize4":"11"},"style":{"left":"198px","top":"83px","width":"343px","height":"202px","z-index":"20","background":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","background-color":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","color":"","overflow-y":"","border-radius":"","font-family":"Jura-DemiBold"},"widgetSet":"materialdesign"}]
            

            Material-Design ist auf 0.3.19

            Screenshot_2020-09-01 6 Edit vis.png Screenshot_2020-09-01 5 Edit vis.png Screenshot_2020-09-01 4 Edit vis.png Screenshot_2020-09-01 3 Edit vis.png Screenshot_2020-09-01 2 Edit vis.png Screenshot_2020-09-01 1 Edit vis.png

            ° Node.js: 20.17.0 NPM: 10.8.2
            ° Proxmox, Ubuntu 22.04.3 LTS
            ° Fixer ---> iob fix

            sigi234S 1 Antwort Letzte Antwort
            0
            • NegaleinN Negalein

              mir ist heute aufgefallen, dass alle Tables jetzt weiß sind!
              vis.png

              Kann es sein, dass sich der "Material Advanced" nicht mit "Material Design" verträgt?
              adapters - ioBroker.png

              [{"tpl":"tplVis-materialdesign-Table","data":{"oid":"javascript.0.VIS.Synology.DS211+_Volumeanzeige","g_fixed":true,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":true,"g_gestures":false,"g_signals":false,"g_last_change":false,"countCols":"4","tableLayout":"card","showHeader":true,"headerTextSize":"small","showColumn0":"true","colType0":"text","textAlign0":"left","showColumn1":"true","colType1":"text","textAlign1":"center","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"showColumn2":"true","colType2":"text","textAlign2":"center","label0":"Laufwerk","label2":"Used","label1":"Gesamt","padding_left0":"6","dataJson":"","padding_left2":"","class":"mdui-table mdui-table-ascard-r250-l mdui-table-striped noSwipe","textSize3":"small","textColor2":"#8f8f8f","textSize2":"small","rowHeight":"","textSize0":"small","textSize1":"small","padding_left1":"22","textColor0":"#8f8f8f","textColor1":"#8f8f8f","textColor3":"#8f8f8f","imageSize1":"0","colorHeaderRowText":"#8f8f8f","colorHeaderRowBackground":"#202020","colorRowBackground":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","colorRowText":"#d7cec1","dividers":"","colorBackground":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","prefix2":"<span style=\"display: inline-block; word-wrap:break-word;\">","prefix1":"<span style=\"display: inline-block; word-wrap:break-word;\">","suffix2":"</span>","suffix1":"</span>","columnWidth0":"","columnWidth1":"2","columnWidth2":"32","fontFamily2":"Jura-DemiBold","fontFamily1":"Jura-DemiBold","fontFamily0":"Jura-DemiBold","showColumn4":"true","colType4":"text","textAlign4":"center","name":"Tab_Warn-Error","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","imageSize0":"0","colNoWrap0":false,"colNoWrap1":true,"padding_right1":"22","g_columnLayout_§3":true,"showColumn3":"true","colType3":"text","textAlign3":"center","label4":"%","label3":"Free","colNoWrap4":false,"padding_right0":"0","colTextColor2":"","colNoWrap2":false,"colTextSize0":"11","colTextSize1":"11","colTextSize2":"11","colTextSize3":"11","headerRowHeight":"0","colTextColor0":"","sortKey0":"","showColumn5":"true","colType5":"text","textAlign5":"center","padding_right2":"","colTextSize4":"11"},"style":{"left":"198px","top":"83px","width":"343px","height":"202px","z-index":"20","background":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","background-color":"linear-gradient(0deg, #2c2a3f, #4f344c, #2c2a3f)","color":"","overflow-y":"","border-radius":"","font-family":"Jura-DemiBold"},"widgetSet":"materialdesign"}]
              

              Material-Design ist auf 0.3.19

              Screenshot_2020-09-01 6 Edit vis.png Screenshot_2020-09-01 5 Edit vis.png Screenshot_2020-09-01 4 Edit vis.png Screenshot_2020-09-01 3 Edit vis.png Screenshot_2020-09-01 2 Edit vis.png Screenshot_2020-09-01 1 Edit vis.png

              sigi234S Online
              sigi234S Online
              sigi234
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #46

              @Negalein sagte in Material Design Widgets: Table Widget:

              mir ist heute aufgefallen, dass alle Tables jetzt weiß sind!

              Kann ich bestätigen.

              Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
              Immer Daten sichern!

              M 1 Antwort Letzte Antwort
              0
              • sigi234S sigi234

                @Negalein sagte in Material Design Widgets: Table Widget:

                mir ist heute aufgefallen, dass alle Tables jetzt weiß sind!

                Kann ich bestätigen.

                M Offline
                M Offline
                michihorn
                schrieb am zuletzt editiert von michihorn
                #47

                @sigi234 @Negalein ich habe eine ähnliche Verhaltensweise in einem anderen Chat (https://forum.iobroker.net/topic/36473/edit-vis-1-2-11) angemerkt. ich habe nun Material Advanced gelöscht und schon sehen meine Views wieder aus wie zuvor.
                Gruß
                MH

                1 Antwort Letzte Antwort
                0
                • C Offline
                  C Offline
                  coalado
                  schrieb am zuletzt editiert von
                  #48

                  Ich "füttere" die Table über eine JSON. Wie wird ein JSON property auf die richtige Spalte "gemapped"?

                  ScroungerS 1 Antwort Letzte Antwort
                  0
                  • C coalado

                    Ich "füttere" die Table über eine JSON. Wie wird ein JSON property auf die richtige Spalte "gemapped"?

                    ScroungerS Offline
                    ScroungerS Offline
                    Scrounger
                    Developer
                    schrieb am zuletzt editiert von
                    #49

                    @coalado

                    So z.B.:

                    [
                    	{
                    		"col1": "Reihe 1, Spalte 1",
                    		"col2": "Reihe 1, Spalte 2",
                    		"col3": "Reihe 1, Spalte 3"
                    	}, {
                    		"col1": "Reihe 2, Spalte 1",
                    		"col2": "Reihe 2, Spalte 2",
                    		"col3": "Reihe 2, Spalte 3"
                    	}, {
                    		"col1": "Reihe 3, Spalte 1",
                    		"col2": "Reihe 3, Spalte 2",
                    		"col3": "Reihe 3, Spalte 3"
                    	}
                    ]
                    

                    13e35555-eb2b-4336-9de5-686e568a1f6c-grafik.png

                    d.h. 1. Property = 1. Spalte, 2. Property = 2. Spalte, usw.

                    <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                    <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                    C 1 Antwort Letzte Antwort
                    0
                    • ScroungerS Scrounger

                      @coalado

                      So z.B.:

                      [
                      	{
                      		"col1": "Reihe 1, Spalte 1",
                      		"col2": "Reihe 1, Spalte 2",
                      		"col3": "Reihe 1, Spalte 3"
                      	}, {
                      		"col1": "Reihe 2, Spalte 1",
                      		"col2": "Reihe 2, Spalte 2",
                      		"col3": "Reihe 2, Spalte 3"
                      	}, {
                      		"col1": "Reihe 3, Spalte 1",
                      		"col2": "Reihe 3, Spalte 2",
                      		"col3": "Reihe 3, Spalte 3"
                      	}
                      ]
                      

                      13e35555-eb2b-4336-9de5-686e568a1f6c-grafik.png

                      d.h. 1. Property = 1. Spalte, 2. Property = 2. Spalte, usw.

                      C Offline
                      C Offline
                      coalado
                      schrieb am zuletzt editiert von
                      #50

                      @Scrounger
                      Ich habe eben im Code gesehen, dass die Reihenfolge der Properties zählt.

                        let colElement = getColElement(row, col, Object.values(jsonData[row])[col], textSize, jsonData[row]);
                      

                      Das ist eher "ungewöhnlich".

                      Wäre es nicht eine schöne Erweiterung wenn man für jede Spalte optional einen Wert "mapping" definieren könnte? Setze ich Spalte1.mapping = "banane", wird dafür immer das property {banane:"gelb"} verwendet.

                      Also

                      if(mapping){
                        let colElement = getColElement(row, col, jsonData[row][mapping], textSize, jsonData[row]);
                      }else{
                       let colElement = getColElement(row, col, Object.values(jsonData[row])[col], textSize, jsonData[row]);
                      }
                      

                      Ansonsten mal an dieser Stelle ein DICKES DANKESCHÖN. Deine Widgets sind wirklich super.

                      ScroungerS 1 Antwort Letzte Antwort
                      0
                      • C coalado

                        @Scrounger
                        Ich habe eben im Code gesehen, dass die Reihenfolge der Properties zählt.

                          let colElement = getColElement(row, col, Object.values(jsonData[row])[col], textSize, jsonData[row]);
                        

                        Das ist eher "ungewöhnlich".

                        Wäre es nicht eine schöne Erweiterung wenn man für jede Spalte optional einen Wert "mapping" definieren könnte? Setze ich Spalte1.mapping = "banane", wird dafür immer das property {banane:"gelb"} verwendet.

                        Also

                        if(mapping){
                          let colElement = getColElement(row, col, jsonData[row][mapping], textSize, jsonData[row]);
                        }else{
                         let colElement = getColElement(row, col, Object.values(jsonData[row])[col], textSize, jsonData[row]);
                        }
                        

                        Ansonsten mal an dieser Stelle ein DICKES DANKESCHÖN. Deine Widgets sind wirklich super.

                        ScroungerS Offline
                        ScroungerS Offline
                        Scrounger
                        Developer
                        schrieb am zuletzt editiert von
                        #51

                        @coalado sagte in Material Design Widgets: Table Widget:

                        Das ist eher "ungewöhnlich".

                        Wieso soll das "ungewöhnlich" sein. Man kann es auf beide arten realisieren. Allerdings hab ich das Widget an das "orginale" table Widget vom vis adapter angelehnt, damit ggf. ein Umstieg sehr einfach ist.
                        Ich seh den Vorteil eines Mappings nicht. Man muss doch bloß die reihenfolge der Props z.B. durch copy paste ändern oder halt per skript?

                        Wäre es nicht eine schöne Erweiterung wenn man für jede Spalte optional einen Wert "mapping" definieren könnte? Setze ich Spalte1.mapping = "banane", wird dafür immer das property {banane:"gelb"} verwendet.

                        Also

                        if(mapping){
                          let colElement = getColElement(row, col, jsonData[row][mapping], textSize, jsonData[row]);
                        }else{
                         let colElement = getColElement(row, col, Object.values(jsonData[row])[col], textSize, jsonData[row]);
                        }
                        

                        Du kannst gerne einen PR machen. Allerdings dabei bitte drauf achten, dass das mapping auf die Sortierung, die Controls und das update entsprechend auch angepasst werden muss.

                        <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                        <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                        1 Antwort Letzte Antwort
                        0
                        • C Offline
                          C Offline
                          coalado
                          schrieb am zuletzt editiert von
                          #52

                          Es ist sicher völlig OK das so zu machen. Für mich ist es einfach ungewohnt.

                          Die Gefahr dass ich dabei einiges kaputt mache überwiegt vermutlich.
                          Ich baue einfach einen Wrapper, der mir am Ende nochmal die Properties in die passende Reihenfolge setzt.
                          Vielen Dank soweit

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Snapergy
                            schrieb am zuletzt editiert von Snapergy
                            #53

                            Ich glaube ich bin zu blöd... wie kriege ich denn den Scrollbar hin? Habe eine Tabelle, die wesentlich mehr Inhalt besitzt als angezeigt, aber einen Scrollbar zeigt er mir nicht. Bedarf es irgendeiner Einstellung? Habe mich schon durch den Thread und die Anleitung gelesen, aber nichts gefunden....

                            habs gerade gefunden :face_with_rolling_eyes:

                            1 Antwort Letzte Antwort
                            0
                            • ScroungerS Scrounger

                              Hab das ical2Table skript nochmal überarbeitet:

                              • nun werden alle ical instanzen berücksichtigt
                              • Sortierung nach Zeit aufsteigend hinzugefügt
                              var instances = $(`[id=ical.*.data.table]`);
                              instances.on(ical2TableWidget);
                              
                              function ical2TableWidget() {
                                  try {
                                      let calList = [];
                              
                                      for (var inst = 0; inst <= instances.length - 1; inst++) {
                                          let icalObj = getState(instances[inst]).val;
                              
                                          if (icalObj) {
                                              for (var i = 0; i <= icalObj.length - 1; i++) {
                                                  let item = icalObj[i];
                              
                                                  let calendarName = item._class.split(' ')[0].replace('ical_', '');
                              
                                                  // Objekt für Tabelle erzeugen
                                                  calList.push({
                                                      farbe: `<div style="background: ${getMyCalendarColor(calendarName)}; width: 3px; height: 20px"></div>`,
                                                      zeit: item.date,
                                                      termin: item.event,
                                                      kalender: calendarName,
                                                      timestamp: Date.parse(item._date)
                                                  })
                                              }
                                          }
                                      }
                              
                                      // Liste sort by timestamp asc
                                      calList.sort(function (a, b) {
                                          return a.timestamp == b.timestamp ? 0 : +(a.timestamp > b.timestamp) || -1;
                                      });
                              
                                      // Enter the destination data point that is to be used as object ID in the widget
                                      setState('0_userdata.0.ical', JSON.stringify(calList), true);
                              
                                      function getMyCalendarColor(calendarName) {
                                          // assign colors via the calendar names, use calendar name as set in ical
                                          if (calendarName === 'calendar1') {
                                              return '#FF0000';
                                          } else if (calendarName === 'calendar2') {
                                              return '#44739e'
                                          } else if (calendarName === 'calendar3') {
                                              return '#32a852'
                                          }
                                      }
                              
                                  } catch (e) {
                                      console.error(`ical2MaterialDesignTableWidget: message: ${e.message}, stack: ${e.stack}`);
                                  }
                              }
                              
                              ical2TableWidget();
                              

                              fc84b25f-c6f0-4b0b-b197-eefd74fdaa97-grafik.png

                              Widget:

                              [{"tpl":"tplVis-materialdesign-Table","data":{"oid":"0_userdata.0.ical","g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","countCols":"3","tableLayout":"standard","showHeader":"true","headerTextSize":"headline6","showColumn0":"true","colType0":"text","textAlign0":"left","showColumn1":"true","colType1":"text","textAlign1":"left","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"showColumn2":"true","colType2":"text","textAlign2":"left","showColumn3":"true","colType3":"text","textAlign3":"left","label0":" ","label1":"Zeit","label2":"Termin","label3":"Kalender","columnWidth0":"0","sortKey1":"timestamp"},"style":{"left":"163px","top":"67px","width":"692px","height":"480px"},"widgetSet":"materialdesign"}]
                              

                              F Offline
                              F Offline
                              fabian.krauss
                              schrieb am zuletzt editiert von
                              #54

                              @Scrounger
                              Danke für das schöne Skript und das Widget!
                              Ich glaube das Widget müsste aber aktualisiert werden, dass Bild und Widget zusammen passen. Ich musste noch bei Spaltenlayout[0] die Spaltenbreite von 0 auf 1 erhöhen, um die Farbmarkierungen zu sehen.

                              Grüße
                              Fabi

                              1 Antwort Letzte Antwort
                              0
                              • jackblacksonJ Offline
                                jackblacksonJ Offline
                                jackblackson
                                schrieb am zuletzt editiert von
                                #55

                                Servus! Ich hab dein Widget schon länger in Verwendung, um das JSON vom Log Parser auszugeben. Seit einiger Zeit (weiß leider nicht wie lange, aber es kann nicht so lange her sein) zeigt es mir nur noch drei Zeilen an:
                                bca7ec0f-83f4-4e50-87e2-0dc9a0242b76-grafik.png

                                Ich hab es grad neu hinzugefügt, sobald ich das Widget größer ziehe, wird nur die Zeilenhöhe größer, aber nicht mehr Inhalt. Hat jemand da eine Idee? Das JSON enthält definitiv mehr Einträge als 3. Overflow-y hab ich auf Scroll eingestellt.

                                S 1 Antwort Letzte Antwort
                                0
                                • jackblacksonJ jackblackson

                                  Servus! Ich hab dein Widget schon länger in Verwendung, um das JSON vom Log Parser auszugeben. Seit einiger Zeit (weiß leider nicht wie lange, aber es kann nicht so lange her sein) zeigt es mir nur noch drei Zeilen an:
                                  bca7ec0f-83f4-4e50-87e2-0dc9a0242b76-grafik.png

                                  Ich hab es grad neu hinzugefügt, sobald ich das Widget größer ziehe, wird nur die Zeilenhöhe größer, aber nicht mehr Inhalt. Hat jemand da eine Idee? Das JSON enthält definitiv mehr Einträge als 3. Overflow-y hab ich auf Scroll eingestellt.

                                  S Offline
                                  S Offline
                                  Snapergy
                                  schrieb am zuletzt editiert von
                                  #56

                                  @jackblackson

                                  das Problem hatte ich ja auch. Gehe mal in den Einstellungen des Widgets im Reiter Layout auf "feste Zeilenüberschrift" und setze da den Haken. Dann war das Problem bei mir gelöst.

                                  jackblacksonJ 1 Antwort Letzte Antwort
                                  0
                                  • S Snapergy

                                    @jackblackson

                                    das Problem hatte ich ja auch. Gehe mal in den Einstellungen des Widgets im Reiter Layout auf "feste Zeilenüberschrift" und setze da den Haken. Dann war das Problem bei mir gelöst.

                                    jackblacksonJ Offline
                                    jackblacksonJ Offline
                                    jackblackson
                                    schrieb am zuletzt editiert von
                                    #57

                                    @Snapergy Danke für den Tipp, hab ich probiert. Ich konnte es nun etwas eingrenzen. Wenn ich bei countcols 2 eingebe, klappt alles:
                                    ffb42632-42a4-4ba4-8cc4-930bef54602f-grafik.png
                                    Sobald ich es auf 3 ändere, weil ich ja den Warntext sehen will, schaut es dann so aus:
                                    7c84eb03-f7f6-4936-a6d1-8763d9a573f7-grafik.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • ScroungerS Scrounger

                                      Bar Chart Widget

                                      table.giftable_html_widget_example.gif

                                      Sämtliche Fragen zu Einstellungen (VIS Editor, Bedienung, JSON strings, etc.) des Widgets hier stellen

                                      Das ist sicher besser für die Übersichtlichkeit und Dokumentation.

                                      • Dokumentation
                                      • Online Beispiel

                                      Themen zu anderen Widgets findest du hier!

                                      P Offline
                                      P Offline
                                      PeterPan
                                      schrieb am zuletzt editiert von PeterPan
                                      #58

                                      @Scrounger Hallo,
                                      ich würde gerne einen Datenpunkt direkt in der Tabelle anzeigen lassen wollen. Über Beispiele habe ich für das Feld "Daten als JSON" zunächst das gefunden:

                                      "test": {
                                              "type" : "textfield",
                                      	"inputLayout": "solo",
                                      	"inputAlignment": "center",
                                      	"oid": "deconz.0.Sensors.20.battery"
                                      	},
                                      "test2": {
                                      	    "type": "html",
                                      

                                      Wie sähe der Punkt "oid" im Falle des Typs "html" aus?

                                      Es mag simpel sein, aber meine Kenntnisse sind so olaola ...

                                      Vielen Dank und Gruß

                                      ScroungerS 1 Antwort Letzte Antwort
                                      0
                                      • P PeterPan

                                        @Scrounger Hallo,
                                        ich würde gerne einen Datenpunkt direkt in der Tabelle anzeigen lassen wollen. Über Beispiele habe ich für das Feld "Daten als JSON" zunächst das gefunden:

                                        "test": {
                                                "type" : "textfield",
                                        	"inputLayout": "solo",
                                        	"inputAlignment": "center",
                                        	"oid": "deconz.0.Sensors.20.battery"
                                        	},
                                        "test2": {
                                        	    "type": "html",
                                        

                                        Wie sähe der Punkt "oid" im Falle des Typs "html" aus?

                                        Es mag simpel sein, aber meine Kenntnisse sind so olaola ...

                                        Vielen Dank und Gruß

                                        ScroungerS Offline
                                        ScroungerS Offline
                                        Scrounger
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #59

                                        @PeterPan sagte in Material Design Widgets: Table Widget:

                                        Wie sähe der Punkt "oid" im Falle des Typs "html" aus?

                                        z.B.

                                        "test2": {    
                                        	    	    "type": "<div>[#value]</div>",
                                        	    	    "oid": "mein.datenpunkt"
                                        

                                        https://github.com/Scrounger/ioBroker.vis-materialdesign#html

                                        <a href="https://github.com/Scrounger/ioBroker.linkeddevices">LinkedDevices Adapter</a>

                                        <a href="https://github.com/Scrounger/ioBroker.vis-materialdesign">Material Design Widgets</a>

                                        O 1 Antwort Letzte Antwort
                                        0
                                        • ScroungerS Scrounger

                                          @PeterPan sagte in Material Design Widgets: Table Widget:

                                          Wie sähe der Punkt "oid" im Falle des Typs "html" aus?

                                          z.B.

                                          "test2": {    
                                          	    	    "type": "<div>[#value]</div>",
                                          	    	    "oid": "mein.datenpunkt"
                                          

                                          https://github.com/Scrounger/ioBroker.vis-materialdesign#html

                                          O Online
                                          O Online
                                          Oli
                                          schrieb am zuletzt editiert von
                                          #60

                                          @Scrounger

                                          kann es sein, dass bei ausgeblendeter Spaltenüberschrift die gesetzte Spaltenbreite nicht berüsckichtigt wird?

                                          5cf9c5e1-f3ac-4f10-b0d0-c49b75c66237-image.png

                                          3f5b2c4d-3ca6-473b-b3c9-19affb30a378-image.png

                                          Gruß
                                          Oliver

                                          ScroungerS 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe