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. [Projekt] MDCSS v2: Material Design CSS Version 2

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

[Projekt] MDCSS v2: Material Design CSS Version 2

Geplant Angeheftet Gesperrt Verschoben Visualisierung
material uivismaterial css
717 Beiträge 74 Kommentatoren 178.0k Aufrufe 77 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.
  • T tp1de

    Hallo,

    nach nun mehr 3 Jahren ioBroker und Vis möchte ich nun mein VIS neu aufstellen und mit MDCSS v2 realisieren. Also habe ich nun die ersten Versuche auf Basis des Simple Templates gestartet. Vieles habe ich prinzipiell verstanden und funktioniert auch. Ich habe aber noch ein paar grundsätzliche Verständnisfragen und ich hoffe, dass mir jemand aus dem Forum helfen kann:

    • Was muss ich als Auflösung / Raster /Rastermaß in den Views eintragen?
      Soweit ich das richtig sehe muss in der Auflösung etwas eingetragen sein, sonst ist keine Default-View wählbar - oder?
    • Wie kann ich die Darstellungsbreite der lnav-View beeinflussen (verkleinern)?
    • Bei höherer Auflösung (FHD / 4K) werden die Texte sehr klein. Wie kann ich die allgemeine Textgröße beeinflussen? Am Besten über ein Menü / Datenpunkte / in Abhängigkeit vom Endgerät
    • Bei mobilen Endgeräten (Handy / Tablet) findet ein Viewwechsel statt, wenn ich von Portrait- auf Landscape Modus wechsle, d.h. das Endgerät drehe. Wie kann ich das verhindern? Der aktive View soll aktiv bleiben.

    Diese Punkte würde ich gerne verstehen / anpassen bevor ich alle meine bisherigen Views in MDCSS umsetze. Ich hoffe auf Eure Unterstützung ....

    Dominik F.D Offline
    Dominik F.D Offline
    Dominik F.
    schrieb am zuletzt editiert von
    #602

    @tom57

    Du brauchst keine Auflösung eintragen, da du mit dem CSS das so einstellen kannst, dass sich die Widgets automatisch an die unterschiedlichen Auflösungen anpassen. Mit calc(100% - 32px) z.B. sind die Widgets immer 32px vom rechten Rand entfernt, egal was du für n Bildschirm nutzt.

    Raster ist dir selbst überlassen, ich nutze eins von 8. Die Defaultview legst du fest, in dem du das Häckchen bei default setzt neben der Auflösung. Ich habe z.B. keinen Haken dort, weil ich keine Defaultview brauche. Ich lasse mir alles in Chrome darstellen und habe dort die Startpage verlinkt so das ich immer zu dieser gelange.

    Mit dem Viewwechsel hab ich keine Ahnung, das passiert bei mir nicht wenn ich das Handy drehe.

    Die Größe kannst du mit mdui-scale verändern. Ich habe bei mir folgendes im CSS hinzugefügt:

    .mdui-scale-130 { transform: scale(1.3); transform-origin: 0% 0%; }
    .mdui-scale-140 { transform: scale(1.4); transform-origin: 0% 0%; }
    .mdui-scale-150 { transform: scale(1.5); transform-origin: 0% 0%; }
    .mdui-scale-160 { transform: scale(1.6); transform-origin: 0% 0%; }
    

    Das CSS von Uhula hat nur diese im Code drin:

    /* ----- Skalierungen ----- */
    
    .mdui-scale-010 { transform: scale(0.1); transform-origin: 0% 0%; }
    .mdui-scale-020 { transform: scale(0.2); transform-origin: 0% 0%; }
    .mdui-scale-025 { transform: scale(0.25); transform-origin: 0% 0%; }
    .mdui-scale-030 { transform: scale(0.30); transform-origin: 0% 0%; }
    .mdui-scale-033 { transform: scale(0.33); transform-origin: 0% 0%; }
    .mdui-scale-040 { transform: scale(0.40); transform-origin: 0% 0%; }
    .mdui-scale-050 { transform: scale(0.5); transform-origin: 0% 0%; }
    .mdui-scale-060 { transform: scale(0.6); transform-origin: 0% 0%; }
    .mdui-scale-066 { transform: scale(0.66); transform-origin: 0% 0%; }
    .mdui-scale-070 { transform: scale(0.7); transform-origin: 0% 0%; }
    .mdui-scale-075 { transform: scale(0.75); transform-origin: 0% 0%; }
    .mdui-scale-080 { transform: scale(0.8); transform-origin: 0% 0%; }
    .mdui-scale-090 { transform: scale(0.9); transform-origin: 0% 0%; }
    

    Diese dienen jedoch nur zum Verkleindern. Daher hab ich meine noch hinzugefügt. Einfach in die erste Zeile kopieren und dann kannst du es nutzen.

    T 1 Antwort Letzte Antwort
    0
    • Dominik F.D Dominik F.

      @tom57

      Du brauchst keine Auflösung eintragen, da du mit dem CSS das so einstellen kannst, dass sich die Widgets automatisch an die unterschiedlichen Auflösungen anpassen. Mit calc(100% - 32px) z.B. sind die Widgets immer 32px vom rechten Rand entfernt, egal was du für n Bildschirm nutzt.

      Raster ist dir selbst überlassen, ich nutze eins von 8. Die Defaultview legst du fest, in dem du das Häckchen bei default setzt neben der Auflösung. Ich habe z.B. keinen Haken dort, weil ich keine Defaultview brauche. Ich lasse mir alles in Chrome darstellen und habe dort die Startpage verlinkt so das ich immer zu dieser gelange.

      Mit dem Viewwechsel hab ich keine Ahnung, das passiert bei mir nicht wenn ich das Handy drehe.

      Die Größe kannst du mit mdui-scale verändern. Ich habe bei mir folgendes im CSS hinzugefügt:

      .mdui-scale-130 { transform: scale(1.3); transform-origin: 0% 0%; }
      .mdui-scale-140 { transform: scale(1.4); transform-origin: 0% 0%; }
      .mdui-scale-150 { transform: scale(1.5); transform-origin: 0% 0%; }
      .mdui-scale-160 { transform: scale(1.6); transform-origin: 0% 0%; }
      

      Das CSS von Uhula hat nur diese im Code drin:

      /* ----- Skalierungen ----- */
      
      .mdui-scale-010 { transform: scale(0.1); transform-origin: 0% 0%; }
      .mdui-scale-020 { transform: scale(0.2); transform-origin: 0% 0%; }
      .mdui-scale-025 { transform: scale(0.25); transform-origin: 0% 0%; }
      .mdui-scale-030 { transform: scale(0.30); transform-origin: 0% 0%; }
      .mdui-scale-033 { transform: scale(0.33); transform-origin: 0% 0%; }
      .mdui-scale-040 { transform: scale(0.40); transform-origin: 0% 0%; }
      .mdui-scale-050 { transform: scale(0.5); transform-origin: 0% 0%; }
      .mdui-scale-060 { transform: scale(0.6); transform-origin: 0% 0%; }
      .mdui-scale-066 { transform: scale(0.66); transform-origin: 0% 0%; }
      .mdui-scale-070 { transform: scale(0.7); transform-origin: 0% 0%; }
      .mdui-scale-075 { transform: scale(0.75); transform-origin: 0% 0%; }
      .mdui-scale-080 { transform: scale(0.8); transform-origin: 0% 0%; }
      .mdui-scale-090 { transform: scale(0.9); transform-origin: 0% 0%; }
      

      Diese dienen jedoch nur zum Verkleindern. Daher hab ich meine noch hinzugefügt. Einfach in die erste Zeile kopieren und dann kannst du es nutzen.

      T Offline
      T Offline
      tp1de
      schrieb am zuletzt editiert von
      #603

      @Dominik-F
      Vielen Dank für Deine Hilfe zu meinen Fragen. Auflösung ist nun im Prinzip klar.

      Sobald eine Default-View gesetzt wird, wird bei Drehung des Handys/Tablets auf die Default View gesprungen. Sowohl im Browser als auch in der ioBroker-App. Kann man das ausschalten?

      Im Browser kann ich die gewünschte Start-Seite direkt anspringen. Die App nimmt immer die alphabetisch 1. View im Editor. In den Demos: _landing.

      Zur Not kann ich die Seiten-Viewes mit "_" beginnen lassen .... aber vielleicht geht es auch anders?

      Dominik F.D 1 Antwort Letzte Antwort
      0
      • T tp1de

        @Dominik-F
        Vielen Dank für Deine Hilfe zu meinen Fragen. Auflösung ist nun im Prinzip klar.

        Sobald eine Default-View gesetzt wird, wird bei Drehung des Handys/Tablets auf die Default View gesprungen. Sowohl im Browser als auch in der ioBroker-App. Kann man das ausschalten?

        Im Browser kann ich die gewünschte Start-Seite direkt anspringen. Die App nimmt immer die alphabetisch 1. View im Editor. In den Demos: _landing.

        Zur Not kann ich die Seiten-Viewes mit "_" beginnen lassen .... aber vielleicht geht es auch anders?

        Dominik F.D Offline
        Dominik F.D Offline
        Dominik F.
        schrieb am zuletzt editiert von Dominik F.
        #604

        @tom57

        Also ich nutze die App nicht, da ich die kacke finde, hatte anfangs nur Probleme damit. Ich nutze das ganze mit Google Chrome, alternativ hatte ich auch lange den fullybrowser im Einsatz. Die Frage ist, brauchst du die App überhaupt? Wenn du zufällig auch Chrome hast, probiere den doch mal auch auf dem Handy. Dann hättest du eines deiner Probleme schon mal gelöst.

        Im Editor gibt es unter Tools zwischen Auflösung und Rendern die Einstellung Default, wenn du dort den Hacken rausmachst könnte das eine mögliche Lösung sein. Ich hatte das Phänomen bisher noch nicht was du beschreibst, könnte mir aber vorstellen das es an dem gesetzten Häckchen liegt.

        Unbenannt.PNG

        T 1 Antwort Letzte Antwort
        0
        • Dominik F.D Dominik F.

          @tom57

          Also ich nutze die App nicht, da ich die kacke finde, hatte anfangs nur Probleme damit. Ich nutze das ganze mit Google Chrome, alternativ hatte ich auch lange den fullybrowser im Einsatz. Die Frage ist, brauchst du die App überhaupt? Wenn du zufällig auch Chrome hast, probiere den doch mal auch auf dem Handy. Dann hättest du eines deiner Probleme schon mal gelöst.

          Im Editor gibt es unter Tools zwischen Auflösung und Rendern die Einstellung Default, wenn du dort den Hacken rausmachst könnte das eine mögliche Lösung sein. Ich hatte das Phänomen bisher noch nicht was du beschreibst, könnte mir aber vorstellen das es an dem gesetzten Häckchen liegt.

          Unbenannt.PNG

          T Offline
          T Offline
          tp1de
          schrieb am zuletzt editiert von tp1de
          #605

          @Dominik-F

          Ja genau, der Seitenwechsel beim Drehen liegt an der Default-Wahl einer View. Ohne Default-View bleibt bei Drehung die aktive View. Aber diese Default View wird bei der App verwendet und ist auch notwendig.

          Meine über die letzten 3-4 Jahre "gewachsenen" Views habe viele Grafiken, Flot-Diagramme etc. und viele davon auf jeweils einer View. Auf meinen 4k-Monitor sieht das super aus und auf meinem Tablet verwende ich den Fully Browser, da ich damit gut skalieren konnte um alles auf den Bildschirm zu bekommen. Im Wohnzimmer habe ich ein altes Tablet liegen mit der App, um Rolläden / Markisen und die Heizung zu steuern (Foolproof). Nur die eine App ist installiert.

          So nun muss ich "umdenken" wo und wie ich das responsive Design benutze und wie ich meine großen Views in Cards aufteile und ggfs. weniger komplexe Darstellungen verwende. Noch bin ich aber in der Phase das MDCSS erst einmal grundsätzlich zu verstehen. Ggfs. mache ich aber mehrere Projekte daraus - Mal mit MDCSS und mal in alter Form für die App. Muss ich aber noch mal überlegen. Die App hat auch Nachteile (nicht alle widgets werden unterstützt und CSS Einstellungen werden nicht alle richtig übernommen). Sie ist aber wenn die App läuft, als elektronische Fernbedienung im Fullscreen-Modus weniger anfällig für Fehlbedienungen.

          Vielen Dank für Dein Feedback ....

          P.S: Mit MDCSS und der Aufteilung in Cards funktionieren natürlich auch die Browser (Chrome / Firefox etc)

          Dominik F.D 1 Antwort Letzte Antwort
          0
          • T tp1de

            @Dominik-F

            Ja genau, der Seitenwechsel beim Drehen liegt an der Default-Wahl einer View. Ohne Default-View bleibt bei Drehung die aktive View. Aber diese Default View wird bei der App verwendet und ist auch notwendig.

            Meine über die letzten 3-4 Jahre "gewachsenen" Views habe viele Grafiken, Flot-Diagramme etc. und viele davon auf jeweils einer View. Auf meinen 4k-Monitor sieht das super aus und auf meinem Tablet verwende ich den Fully Browser, da ich damit gut skalieren konnte um alles auf den Bildschirm zu bekommen. Im Wohnzimmer habe ich ein altes Tablet liegen mit der App, um Rolläden / Markisen und die Heizung zu steuern (Foolproof). Nur die eine App ist installiert.

            So nun muss ich "umdenken" wo und wie ich das responsive Design benutze und wie ich meine großen Views in Cards aufteile und ggfs. weniger komplexe Darstellungen verwende. Noch bin ich aber in der Phase das MDCSS erst einmal grundsätzlich zu verstehen. Ggfs. mache ich aber mehrere Projekte daraus - Mal mit MDCSS und mal in alter Form für die App. Muss ich aber noch mal überlegen. Die App hat auch Nachteile (nicht alle widgets werden unterstützt und CSS Einstellungen werden nicht alle richtig übernommen). Sie ist aber wenn die App läuft, als elektronische Fernbedienung im Fullscreen-Modus weniger anfällig für Fehlbedienungen.

            Vielen Dank für Dein Feedback ....

            P.S: Mit MDCSS und der Aufteilung in Cards funktionieren natürlich auch die Browser (Chrome / Firefox etc)

            Dominik F.D Offline
            Dominik F.D Offline
            Dominik F.
            schrieb am zuletzt editiert von Dominik F.
            #606

            @tom57

            Als Tipp, gehe von dem kleinsten Display aus wenn du responsive anwendest. Du kannst die Cards so einstellen, dass sie sich automatisch dem Platz anpassen, in deinem Handy sind die Cards dann z.B. untereinander, auf größeren Displays nebeneinander. Dazu kannst du die minimale und maximale Breite der Cards anpassen die automatisch je nach Platz ausgewählt wird.
            Zum Schluss kannst du dann alles nur über den Browser nutzen und alles passt sich automatisch der Größe des Displays an.

            So siehts z.B. bei mir aus, hat sich zwar mittlerweile das ein oder andere verändert, aber grundsätzlich siehts noch gleich aus. Das ist jetzt die View vom Handy, auf meinem Browser sind die Cards dann nebeneinander oder füllen bei Diagrammen die ganze Breite aus.

            https://forum.iobroker.net/topic/31335/material-design-css-mdcss-v2-vis-views-zur-inspiration/4

            T 1 Antwort Letzte Antwort
            0
            • Dominik F.D Dominik F.

              @tom57

              Als Tipp, gehe von dem kleinsten Display aus wenn du responsive anwendest. Du kannst die Cards so einstellen, dass sie sich automatisch dem Platz anpassen, in deinem Handy sind die Cards dann z.B. untereinander, auf größeren Displays nebeneinander. Dazu kannst du die minimale und maximale Breite der Cards anpassen die automatisch je nach Platz ausgewählt wird.
              Zum Schluss kannst du dann alles nur über den Browser nutzen und alles passt sich automatisch der Größe des Displays an.

              So siehts z.B. bei mir aus, hat sich zwar mittlerweile das ein oder andere verändert, aber grundsätzlich siehts noch gleich aus. Das ist jetzt die View vom Handy, auf meinem Browser sind die Cards dann nebeneinander oder füllen bei Diagrammen die ganze Breite aus.

              https://forum.iobroker.net/topic/31335/material-design-css-mdcss-v2-vis-views-zur-inspiration/4

              T Offline
              T Offline
              tp1de
              schrieb am zuletzt editiert von
              #607

              @Dominik-F
              Danke für die Tips und den Link. Sieht ja Klasse aus.
              Dass ich die Breite der Cards variabel gestalten kann, wusste ich noch nicht.
              Das muss ich nochmal in der Anleitung nachlesen.

              Dominik F.D 1 Antwort Letzte Antwort
              0
              • T tp1de

                @Dominik-F
                Danke für die Tips und den Link. Sieht ja Klasse aus.
                Dass ich die Breite der Cards variabel gestalten kann, wusste ich noch nicht.
                Das muss ich nochmal in der Anleitung nachlesen.

                Dominik F.D Offline
                Dominik F.D Offline
                Dominik F.
                schrieb am zuletzt editiert von
                #608

                @tom57

                schreib mich einfach an, wenn du noch fragen haben solltest.

                T 1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #609

                  Moin, ich bräuchte bitte mal kurz Hilfe um nen Fehler einzugrenzen bevor ich ein Issue aufmach. Ich verwende recht intensiv die Tooltips, das klappt auch prima. Allerdings, gestern das erste mal mit Boolscher Checkbox probiert. Da hab ich den Effekt dass zwar der Tooltip funktioniert, aber die Checkbox nimmer.
                  Kann das jemand bestätigen (oder eben nicht)?

                  Dominik F.D 1 Antwort Letzte Antwort
                  0
                  • P Pittini

                    Moin, ich bräuchte bitte mal kurz Hilfe um nen Fehler einzugrenzen bevor ich ein Issue aufmach. Ich verwende recht intensiv die Tooltips, das klappt auch prima. Allerdings, gestern das erste mal mit Boolscher Checkbox probiert. Da hab ich den Effekt dass zwar der Tooltip funktioniert, aber die Checkbox nimmer.
                    Kann das jemand bestätigen (oder eben nicht)?

                    Dominik F.D Offline
                    Dominik F.D Offline
                    Dominik F.
                    schrieb am zuletzt editiert von Dominik F.
                    #610

                    @Pittini

                    Ich habs jetzt auch mal ausprobiert. Die Checkbox funktioniert auch bei mir nicht

                    jpgorganizerJ 1 Antwort Letzte Antwort
                    1
                    • Dominik F.D Dominik F.

                      @Pittini

                      Ich habs jetzt auch mal ausprobiert. Die Checkbox funktioniert auch bei mir nicht

                      jpgorganizerJ Offline
                      jpgorganizerJ Offline
                      jpgorganizer
                      schrieb am zuletzt editiert von
                      #611

                      Hallo zusammen,
                      ich war länger nicht mehr in eurem Thread aktiv. Heute habe ich angefangen meine Shelly's in meine VIS zu integrieren. Und brauche ich mal eure Hilfe - ich bin einfach kein Frontend-Entwickler, Backend ist eher meine Welt. :-)

                      Ich möchte für meine Shelly's eine einfache Seite ohne Funktionalität (außer eine kleine Ausnahme, dazu aber später), auf der ich den Status und ein paar Info's des jeweiligen Shelly's sehen kann. Aufgerufen wird die Seite über einen mdui-button (zumindest habe ich das mal derzeit so aufgeplant).

                      Die Seite soll dann so (ähnlich) aussehen:

                      Screenshot_20201110_141526_com.android.chrome.jpg

                      Eine solche Seite soll es dann für jeden meiner Shelly's geben, die dann von unterschiedlichen mdui-button's aufgerufen werden.

                      Jetzt zu meiner Frage: wie baut man sowas am besten auf, so dass man nicht zig solche Seiten erstellen muss?

                      Die Frage hört sich für euch evtl. etwas seltsam an, aber ich habe da jetzt gerade keine Idee. Man müsste eigentlich sowas wie eine Parameterübergabe an die Seite haben. Dann könnte man die Id des Shelly's mitgeben.

                      Zu der o.a. Ausnahme bzgl. Funktionalität der Seite: Im Bild seht Ihr eine IP-Adresse. Kann man die so gestalten, dass daraus ein Link wird und sich beim draufklicken der Browser öffnet und die Seite aufruft?

                      Please help.

                      Danke
                      jpgorganizer

                      Bitte keine Fragen per PN, die gehören ins Forum!

                      ioBroker
                      smartgarden Adapter für GARDENA smart system
                      Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                      Dominik F.D 1 Antwort Letzte Antwort
                      0
                      • jpgorganizerJ jpgorganizer

                        Hallo zusammen,
                        ich war länger nicht mehr in eurem Thread aktiv. Heute habe ich angefangen meine Shelly's in meine VIS zu integrieren. Und brauche ich mal eure Hilfe - ich bin einfach kein Frontend-Entwickler, Backend ist eher meine Welt. :-)

                        Ich möchte für meine Shelly's eine einfache Seite ohne Funktionalität (außer eine kleine Ausnahme, dazu aber später), auf der ich den Status und ein paar Info's des jeweiligen Shelly's sehen kann. Aufgerufen wird die Seite über einen mdui-button (zumindest habe ich das mal derzeit so aufgeplant).

                        Die Seite soll dann so (ähnlich) aussehen:

                        Screenshot_20201110_141526_com.android.chrome.jpg

                        Eine solche Seite soll es dann für jeden meiner Shelly's geben, die dann von unterschiedlichen mdui-button's aufgerufen werden.

                        Jetzt zu meiner Frage: wie baut man sowas am besten auf, so dass man nicht zig solche Seiten erstellen muss?

                        Die Frage hört sich für euch evtl. etwas seltsam an, aber ich habe da jetzt gerade keine Idee. Man müsste eigentlich sowas wie eine Parameterübergabe an die Seite haben. Dann könnte man die Id des Shelly's mitgeben.

                        Zu der o.a. Ausnahme bzgl. Funktionalität der Seite: Im Bild seht Ihr eine IP-Adresse. Kann man die so gestalten, dass daraus ein Link wird und sich beim draufklicken der Browser öffnet und die Seite aufruft?

                        Please help.

                        Danke
                        jpgorganizer

                        Dominik F.D Offline
                        Dominik F.D Offline
                        Dominik F.
                        schrieb am zuletzt editiert von
                        #612

                        @jpgorganizer

                        Du erstellst eine Card/Seite mit allem was du möchtest und kannst die ganze View oder auch die Widgets dann duplizieren. Die einzelnen Werte musst du dann wieder auf den neuen Shelly ändern und das leider einzelnd. Sind aber immer nur n paar klicks.

                        Ja, du kannst einen Link erstellen und der dann eine Seite im Browser öffnet. Die Demo hat z.B. solche Links, da kannst du dich dran halten.

                        jpgorganizerJ 1 Antwort Letzte Antwort
                        0
                        • Dominik F.D Dominik F.

                          @jpgorganizer

                          Du erstellst eine Card/Seite mit allem was du möchtest und kannst die ganze View oder auch die Widgets dann duplizieren. Die einzelnen Werte musst du dann wieder auf den neuen Shelly ändern und das leider einzelnd. Sind aber immer nur n paar klicks.

                          Ja, du kannst einen Link erstellen und der dann eine Seite im Browser öffnet. Die Demo hat z.B. solche Links, da kannst du dich dran halten.

                          jpgorganizerJ Offline
                          jpgorganizerJ Offline
                          jpgorganizer
                          schrieb am zuletzt editiert von
                          #613

                          @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                          Du erstellst eine Card/Seite mit allem was du möchtest und kannst die ganze View oder auch die Widgets dann duplizieren. Die einzelnen Werte musst du dann wieder auf den neuen Shelly ändern und das leider einzelnd. Sind aber immer nur n paar klicks.

                          ach nee, das hatte ich befürchtet. Mir geht es auch gar nicht um die initiale Erstellung, aber wenn dann Änderungen kommen ....

                          Ich frag mal anders: kann man einen Button erstellen, der zwei Dinge tut:

                          • einmal einen bestimmten Wert in einen Datenpunkt schreiben
                          • und zum zweiten eine Seite aufrufen

                          Wenn das ginge, dann könnte man eine allgemeine Seite erstellen und im Hintergrund immer mit einem kleinen Script beim Aufruf befüllen.

                          @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                          Ja, du kannst einen Link erstellen und der dann eine Seite im Browser öffnet. Die Demo hat z.B. solche Links, da kannst du dich dran halten.

                          ok, dann schaue ich da mal durch.

                          Danke für deine Antwort.

                          VG jpgorganizer

                          Bitte keine Fragen per PN, die gehören ins Forum!

                          ioBroker
                          smartgarden Adapter für GARDENA smart system
                          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                          jpgorganizerJ 1 Antwort Letzte Antwort
                          0
                          • Dominik F.D Dominik F.

                            @tom57

                            schreib mich einfach an, wenn du noch fragen haben solltest.

                            T Offline
                            T Offline
                            tp1de
                            schrieb am zuletzt editiert von tp1de
                            #614

                            @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                            schreib mich einfach an, wenn du noch fragen haben solltest.

                            Ich bräuchte nochmal Deine Hilfe. Bisher habe ich ganz erfolgreich auf MDCSS umgestellt. Es gibt aber ein Phänomen, welches ich mir nicht richtig erklären kann:

                            Ich habe als content color #121212 vorgegeben, also Dark Theme. Beim ersten Aufruf der Views (Page 1...n) funktioniert das auch richtig. Bei den meisten Views wird aber nach 30 Sekunden der Hintergrund ca. 30% heller und damit der Kontrast schlechter. Ein Reload im Browser ändert nichts. Erst wenn ich über das Menü eine andere Seite auswähle und wieder auf diese View zurückgehe, dann ist der Hintergrund wieder für 30 Sekunden richtig. Das betrifft alle Browser und die Android App.

                            Weiss jemand woran das liegt und wie ich dies abstellen kann?

                            Screenshot 2020-11-10 170053.jpg Screenshot 2020-11-10 170133.jpg

                            1 Antwort Letzte Antwort
                            0
                            • jpgorganizerJ jpgorganizer

                              @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                              Du erstellst eine Card/Seite mit allem was du möchtest und kannst die ganze View oder auch die Widgets dann duplizieren. Die einzelnen Werte musst du dann wieder auf den neuen Shelly ändern und das leider einzelnd. Sind aber immer nur n paar klicks.

                              ach nee, das hatte ich befürchtet. Mir geht es auch gar nicht um die initiale Erstellung, aber wenn dann Änderungen kommen ....

                              Ich frag mal anders: kann man einen Button erstellen, der zwei Dinge tut:

                              • einmal einen bestimmten Wert in einen Datenpunkt schreiben
                              • und zum zweiten eine Seite aufrufen

                              Wenn das ginge, dann könnte man eine allgemeine Seite erstellen und im Hintergrund immer mit einem kleinen Script beim Aufruf befüllen.

                              @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                              Ja, du kannst einen Link erstellen und der dann eine Seite im Browser öffnet. Die Demo hat z.B. solche Links, da kannst du dich dran halten.

                              ok, dann schaue ich da mal durch.

                              Danke für deine Antwort.

                              VG jpgorganizer

                              jpgorganizerJ Offline
                              jpgorganizerJ Offline
                              jpgorganizer
                              schrieb am zuletzt editiert von
                              #615

                              @jpgorganizer sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                              Ich frag mal anders: kann man einen Button erstellen, der zwei Dinge tut:

                              einmal einen bestimmten Wert in einen Datenpunkt schreiben
                              und zum zweiten eine Seite aufrufen

                              würde folgendes hier evtl. gehen ... ich probier das jetzt mal aus

                              bc85ba96-b17a-4043-a131-e67d2b70424a-grafik.png

                              Bitte keine Fragen per PN, die gehören ins Forum!

                              ioBroker
                              smartgarden Adapter für GARDENA smart system
                              Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                              jpgorganizerJ 1 Antwort Letzte Antwort
                              0
                              • jpgorganizerJ jpgorganizer

                                @jpgorganizer sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                                Ich frag mal anders: kann man einen Button erstellen, der zwei Dinge tut:

                                einmal einen bestimmten Wert in einen Datenpunkt schreiben
                                und zum zweiten eine Seite aufrufen

                                würde folgendes hier evtl. gehen ... ich probier das jetzt mal aus

                                bc85ba96-b17a-4043-a131-e67d2b70424a-grafik.png

                                jpgorganizerJ Offline
                                jpgorganizerJ Offline
                                jpgorganizer
                                schrieb am zuletzt editiert von jpgorganizer
                                #616

                                Hi,
                                gefühlt bin ich einen Schritt weiter. Aber jetzt funktioniert etwas nicht und ich kann gerade nicht entscheiden, ob ich einen Fehler gemacht habe oder ob ich ein Problem gefunden habe.

                                ich habe ein basic-html Widget als mdui-button

                                Wenn ich nun mdui-click?action noch dazu mache, dann geht es mit einer Action, aber nicht mit zwei Actions.

                                es geht, d.h. der Wert bad wird in den angegeben State geschrieben:

                                mdui-click?action:setValue(0_userdata.0.Shelly25Info,bad)
                                

                                es geht auch, d.h. die angegebene Page öffnet sich

                                mdui-click?action:changeView(pageRolloBadDetail)
                                

                                es geht nicht, bzw. es wird nur die jeweils zuletzt angegebene Action ausgeführt

                                mdui-click?action:setValue(0_userdata.0.Shelly25Info,bad);action:changeView(pageRolloBadDetail)
                                
                                mdui-click?action:changeView(pageRolloBadDetail);action:setValue(0_userdata.0.Shelly25Info,bad)
                                

                                Hat jemand einen Tipp für mich?

                                Grüße
                                jpgorganizer

                                Bitte keine Fragen per PN, die gehören ins Forum!

                                ioBroker
                                smartgarden Adapter für GARDENA smart system
                                Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                jpgorganizerJ 1 Antwort Letzte Antwort
                                0
                                • jpgorganizerJ jpgorganizer

                                  Hi,
                                  gefühlt bin ich einen Schritt weiter. Aber jetzt funktioniert etwas nicht und ich kann gerade nicht entscheiden, ob ich einen Fehler gemacht habe oder ob ich ein Problem gefunden habe.

                                  ich habe ein basic-html Widget als mdui-button

                                  Wenn ich nun mdui-click?action noch dazu mache, dann geht es mit einer Action, aber nicht mit zwei Actions.

                                  es geht, d.h. der Wert bad wird in den angegeben State geschrieben:

                                  mdui-click?action:setValue(0_userdata.0.Shelly25Info,bad)
                                  

                                  es geht auch, d.h. die angegebene Page öffnet sich

                                  mdui-click?action:changeView(pageRolloBadDetail)
                                  

                                  es geht nicht, bzw. es wird nur die jeweils zuletzt angegebene Action ausgeführt

                                  mdui-click?action:setValue(0_userdata.0.Shelly25Info,bad);action:changeView(pageRolloBadDetail)
                                  
                                  mdui-click?action:changeView(pageRolloBadDetail);action:setValue(0_userdata.0.Shelly25Info,bad)
                                  

                                  Hat jemand einen Tipp für mich?

                                  Grüße
                                  jpgorganizer

                                  jpgorganizerJ Offline
                                  jpgorganizerJ Offline
                                  jpgorganizer
                                  schrieb am zuletzt editiert von jpgorganizer
                                  #617

                                  juhu, ich hab's :-)

                                  in der folgenden Funktion im Script musste ich anpassen. Diese Funktion hat m.M. nach nie mehrere Actions ausgeführt

                                  // ----------------------------
                                  // click
                                  // ----------------------------
                                  function _click(event, $ele) { try {
                                  console.log('_click');
                                  
                                      // durch swipe gelockt?
                                  /*
                                  if (ele.classList.contains('mdui-lockclick')) {
                                          ele.classList.remove('mdui-lockclick');
                                          return;
                                      }
                                  */
                                      if (lockclick) {
                                          lockclick=false;
                                          return;
                                      }
                                      let s = _getSuffix( $ele[0].className, 'mdui-click?' );
                                      if (!s || s=='') return;
                                      s = '{"'+s.replace(/:/g,'":"')+'"}';
                                      s = s.replace(/;/g,'","');
                                      s = s.replace(/\+/g,' ');
                                      
                                      //change start
                                      s = s.replace(/action/ig,'action');  // just make "action" case-insensitive
                                      
                                      let i = 0;
                                      while (s.indexOf('"action"') !== -1) 
                                      {
                                  	s = s.replace('"action"', '"action' + i + '"');
                                          i = i + 1;
                                      }
                                      let anz = i;
                                      let opt = JSON.parse(s);
                                      
                                      for (i = 0; i < anz; i++) {		
                                  	if (opt['action' + i])
                                      	     _executeAction(opt['action' + i]);
                                      }
                                      // change end
                                  
                                      event.preventDefault();
                                      event.stopPropagation();
                                      event.stopImmediatePropagation();
                                          
                                  } catch(err) { console.log( "[MDUI._click] " + err.message ); } 
                                  }
                                  

                                  @Uhula kannst du das bitte prüfen und wenn ok dann in deine Version übernehmen? Ich habe den Abschnitt, den ich tatsächlich geändert habe mit change start- change end markiert

                                  EDIT: noch "action" case-insensitive gemacht -> kleine Änderung im o.a. Code
                                  Danke im Voraus
                                  jpgorganizer

                                  Bitte keine Fragen per PN, die gehören ins Forum!

                                  ioBroker
                                  smartgarden Adapter für GARDENA smart system
                                  Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                  Dominik F.D 1 Antwort Letzte Antwort
                                  1
                                  • A Offline
                                    A Offline
                                    assid
                                    schrieb am zuletzt editiert von
                                    #618

                                    Hey Leute, mal ganz ehrlich...
                                    wer ist denn für die "material.css" zuständig?! Im ioBroker VIS Editor keine Schriftgrößen mehr ändern zu können, ist schon irgendwie etwas blöd. Findet Ihr nicht auch? Darauf sollte man wenigstens vor dem Material Adapter Download mit erwähnen... Oder eben fixen.

                                    Problem:
                                    Widget (basic - HTML) -> Keine Schriftgrößenänderung möglich, da in der material.css mit !important; gearbeitet wurde?!

                                    ce9ebab0-6f97-45c0-bb44-6534cb2da2f5-grafik.png

                                    Es gibt Browser, die !important vorrang vor inline Style Elementen geben!
                                    "Android WallPanel apk" zum Beispiel. Ebenso der Standard Browser von Samsung Smartphones Version 12x.

                                    Grüße

                                    Dominik F.D 1 Antwort Letzte Antwort
                                    0
                                    • jpgorganizerJ jpgorganizer

                                      juhu, ich hab's :-)

                                      in der folgenden Funktion im Script musste ich anpassen. Diese Funktion hat m.M. nach nie mehrere Actions ausgeführt

                                      // ----------------------------
                                      // click
                                      // ----------------------------
                                      function _click(event, $ele) { try {
                                      console.log('_click');
                                      
                                          // durch swipe gelockt?
                                      /*
                                      if (ele.classList.contains('mdui-lockclick')) {
                                              ele.classList.remove('mdui-lockclick');
                                              return;
                                          }
                                      */
                                          if (lockclick) {
                                              lockclick=false;
                                              return;
                                          }
                                          let s = _getSuffix( $ele[0].className, 'mdui-click?' );
                                          if (!s || s=='') return;
                                          s = '{"'+s.replace(/:/g,'":"')+'"}';
                                          s = s.replace(/;/g,'","');
                                          s = s.replace(/\+/g,' ');
                                          
                                          //change start
                                          s = s.replace(/action/ig,'action');  // just make "action" case-insensitive
                                          
                                          let i = 0;
                                          while (s.indexOf('"action"') !== -1) 
                                          {
                                      	s = s.replace('"action"', '"action' + i + '"');
                                              i = i + 1;
                                          }
                                          let anz = i;
                                          let opt = JSON.parse(s);
                                          
                                          for (i = 0; i < anz; i++) {		
                                      	if (opt['action' + i])
                                          	     _executeAction(opt['action' + i]);
                                          }
                                          // change end
                                      
                                          event.preventDefault();
                                          event.stopPropagation();
                                          event.stopImmediatePropagation();
                                              
                                      } catch(err) { console.log( "[MDUI._click] " + err.message ); } 
                                      }
                                      

                                      @Uhula kannst du das bitte prüfen und wenn ok dann in deine Version übernehmen? Ich habe den Abschnitt, den ich tatsächlich geändert habe mit change start- change end markiert

                                      EDIT: noch "action" case-insensitive gemacht -> kleine Änderung im o.a. Code
                                      Danke im Voraus
                                      jpgorganizer

                                      Dominik F.D Offline
                                      Dominik F.D Offline
                                      Dominik F.
                                      schrieb am zuletzt editiert von
                                      #619

                                      @jpgorganizer

                                      ich hab bei den conts folgendes als css klasse eingestellt:

                                      {0_userdata.0.mdui.vis.card} {0_userdata.0.mdui.vis.card_title}  mdui-title-{0_userdata.0.mdui.vis.card_title_bg}
                                      

                                      Wenn du in der abar die gleichen Einstellungen nutzt, könnte das helfen. Ansonsten hab ich keine Ahnung ehrlich gesagt.

                                      Die anderen Probleme hattest du glaube ich schon selbst gelöst wenn ich das richtig verfolgt habe?

                                      jpgorganizerJ 1 Antwort Letzte Antwort
                                      0
                                      • A assid

                                        Hey Leute, mal ganz ehrlich...
                                        wer ist denn für die "material.css" zuständig?! Im ioBroker VIS Editor keine Schriftgrößen mehr ändern zu können, ist schon irgendwie etwas blöd. Findet Ihr nicht auch? Darauf sollte man wenigstens vor dem Material Adapter Download mit erwähnen... Oder eben fixen.

                                        Problem:
                                        Widget (basic - HTML) -> Keine Schriftgrößenänderung möglich, da in der material.css mit !important; gearbeitet wurde?!

                                        ce9ebab0-6f97-45c0-bb44-6534cb2da2f5-grafik.png

                                        Es gibt Browser, die !important vorrang vor inline Style Elementen geben!
                                        "Android WallPanel apk" zum Beispiel. Ebenso der Standard Browser von Samsung Smartphones Version 12x.

                                        Grüße

                                        Dominik F.D Offline
                                        Dominik F.D Offline
                                        Dominik F.
                                        schrieb am zuletzt editiert von
                                        #620

                                        @assid

                                        Wenn du einen Adapter installiert hast, dann nutzt du nicht das mdcss v2 von Uhula, das ist ein reiner Code der das aussehen verändert.
                                        Den Code hat Uhula geschrieben.

                                        Du kannst mit mdui-scale die größe der Widgets ändern oder aber mit mdui-title, mdui-label oder mdui-subtitle die Schriftgrößen ändern.

                                        bei mdui-scale musst du zum vergrößern aber noch was im code anfügen:

                                        .mdui-scale-110 { transform: scale(1.1); transform-origin: 0% 0%; }
                                        .mdui-scale-120 { transform: scale(1.2); transform-origin: 0% 0%; }
                                        .mdui-scale-130 { transform: scale(1.3); transform-origin: 0% 0%; }
                                        .mdui-scale-140 { transform: scale(1.4); transform-origin: 0% 0%; }
                                        .mdui-scale-150 { transform: scale(1.5); transform-origin: 0% 0%; }
                                        .mdui-scale-160 { transform: scale(1.6); transform-origin: 0% 0%; }
                                        

                                        Dann kannst du mit z.B. .mdui-scale-110 die Widgets vergrößern. Verkleinern ist schon implementiert.

                                        1 Antwort Letzte Antwort
                                        0
                                        • Dominik F.D Dominik F.

                                          @jpgorganizer

                                          ich hab bei den conts folgendes als css klasse eingestellt:

                                          {0_userdata.0.mdui.vis.card} {0_userdata.0.mdui.vis.card_title}  mdui-title-{0_userdata.0.mdui.vis.card_title_bg}
                                          

                                          Wenn du in der abar die gleichen Einstellungen nutzt, könnte das helfen. Ansonsten hab ich keine Ahnung ehrlich gesagt.

                                          Die anderen Probleme hattest du glaube ich schon selbst gelöst wenn ich das richtig verfolgt habe?

                                          jpgorganizerJ Offline
                                          jpgorganizerJ Offline
                                          jpgorganizer
                                          schrieb am zuletzt editiert von
                                          #621

                                          @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                                          @jpgorganizer

                                          ich hab bei den conts folgendes als css klasse eingestellt:

                                          {0_userdata.0.mdui.vis.card} {0_userdata.0.mdui.vis.card_title}  mdui-title-{0_userdata.0.mdui.vis.card_title_bg}
                                          

                                          Wenn du in der abar die gleichen Einstellungen nutzt, könnte das helfen. Ansonsten hab ich keine Ahnung ehrlich gesagt.

                                          sorry, die Antwort verwirrt mich jetzt gerade. Ist das wirklich für eine Frage von mir?

                                          @Dominik-F sagte in [Projekt] MDCSS v2: Material Design CSS Version 2:

                                          Die anderen Probleme hattest du glaube ich schon selbst gelöst wenn ich das richtig verfolgt habe?

                                          richtig, ich habe meine hier geposteten Probleme gelöst. Jetzt hoffe ich nur, dass das meine Änderungen noch Einzug in "offiziellen" MD finden.

                                          Ich habe zwar noch das eine oder andere Problem im Zusammenhang mit meinen o.a. Fragen bzw. meiner Lösung, aber da suche ich mal erst noch selbst, denn schon das Problem zu beschreiben fällt mir gerade schwer :-)

                                          VG jpgorganizer

                                          Bitte keine Fragen per PN, die gehören ins Forum!

                                          ioBroker
                                          smartgarden Adapter für GARDENA smart system
                                          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

                                          Dominik F.D 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

                                          693

                                          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