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. VIS: Bindingbegrenzung deaktivieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

VIS: Bindingbegrenzung deaktivieren

Geplant Angeheftet Gesperrt Verschoben Visualisierung
48 Beiträge 8 Kommentatoren 6.0k Aufrufe 5 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.
  • S stenmic

    diesen Beitrag bitte löschen

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

    @stenmic

    ungefähr so:

    Image 197.png Image 196.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

    S 1 Antwort Letzte Antwort
    0
    • liv-in-skyL liv-in-sky

      @stenmic

      ungefähr so:

      Image 197.png Image 196.png

      S Offline
      S Offline
      stenmic
      schrieb am zuletzt editiert von
      #42

      @liv-in-sky
      danke, werde ich vielleicht mal so umbauen 👌🏻

      OliverIOO 1 Antwort Letzte Antwort
      0
      • S stenmic

        @liv-in-sky
        danke, werde ich vielleicht mal so umbauen 👌🏻

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

        @stenmic

        ich würde das aus einzelnen widgets zusammenstellen. diese kannst du exakt platzieren.
        bei anpassungen mehrerer widgets auf einmal, dann am besten so wie @liv-in-sky beschrieben hat über die export import funktion und dann in einem texteditor anpassen.

        wenn du dann einen monat zusammen hast, dann den gleichen prozess für die anderen monate wiederholen.

        als editor könnte ich notepad++ empfehlen und dort noch das plugin JSTools
        das kann json daten (was aus dem export rauskommt), besser formatieren.
        sofern json format eingehalten wird kann es auch formatiert wieder in vis eingelesen werden.

        als krönchen würde ich die ganzen daten alle in eine eigene datenstruktur schreiben.
        das erwähnte widget json template kann dann per template engine aus der daten struktur, dann dein ganzes jahr aufbereiten. dazu muss man allerdings gute kenntnisse in javascript, html und der template sprache haben. auch wird systembedingt, bei jeder änderung die widgetdaten komplett neu aufgebaut, was meist geschwindigkeitsmäßig kein problem ist. wenn man aber einen langsamen client hat, könnte der inhalt bei änderung flackern

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

          @stenmic

          du kannst relativ viele bindings sparen, wenn du deinen html-code in dem blockly erstellst und in einen datenpunkt schreibst - dann gibst du im html-widget diesen datenpunt als binding an - d.h. pro monat ein datenpunkt

          du nimmst dein html und veränderst es mit suchen und ersetzen so (evtl mit notepad++):

          let aa=`<table class="tg"><thead><tr><th class="tg-top" colspan="7">Januar, ${getState("0_userdata.0.xxx.Monat.01").val} Tage</th></tr></thead><tbody>
          <tr>
              <td <span class="tg-day-true">1</span><br><span class="tg-content-${getState("0_userdata.0.xxx.Jahreskalender_VIS.01_01").val}</span></td>
              <td <span class="tg-day-true">2</span><br><span class="tg-content-${getState("0_userdata.0.xxx.Jahreskalender_VIS.01_02").val}</span></td>
          	<td <span class="tg-day-true">3</span><br><span class="tg-content-${getState("0_userdata.0.xxx.Jahreskalender_VIS.01_03").val}</span></td>
          `
          
          
          
          setState ("xxxxxxxx",aa)
          

          so kannst du im blockly die datenpunkte in den html code schreiben und diesen dann in den dp sichern

          in blockly nimmst du den block - darin machst du den html-code

          Image 192.png

          B Offline
          B Offline
          Bernoulli
          schrieb am zuletzt editiert von
          #44

          @liv-in-sky said in VIS: Bindingbegrenzung deaktivieren:

          @stenmic

          du kannst relativ viele bindings sparen, wenn du deinen html-code in dem blockly erstellst und in einen datenpunkt schreibst - dann gibst du im html-widget diesen datenpunt als binding an

          Erst mal danke für den Hinweis/die Anleitung, denn die Begrenzung ist ja auch mein Problem. Html-code steht nun in meinem Datenpunkt, aber wie/wo gebe ich diesen Datenpunkt im Html-Widget ein? Welches (Html-)Widget ist das richtige? Im Basicwidget kann ich keine Objekt-ID eingeben/auswählen., da wird Html-Code verlangt. Für den letzten entscheidenden Hinweis wäre ich dankbar.

          OliverIOO 1 Antwort Letzte Antwort
          0
          • B Bernoulli

            @liv-in-sky said in VIS: Bindingbegrenzung deaktivieren:

            @stenmic

            du kannst relativ viele bindings sparen, wenn du deinen html-code in dem blockly erstellst und in einen datenpunkt schreibst - dann gibst du im html-widget diesen datenpunt als binding an

            Erst mal danke für den Hinweis/die Anleitung, denn die Begrenzung ist ja auch mein Problem. Html-code steht nun in meinem Datenpunkt, aber wie/wo gebe ich diesen Datenpunkt im Html-Widget ein? Welches (Html-)Widget ist das richtige? Im Basicwidget kann ich keine Objekt-ID eingeben/auswählen., da wird Html-Code verlangt. Für den letzten entscheidenden Hinweis wäre ich dankbar.

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

            @bernoulli

            Einfach in das html Feld den datenpunkt in der binding notation eintragen.

            {0_userdata.0.html}
            

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

            B 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @bernoulli

              Einfach in das html Feld den datenpunkt in der binding notation eintragen.

              {0_userdata.0.html}
              
              B Offline
              B Offline
              Bernoulli
              schrieb am zuletzt editiert von
              #46

              @oliverio schon erstaunlich, was die "{}" anrichten können :blush: . Die hatte ich natürlich "vergessen", einem iobroker Einsteiger möge man das verzeihen. Danke.
              Jetzt muss ich nur noch dafür sorgen, dass sich die Werte in der Tabelle auch aktualisieren; im Moment ist alles noch statisch, d.h. ich sehe die Werte zum Zeitpunkt der Erstellung. Dazu bedarf es offensichtlich eines Scripts, welches den Datenpunkt jedesmal neu beschreibt, wenn sich einer der Tabellenwerte ändert.

              OliverIOO 1 Antwort Letzte Antwort
              0
              • B Bernoulli

                @oliverio schon erstaunlich, was die "{}" anrichten können :blush: . Die hatte ich natürlich "vergessen", einem iobroker Einsteiger möge man das verzeihen. Danke.
                Jetzt muss ich nur noch dafür sorgen, dass sich die Werte in der Tabelle auch aktualisieren; im Moment ist alles noch statisch, d.h. ich sehe die Werte zum Zeitpunkt der Erstellung. Dazu bedarf es offensichtlich eines Scripts, welches den Datenpunkt jedesmal neu beschreibt, wenn sich einer der Tabellenwerte ändert.

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

                @bernoulli

                ja genau,

                wie gut kannst du javascript?
                eigentlich ist es einfach.
                dein html 1:1 kopieren und in ein javascript einfügen und in eine variable speichern.
                dabei helfen dir diese besonderen anführungszeichen

                `
                

                https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

                eisnammeln der daten, wenn ich das richtig sehe, haben die datenpunkte ja immer die gleiche struktur an einer stelle steht der monat und an einer anderen stelle der tag.
                da kannst du mit 2 schleifen arbeiten (monat und tag) und daraus technisch den datenpunktnamen "errechnen" und per getState-Befehl dann abrufen und in eine objekt speichern.
                die daten aus diesem objekt kannst du dann diekt an die stelle der bindings einfügen

                wenn wir mal ovn folgender datenobjektstruktur mit 2 ineinander verschachtelten array
                erste ebene monat, 2.ebene tag
                der array index entspricht der position (also für monat oder tag, der wert ist der wert aus dem datenpunkt. so wie ich es sehe ist das dann nur true oder false? ich hab hier mal zahlen genommen
                1.Januar wäre dann
                data[1][1]
                31.Dezember dann
                data[12][31]
                15.Juni dann
                data[6][15]
                usw

                [
                    1,
                    [
                        1,
                        2,
                        3
                    ],
                    [
                        1,
                        2,
                        3
                    ],
                    [
                        1,
                        2,
                        3
                    ]
                ]
                

                im template werden dann die daten mit

                ${data[1][1]}
                

                eingetragen.
                aber mehr dazu in der beschreibung oben.

                schreib wenn du irgendwo schwierigkeiten hast,
                dann gehen wir das langsam durch

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

                B 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @bernoulli

                  ja genau,

                  wie gut kannst du javascript?
                  eigentlich ist es einfach.
                  dein html 1:1 kopieren und in ein javascript einfügen und in eine variable speichern.
                  dabei helfen dir diese besonderen anführungszeichen

                  `
                  

                  https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals

                  eisnammeln der daten, wenn ich das richtig sehe, haben die datenpunkte ja immer die gleiche struktur an einer stelle steht der monat und an einer anderen stelle der tag.
                  da kannst du mit 2 schleifen arbeiten (monat und tag) und daraus technisch den datenpunktnamen "errechnen" und per getState-Befehl dann abrufen und in eine objekt speichern.
                  die daten aus diesem objekt kannst du dann diekt an die stelle der bindings einfügen

                  wenn wir mal ovn folgender datenobjektstruktur mit 2 ineinander verschachtelten array
                  erste ebene monat, 2.ebene tag
                  der array index entspricht der position (also für monat oder tag, der wert ist der wert aus dem datenpunkt. so wie ich es sehe ist das dann nur true oder false? ich hab hier mal zahlen genommen
                  1.Januar wäre dann
                  data[1][1]
                  31.Dezember dann
                  data[12][31]
                  15.Juni dann
                  data[6][15]
                  usw

                  [
                      1,
                      [
                          1,
                          2,
                          3
                      ],
                      [
                          1,
                          2,
                          3
                      ],
                      [
                          1,
                          2,
                          3
                      ]
                  ]
                  

                  im template werden dann die daten mit

                  ${data[1][1]}
                  

                  eingetragen.
                  aber mehr dazu in der beschreibung oben.

                  schreib wenn du irgendwo schwierigkeiten hast,
                  dann gehen wir das langsam durch

                  B Offline
                  B Offline
                  Bernoulli
                  schrieb am zuletzt editiert von Bernoulli
                  #48

                  @oliverio said in VIS: Bindingbegrenzung deaktivieren:

                  @bernoulli

                  ja genau,

                  wie gut kannst du javascript?

                  Es reicht für so "kleine" Sachen, also Grundlagen sind vorhanden; deshalb hatte ich das ganze gleich in JS gemäß diesem Vorgehen

                  dein html 1:1 kopieren und in ein javascript einfügen und in eine variable speichern.

                  erledigt. :blush: Und ja,

                  diese besonderen anführungszeichen

                  gelegentlich auch "Backticks" genannt, sind bei Template-Strings unerlässlich, und der HTML-Code ist dann ja ein solcher, wenn man die Platzhalter einfügt. Dennoch ein großes DANKE für die entscheidenden Tipps. Ich finde es zwar etwas seltsam, dass man die Begrenzung der Bindings mit solchen "Saltos" umgehen muss, bin aber jetzt happy, dass alles nach meinen Vorstellungen läuft.

                  Diese nachfolgend beschriebene Baustelle ist nicht meine, sie gehört zu stenmic. Vielleicht liest er es ja hier.

                  eisnammeln der daten, wenn ich das richtig sehe, haben die datenpunkte ja immer die gleiche struktur an einer stelle steht der monat und an einer anderen stelle der tag.
                  da kannst du mit 2 schleifen arbeiten (monat und tag) und daraus technisch den datenpunktnamen "errechnen" und per getState-Befehl dann abrufen und in eine objekt speichern.
                  die daten aus diesem objekt kannst du dann diekt an die stelle der bindings einfügen

                  wenn wir mal ovn folgender datenobjektstruktur mit 2 ineinander verschachtelten array
                  erste ebene monat, 2.ebene tag
                  der array index entspricht der position (also für monat oder tag, der wert ist der wert aus dem datenpunkt. so wie ich es sehe ist das dann nur true oder false? ich hab hier mal zahlen genommen
                  1.Januar wäre dann
                  data[1][1]
                  31.Dezember dann
                  data[12][31]
                  15.Juni dann
                  data[6][15]
                  usw

                  [
                      1,
                      [
                          1,
                          2,
                          3
                      ],
                      [
                          1,
                          2,
                          3
                      ],
                      [
                          1,
                          2,
                          3
                      ]
                  ]
                  

                  im template werden dann die daten mit

                  ${data[1][1]}
                  

                  eingetragen.
                  aber mehr dazu in der beschreibung oben.

                  schreib wenn du irgendwo schwierigkeiten hast,
                  dann gehen wir das langsam durch

                  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

                  524

                  Online

                  32.6k

                  Benutzer

                  82.1k

                  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