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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. (gelöst) eigene CSS Klasse (dynamisch)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    927

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

(gelöst) eigene CSS Klasse (dynamisch)

Geplant Angeheftet Gesperrt Verschoben Gelöst Visualisierung
vis
16 Beiträge 3 Kommentatoren 963 Aufrufe 3 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.
  • ice987I ice987

    Hallo zusammen,

    ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:

    <div class="title1">title1 blabla</div>
    <div class="subtitle1">subtitle1 blabla</div>
    

    Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
    in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import url('/vis.0/main/css/css_light.css')" :: "@import url('/vis.0/main/css/css_dark.css')"}. Die beiden Dateien liegen im Verzeichnis /vis.0/main/css/.

    css_light.css hat den Inhalt:

    .title1 {
        font-family: Arial;
        color: #ff0000;
        font-weight: bold;
    }
    .subtitle1 {
        font-family: Arial;
        color: #ff0000;
    }
    

    css_dark.css hat den Inhalt:

    .title1 {
        font-family: Arial;
        color: #fff000;
        font-weight: bold;
    }
    .subtitle1 {
        font-family: Arial;
        color: #fff000;
    }
    

    leider funktioniert das nicht :confused: Gibt es eine andere Möglichkeit, mehrere Klassen per Binding in einem "HTML-Widget" zu dynamisch zu definieren?

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    schrieb am zuletzt editiert von OliverIO
    #6

    @ice987 sagte in eigene CSS Klasse:

    Hallo zusammen,
    ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:
    <div class="title1">title1 blabla</div> <div class="subtitle1">subtitle1 blabla</div>
    Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
    in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import

    @import ist doch ein css Befehl.
    Im html Widget ist ja erst einmal html der Standard.
    Wenn du da JavaScript reinmachen willst dann musst du den Code in <Script> Tags schreiben.

    Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
    Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
    Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

    Meine Adapter und Widgets
    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
    Links im Profil

    liv-in-skyL 2 Antworten Letzte Antwort
    0
    • ice987I ice987

      @liv-in-sky
      das mit mehreren Klassen habe ich auch erfolgreich getestet, funktioniert auch im Binding. Die Frage ist nun nur, ob diese dynamisch, z.b. aus einer eigenen CSS-Datei, angesprochen werden könnte. Es gäbe natürlich die Möglichkeit, alle Klassen 2x im Binding einzufügen, was aber recht umständlich ist...

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

      @ice987

      wie du sagst, so gehts:

      Image 2.png

      {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "norm":""} {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "big":""}
      

      Image 1.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

      1 Antwort Letzte Antwort
      1
      • OliverIOO OliverIO

        @ice987 sagte in eigene CSS Klasse:

        Hallo zusammen,
        ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:
        <div class="title1">title1 blabla</div> <div class="subtitle1">subtitle1 blabla</div>
        Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
        in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import

        @import ist doch ein css Befehl.
        Im html Widget ist ja erst einmal html der Standard.
        Wenn du da JavaScript reinmachen willst dann musst du den Code in <Script> Tags schreiben.

        Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
        Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
        Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

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

        @oliverio

        muss man die css datei eigentlich mit writefile schreiben bzw mit dem vis editor importieren? oder legt man die einfach im dateiverzeichnis an

        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

        1 Antwort Letzte Antwort
        0
        • ice987I ice987

          @liv-in-sky
          das mit mehreren Klassen habe ich auch erfolgreich getestet, funktioniert auch im Binding. Die Frage ist nun nur, ob diese dynamisch, z.b. aus einer eigenen CSS-Datei, angesprochen werden könnte. Es gäbe natürlich die Möglichkeit, alle Klassen 2x im Binding einzufügen, was aber recht umständlich ist...

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

          @ice987

          {var1:sonoff.1.MCUDoppelSchalter.POWER2; var1=="true" ? "norm big":""}
          

          funktioniert auch - also nur ein binding !

          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

          1 Antwort Letzte Antwort
          0
          • OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von
            #10

            @liv-in-sky sagte in eigene CSS Klasse:

            @oliverio

            muss man die css datei eigentlich mit writefile schreiben bzw mit dem vis editor importieren? oder legt man die einfach im dateiverzeichnis an

            Ja mit writefile. Ansonsten kennt Iobroker die Datei nicht,
            Obwohl sie da ist.

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @ice987 sagte in eigene CSS Klasse:

              Hallo zusammen,
              ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:
              <div class="title1">title1 blabla</div> <div class="subtitle1">subtitle1 blabla</div>
              Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
              in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import

              @import ist doch ein css Befehl.
              Im html Widget ist ja erst einmal html der Standard.
              Wenn du da JavaScript reinmachen willst dann musst du den Code in <Script> Tags schreiben.

              Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
              Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
              Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

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

              @oliverio sagte in eigene CSS Klasse:

              Wenn du dann den Import Befehl hinzufügen möchtest, musst du per JavaScript ein Style Tag erzeugen und dann in das Style Tag den @import Befehl reinschreiben.
              Sobald du die Style Node der Dom hinzufügst, sollte das auch geladen werden.
              Beim Wechseln solltest du natürlich den anderen styletag wieder entfernen.

              meinst du mit jquery ? also einen dp abfragen und dann über z.b jquery einfügen ?

              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

              1 Antwort Letzte Antwort
              0
              • ice987I ice987

                Hallo zusammen,

                ich möchte die Farbgestaltung meiner Visualisierung per Day/Nightmode (Binding) umschalten. Nun habe ich ein "basic - HTML"-Widget mit z.B. folgendem Inhalt:

                <div class="title1">title1 blabla</div>
                <div class="subtitle1">subtitle1 blabla</div>
                

                Meine Idee war nun, zwei CSS-Dateien anzulegen, welche per Binding umgeschalten werden:
                in VIS unter Eigenschaften -> Reiter "w00xxx" -> CSS Klasse: {lightmode:0_userdata.0.navigation.lightMode;lightmode === "true" ? "@import url('/vis.0/main/css/css_light.css')" :: "@import url('/vis.0/main/css/css_dark.css')"}. Die beiden Dateien liegen im Verzeichnis /vis.0/main/css/.

                css_light.css hat den Inhalt:

                .title1 {
                    font-family: Arial;
                    color: #ff0000;
                    font-weight: bold;
                }
                .subtitle1 {
                    font-family: Arial;
                    color: #ff0000;
                }
                

                css_dark.css hat den Inhalt:

                .title1 {
                    font-family: Arial;
                    color: #fff000;
                    font-weight: bold;
                }
                .subtitle1 {
                    font-family: Arial;
                    color: #fff000;
                }
                

                leider funktioniert das nicht :confused: Gibt es eine andere Möglichkeit, mehrere Klassen per Binding in einem "HTML-Widget" zu dynamisch zu definieren?

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #12

                @ice987

                Um die Vorgehensweise nochmal zu verdeutlichen.

                Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                ice987I 2 Antworten Letzte Antwort
                1
                • OliverIOO OliverIO

                  @ice987

                  Um die Vorgehensweise nochmal zu verdeutlichen.

                  Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                  In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                  ice987I Offline
                  ice987I Offline
                  ice987
                  schrieb am zuletzt editiert von
                  #13

                  @oliverio
                  Vielen Dank für deine Hilfe!
                  Ich generiere eine html-Tabelle in einem Javascript, schreibe dieses in einen DP. Per Binding lasse ich mir dieses im html-Widget anzeigen. Funktioniert das Umschalten dann auch?

                  husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                  OliverIOO liv-in-skyL 2 Antworten Letzte Antwort
                  0
                  • ice987I ice987

                    @oliverio
                    Vielen Dank für deine Hilfe!
                    Ich generiere eine html-Tabelle in einem Javascript, schreibe dieses in einen DP. Per Binding lasse ich mir dieses im html-Widget anzeigen. Funktioniert das Umschalten dann auch?

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #14

                    @ice987
                    Theoretisch ja. Hab selbst sowas nie probiert

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • ice987I ice987

                      @oliverio
                      Vielen Dank für deine Hilfe!
                      Ich generiere eine html-Tabelle in einem Javascript, schreibe dieses in einen DP. Per Binding lasse ich mir dieses im html-Widget anzeigen. Funktioniert das Umschalten dann auch?

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

                      @ice987

                      mache das mit allen meinen tabellenscripts - das funktioniert

                      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

                      1 Antwort Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @ice987

                        Um die Vorgehensweise nochmal zu verdeutlichen.

                        Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                        In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                        ice987I Offline
                        ice987I Offline
                        ice987
                        schrieb am zuletzt editiert von
                        #16

                        @oliverio sagte in eigene CSS Klasse:

                        @ice987

                        Um die Vorgehensweise nochmal zu verdeutlichen.

                        Ihr schreibt eine javascriptfunktion mit der oben genannten Logik in Script Tag und packt die in ein html Widget.

                        In einem binding, welches auf den datenpunkt reagiert, ruft ihr dann diese Funktion auf. Das binding muss im selben html Widget stehen

                        dieses Vorgehen funktioniert! Wunderbar, vielen Dank! :+1:

                        husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

                        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

                        418

                        Online

                        32.6k

                        Benutzer

                        82.2k

                        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