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
    1.9k

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

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.
  • ScroungerS Offline
    ScroungerS Offline
    Scrounger
    Developer
    schrieb am zuletzt editiert von Scrounger
    #1

    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!

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

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

    sigi234S P 5 Antworten Letzte Antwort
    1
    • ScroungerS Offline
      ScroungerS Offline
      Scrounger
      Developer
      schrieb am zuletzt editiert von Scrounger
      #2

      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"}]
      

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

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

      ub.privatU F R 0 4 Antworten Letzte Antwort
      0
      • M Offline
        M Offline
        Machinima
        schrieb am zuletzt editiert von Machinima
        #3

        Momentan bietet ja das Widget einen rein lesenden Zugriff auf die Werte. Ist das möglich, bei boolschen Werten ein Switch-Schalter einzubauen, sodass man Datenpunkte direkt aus dem Widget heraus steuern kann?

        Vergiss die Frage. Das List Widget bietet genau das, was ich suche :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"}]
          

          ub.privatU Offline
          ub.privatU Offline
          ub.privat
          schrieb am zuletzt editiert von
          #4

          @Scrounger

          Hallo,

          ich mal wieder,,,
          Kämpfe mich gerade mit deinem(deinen) Scripten ab.
          Weder beim ical2TableWidget, noch beim ical2CalendarWidget wird unter 0_userdata.0 ein entsprechender Datenpunkt angelegt.
          Mehr gibt's da nicht:
          17400570-ed32-4cc3-8e9d-061a30350966-grafik.png

          Habe bereits die entsprechenden Scripte im root oder common-Verzeichnis angelegt - ohne Erfolg.
          Es werden im debug-Modus auch keine Fehler ausgegeben.
          09512663-07f6-41a6-a14d-171d06a838c1-grafik.png

          2b184c22-4368-47b9-af88-6858c6508286-grafik.png

          Gibt's da noch einen "Trick" oder etwa szu beachten???
          Bin über jeden Hinweis dankbar, denn nur so lernt man...

          ScroungerS 1 Antwort Letzte Antwort
          0
          • ub.privatU ub.privat

            @Scrounger

            Hallo,

            ich mal wieder,,,
            Kämpfe mich gerade mit deinem(deinen) Scripten ab.
            Weder beim ical2TableWidget, noch beim ical2CalendarWidget wird unter 0_userdata.0 ein entsprechender Datenpunkt angelegt.
            Mehr gibt's da nicht:
            17400570-ed32-4cc3-8e9d-061a30350966-grafik.png

            Habe bereits die entsprechenden Scripte im root oder common-Verzeichnis angelegt - ohne Erfolg.
            Es werden im debug-Modus auch keine Fehler ausgegeben.
            09512663-07f6-41a6-a14d-171d06a838c1-grafik.png

            2b184c22-4368-47b9-af88-6858c6508286-grafik.png

            Gibt's da noch einen "Trick" oder etwa szu beachten???
            Bin über jeden Hinweis dankbar, denn nur so lernt man...

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

            @ub-privat
            Du musst den Ziel Datenpunkt selbst anlegen.
            Und ggf. im Skript anpassen falls du die Struktur änderst

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

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

            ub.privatU 1 Antwort Letzte Antwort
            0
            • ScroungerS Scrounger

              @ub-privat
              Du musst den Ziel Datenpunkt selbst anlegen.
              Und ggf. im Skript anpassen falls du die Struktur änderst

              ub.privatU Offline
              ub.privatU Offline
              ub.privat
              schrieb am zuletzt editiert von
              #6

              @Scrounger

              Danke für deine Antwort,
              Ändern werde ich nichts, kämpfe mich quasi durch...
              Hier der DP
              2be2103b-0fda-47c1-be91-6fa0b65a311b-grafik.png
              Bin mir nur nicht bei den Einstellungen sicher:
              4ab2b400-023f-41cd-b623-fccc0a6b9aea-grafik.png
              Typ = state
              Rolle = json

              Für das Calendar-Widget ist der DP im Script für mich verständlich.
              fe0ae89a-fe7b-41cd-b0b1-0bb4abc9db6e-grafik.png

              Aber im Script für Table einfach nur ical???
              d097821e-fe61-4386-8c39-8d4e51cb2639-grafik.png
              Hier wird nur auf den Ordner iCal verwiesen?

              ScroungerS 1 Antwort Letzte Antwort
              0
              • ub.privatU ub.privat

                @Scrounger

                Danke für deine Antwort,
                Ändern werde ich nichts, kämpfe mich quasi durch...
                Hier der DP
                2be2103b-0fda-47c1-be91-6fa0b65a311b-grafik.png
                Bin mir nur nicht bei den Einstellungen sicher:
                4ab2b400-023f-41cd-b623-fccc0a6b9aea-grafik.png
                Typ = state
                Rolle = json

                Für das Calendar-Widget ist der DP im Script für mich verständlich.
                fe0ae89a-fe7b-41cd-b0b1-0bb4abc9db6e-grafik.png

                Aber im Script für Table einfach nur ical???
                d097821e-fe61-4386-8c39-8d4e51cb2639-grafik.png
                Hier wird nur auf den Ordner iCal verwiesen?

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

                @ub-privat
                Ich hab den halt 0_userdata.0.ical genannt, kannst den benennen wie du willst.
                Btw das ist kein Ordner, weil es gibt keine ordner in iob.

                <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
                • B Nicht stören
                  B Nicht stören
                  bommel_030
                  schrieb am zuletzt editiert von bommel_030
                  #8

                  @Scrounger
                  Spiele gerade mit deinem Tabellenwidget und einer JSON-Liste aus dem fb-checkpresence Adapter.
                  Dabei kamen mir folgende Fragen:

                  1. Ist es möglich die Spaltenüberschrift, die im JSON ja vorhanden ist, automatisch in die Felder Beschriftung zu übernehmen? Gerne optional, wenn man den Titel mal ändern will.
                  2. Kannst du analog zum HTML Widget Titel und Untertitel hinzufügen?
                  3. Ich habe eine Spalte mit IP Adressen, wobei die erste Blöcke alle identisch sind. Beim sortieren ist bei ihm die Reihenfolge xxx.xxx.xxx.1, xxx.xxx.xxx.100, xxx.xxx.xxx.11. Grundsätzlich verständlich, weil für ihn die 0 vor der 1 kommt. Schöner wäre natürlich .1, .11, .100. Kann man das irgendwie anpassen?
                  4. Wenn ich die Höhe der Tabelle festlege und in Y-Richtung scrolle, kann man die Überschriften fixieren? Quasi wie Wiederholbereich / Fenster fixieren in der Office Welt.
                  ScroungerS 2 Antworten Letzte Antwort
                  0
                  • B bommel_030

                    @Scrounger
                    Spiele gerade mit deinem Tabellenwidget und einer JSON-Liste aus dem fb-checkpresence Adapter.
                    Dabei kamen mir folgende Fragen:

                    1. Ist es möglich die Spaltenüberschrift, die im JSON ja vorhanden ist, automatisch in die Felder Beschriftung zu übernehmen? Gerne optional, wenn man den Titel mal ändern will.
                    2. Kannst du analog zum HTML Widget Titel und Untertitel hinzufügen?
                    3. Ich habe eine Spalte mit IP Adressen, wobei die erste Blöcke alle identisch sind. Beim sortieren ist bei ihm die Reihenfolge xxx.xxx.xxx.1, xxx.xxx.xxx.100, xxx.xxx.xxx.11. Grundsätzlich verständlich, weil für ihn die 0 vor der 1 kommt. Schöner wäre natürlich .1, .11, .100. Kann man das irgendwie anpassen?
                    4. Wenn ich die Höhe der Tabelle festlege und in Y-Richtung scrolle, kann man die Überschriften fixieren? Quasi wie Wiederholbereich / Fenster fixieren in der Office Welt.
                    ScroungerS Offline
                    ScroungerS Offline
                    Scrounger
                    Developer
                    schrieb am zuletzt editiert von Scrounger
                    #9

                    @bommel_030 sagte in Material Design Widgets: Table Widget:

                    1. Ist es möglich die Spaltenüberschrift, die im JSON ja vorhanden ist, automatisch in die Felder Beschriftung zu übernehmen? Gerne optional, wenn man den Titel mal ändern will.

                    Ja das geht wenn du deinen json string dynamisch per skript erstellst.

                    1. Kannst du analog zum HTML Widget Titel und Untertitel hinzufügen?

                    Versteh ich nicht, Beispiel am besten nen Scrennshot oder Mockup.

                    1. Ich habe eine Spalte mit IP Adressen, wobei die erste Blöcke alle identisch sind. Beim sortieren ist bei ihm die Reihenfolge xxx.xxx.xxx.1, xxx.xxx.xxx.100, xxx.xxx.xxx.11. Grundsätzlich verständlich, weil für ihn die 0 vor der 1 kommt. Schöner wäre natürlich .1, .11, .100. Kann man das irgendwie anpassen?

                    Sorry das ist zu speziell. Das kannst du auch über dynamisch erzeugten json string per skript realisieren, musst dann halt die .00x hinzufügen.

                    1. Wenn ich die Höhe der Tabelle festlege und in Y-Richtung scrolle, kann man die Überschriften fixieren? Quasi wie Wiederholbereich / Fenster fixieren in der Office Welt.

                    Tja das hätte ich auch gerne ;)
                    Hab aber leider keine Ahnung wie man das mit ner <table> per css realisiert.

                    <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
                    • B Nicht stören
                      B Nicht stören
                      bommel_030
                      schrieb am zuletzt editiert von
                      #10

                      @Scrounger
                      Meine Programmierkenntnisse sind größtenteils copy&paste und try&error... Kann daher sein, dass meine Gedankengänge aus Entwicklersicht sinnfrei sind...

                      1. Ich habe einen JSON den ich mir selber per Skript erstelle:
                      [{"Raum":"Wohnzimmer","Temperatur":"20.4 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":["geschlossen","\ngeschlossen"],"Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"Schlafzimmer","Temperatur":"19.8 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"K1","Temperatur":"20.3 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"K2","Temperatur":"20.6 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."}]
                      

                      Und einen der aus dem fb-checkpresence kommt:

                      [{"Name":"M","Active":"false","Kommt":"10.02.2020 07:16:33","Geht":"11.02.2020 07:26:33"},{"Name":"F","Active":"false","Kommt":"11.02.2020 05:01:33","Geht":"11.02.2020 06:33:33"},{"Name":"K1","Active":"false","Kommt":"11.02.2020 06:00:33","Geht":"11.02.2020 07:52:33"}]
                      

                      Bei beiden ist nach meinem Verständnis die Spaltenüberschrift drin, wird aber nicht übernommen.

                      1. Mal so eben zusammengeklimpert...
                        Im HTML Widget habe ich die Möglichkeit Titel, Untertitel und Inhalt einzugeben. Beim Tabellenwidget quasi analog, nur statt dem HTML-Inhalt die Tabelle.
                        Und dann noch die Option nur der Tabelle das Scrollen in y-Richtung erlauben...


                        html.png
                        table.png

                      2. Ist klar, kann ich mit leben.

                      3. Wenn man quasi ein Widget wie unter 2) hat und sozusagen die Tabelle zweimal drin hat, die obere nur die Zeilenüberschriften, die untere nur den Tabelleninhalt ohne Zeilenüberschriften. Wenn die Spaltenbreiten bei beiden dann gekoppelt sind, könnte ich die Daten in der unteren scrollen und die obere behält die Überschriften an der fixen Position.


                        freeze.png

                      ScroungerS 1 Antwort Letzte Antwort
                      0
                      • B bommel_030

                        @Scrounger
                        Meine Programmierkenntnisse sind größtenteils copy&paste und try&error... Kann daher sein, dass meine Gedankengänge aus Entwicklersicht sinnfrei sind...

                        1. Ich habe einen JSON den ich mir selber per Skript erstelle:
                        [{"Raum":"Wohnzimmer","Temperatur":"20.4 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":["geschlossen","\ngeschlossen"],"Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"Schlafzimmer","Temperatur":"19.8 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"K1","Temperatur":"20.3 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."},{"Raum":"K2","Temperatur":"20.6 °C","Luftfeuchte":"62%","Ventilstand":"0%","Fenster":"geschlossen","Lüften":true,"Zustand":"Bedingungen für Entfeuchten, Kühlen und Auskühlschutz erfüllt."}]
                        

                        Und einen der aus dem fb-checkpresence kommt:

                        [{"Name":"M","Active":"false","Kommt":"10.02.2020 07:16:33","Geht":"11.02.2020 07:26:33"},{"Name":"F","Active":"false","Kommt":"11.02.2020 05:01:33","Geht":"11.02.2020 06:33:33"},{"Name":"K1","Active":"false","Kommt":"11.02.2020 06:00:33","Geht":"11.02.2020 07:52:33"}]
                        

                        Bei beiden ist nach meinem Verständnis die Spaltenüberschrift drin, wird aber nicht übernommen.

                        1. Mal so eben zusammengeklimpert...
                          Im HTML Widget habe ich die Möglichkeit Titel, Untertitel und Inhalt einzugeben. Beim Tabellenwidget quasi analog, nur statt dem HTML-Inhalt die Tabelle.
                          Und dann noch die Option nur der Tabelle das Scrollen in y-Richtung erlauben...


                          html.png
                          table.png

                        2. Ist klar, kann ich mit leben.

                        3. Wenn man quasi ein Widget wie unter 2) hat und sozusagen die Tabelle zweimal drin hat, die obere nur die Zeilenüberschriften, die untere nur den Tabelleninhalt ohne Zeilenüberschriften. Wenn die Spaltenbreiten bei beiden dann gekoppelt sind, könnte ich die Daten in der unteren scrollen und die obere behält die Überschriften an der fixen Position.


                          freeze.png

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

                        @bommel_030 sagte in Material Design Widgets: Table Widget:

                        Bei beiden ist nach meinem Verständnis die Spaltenüberschrift drin, wird aber nicht übernommen.

                        Spalten Überschrift wird nicht aus dem JSON übernommen, sondern muss per Editor konfiguriert werden.

                        1. Mal so eben zusammengeklimpert...
                          Im HTML Widget habe ich die Möglichkeit Titel, Untertitel und Inhalt einzugeben. Beim Tabellenwidget quasi analog, nur statt dem HTML-Inhalt die Tabelle.
                          Und dann noch die Option nur der Tabelle das Scrollen in y-Richtung erlauben...

                          html.png
                          table.png

                        Achso du meinst das Html Card Widget und nicht das Html Widget.
                        Nimm das Html Card Widget und leg die Tabelle drüber, dann hast titel, Image, etc. also genau das was du suchst.

                        1. Wenn man quasi ein Widget wie unter 2) hat und sozusagen die Tabelle zweimal drin hat, die obere nur die Zeilenüberschriften, die untere nur den Tabelleninhalt ohne Zeilenüberschriften. Wenn die Spaltenbreiten bei beiden dann gekoppelt sind, könnte ich die Daten in der unteren scrollen und die obere behält die Überschriften an der fixen Position.

                          freeze.png

                        ist ne Möglichkeit, aber dann funktioniert das sortieren halt nicht.

                        <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
                        • 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!

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

                          @Scrounger

                          Hallo, kann ich die Anzahl der Zeilen begrenzen?

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

                          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!

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

                            @Scrounger

                            Hallo, noch immer weis ich nicht wie ich die Reihenfolge der Col ändere?
                            (Objektname zum sortieren?)

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

                            1 Antwort Letzte Antwort
                            0
                            • ScroungerS Offline
                              ScroungerS Offline
                              Scrounger
                              Developer
                              schrieb am zuletzt editiert von
                              #14

                              @sigi234 sagte in Material Design Widgets: Table Widget:

                              @Scrounger

                              Hallo, kann ich die Anzahl der Zeilen begrenzen?

                              @sigi234 sagte in Material Design Widgets: Table Widget:

                              @Scrounger

                              Hallo, noch immer weis ich nicht wie ich die Reihenfolge der Col ändere?
                              (Objektname zum sortieren?)

                              Geht beides indem du die Reihenfolge im json Objekt änderst und die Anzahl der Objekte dort begrenzt.

                              Beispiel Ausgangssituation

                              [
                              	{
                              		"img": "/vis.0/myImages/erlebnis_50.png",
                              		"name": "Empire",
                              		"betriebszeit": "4h 06m",
                              		"funk": "5G",
                              		"ip": "10.0.0.1"
                              	},
                              	{
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Handy",
                              		"betriebszeit": "13m",
                              		"funk": "5G",
                              		"ip": "10.0.0.2"
                              	},
                              	{
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Harmony Hub - Wohnzimmer",
                              		"betriebszeit": "18T 07h 21m",
                              		"funk": "2G",
                              		"ip": "10.0.0.3"
                              	},
                              	{
                              		"img": "/vis.0/myImages/erlebnis_25.png",
                              		"name": "MusicCast - Esszimmer (WX-030)",
                              		"betriebszeit": "1h 57m",
                              		"funk": "2G",
                              		"ip": "10.0.0.4"
                              	},
                              	{
                              		"img": "/vis.0/myImages/erlebnis_75.png",
                              		"name": "MusicCast - K�che (ISX-18D)",
                              		"betriebszeit": "4h 10m",
                              		"funk": "2G",
                              		"ip": "10.0.0.5"
                              	}
                              ]
                              

                              geänderte Reihenfolge:

                              [
                              	{
                              		"funk": "5G",
                              		"img": "/vis.0/myImages/erlebnis_50.png",
                              		"name": "Empire",
                              		"betriebszeit": "4h 06m",
                              		"ip": "10.0.0.1"
                              	},
                              	{
                              		"funk": "5G",
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Handy",
                              		"betriebszeit": "13m",
                              		"ip": "10.0.0.2"
                              	},
                              	{
                              		"funk": "2G",
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Harmony Hub - Wohnzimmer",
                              		"betriebszeit": "18T 07h 21m",
                              		"ip": "10.0.0.3"
                              	},
                              	{
                              		"funk": "2G",
                              		"img": "/vis.0/myImages/erlebnis_25.png",
                              		"name": "MusicCast - Esszimmer (WX-030)",
                              		"betriebszeit": "1h 57m",
                              		"ip": "10.0.0.4"
                              	},
                              	{
                              		"funk": "2G",
                              		"img": "/vis.0/myImages/erlebnis_75.png",
                              		"name": "MusicCast - K�che (ISX-18D)",
                              		"betriebszeit": "4h 10m",
                              		"ip": "10.0.0.5"
                              	}
                              ]
                              

                              auf drei Zeilen bergrenzt

                              [
                              	{
                              		"funk": "5G",
                              		"img": "/vis.0/myImages/erlebnis_50.png",
                              		"name": "Empire",
                              		"betriebszeit": "4h 06m",
                              		"ip": "10.0.0.1"
                              	},
                              	{
                              		"funk": "5G",
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Handy",
                              		"betriebszeit": "13m",
                              		"ip": "10.0.0.2"
                              	},
                              	{
                              		"funk": "2G",
                              		"img": "/vis.0/myImages/erlebnis_100.png",
                              		"name": "Harmony Hub - Wohnzimmer",
                              		"betriebszeit": "18T 07h 21m",
                              		"ip": "10.0.0.3"
                              	}
                              ]
                              

                              <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
                                calliou1234
                                schrieb am zuletzt editiert von
                                #15

                                Hallo Zusammen,

                                ich baue mir in einem Skript ein JSON zusammen.

                                Nun würde ich gerne einzelne Felder in unterschiedlichen Farben in Anhängigkeit eines Objekt anzeigen lassen.
                                Kann man dies mit einbauen? Wenn ja wie?

                                Aktuell zeige ich den Wert in einem html_Basic an und unter Farbe mit dem Binding

                                {co2:netatmo.0.Indoor.Indoor.CO2.CO2; co2 <= 1000 ? "lime" : co2 <= 1300 ? "orange" : "red"}

                                Grüße
                                Thomas

                                :mrgreen:

                                liv-in-skyL 1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  calliou1234
                                  schrieb am zuletzt editiert von
                                  #16

                                  Hallo,

                                  ich habe noch ein Thema wo ich Hilfe bräuchte.

                                  Ich möchte in der 2. Spalte auch ein Bild platzieren.

                                  Nur leider funktioniert das nicht.

                                  Es wird immer nur ein bild in der ersten Spalte angezeigt.
                                  Wenn ich das Bild für die 2. Spalte in das JSON hänge wird es in der ersten angezeigt.

                                  Mein JSON sieht so aus:

                                  [
                                  {"img":"/vis.0/main/img/icons8-Thermometer-48.png",
                                  "img":"/vis.0/Materialicons/baseline_trending_up_white_18dp.png"
                                  }
                                  ]

                                  Grüße

                                  :mrgreen:

                                  ScroungerS 1 Antwort Letzte Antwort
                                  0
                                  • C calliou1234

                                    Hallo,

                                    ich habe noch ein Thema wo ich Hilfe bräuchte.

                                    Ich möchte in der 2. Spalte auch ein Bild platzieren.

                                    Nur leider funktioniert das nicht.

                                    Es wird immer nur ein bild in der ersten Spalte angezeigt.
                                    Wenn ich das Bild für die 2. Spalte in das JSON hänge wird es in der ersten angezeigt.

                                    Mein JSON sieht so aus:

                                    [
                                    {"img":"/vis.0/main/img/icons8-Thermometer-48.png",
                                    "img":"/vis.0/Materialicons/baseline_trending_up_white_18dp.png"
                                    }
                                    ]

                                    Grüße

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

                                    @calliou1234

                                    Das Objekt darf nicht indentische namen bei der property haben, so geht es:

                                    [
                                    	{
                                    		"img": "/vis.0/myImages/erlebnis_50.png",
                                    		"img2": "/vis.0/myImages/erlebnis_100.png"
                                    	}
                                    ]
                                    

                                    Und für Spalte einstellen das es ein Bild ist:
                                    62bc371d-3402-4eef-bb55-48a50c7634ef-grafik.png

                                    <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 calliou1234

                                      Hallo Zusammen,

                                      ich baue mir in einem Skript ein JSON zusammen.

                                      Nun würde ich gerne einzelne Felder in unterschiedlichen Farben in Anhängigkeit eines Objekt anzeigen lassen.
                                      Kann man dies mit einbauen? Wenn ja wie?

                                      Aktuell zeige ich den Wert in einem html_Basic an und unter Farbe mit dem Binding

                                      {co2:netatmo.0.Indoor.Indoor.CO2.CO2; co2 <= 1000 ? "lime" : co2 <= 1300 ? "orange" : "red"}

                                      Grüße
                                      Thomas

                                      liv-in-skyL Offline
                                      liv-in-skyL Offline
                                      liv-in-sky
                                      schrieb am zuletzt editiert von
                                      #18

                                      @calliou1234 sagte in Material Design Widgets: Table Widget:

                                      Nun würde ich gerne einzelne Felder in unterschiedlichen Farben in Anhängigkeit eines Objekt anzeigen lassen.
                                      Kann man dies mit einbauen? Wenn ja wie?

                                      @Scrounger

                                      ich würde gerne nochmal diese frage in den raum werfen - wie bekome ich dynamisch ein textfeld in einer bestimmten farbe (abhängig von einem wert im script)

                                      als beispiel

                                      Image 3.png

                                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                      ScroungerS 1 Antwort Letzte Antwort
                                      0
                                      • liv-in-skyL liv-in-sky

                                        @calliou1234 sagte in Material Design Widgets: Table Widget:

                                        Nun würde ich gerne einzelne Felder in unterschiedlichen Farben in Anhängigkeit eines Objekt anzeigen lassen.
                                        Kann man dies mit einbauen? Wenn ja wie?

                                        @Scrounger

                                        ich würde gerne nochmal diese frage in den raum werfen - wie bekome ich dynamisch ein textfeld in einer bestimmten farbe (abhängig von einem wert im script)

                                        als beispiel

                                        Image 3.png

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

                                        @liv-in-sky
                                        Du kannst HTML tags verwenden.
                                        Z.b. kannst du den Text in <font color="red">mein Text</font> packen, dann ist der Text rot.

                                        Und damit geht noch viel mehr, könntest so zb einen ganze Tabelle in eine einzelne Zelle packen.

                                        <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
                                        • Uwe ClementU Offline
                                          Uwe ClementU Offline
                                          Uwe Clement
                                          schrieb am zuletzt editiert von Uwe Clement
                                          #20

                                          @Scrounger

                                          Habe 2 Fragen:

                                          1. Frage wurde zwar schon oben gestellt, die Antwort darauf hat mir allerdings nicht geholfen: Wie schaffe ich es, dass die Überschriften aus dem JSON genommen werden (ich stelle das JSON per Datenpunkt bereit)
                                          2. Ist es möglich in einer Zelle auch einen Button/Bild darzustellen und beim Klick irgendwas (Event) ausgelöst wird, z.B. mein Shelly geschalten wird. Kann ich bestenfalls eine function aufrufen?
                                          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

                                          709

                                          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