Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Projekt] Material Design CSS für ioBroker.vis

NEWS

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

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

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

[Projekt] Material Design CSS für ioBroker.vis

Geplant Angeheftet Gesperrt Verschoben Visualisierung
650 Beiträge 111 Kommentatoren 220.2k Aufrufe 68 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.
  • P Offline
    P Offline
    Pman
    schrieb am zuletzt editiert von
    #55

    Hier ein Wenig CSS, um das Yahoo Wetter Widget zu bändigen. Es gibt sicher noch Optimierungsbedarf.

    /* yahoo weather */
    .weatherFeed {
        -webkit-border-radius: 0px !important;
        -moz-border-radius: 0px !important;
        border-radius: 0px !important;
        color: #fff !important;
    }
    .weatherFeed .weatherCity,
    .weatherFeed .weatherForecastDay
    {
        opacity: 0.7;
    }
    .weatherFeed.ui-widget-content {
        border: 0px !important;
        background: none !important;
    }
    .weatherFeed .day ,.weatherFeed .night {
        border: 0px !important;
        background-color: transparent !important;
        color: inherit !important;
        line-height: 1 !important;
    }
    .weatherFeed .weatherForecastItem {
        background-color: transparent !important;
        -webkit-border-radius: 0px !important;
        -moz-border-radius: 0px !important;
        border-radius: 0px !important;
    }
    .weatherFeed .weatherLink, .weatherForecastItem {
        margin-top: 0.25em !important;
        text-align: left !important;
        line-height: 1.1 !important;
    }
    

    Und folgende Änderung habe ich am Slider vorgenommen, um beim Fokussieren diese blaue (bei Chrome mobile orange) Outline wegzubekommen.

    .mdui-slider .ui-slider-handle:focus{
        outline: none;
    }
    
    1 Antwort Letzte Antwort
    0
    • kmxakK Offline
      kmxakK Offline
      kmxak
      Most Active
      schrieb am zuletzt editiert von
      #56

      Moin,

      ich habe gerade in meinem einsteiger Workshop gelernt das man CSS auch über JS manipulieren kann.

      Ich würde gerne anstatt in jeder Page z.B mdui-teal-bg zu benutzen eine CSS Klasse mdui-custom-bg erstellen und diese dann je nach Wunsch per VIS manipulieren. Dropdown/Buttons mit hinterlegten Farben.

      Dann könnte ich in meiner SettingsPage den Hintergrund direkt im VIS ändern oder ihn sogar falls möglich per JS je nach Tageszeit o.ä steuern.

      Dazu habe ich bislang dank der Hilfe eines Freundes bislang folgendes realisiert:

      Widget

      ! ````
      [{"tpl":"tplHtml","data":{"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,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","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,"html":"\n\n"},"style":{"left":"329px","top":"128px"},"widgetSet":"basic"}]

      CSS
      
      >! ````
      .mdui-custom-bg{
          background-color: yellow;
      } 
      .mdui-custom-bg.rot{
          background-color: red;
      }
      .mdui-custom-bg.gruen{
          background-color: green;
      }
      .mdui-custom-bg.blau{
          background-color: blue;
      }
      

      Script

      ! ````
      function mdui_custom_bg_changer_red() {
      $('.mdui-custom-bg').removeClass('rot gruen blau').addClass('rot');
      }
      ! function mdui_custom_bg_changer_green() {
      $('.mdui-custom-bg').removeClass('rot gruen blau').addClass('gruen');
      }
      ! function mdui_custom_bg_changer_blue() {
      $('.mdui-custom-bg').removeClass('rot gruen blau').addClass('blau');
      }

      
      Das ganze ist sehr simpel gehalten. Mein Freund fragte warum die Farben alle mit !important eingefügt sind. Dies mussten wir entfernen damit es ging. Hat das einen Speziellen Grund?
      
      Falls Interesse besteht könnte man das auch noch fest ins Projekt einbauen.
      
      Die Farbe wird momentan immer auf die eingestellte Farbe beim neu laden zurück gesetzt aber das stört mich erst einmal nicht. Vielleicht hast du da ja eine Idee zu?

      Gruß Alex

      1 Antwort Letzte Antwort
      0
      • MeistertrM Offline
        MeistertrM Offline
        Meistertr
        Developer
        schrieb am zuletzt editiert von
        #57

        Mit meinem mir angeeignet Wissen durch dieses Projekt steht dort impotant damit sich die Farbe über die vom vis Editor gewählten Einstellungen legt ist halt wichtiger als die andere [emoji16]. So hab ich mir das erklärt. Wenn ich falsch liege, bitte gerne korrigieren…

        Gesendet von meinem Handy

        1 Antwort Letzte Antwort
        0
        • kmxakK Offline
          kmxakK Offline
          kmxak
          Most Active
          schrieb am zuletzt editiert von
          #58

          Ich konnte bislang noch keinen negativen effekt sehen durch das entfernen vom important bei den bg farben sowie manchen unterklassen

          Es ist bestimmt für manche sachen/widgets wichtig denke ich mir mal.

          Werde mich am WE mal weiter dran setzen und das ganze verfeinern. Vielleicht kann man ja die "Designfarbe" auch nicht nur im Vis ändern sondern sogar als JS. Machbar ist das wohl. Hätte Abend gerne das Blaue weg und eher ins rötliche/orange und morgens blau.

          Muss ich mal weiter sehen. Der Anfang ist ja da. 8-)

          Gruß Alex

          1 Antwort Letzte Antwort
          0
          • UhulaU Offline
            UhulaU Offline
            Uhula
            schrieb am zuletzt editiert von
            #59

            Was im CSS eine höhere Selektivität hat, gewinnt. Insbesondere Angaben direkt im HTML Elementhaben eine hohe Selektivität; ioBroker.vis rendert dieses häufig. Solche Element-Style-Angaben kann man mit "normalen" CSS nicht überschreiben, es sei denn, man ordnet ihnen das Schlüsselwort "!important" zu.

            Im MD CSS ist das sicher nicht für jedes Widget notwendig, aber um die Granularität nicht unnötig zu erhöhen, habe ich da nicht nach einzelnen Widgets unterschieden, sondern hart "!important" gesetzt.

            –---

            Wenn du lediglich die Hintergrundfarbe ändern möchtest, also morgens "mdui-blue-bg" und abends "mdui-brown-bg" dann bekommst du das auch ganz ohne Javascript und CSS-Manipulation hin.

            Nutze einfach "mdui-{javascript.0.mybackground}-bg" in der CSS Zuweisung und fülle deine javascript.0.mybackground Variable (die du natürlich vorher in ioBroker anlegen musst) script-/zeitgesteuert mit "blue" bzw "brown". Die ioBrioker.vis Binding-Fähigkeiten sind immer wieder verblüffend.

            😉

            Wenn du ganz eigene Custom-Colors (die noch nicht im MD CSS drin sind), nutzen willst, füge die einfach in der CSS hinzu (überall wo zB "mdui-teal" verwendet wird, die Zeilen kopieren und durch "mdui-mycolor1" usw ersetzen) und setze in deiner javascript.0.mybackground Variablen "mycolor1".

            Uhula - Leise und Weise
            Ex: ioBroker on Gigabyte NUC Proxmox

            1 Antwort Letzte Antwort
            0
            • kmxakK Offline
              kmxakK Offline
              kmxak
              Most Active
              schrieb am zuletzt editiert von
              #60

              ok danke mal wieder viel zu kompliziert gedacht 8-)

              Läuft 8-)

              Gruß Alex

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                MaikB85
                schrieb am zuletzt editiert von
                #61

                Das ist richtig Hammer geworden! Vielen Dank dafür!

                Bin gerade dabei das Design als Grundlage für meine zwecke anzupassen. Ein Problem habe ich da gerade. Ich möchte in die linke Navigation mehr Elemente einfügen. Ich verstehe nur nicht so ganz wie ich das machen muss. Hab das View "lnav" geöffnet nur verstehe ich da die angaben für Left und Top nicht ganz. Möchte dazwischen noch Punkte einfügen. Wie mache ich das?

                Dann ist mir noch aufgefallen, dass bei den Slidern der Abschluss nicht sauber verdeckt wird von dem Button (siehe Bild). Ist nur ne Kleinigkeit ich weiß aber wäre schön wenn man das korrigieren könnte 🙂

                Gruß Maik
                1528_slider.png

                1 Antwort Letzte Antwort
                0
                • N Offline
                  N Offline
                  noxx
                  schrieb am zuletzt editiert von
                  #62

                  ist eigentlich sowas wie ein kleines Video-Tut für Anfänger in Planung?

                  Gruß

                  1 Antwort Letzte Antwort
                  0
                  • Z Offline
                    Z Offline
                    zahnheinrich
                    schrieb am zuletzt editiert von
                    #63

                    Ich bin auch total begeistert!!!

                    Vielen Dank für das tolle tool!

                    Ich habe folgende Frage:

                    Im content habe ich diverse cards positioniert.

                    Ist es möglich, einzelne Gruppen auf einer page zu bilden, also z.B. die cards für Heizung, Licht, Verschluss etc. in Untergruppen anzuordnen, so daß sie in abgegrenzten Bereichen der page gruppiert erscheinen (evtl. optisch abgegrenzt durch einen eigenen Rahmen)?

                    Dadurch wäre die Übersicht besser und ich könnte diese Gruppierungen leichter und übersichtlicher in unterschiedlichen Views verwenden.

                    Ich habe z.B. Anordnungen nach Etagen und Gewerken. So könnte ich z.B. die Thermostate und Lichter jeweils sortiert in der page Etage sowie in der page Licht übersichtlich darstellen.

                    Das responsive Design sollte natürlich erhalten bleiben!

                    Güße und einen schönes Restwochenende

                    Ulrich

                    MfG Ulrich

                    1 Antwort Letzte Antwort
                    0
                    • UhulaU Offline
                      UhulaU Offline
                      Uhula
                      schrieb am zuletzt editiert von
                      #64

                      @zahnheinrich:

                      Ja, das kannst du erreichen in dem du die cards nicht direkt im content einfügst, sondern in einen neuen, eigenen View, den du evtl "groupWohnzimmer" nennst. Dort fügst du dann entsprechend viele "basic-view in widgets" ein, die alle "mdui-float mdui-tile" (oder was du möchtest bekommen). Jedem Widget ordnest du dann den gewünschten card-View zu.

                      Im content-View, wo du normaler in die "basic-view in widgets" die cards abrufts, nutzt du dann die group-Views.

                      Hinweis: Responsive bleibt erhalten, aber nur für die "basic-view in widgets" des content-Views, NICHT für die in den group-Views (geht nur, wenn du die width der group-View in % angibst).

                      @noxx:

                      Ein Video-Tutorial habe ich derzeit nicht geplant (dann würde ich lieber ein MD-vis Adapter machen …). Durch die MD-Demo bzw. MD-Simpel Projekte, die man als Basis eines eigenen Projekts nehmen sollte und dem PDF-Handbuch mit der Beschreibung der "mdui-" CSS sollte man aber auch so voran kommen. Wenn nicht, hier im Forum fragen.

                      @MaikB85:

                      Das mit den left/top Angaben im lnav kann schon verwirren, da es durch die "mdui-float"-Angabe im CSS nicht berücksichtigt wird. Erst durch die float-Angabe ist eine mehrgliedrige Menü-Struktur möglich. Das Einfügen neuer Buttons führt immer dazu, dass diese am Ende angefügt werden (hier zählt die Erstellungsreihenfolge; kann ich nicht beeinflussen). Heißt, du musst über "Widgets exportieren" / "Lösche" / "Widgets importieren" selbst auf die korrekte Erstellungsreihenfolge achten.

                      ODER Jemand baut z.B. in das Widget-Kontextmenü vom ioBroker.vis ein, dass man ein Widget in seiner Erstellungsreihenfolge nach oben/unten schieben kann - das wäre dann eleganter, oder bluefox? 😉

                      Uhula - Leise und Weise
                      Ex: ioBroker on Gigabyte NUC Proxmox

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        MaikB85
                        schrieb am zuletzt editiert von
                        #65

                        Okay danke dann weiß ich schonmal was ich machen muss [emoji6]

                        Gesendet von meinem SM-G925F mit Tapatalk

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          podruzjasne
                          schrieb am zuletzt editiert von
                          #66

                          @MaikB85:

                          Okay danke dann weiß ich schonmal was ich machen muss [emoji6]

                          Gesendet von meinem SM-G925F mit Tapatalk ` Vielen Dank für die Tips!

                          Werde ich befolgen [emoji106]

                          Gesendet von meinem SM-J700H mit Tapatalk

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            MaikB85
                            schrieb am zuletzt editiert von
                            #67

                            So langsam nimmt es Gestalt an 😄

                            Richtig geil was du da gemacht hat! Muss ich einfach nochmal sagen. Damit kann man sich was richtig gutes zusammenbauen!

                            Ich hätte da noch eine kleine Frage an html/CSS spezialisten. Ich hab mir ein Widget für die MAX!-Heizkörperthermostate "designed". Da hab ich Statussymbole mit eingefügt jeweils über "basic BOOL HTML"-Elemente. Ich würde gerne z.B. beim Batteriestatus das Symbol zusätzlich blinken lassen genauso wie in dem CSS-Stil "mdui-red-flash". Das soll aber nur Blinken wenn der Variablenzustand TRUE ist. Ich füge jeweils für die Zustände TRUE bzw FALSE verschiedene HTML Codes ein:

                            Für FALSE:

                            ![](/vis.0/Material/images/ic_battery_full_white_48dp.png)
                            

                            Für TRUE:

                            ![](/vis.0/Material/images/ic_battery_charging_20_white_48dp.png)
                            

                            Wie kann ich bei TRUE jetzt zusätzlich dieses flashing hinzufügen?

                            Im Anhang ein Bild für bessere Vorstellung

                            Gruß Maik
                            1528_screenshot.png

                            1 Antwort Letzte Antwort
                            0
                            • kmxakK Offline
                              kmxakK Offline
                              kmxak
                              Most Active
                              schrieb am zuletzt editiert von
                              #68

                              ich habe einfach ein 2. rot blinkendes mit Sichtbarkeit versehen und exakt an die selbe stelle gesetzt.

                              Also wenn Zustand batlow true dann sichtbar.

                              Gruß Alex

                              1 Antwort Letzte Antwort
                              0
                              • M Offline
                                M Offline
                                MaikB85
                                schrieb am zuletzt editiert von
                                #69

                                @kmxak:

                                ich habe einfach ein 2. rot blinkendes mit Sichtbarkeit versehen und exakt an die selbe stelle gesetzt.

                                Also wenn Zustand batlow true dann sichtbar. `

                                Okay an sowas ähnliches habe ich auch schon gedacht, dachte nur vielleicht gibt es auch eine "elegantere" Variante direkt über den HTML Code.

                                1 Antwort Letzte Antwort
                                0
                                • blauholstenB Offline
                                  blauholstenB Offline
                                  blauholsten
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #70

                                  @MaikB85:

                                  So langsam nimmt es Gestalt an 😄

                                  Richtig geil was du da gemacht hat! Muss ich einfach nochmal sagen. Damit kann man sich was richtig gutes zusammenbauen!

                                  Ich hätte da noch eine kleine Frage an html/CSS spezialisten. Ich hab mir ein Widget für die MAX!-Heizkörperthermostate "designed". Da hab ich Statussymbole mit eingefügt jeweils über "basic BOOL HTML"-Elemente. Ich würde gerne z.B. beim Batteriestatus das Symbol zusätzlich blinken lassen genauso wie in dem CSS-Stil "mdui-red-flash". Das soll aber nur Blinken wenn der Variablenzustand TRUE ist. Ich füge jeweils für die Zustände TRUE bzw FALSE verschiedene HTML Codes ein:

                                  Für FALSE:

                                  ![](/vis.0/Material/images/ic_battery_full_white_48dp.png)
                                  

                                  Für TRUE:

                                  ![](/vis.0/Material/images/ic_battery_charging_20_white_48dp.png)
                                  

                                  Wie kann ich bei TRUE jetzt zusätzlich dieses flashing hinzufügen?

                                  Im Anhang ein Bild für bessere Vorstellung

                                  Gruß Maik `
                                  Kannst du das Widget von deinem Thermostat posten? Gefällt mir gut.

                                  Im übrigen, könntest du das blinken mittels JS setzen

                                  Entwickler vom: - Viessman Adapter
                                  - Alarm Adapter

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Online
                                    S Online
                                    SchuetzeSchulz
                                    schrieb am zuletzt editiert von
                                    #71

                                    @Uhula:

                                    dann würde ich lieber ein MD-vis Adapter machen … `

                                    DAS wäre doch eine absolut prima Idee, auch wenn es wahrscheinlich eine Menge Aufwand wäre,

                                    aber es würde meiner Meinung nach die Benutzung wesentlich vereinfachen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • Z Offline
                                      Z Offline
                                      zahnheinrich
                                      schrieb am zuletzt editiert von
                                      #72

                                      @Uhula:

                                      @zahnheinrich:

                                      Ja, das kannst du erreichen in dem du die cards nicht direkt im content einfügst, sondern in einen neuen, eigenen View, den du evtl "groupWohnzimmer" nennst. Dort fügst du dann entsprechend viele "basic-view in widgets" ein, die alle "mdui-float mdui-tile" (oder was du möchtest bekommen). Jedem Widget ordnest du dann den gewünschten card-View zu.

                                      Im content-View, wo du normaler in die "basic-view in widgets" die cards abrufts, nutzt du dann die group-Views.

                                      Hinweis: Responsive bleibt erhalten, aber nur für die "basic-view in widgets" des content-Views, NICHT für die in den group-Views (geht nur, wenn du die width der group-View in % angibst).

                                      Danke funktioniert!

                                      Ulrich

                                      MfG Ulrich

                                      1 Antwort Letzte Antwort
                                      0
                                      • UhulaU Offline
                                        UhulaU Offline
                                        Uhula
                                        schrieb am zuletzt editiert von
                                        #73

                                        @MaikB85

                                        Wenn du bei TRUE schon eigenen HTML-Code angibst, dann kannst du dort auch sehr simpel ein "Blinken" mit angeben. Du musst lediglich das class-Attribut mit der/den entsprechenden CSS Klasse(n) mit aufführen:

                                        class="mdui-red-blink">

                                        Auch mehrere CSS Klassen können angegeben werden:

                                        class="mdui-red-flash mdui-yellow-bg">

                                        Uhula - Leise und Weise
                                        Ex: ioBroker on Gigabyte NUC Proxmox

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          MaikB85
                                          schrieb am zuletzt editiert von
                                          #74

                                          Cool danke genau sowas meine ich. Wusste nur nicht wie man das da mit rein schreibt.

                                          Gesendet von meinem SM-G925F mit Tapatalk

                                          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

                                          425

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe