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. Widgets mit javascript erzeugen

NEWS

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

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

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

Widgets mit javascript erzeugen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
10 Beiträge 4 Kommentatoren 1.5k Aufrufe
  • Ä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.
  • G Offline
    G Offline
    GerdSo
    schrieb am zuletzt editiert von
    #1

    Hallo,

    gibt es Möglichkeiten Widgets per Javascript zu erzeugen, duplizieren oder zu verändern?

    Hintergrund: wenn ich z.B. 15 Heizkörperthermostate habe, dann würde ich gerne die Darstellung und das Verhalten komplett identisch halten wollen und nur an einer Stelle ändern. Letztlich ändert sich dort nur die Position, Beschriftung und die Object.id

    Viele Grüße Gerd.

    1 Antwort Letzte Antwort
    0
    • Jeeper.atJ Offline
      Jeeper.atJ Offline
      Jeeper.at
      schrieb am zuletzt editiert von
      #2

      Wenn du ein Widget gestaltet hast, brauchst du nur oben auf kopieren flicken. Dann wird es exakt kopiert. Dann nur noch verschieben und ID tauschen. Du kannst auch mehrere auf einmal kopieren.

      1 Antwort Letzte Antwort
      0
      • G Offline
        G Offline
        GerdSo
        schrieb am zuletzt editiert von
        #3

        > Wenn du ein Widget gestaltet hast, brauchst du nur oben auf kopieren flicken. Dann wird es exakt kopiert. Dann nur noch verschieben und ID tauschen. Du kannst auch mehrere auf einmal kopieren. so mache ich es bisher auch, wenn danach aber eine Änderung durhgeführt werden muss, dann mache ich das x-mal, da wäre es mit einem Programm einfacher, vor Allem wenn z.B. die Darstellung eines einzelnen Heizkörperthermostates aus mehreren Widgets besteht.

        1 Antwort Letzte Antwort
        0
        • Jeeper.atJ Offline
          Jeeper.atJ Offline
          Jeeper.at
          schrieb am zuletzt editiert von
          #4

          Nehmen wir an du willst bei allen Widgets dieselbe Änderung durchführen. Du kannst dann mittels "Gummiband" (mit gedrückter Maustaste einen Rahmen herumziehen) alle gleichzeitig markieren. Jede Änderung die du dann machst wirkt sich auf alle markierten aus.

          Lg

          Günther

          1 Antwort Letzte Antwort
          0
          • HomoranH Nicht stören
            HomoranH Nicht stören
            Homoran
            Global Moderator Administrators
            schrieb am zuletzt editiert von
            #5

            Und wenn die Widgets nicht in einer Gruppe liegen, dann mit STRG-Klick statt Gummiband

            So machen ich es immer, wenn ich bei mehreren Widgets ein einheitliches aussehen anlege / verändere.

            Gruß

            Rainer

            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              GerdSo
              schrieb am zuletzt editiert von
              #6

              Hallo,

              Danke für die vielen Hinweise. Eure Empfehlungen sind alle korrekt und so mache ich es bisher auch.

              Nehmen wir an ich möchte für die 15 Thermostate jeweils 2 weitere Widgets hinzufügen um weitere Infos anzuzeigen, dann muss ich diese einmalig erzeugen und anpassen, diese danach x-mal kopieren, korrekt ausrichten und anschließend die obj.id ändern.

              Alles kein Hexenwerk, aber meine Frage war ja nicht, wie gehe ich mit Bordmitteln auf der edit-Oberfläche vor, sondern gibt es Möglichkeiten Dinge per Javascript-Programm im Javascript-Adapter zu ändern.

              Viele Grüße Gerd.

              1 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #7

                @GerdSo:

                Hallo,

                Danke für die vielen Hinweise. Eure Empfehlungen sind alle korrekt und so mache ich es bisher auch.

                Nehmen wir an ich möchte für die 15 Thermostate jeweils 2 weitere Widgets hinzufügen um weitere Infos anzuzeigen, dann muss ich diese einmalig erzeugen und anpassen, diese danach x-mal kopieren, korrekt ausrichten und anschließend die obj.id ändern.

                Alles kein Hexenwerk, aber meine Frage war ja nicht, wie gehe ich mit Bordmitteln auf der edit-Oberfläche vor, sondern gibt es Möglichkeiten Dinge per Javascript-Programm im Javascript-Adapter zu ändern.

                Viele Grüße Gerd. `
                Das vis projekt liegt unter …/iobroker-dta/files/vis.0/main/vis-views.json

                Wenn du von json was verstehst, dann kannst du diese Datei modifizieren und es wird gehen.

                Mann kann im javascirpt adapter die Datei so schreiben und lesen:

                https://github.com/ioBroker/ioBroker.ja ... t#readfile

                https://github.com/ioBroker/ioBroker.ja ... #writefile

                readFile('vis.0', 'main/vis-views.json', function (error, data) {
                	var view = JSON.parse(data);
                });
                
                
                1 Antwort Letzte Antwort
                0
                • G Offline
                  G Offline
                  GerdSo
                  schrieb am zuletzt editiert von
                  #8

                  Hallo Bluefox,

                  nicht ganz was ich gesucht habe aber ist sicherlich eine Möglichkeit. Danke.

                  Viele Grüße Gerd.

                  1 Antwort Letzte Antwort
                  0
                  • G Offline
                    G Offline
                    GerdSo
                    schrieb am zuletzt editiert von
                    #9

                    Hallo,

                    habe es jetzt ausprobiert und prinzipiell führt der Weg zum gewünschten Ergebnis. Allerdings muss ich teilweise Dinge sehr "komplex" lösen und sehr noch Optimierungsmöglichkeiten, finde aber nicht den Weg um dies zu machen.

                    Folgendes festgestellt:

                    • doku in vis nicht korrekt, da wird auf https://github.com/iobroker/iobroker.vi … /README.md bei dem Link "Online Demos" auf ccu.io verwiesen, das nicht mehr verwendet werden soll

                    • writeFile nicht korrekt beschrieben. Bei mir funktioniert der folgende Aufruf: writeFile('/../vis.0/main/vis-views.json', JSON.stringify(view), function (error) {}), dies passt aber nicht mit der Beschreibung: writeFile (adapter, fileName, bytes, function (error) {}) überein

                    Folgende Fragen sind bei mir in diesem Zusammenhang aufgetaucht:

                    • Gibt es eine Möglichkeit die Werte direkt in vis zu ändern? Über die JSON-Datei funktioniert bei mir nur, in dem ich iobroker neu starte, da ansonsten das JSON nicht neu gelesen wird. Der Vis-Editor schafft es ja auch irgendwie und da muss nur die Runtime neu geladen werden

                    • Gibt es bei der objectId eine Möglichkeit die ID selbst zu manipulieren für das Binding? Hintergrund: Ich habe jetzt die objectId in einem generischen Format in einer Variablen stehen und möchte bei verschiedenen Widgets diese objectId mit z.B ":4.SET_TEMPERATURE" oder ":4.AUTO_MODE" usw. ergänzen. Ich habe gesehen, dass es geht die Werte zu manipulieren/formatieren aber ich möchte die objectId selbst manipulieren. Aktuell subscribe ich auf die ergänzte objectId und speichere den objectId-Wert in einer Variablen, die an ein Widget gebunden ist

                    • Gibt es die Möglichkeit die objectId als Wert aus einer Variablen an ein Widget zu binden? Also wenn ich in javascript eine Variable anlege und diese hat als Wert eine objectId und diese möchte ich jetzt an ein Widget binden, damit dort die Werte der objectId angezeigt werden. Aktuell subscribe ich auf die objectId und speichere den objectId-Wert in einer Variablen, die an ein Widget gebunden ist

                    Viele Grüße Gerd.

                    1 Antwort Letzte Antwort
                    0
                    • BluefoxB Offline
                      BluefoxB Offline
                      Bluefox
                      schrieb am zuletzt editiert von
                      #10

                      @GerdSo:

                      Hallo,

                      habe es jetzt ausprobiert und prinzipiell führt der Weg zum gewünschten Ergebnis. Allerdings muss ich teilweise Dinge sehr "komplex" lösen und sehr noch Optimierungsmöglichkeiten, finde aber nicht den Weg um dies zu machen.

                      Folgendes festgestellt:

                      • doku in vis nicht korrekt, da wird auf https://github.com/iobroker/iobroker.vi … /README.md bei dem Link "Online Demos" auf ccu.io verwiesen, das nicht mehr verwendet werden soll

                      • writeFile nicht korrekt beschrieben. Bei mir funktioniert der folgende Aufruf: writeFile('/../vis.0/main/vis-views.json', JSON.stringify(view), function (error) {}), dies passt aber nicht mit der Beschreibung: writeFile (adapter, fileName, bytes, function (error) {}) überein

                      Folgende Fragen sind bei mir in diesem Zusammenhang aufgetaucht:

                      • Gibt es eine Möglichkeit die Werte direkt in vis zu ändern? Über die JSON-Datei funktioniert bei mir nur, in dem ich iobroker neu starte, da ansonsten das JSON nicht neu gelesen wird. Der Vis-Editor schafft es ja auch irgendwie und da muss nur die Runtime neu geladen werden

                      • Gibt es bei der objectId eine Möglichkeit die ID selbst zu manipulieren für das Binding? Hintergrund: Ich habe jetzt die objectId in einem generischen Format in einer Variablen stehen und möchte bei verschiedenen Widgets diese objectId mit z.B ":4.SET_TEMPERATURE" oder ":4.AUTO_MODE" usw. ergänzen. Ich habe gesehen, dass es geht die Werte zu manipulieren/formatieren aber ich möchte die objectId selbst manipulieren. Aktuell subscribe ich auf die ergänzte objectId und speichere den objectId-Wert in einer Variablen, die an ein Widget gebunden ist

                      • Gibt es die Möglichkeit die objectId als Wert aus einer Variablen an ein Widget zu binden? Also wenn ich in javascript eine Variable anlege und diese hat als Wert eine objectId und diese möchte ich jetzt an ein Widget binden, damit dort die Werte der objectId angezeigt werden. Aktuell subscribe ich auf die objectId und speichere den objectId-Wert in einer Variablen, die an ein Widget gebunden ist

                      Viele Grüße Gerd. `
                      Die erste 2 Punkte habe ich ergänzt. Für weiter Punkte sage ich, dass der Benutzungsfall sehr spezifisch ist, und es geht nicht.

                      Keine sagt, dass es nicht implementiert werden konnte. :lol:

                      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

                      545

                      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