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.
  • liv-in-skyL liv-in-sky

    @ice987

    teste gerade,

    man kann doch mehrere klassen angeben, evtl kannst du dann deine css's direkt in den tab schreiben und 2 formel einfügen

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

    @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...

    husqvarna-automower, meteoblue, wiserbyfeller, spritmonitor

    liv-in-skyL 2 Antworten 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 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

                          518

                          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